config build file

This commit is contained in:
trganda 2023-05-11 09:31:57 +08:00
parent 066aa87439
commit 9a6f2fdbd1
5 changed files with 41 additions and 38 deletions

View file

@ -26,9 +26,9 @@
}
],
"no-useless-escape": "off",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-require-imports": "off",
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/no-empty-function": "error",
"@typescript-eslint/no-misused-new": "error"
}

View file

@ -2,47 +2,50 @@ import esbuild from "esbuild";
import process from "process";
import builtins from "builtin-modules";
const banner =
`/*
const banner = `/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
`;
const prod = (process.argv[2] === "production");
const prod = process.env.BUILD_ENV === "production";
const context = await esbuild.context({
banner: {
js: banner,
},
entryPoints: ["src/main.ts"],
bundle: true,
external: [
"obsidian",
"electron",
"@codemirror/autocomplete",
"@codemirror/collab",
"@codemirror/commands",
"@codemirror/language",
"@codemirror/lint",
"@codemirror/search",
"@codemirror/state",
"@codemirror/view",
"@lezer/common",
"@lezer/highlight",
"@lezer/lr",
...builtins],
format: "cjs",
target: "es2018",
logLevel: "info",
sourcemap: prod ? false : "inline",
treeShaking: true,
outfile: "main.js",
banner: {
js: banner,
},
define: {
"process.env.BUILD_ENV": JSON.stringify(process.env.BUILD_ENV || ""),
},
entryPoints: ["src/main.ts"],
bundle: true,
external: [
"obsidian",
"electron",
"@codemirror/autocomplete",
"@codemirror/collab",
"@codemirror/commands",
"@codemirror/language",
"@codemirror/lint",
"@codemirror/search",
"@codemirror/state",
"@codemirror/view",
"@lezer/common",
"@lezer/highlight",
"@lezer/lr",
...builtins,
],
format: "cjs",
target: "es2018",
logLevel: "info",
sourcemap: prod ? false : "inline",
treeShaking: true,
outfile: "main.js",
});
if (prod) {
await context.rebuild();
process.exit(0);
await context.rebuild();
process.exit(0);
} else {
await context.watch();
}
await context.watch();
}

View file

@ -5,7 +5,7 @@
"main": "main.js",
"scripts": {
"dev": "node esbuild.config.mjs",
"build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production",
"build": "tsc -noEmit -skipLibCheck && BUILD_ENV=production node esbuild.config.mjs production",
"version": "node version-bump.mjs && git add manifest.json versions.json"
},
"keywords": [],

View file

@ -20,8 +20,7 @@ export default class AttachmentManagementPlugin extends Plugin {
async onload() {
await this.loadSettings();
const pkg = require("../package.json");
console.log(`Plugin loading: ${pkg.name} ${pkg.version} BUILD_ENV=${process.env.BUILD_ENV}`);
console.log(`Plugin loading: ${process.env.npm_package_name} ${process.env.npm_package_version} BUILD_ENV=${process.env.BUILD_ENV}`);
this.adapter = this.app.vault.adapter as FileSystemAdapter;
// this.backupConfigs();

View file

@ -18,6 +18,7 @@
"ES7"
]
},
"resolveJsonModule": true,
"include": [
"src/**/*.ts"
]