chore: Set up project.

This commit is contained in:
Stephen Granade 2025-08-25 14:41:45 -05:00
commit a200be7947
6 changed files with 6239 additions and 0 deletions

11
.gitignore vendored Normal file
View file

@ -0,0 +1,11 @@
# Output and Node
out
dist
node_modules
.env
*.docx
# VSCode
.vscode
TODO.md

5
.mocharc.json Normal file
View file

@ -0,0 +1,5 @@
{
"extension": ["ts"],
"node-option": ["import=tsx"],
"spec": ["src/**/*.test.ts"]
}

12
eslint.config.mjs Normal file
View file

@ -0,0 +1,12 @@
// @ts-check
import eslint from "@eslint/js";
import tseslint from "typescript-eslint";
export default tseslint.config({
extends: [eslint.configs.recommended, ...tseslint.configs.recommended],
rules: {
"@typescript-eslint/no-unused-vars": ["warn"],
},
ignores: ["**/node/modules/", "src/**/**.test.ts"],
});

6132
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

49
package.json Normal file
View file

@ -0,0 +1,49 @@
{
"name": "manuscripten",
"version": "0.0.1",
"description": "Obsidian plugin to create .docx files that contain story and novel manuscripts for submission to magazines or agents.",
"license": "MIT",
"author": {
"name": "Stephen Granade",
"email": "stephen@granades.com",
"url": "https://github.com/sgranade"
},
"type": "module",
"main": "out/main.js",
"scripts": {
"lint": "eslint src/",
"build": "tsc",
"watch": "tsc --watch",
"start": "node .",
"test": "mocha"
},
"keywords": [
"obsidian",
"writing",
"manuscript"
],
"devDependencies": {
"@eslint/js": "^9.34.0",
"@types/chai": "^5.2.2",
"@types/mocha": "^10.0.10",
"@types/node": "^24.3.0",
"@types/sinon": "^17.0.4",
"chai": "^6.0.1",
"eslint": "^9.34.0",
"mocha": "^11.7.1",
"prettier": "^3.6.2",
"sinon": "^21.0.0",
"tsx": "^4.20.5",
"type-fest": "^4.41.0",
"typescript": "^5.9.2",
"typescript-eslint": "^8.40.0"
},
"dependencies": {
"docx": "^9.5.1",
"mdast2docx": "^1.4.1",
"remark-gfm": "^4.0.1",
"remark-parse": "^11.0.0",
"tslib": "^2.8.1",
"unified": "^11.0.5"
}
}

30
tsconfig.json Normal file
View file

@ -0,0 +1,30 @@
{
"compilerOptions": {
"baseUrl": ".",
"inlineSourceMap": true,
"inlineSources": true,
"module": "ESNext",
"target": "ES6",
"allowJs": true,
"noImplicitAny": true,
"moduleResolution": "node",
"importHelpers": true,
"isolatedModules": true,
"strictNullChecks": true,
"allowSyntheticDefaultImports": true, // Needed for jszip as of 3.10.1
"lib": [
"DOM",
"ES5",
"ES6",
"ES7"
],
"outDir": "out",
"rootDir": "src"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"src/**/*.test.ts"
]
}