From 83570d9535a63d051853f40bde0fcf0ee6a31933 Mon Sep 17 00:00:00 2001 From: ZomoXYZ Date: Sat, 11 Jun 2022 00:05:32 -0500 Subject: [PATCH] refactord paths.ts --- lib/build.js | 29 ++++++++++++-------------- lib/build.js.map | 2 +- lib/main.js | 22 +++++++++++++------ lib/main.js.map | 2 +- lib/paths.js | 39 +++++++++++++++++++--------------- lib/paths.js.map | 2 +- lib/readmeta.js | 12 ++++++----- lib/readmeta.js.map | 2 +- meta.schema.json | 5 ----- readme.md | 2 ++ src/build.ts | 31 +++++++++++++-------------- src/main.ts | 33 +++++++++++++++++++++++------ src/paths.ts | 51 +++++++++++++++++++++++++++++++-------------- src/readmeta.ts | 13 +++++++----- 14 files changed, 148 insertions(+), 97 deletions(-) diff --git a/lib/build.js b/lib/build.js index f475e4c..cea969d 100644 --- a/lib/build.js +++ b/lib/build.js @@ -5,17 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const esbuild_1 = require("esbuild"); const fs_1 = require("fs"); -const paths_1 = require("./paths"); const readmeta_1 = __importDefault(require("./readmeta")); const prettier_1 = require("prettier"); const main_1 = require("./main"); function runBuild(name, watchCallback) { //read meta file let { meta, metaString } = (0, readmeta_1.default)(name); - let pathDist = (0, paths_1.DistPath)(name); + let paths = main_1.AllPaths.script(name); let result = runEsbuild({ - entryPoints: [(0, paths_1.ScriptPath)(name).main], - outfile: pathDist, + entryPoints: [paths.main], + outfile: paths.dist, target: 'esnext', platform: 'node', format: 'esm', @@ -94,14 +93,13 @@ function getResult(error, result) { } } function clearFilenameComments(content) { - let regexp = new RegExp(`//\\s*${paths_1.ScriptBase}/.*(?:\\n|$)`, 'g'); + let regexp = new RegExp(`//\\s*${main_1.AllPaths.base.script}/.*(?:\\n|$)`, 'g'); return content.replace(regexp, ''); } function postBuild(name, result, metaString) { let error = null; - let path = (0, paths_1.ScriptPath)(name); - let pathDist = (0, paths_1.DistPath)(name); - let PrettierConfig = prettier_1.resolveConfig.sync(path.dir) || {}; + let paths = main_1.AllPaths.script(name); + let PrettierConfig = prettier_1.resolveConfig.sync(paths.dir) || {}; if (result.error) { console.error(name, result.errorRaw || result.error); error = result.error; @@ -114,7 +112,7 @@ function postBuild(name, result, metaString) { parser: 'babel', }); } - (0, fs_1.writeFileSync)(pathDist, content); + (0, fs_1.writeFileSync)(paths.dist, content); } else { console.error(name, 'No output'); @@ -123,17 +121,16 @@ function postBuild(name, result, metaString) { return error; } function doErrorFile(name, error) { - let path = (0, paths_1.ScriptPath)(name); - let outfile = (0, paths_1.DistPath)(name); + let paths = main_1.AllPaths.script(name); let content = `${new Date().toISOString()}\n\n${error}`; if (error !== null) { - (0, fs_1.writeFileSync)(path.error, content); - if ((0, fs_1.existsSync)(outfile)) { - (0, fs_1.unlinkSync)(outfile); + (0, fs_1.writeFileSync)(paths.error, content); + if ((0, fs_1.existsSync)(paths.dist)) { + (0, fs_1.unlinkSync)(paths.dist); } } - else if ((0, fs_1.existsSync)(path.error)) { - (0, fs_1.unlinkSync)(path.error); + else if ((0, fs_1.existsSync)(paths.error)) { + (0, fs_1.unlinkSync)(paths.error); } } //# sourceMappingURL=build.js.map \ No newline at end of file diff --git a/lib/build.js.map b/lib/build.js.map index 9cbac0d..e8b12e5 100644 --- a/lib/build.js.map +++ b/lib/build.js.map @@ -1 +1 @@ -{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":";;;;;AAAA,qCAA4E;AAC5E,2BAA0D;AAE1D,0DAAiC;AACjC,uCAAgD;AAChD,iCAA0C;AAO1C,SAAwB,QAAQ,CAC5B,IAAY,EACZ,aAAyC;IAEzC,gBAAgB;IAChB,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAA;IACzC,IAAI,KAAK,GAAG,eAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEjC,IAAI,MAAM,GAAG,UAAU,CACnB;QACI,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,KAAK,CAAC,IAAI;QAEnB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QAEb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,cAAO,CAAC,MAAM;QAEtB,MAAM,EAAE;YACJ,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;YAChC,mBAAmB,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;YAC1C,iBAAiB,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG;YAEtC,qBAAqB,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;YAC9C,oBAAoB,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG;YAC5C,qBAAqB,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;SACjD;KACJ,EACD,MAAM,CAAC,EAAE;QACL,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QAC/C,aAAa,CAAC;YACV,IAAI;YACJ,KAAK;SACR,CAAC,CAAA;IACN,CAAC,CACJ,CAAA;IAED,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IAE/C,OAAO;QACH,IAAI;QACJ,KAAK;KACR,CAAA;AACL,CAAC;AA7CD,2BA6CC;AAQD,SAAS,UAAU,CACf,IAAkB,EAClB,aAAiD;IAEjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAClB,IAAI,cAAO,CAAC,KAAK,EAAE;QACf,IAAI,CAAC,KAAK,GAAG;YACT,SAAS,CAAC,GAAG,EAAE,GAAG;gBACd,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YACtC,CAAC;SACJ,CAAA;KACJ;IAED,IAAI;QACA,IAAI,GAAG,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAA;QACzB,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;KAC9B;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,SAAS,CAAC,GAAmB,EAAE,IAAI,CAAC,CAAA;KAC9C;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAA0B,EAAE,MAA0B;IACrE,IAAI,KAAK,EAAE;QACP,OAAO;YACH,OAAO,EAAE,IAAI;YACb,KAAK,EAAG,KAAsB,CAAC,OAAO;YACtC,QAAQ,EAAE,KAAK;SAClB,CAAA;KACJ;SAAM,IAAI,MAAM,EAAE;QACf,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACpC,IAAI,CAAC,cAAO,CAAC,UAAU;gBAAE,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;SACpE;QACD,IAAI,OAAO,KAAK,EAAE,EAAE;YAChB,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,WAAW;aACrB,CAAA;SACJ;QACD,OAAO;YACH,OAAO;YACP,KAAK,EAAE,IAAI;SACd,CAAA;KACJ;SAAM;QACH,OAAO;YACH,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,WAAW;SACrB,CAAA;KACJ;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC1C,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,eAAQ,CAAC,IAAI,CAAC,MAAM,cAAc,EAAE,GAAG,CAAC,CAAA;IACzE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,MAAwB,EAAE,UAAkB;IACzE,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,IAAI,KAAK,GAAG,eAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEjC,IAAI,cAAc,GAAG,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAExD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QACpD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;KACvB;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACvB,IAAI,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,CAAA;QACzC,IAAI,cAAO,CAAC,QAAQ,EAAE;YAClB,OAAO,GAAG,IAAA,iBAAM,EAAC,OAAO,EAAE;gBACtB,GAAG,cAAc;gBACjB,MAAM,EAAE,OAAO;aAClB,CAAC,CAAA;SACL;QACD,IAAA,kBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KACrC;SAAM;QACH,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;KACnC;IAED,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAExB,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAoB;IACnD,IAAI,KAAK,GAAG,eAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEjC,IAAI,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,EAAE,CAAA;IAEvD,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,IAAA,kBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACnC,IAAI,IAAA,eAAU,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACxB,IAAA,eAAU,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACzB;KACJ;SAAM,IAAI,IAAA,eAAU,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAChC,IAAA,eAAU,EAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAC1B;AACL,CAAC"} \ No newline at end of file diff --git a/lib/main.js b/lib/main.js index c0cadc6..6791490 100644 --- a/lib/main.js +++ b/lib/main.js @@ -26,20 +26,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.CLIArgs = void 0; +exports.AllPaths = exports.CLIArgs = void 0; const fs_1 = require("fs"); const command_line_args_1 = __importDefault(require("command-line-args")); -const paths_1 = require("./paths"); const readmefile_1 = require("./readmefile"); const build_1 = __importDefault(require("./build")); const Path = __importStar(require("path")); +const paths_1 = __importDefault(require("./paths")); exports.CLIArgs = (0, command_line_args_1.default)([ { name: 'watch', alias: 'w', type: Boolean, defaultValue: false }, { name: 'minify', alias: 'm', type: Boolean, defaultValue: false }, { name: 'prettier', alias: 'p', type: Boolean, defaultValue: false }, { name: 'srccomment', alias: 's', type: Boolean, defaultValue: false }, - { name: 'help', alias: 'h', type: Boolean, defaultValue: false }, + { name: 'baseurl', alias: 'bu', type: String, defaultValue: '' }, + { name: 'remotebranch', alias: 'rb', type: String, defaultValue: 'main' }, + { name: 'scriptsdir', alias: 'sd', type: String, defaultValue: 'scripts' }, + { name: 'distdir', alias: 'dd', type: String, defaultValue: 'dist' }, + { name: 'help', alias: 'h', type: Boolean }, ]); +exports.AllPaths = (0, paths_1.default)({ + baseURL: exports.CLIArgs.baseurl || '', + remoteBranch: exports.CLIArgs.remotebranch || 'main', + scriptBase: exports.CLIArgs.scriptpath || 'scripts', + distBase: exports.CLIArgs.distpath || 'dist', +}); if (exports.CLIArgs.help) { let command = ''; if (process.argv.length > 0) { @@ -77,12 +87,12 @@ if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json' process.exit(1); } //delete compiled scripts -(0, fs_1.readdirSync)(paths_1.DistBase).forEach(file => (0, fs_1.unlinkSync)(`${paths_1.DistBase}/${file}`)); +(0, fs_1.readdirSync)(exports.AllPaths.base.dist).forEach(file => (0, fs_1.unlinkSync)(`${exports.AllPaths.base.dist}/${file}`)); //compile scripts -let scripts = (0, fs_1.readdirSync)(paths_1.ScriptBase); +let scripts = (0, fs_1.readdirSync)(exports.AllPaths.base.script); let scriptMeta = []; for (let name of scripts) { - let path = (0, paths_1.ScriptPath)(name); + let path = exports.AllPaths.script(name); if (!name.endsWith('_') && (0, fs_1.existsSync)(path.dir) && (0, fs_1.lstatSync)(path.dir).isDirectory() && diff --git a/lib/main.js.map b/lib/main.js.map index adaae6f..837482e 100644 --- a/lib/main.js.map +++ b/lib/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/paths.js b/lib/paths.js index d3ea759..d04018d 100644 --- a/lib/paths.js +++ b/lib/paths.js @@ -1,20 +1,25 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.DistPath = exports.ScriptPath = exports.FileUrl = exports.SupportUrl = exports.DistBase = exports.ScriptBase = exports.RemoteBranch = exports.BaseUrl = void 0; -exports.BaseUrl = `https://git.zomo.dev/zomo/browser-scripts`; -exports.RemoteBranch = 'main'; -exports.ScriptBase = 'scripts'; -exports.DistBase = 'dist'; -exports.SupportUrl = `${exports.BaseUrl}/issues`; -const FileUrl = (name) => `${exports.BaseUrl}/raw/branch/${exports.RemoteBranch}/${exports.DistBase}/${name}.user.js`; -exports.FileUrl = FileUrl; -const ScriptPath = (name) => ({ - dir: `${exports.ScriptBase}/${name}`, - main: `${exports.ScriptBase}/${name}/main.ts`, - meta: `${exports.ScriptBase}/${name}/meta.json`, - error: `${exports.ScriptBase}/${name}/error.log`, -}); -exports.ScriptPath = ScriptPath; -const DistPath = (name) => `${exports.DistBase}/${name}.user.js`; -exports.DistPath = DistPath; +function getAllPaths({ baseURL, remoteBranch, scriptBase, distBase, }) { + return { + base: { + branch: remoteBranch, + script: scriptBase, + dist: distBase, + }, + url: { + base: baseURL, + support: `${baseURL}/issues`, + }, + script: (name) => ({ + dir: `${scriptBase}/${name}`, + main: `${scriptBase}/${name}/main.ts`, + meta: `${scriptBase}/${name}/meta.json`, + error: `${scriptBase}/${name}/error.log`, + dist: `${distBase}/${name}.user.js`, + url: `${baseURL}/raw/branch/${remoteBranch}/${distBase}/${name}.user.js`, + }), + }; +} +exports.default = getAllPaths; //# sourceMappingURL=paths.js.map \ No newline at end of file diff --git a/lib/paths.js.map b/lib/paths.js.map index 685441f..0558e83 100644 --- a/lib/paths.js.map +++ b/lib/paths.js.map @@ -1 +1 @@ -{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,2CAA2C,CAAA;AACrD,QAAA,YAAY,GAAG,MAAM,CAAA;AACrB,QAAA,UAAU,GAAG,SAAS,CAAA;AACtB,QAAA,QAAQ,GAAG,MAAM,CAAA;AAEjB,QAAA,UAAU,GAAG,GAAG,eAAO,SAAS,CAAA;AACtC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,GAAG,eAAO,eAAe,oBAAY,IAAI,gBAAQ,IAAI,IAAI,UAAU,CAAA;AAD1D,QAAA,OAAO,WACmD;AAQhE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC;IACtD,GAAG,EAAE,GAAG,kBAAU,IAAI,IAAI,EAAE;IAC5B,IAAI,EAAE,GAAG,kBAAU,IAAI,IAAI,UAAU;IACrC,IAAI,EAAE,GAAG,kBAAU,IAAI,IAAI,YAAY;IACvC,KAAK,EAAE,GAAG,kBAAU,IAAI,IAAI,YAAY;CAC3C,CAAC,CAAA;AALW,QAAA,UAAU,cAKrB;AAEK,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,gBAAQ,IAAI,IAAI,UAAU,CAAA;AAA1D,QAAA,QAAQ,YAAkD"} \ No newline at end of file +{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";;AAgBA,SAAwB,WAAW,CAAC,EAChC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,QAAQ,GACK;IACb,OAAO;QACH,IAAI,EAAE;YACF,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,QAAQ;SACjB;QACD,GAAG,EAAE;YACD,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,GAAG,OAAO,SAAS;SAC/B;QACD,MAAM,EAAE,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,GAAG,UAAU,IAAI,IAAI,EAAE;YAC5B,IAAI,EAAE,GAAG,UAAU,IAAI,IAAI,UAAU;YACrC,IAAI,EAAE,GAAG,UAAU,IAAI,IAAI,YAAY;YACvC,KAAK,EAAE,GAAG,UAAU,IAAI,IAAI,YAAY;YACxC,IAAI,EAAE,GAAG,QAAQ,IAAI,IAAI,UAAU;YACnC,GAAG,EAAE,GAAG,OAAO,eAAe,YAAY,IAAI,QAAQ,IAAI,IAAI,UAAU;SAC3E,CAAC;KACL,CAAA;AACL,CAAC;AAzBD,8BAyBC"} \ No newline at end of file diff --git a/lib/readmeta.js b/lib/readmeta.js index 4dd398b..3b67310 100644 --- a/lib/readmeta.js +++ b/lib/readmeta.js @@ -1,8 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = require("fs"); -const paths_1 = require("./paths"); +const main_1 = require("./main"); function readMeta(name) { + let paths = main_1.AllPaths.script(name); + let urls = main_1.AllPaths.url; var meta = { name: name, namespace: 'zomo.dev', @@ -17,12 +19,12 @@ function readMeta(name) { noframes: false, grant: '', injectinto: '', - downloadURL: (0, paths_1.FileUrl)(name), - supportURL: paths_1.SupportUrl, - homepageURL: paths_1.BaseUrl, + downloadURL: paths.url, + supportURL: urls.support, + homepageURL: urls.base, unwrap: false, }; - let metaPath = (0, paths_1.ScriptPath)(name).meta; + let metaPath = paths.meta; if ((0, fs_1.existsSync)(metaPath) && (0, fs_1.lstatSync)(metaPath).isFile()) { try { let args = JSON.parse((0, fs_1.readFileSync)(metaPath).toString()); diff --git a/lib/readmeta.js.map b/lib/readmeta.js.map index 761fffc..134e75c 100644 --- a/lib/readmeta.js.map +++ b/lib/readmeta.js.map @@ -1 +1 @@ -{"version":3,"file":"readmeta.js","sourceRoot":"","sources":["../src/readmeta.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"readmeta.js","sourceRoot":"","sources":["../src/readmeta.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/meta.schema.json b/meta.schema.json index 19f9e8b..ed3bc48 100644 --- a/meta.schema.json +++ b/meta.schema.json @@ -29,7 +29,6 @@ "match": { "description": "Define rules to decide whether a script should be executed", "type": ["string", "array"], - "minItems": 1, "uniqueItems": true, "items": { "type": "string" @@ -38,7 +37,6 @@ "excludematch": { "description": "Define rules to decide whether a script should be executed", "type": ["string", "array"], - "minItems": 1, "uniqueItems": true, "items": { "type": "string" @@ -68,7 +66,6 @@ "require": { "description": "Require another script to execute before the current one\n\nThe value is the URL to the required script, which may be relative to the URL the script is being installed from", "type": ["string", "array"], - "minItems": 1, "uniqueItems": true, "items": { "type": "string" @@ -77,7 +74,6 @@ "resource": { "description": "Static resources that can be accessed in the script by GM_getResourceText and GM_getResourceURL\n\nThe value is composed of two parts, joined with one or more white spaces\n\nThe first part is the name of the resource, no white space is allowed in it\n\nThe second part is the URL to the resource, which may be relative to the URL the script is being installed from", "type": ["string", "array"], - "minItems": 1, "uniqueItems": true, "items": { "type": "string" @@ -95,7 +91,6 @@ "grant": { "description": "Specify which special APIs should be granted and can be used when the script executes\n\nIf nothing is present, \"none\" is assumed\n\nAny GM_ or GM. function used, including window.close and window.focus", "type": ["string", "array"], - "minItems": 1, "uniqueItems": true, "items": { "type": "string" diff --git a/readme.md b/readme.md index 62db787..25d1688 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,8 @@ builder for [browser-scripts](https://git.zomo.dev/zomo/browser-scripts) ## Source File Structure +note: if `package.json` is not present, running the command is presumed to be a mistake and will refuse to run + ```text Root ├─── diff --git a/src/build.ts b/src/build.ts index 3b536fd..ab4eea4 100644 --- a/src/build.ts +++ b/src/build.ts @@ -1,10 +1,9 @@ import { buildSync, BuildFailure, BuildOptions, BuildResult } from 'esbuild' import { existsSync, writeFileSync, unlinkSync } from 'fs' -import { DistPath, ScriptBase, ScriptPath } from './paths' import { UserScriptMetaFull } from './types' import readMeta from './readmeta' import { format, resolveConfig } from 'prettier' -import { CLIArgs } from './main' +import { AllPaths, CLIArgs } from './main' export default interface runBuild { meta: UserScriptMetaFull @@ -17,12 +16,12 @@ export default function runBuild( ) { //read meta file let { meta, metaString } = readMeta(name) - let pathDist = DistPath(name) + let paths = AllPaths.script(name) let result = runEsbuild( { - entryPoints: [ScriptPath(name).main], - outfile: pathDist, + entryPoints: [paths.main], + outfile: paths.dist, target: 'esnext', platform: 'node', @@ -117,16 +116,15 @@ function getResult(error: BuildFailure | null, result: BuildResult | null) { } function clearFilenameComments(content: string): string { - let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') + let regexp = new RegExp(`//\\s*${AllPaths.base.script}/.*(?:\\n|$)`, 'g') return content.replace(regexp, '') } function postBuild(name: string, result: RunEsbuildResult, metaString: string) { let error: string | null = null - let path = ScriptPath(name) - let pathDist = DistPath(name) + let paths = AllPaths.script(name) - let PrettierConfig = resolveConfig.sync(path.dir) || {} + let PrettierConfig = resolveConfig.sync(paths.dir) || {} if (result.error) { console.error(name, result.errorRaw || result.error) @@ -139,7 +137,7 @@ function postBuild(name: string, result: RunEsbuildResult, metaString: string) { parser: 'babel', }) } - writeFileSync(pathDist, content) + writeFileSync(paths.dist, content) } else { console.error(name, 'No output') } @@ -150,17 +148,16 @@ function postBuild(name: string, result: RunEsbuildResult, metaString: string) { } function doErrorFile(name: string, error: string | null) { - let path = ScriptPath(name) - let outfile = DistPath(name) + let paths = AllPaths.script(name) let content = `${new Date().toISOString()}\n\n${error}` if (error !== null) { - writeFileSync(path.error, content) - if (existsSync(outfile)) { - unlinkSync(outfile) + writeFileSync(paths.error, content) + if (existsSync(paths.dist)) { + unlinkSync(paths.dist) } - } else if (existsSync(path.error)) { - unlinkSync(path.error) + } else if (existsSync(paths.error)) { + unlinkSync(paths.error) } } diff --git a/src/main.ts b/src/main.ts index 9e47706..4c6fb4e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,16 +1,22 @@ import { existsSync, lstatSync, readdirSync, unlinkSync } from 'fs' import commandLineArgs from 'command-line-args' -import { DistBase, ScriptBase, ScriptPath } from './paths' import { updateReadmeFile } from './readmefile' import runBuild from './build' import * as Path from 'path' +import getAllPaths from './paths' export interface CLIArgsT { watch: boolean minify: boolean prettier: boolean srccomment: boolean - help: boolean + + baseurl?: string + remotebranch?: string + scriptpath?: string + distpath?: string + + help?: boolean } export const CLIArgs = commandLineArgs([ @@ -18,9 +24,22 @@ export const CLIArgs = commandLineArgs([ { name: 'minify', alias: 'm', type: Boolean, defaultValue: false }, { name: 'prettier', alias: 'p', type: Boolean, defaultValue: false }, { name: 'srccomment', alias: 's', type: Boolean, defaultValue: false }, - { name: 'help', alias: 'h', type: Boolean, defaultValue: false }, + + { name: 'baseurl', alias: 'bu', type: String, defaultValue: '' }, + { name: 'remotebranch', alias: 'rb', type: String, defaultValue: 'main' }, + { name: 'scriptsdir', alias: 'sd', type: String, defaultValue: 'scripts' }, + { name: 'distdir', alias: 'dd', type: String, defaultValue: 'dist' }, + + { name: 'help', alias: 'h', type: Boolean }, ]) as CLIArgsT +export const AllPaths = getAllPaths({ + baseURL: CLIArgs.baseurl || '', + remoteBranch: CLIArgs.remotebranch || 'main', + scriptBase: CLIArgs.scriptpath || 'scripts', + distBase: CLIArgs.distpath || 'dist', +}) + if (CLIArgs.help) { let command = '' if (process.argv.length > 0) { @@ -61,14 +80,16 @@ if (!existsSync('package.json') || !lstatSync('package.json').isFile()) { } //delete compiled scripts -readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`)) +readdirSync(AllPaths.base.dist).forEach(file => + unlinkSync(`${AllPaths.base.dist}/${file}`) +) //compile scripts -let scripts = readdirSync(ScriptBase) +let scripts = readdirSync(AllPaths.base.script) let scriptMeta: runBuild[] = [] for (let name of scripts) { - let path = ScriptPath(name) + let path = AllPaths.script(name) if ( !name.endsWith('_') && diff --git a/src/paths.ts b/src/paths.ts index c55a8c2..8fde3fe 100644 --- a/src/paths.ts +++ b/src/paths.ts @@ -1,23 +1,42 @@ -export const BaseUrl = `https://git.zomo.dev/zomo/browser-scripts` -export const RemoteBranch = 'main' -export const ScriptBase = 'scripts' -export const DistBase = 'dist' - -export const SupportUrl = `${BaseUrl}/issues` -export const FileUrl = (name: string) => - `${BaseUrl}/raw/branch/${RemoteBranch}/${DistBase}/${name}.user.js` - export interface ScriptPathT { dir: `${string}/${string}` main: `${string}/${string}/main.ts` meta: `${string}/${string}/meta.json` error: `${string}/${string}/error.log` + dist: `${string}/${string}.user.js` + url: `${string}/raw/branch/${string}/${string}/${string}.user.js` } -export const ScriptPath = (name: string): ScriptPathT => ({ - dir: `${ScriptBase}/${name}`, - main: `${ScriptBase}/${name}/main.ts`, - meta: `${ScriptBase}/${name}/meta.json`, - error: `${ScriptBase}/${name}/error.log`, -}) -export const DistPath = (name: string) => `${DistBase}/${name}.user.js` +export interface getAllPathsOps { + baseURL: string + remoteBranch: string + scriptBase: string + distBase: string +} + +export default function getAllPaths({ + baseURL, + remoteBranch, + scriptBase, + distBase, +}: getAllPathsOps) { + return { + base: { + branch: remoteBranch, + script: scriptBase, + dist: distBase, + }, + url: { + base: baseURL, + support: `${baseURL}/issues`, + }, + script: (name: string): ScriptPathT => ({ + dir: `${scriptBase}/${name}`, + main: `${scriptBase}/${name}/main.ts`, + meta: `${scriptBase}/${name}/meta.json`, + error: `${scriptBase}/${name}/error.log`, + dist: `${distBase}/${name}.user.js`, + url: `${baseURL}/raw/branch/${remoteBranch}/${distBase}/${name}.user.js`, + }), + } +} diff --git a/src/readmeta.ts b/src/readmeta.ts index 82a3433..16112fe 100644 --- a/src/readmeta.ts +++ b/src/readmeta.ts @@ -1,5 +1,5 @@ import { existsSync, lstatSync, readFileSync } from 'fs' -import { BaseUrl, FileUrl, ScriptPath, SupportUrl } from './paths' +import { AllPaths } from './main' import { UserScriptMeta, UserScriptMetaFull, @@ -12,6 +12,9 @@ export default interface readMeta { } export default function readMeta(name: string) { + let paths = AllPaths.script(name) + let urls = AllPaths.url + var meta: UserScriptMetaFull = { name: name, namespace: 'zomo.dev', @@ -26,13 +29,13 @@ export default function readMeta(name: string) { noframes: false, grant: '', injectinto: '', - downloadURL: FileUrl(name), - supportURL: SupportUrl, - homepageURL: BaseUrl, + downloadURL: paths.url, + supportURL: urls.support, + homepageURL: urls.base, unwrap: false, } - let metaPath = ScriptPath(name).meta + let metaPath = paths.meta if (existsSync(metaPath) && lstatSync(metaPath).isFile()) { try {