Mercurial > obsidian-remember-file-state
changeset 19:2a9e941c96ee
Bring new build tools from the sample plugin project
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 18 Mar 2022 19:19:18 -0700 |
parents | 131ae934ea07 |
children | 18ff216ce0c4 |
files | .eslintignore .eslintrc .gitignore .hgignore .npmrc esbuild.config.mjs package.json tsconfig.json version-bump.mjs |
diffstat | 9 files changed, 120 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.eslintignore Fri Mar 18 19:19:18 2022 -0700 @@ -0,0 +1,2 @@ +npm node_modules +build
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.eslintrc Fri Mar 18 19:19:18 2022 -0700 @@ -0,0 +1,23 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "env": { "node": true }, + "plugins": [ + "@typescript-eslint" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ], + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], + "@typescript-eslint/ban-ts-comment": "off", + "no-prototype-builtins": "off", + "@typescript-eslint/no-empty-function": "off" + } +}
--- a/.gitignore Sat Mar 12 12:07:02 2022 -0800 +++ b/.gitignore Fri Mar 18 19:19:18 2022 -0700 @@ -1,3 +1,23 @@ -main.js +# vscode +.vscode + +# Intellij +*.iml +.idea + +# npm node_modules package-lock.json + +# Don't include the compiled main.js file in the repo. +# They should be uploaded to GitHub releases instead. +main.js + +# Exclude sourcemaps +*.map + +# obsidian +data.json + +# Exclude macOS Finder (System Explorer) View States +.DS_Store
--- a/.hgignore Sat Mar 12 12:07:02 2022 -0800 +++ b/.hgignore Fri Mar 18 19:19:18 2022 -0700 @@ -1,3 +1,25 @@ -main.js +syntax: glob + +# vscode +.vscode + +# Intellij +*.iml +.idea + +# npm node_modules package-lock.json + +# Don't include the compiled main.js file in the repo. +# They should be uploaded to GitHub releases instead. +main.js + +# Exclude sourcemaps +*.map + +# obsidian +data.json + +# Exclude macOS Finder (System Explorer) View States +.DS_Store
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.npmrc Fri Mar 18 19:19:18 2022 -0700 @@ -0,0 +1,1 @@ +tag-version-prefix=""
--- a/esbuild.config.mjs Sat Mar 12 12:07:02 2022 -0800 +++ b/esbuild.config.mjs Fri Mar 18 19:19:18 2022 -0700 @@ -10,6 +10,10 @@ `; const prod = (process.argv[2] === 'production'); +const outdir = (process.argv[2] === 'dogfood' ? process.argv[3] : ''); + +const dirsep = (outdir.slice(-1) == '/' || outdir.slice(-1) == "\\") ? '' : '/'; +const outfile = outdir + dirsep + 'main.js'; esbuild.build({ banner: { @@ -18,18 +22,35 @@ entryPoints: ['src/main.ts'], bundle: true, external: [ - 'obsidian', - 'electron', - '@codemirror', - '@codemirror/state', - '@codemirror/view', - ...builtins - ], + 'obsidian', + 'electron', + '@codemirror/autocomplete', + '@codemirror/closebrackets', + '@codemirror/collab', + '@codemirror/commands', + '@codemirror/comment', + '@codemirror/fold', + '@codemirror/gutter', + '@codemirror/highlight', + '@codemirror/history', + '@codemirror/language', + '@codemirror/lint', + '@codemirror/matchbrackets', + '@codemirror/panel', + '@codemirror/rangeset', + '@codemirror/rectangular-selection', + '@codemirror/search', + '@codemirror/state', + '@codemirror/stream-parser', + '@codemirror/text', + '@codemirror/tooltip', + '@codemirror/view', + ...builtins], format: 'cjs', watch: !prod, target: 'es2016', logLevel: "info", sourcemap: prod ? false : 'inline', treeShaking: true, - outfile: 'main.js', + outfile: outfile, }).catch(() => process.exit(1));
--- a/package.json Sat Mar 12 12:07:02 2022 -0800 +++ b/package.json Fri Mar 18 19:19:18 2022 -0700 @@ -5,10 +5,12 @@ "main": "main.js", "scripts": { "dev": "node esbuild.config.mjs", - "build": "node esbuild.config.mjs production" + "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production", + "dogfood": "node esbuild.config.mjs dogfood", + "version": "node version-bump.mjs && git add manifest.json versions.json" }, "keywords": [], - "author": "", + "author": "Ludovic Chabant", "license": "MIT", "devDependencies": { "@codemirror/history": "^0.19.0", @@ -20,7 +22,7 @@ "builtin-modules": "^3.2.0", "esbuild": "0.13.12", "monkey-around": "^2.2.0", - "obsidian": "^0.12.17", + "obsidian": "latest", "tslib": "2.3.1", "typescript": "4.4.4" },
--- a/tsconfig.json Sat Mar 12 12:07:02 2022 -0800 +++ b/tsconfig.json Fri Mar 18 19:19:18 2022 -0700 @@ -9,6 +9,7 @@ "noImplicitAny": true, "moduleResolution": "node", "importHelpers": true, + "isolatedModules": true, "lib": [ "DOM", "ES5",
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/version-bump.mjs Fri Mar 18 19:19:18 2022 -0700 @@ -0,0 +1,15 @@ +import { readFileSync, writeFileSync } from "fs"; + +const targetVersion = process.env.npm_package_version; + +// read minAppVersion from manifest.json and bump version to target version +let manifest = JSON.parse(readFileSync("manifest.json", "utf8")); +const { minAppVersion } = manifest; +manifest.version = targetVersion; +writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t")); + +// update versions.json with target version and minAppVersion from manifest.json +let versions = JSON.parse(readFileSync("versions.json", "utf8")); +versions[targetVersion] = minAppVersion; +writeFileSync("versions.json", JSON.stringify(versions, null, "\t")); +