diff --git a/lib/build.js b/lib/build.js index 4757bb6..be5cddd 100644 --- a/lib/build.js +++ b/lib/build.js @@ -8,10 +8,9 @@ const fs_1 = require("fs"); const paths_1 = require("./paths"); const readmeta_1 = __importDefault(require("./readmeta")); const prettier_1 = require("prettier"); -function default_1(name, watchCallback = false, PrettierConfig) { +function default_1(name, watchCallback, PrettierConfig, CLIArgs) { //read meta file let [metaJson, metaString] = (0, readmeta_1.default)(name); - let path = (0, paths_1.ScriptPath)(name); let pathDist = (0, paths_1.DistPath)(name); let result = runEsbuild({ entryPoints: [(0, paths_1.ScriptPath)(name).main], @@ -20,7 +19,7 @@ function default_1(name, watchCallback = false, PrettierConfig) { platform: 'node', format: 'esm', bundle: true, - minify: false, + minify: CLIArgs.minify, define: { UserScriptName: `'${metaJson.name}'`, UserScriptNamespace: `'${metaJson.namespace}'`, @@ -30,36 +29,10 @@ function default_1(name, watchCallback = false, PrettierConfig) { UserScriptHomepageURL: `'${metaJson.homepageURL}'`, }, }, result => { - let error = null; - if (result.error) { - console.error(name, result.errorRaw || result.error); - error = result.error; - } - else if (result.content) { - let content = (0, prettier_1.format)(metaString + result.content, PrettierConfig === null ? undefined : PrettierConfig); - (0, fs_1.writeFileSync)(pathDist, content); - } - else { - console.error(name, 'No output'); - } - doErrorFile(path.error, pathDist, error); - if (watchCallback !== false) { - watchCallback(metaJson, error); - } - }, watchCallback !== false); - let error = null; - if (result.error) { - console.error(name, result.errorRaw || result.error); - error = result.error; - } - else if (result.content) { - let content = (0, prettier_1.format)(metaString + result.content, PrettierConfig === null ? undefined : PrettierConfig); - (0, fs_1.writeFileSync)(pathDist, content); - } - else { - console.error(name, 'No output'); - } - doErrorFile(path.error, pathDist, error); + let error = runPostEsbuild(name, result, metaString, CLIArgs, PrettierConfig); + watchCallback(metaJson, error); + }, CLIArgs); + let error = runPostEsbuild(name, result, metaString, CLIArgs, PrettierConfig); return [metaJson, error]; } exports.default = default_1; @@ -74,9 +47,9 @@ function doErrorFile(pathError, pathOutFile, error) { (0, fs_1.unlinkSync)(pathError); } } -function runEsbuild(opts, watchCallback, toWatch = false) { +function runEsbuild(opts, watchCallback, CLIArgs) { opts.write = false; - if (toWatch) { + if (CLIArgs.watch) { opts.watch = { onRebuild(err, res) { if (err) { @@ -135,6 +108,27 @@ function runEsbuild(opts, watchCallback, toWatch = false) { }; } } +function runPostEsbuild(name, result, metaString, CLIArgs, PrettierConfig) { + let error = null; + let path = (0, paths_1.ScriptPath)(name); + let pathDist = (0, paths_1.DistPath)(name); + if (result.error) { + console.error(name, result.errorRaw || result.error); + error = result.error; + } + else if (result.content) { + let content = metaString + result.content; + if (CLIArgs.prettier) { + content = (0, prettier_1.format)(content, PrettierConfig === null ? undefined : PrettierConfig); + } + (0, fs_1.writeFileSync)(pathDist, content); + } + else { + console.error(name, 'No output'); + } + doErrorFile(path.error, pathDist, error); + return error; +} //remove all filename comments function clearFilenameComments(content) { let regexp = new RegExp(`//\\s*${paths_1.ScriptBase}/.*(?:\\n|$)`, 'g'); diff --git a/lib/build.js.map b/lib/build.js.map index 479e641..4446ac5 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":"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"} \ No newline at end of file diff --git a/lib/main.js b/lib/main.js index c6cd472..3070830 100644 --- a/lib/main.js +++ b/lib/main.js @@ -11,6 +11,8 @@ const readmefile_1 = require("./readmefile"); const build_1 = __importDefault(require("./build")); const CLIArgs = (0, command_line_args_1.default)([ { name: 'watch', alias: 'w', type: Boolean }, + { name: 'minify', alias: 'm', type: Boolean }, + { name: 'prettier', alias: 'p', type: Boolean }, ]); //if package.json doesn't exist then there is no point in continuing if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json').isFile()) { @@ -36,7 +38,7 @@ for (let name of scripts) { console.log('WATCH', name, meta.version); (0, readmefile_1.updateReadmeFile)(scriptMeta); } - let [meta, error] = (0, build_1.default)(name, CLIArgs.watch ? postWatchUpdate : false, PrettierConfig); + let [meta, error] = (0, build_1.default)(name, postWatchUpdate, PrettierConfig, CLIArgs); scriptMeta[id] = { meta, error }; console.log(name, meta.version); } diff --git a/lib/main.js.map b/lib/main.js.map index 8329ed4..0e5fadb 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":";;;;;AAAA,2BAAmE;AACnE,0EAA+C;AAC/C,uCAAwC;AACxC,mCAA0D;AAC1D,6CAA2D;AAC3D,oDAA8B;AAG9B,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC;IAC5B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;CAC/C,CAEA,CAAA;AAED,oEAAoE;AACpE,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC,IAAI,CAAC,IAAA,cAAS,EAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;IACpE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;CAClB;AAED,yBAAyB;AACzB,IAAA,gBAAW,EAAC,gBAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,eAAU,EAAC,GAAG,gBAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;AAExE,MAAM,cAAc,GAAG,wBAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAExD,iBAAiB;AACjB,IAAI,OAAO,GAAG,IAAA,gBAAW,EAAC,kBAAU,CAAC,CAAA;AACrC,IAAI,UAAU,GAAiB,EAAE,CAAA;AAEjC,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;IACtB,IAAI,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAA;IAE3B,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,IAAA,eAAU,EAAC,IAAI,CAAC,GAAG,CAAC;QACpB,IAAA,cAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACjC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC;QACrB,IAAA,cAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAC/B;QACE,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1B,SAAS,eAAe,CACpB,IAAwB,EACxB,KAAoB;YAEpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAA,eAAQ,EACxB,IAAI,EACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EACvC,cAAc,CACjB,CAAA;QACD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QAEhC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KAClC;CACJ;AAED,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;AAE5B,OAAO,CAAC,GAAG,CACP,yBAAyB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5E,CAAA"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;AAAA,2BAAmE;AACnE,0EAA+C;AAC/C,uCAAwC;AACxC,mCAA0D;AAC1D,6CAA2D;AAC3D,oDAA8B;AAS9B,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC;IAC5B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;CAClD,CAAY,CAAA;AAEb,oEAAoE;AACpE,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC,IAAI,CAAC,IAAA,cAAS,EAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;IACpE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;CAClB;AAED,yBAAyB;AACzB,IAAA,gBAAW,EAAC,gBAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,eAAU,EAAC,GAAG,gBAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;AAExE,MAAM,cAAc,GAAG,wBAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAExD,iBAAiB;AACjB,IAAI,OAAO,GAAG,IAAA,gBAAW,EAAC,kBAAU,CAAC,CAAA;AACrC,IAAI,UAAU,GAAiB,EAAE,CAAA;AAEjC,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;IACtB,IAAI,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAA;IAE3B,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,IAAA,eAAU,EAAC,IAAI,CAAC,GAAG,CAAC;QACpB,IAAA,cAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACjC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC;QACrB,IAAA,cAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAC/B;QACE,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1B,SAAS,eAAe,CACpB,IAAwB,EACxB,KAAoB;YAEpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAA,eAAQ,EACxB,IAAI,EACJ,eAAe,EACf,cAAc,EACd,OAAO,CACV,CAAA;QACD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QAEhC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KAClC;CACJ;AAED,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;AAE5B,OAAO,CAAC,GAAG,CACP,yBAAyB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5E,CAAA"} \ No newline at end of file diff --git a/readme.md b/readme.md index a49d8d1..273acc1 100644 --- a/readme.md +++ b/readme.md @@ -23,3 +23,9 @@ Root └───dist └───[each script folder].user.js ``` + +## Command Line Options + +```text + +``` diff --git a/src/build.ts b/src/build.ts index 402da0f..cf320ae 100644 --- a/src/build.ts +++ b/src/build.ts @@ -4,17 +4,16 @@ import { DistPath, ScriptBase, ScriptPath } from './paths' import { UserScriptMetaFull } from './types' import readMeta from './readmeta' import { format, Options } from 'prettier' +import { CLIArgs } from './main' export default function ( name: string, - watchCallback: - | ((meta: UserScriptMetaFull, error: string | null) => void) - | false = false, - PrettierConfig: Options | null + watchCallback: (meta: UserScriptMetaFull, error: string | null) => void, + PrettierConfig: Options | null, + CLIArgs: CLIArgs ): [UserScriptMetaFull, string | null] { //read meta file let [metaJson, metaString] = readMeta(name) - let path = ScriptPath(name) let pathDist = DistPath(name) let result = runEsbuild( @@ -27,7 +26,7 @@ export default function ( format: 'esm', bundle: true, - minify: false, + minify: CLIArgs.minify, define: { UserScriptName: `'${metaJson.name}'`, @@ -40,46 +39,25 @@ export default function ( }, }, result => { - let error: string | null = null - - if (result.error) { - console.error(name, result.errorRaw || result.error) - error = result.error - } else if (result.content) { - let content = format( - metaString + result.content, - PrettierConfig === null ? undefined : PrettierConfig - ) - writeFileSync(pathDist, content) - } else { - console.error(name, 'No output') - } - - doErrorFile(path.error, pathDist, error) - - if (watchCallback !== false) { - watchCallback(metaJson, error) - } + let error = runPostEsbuild( + name, + result, + metaString, + CLIArgs, + PrettierConfig + ) + watchCallback(metaJson, error) }, - watchCallback !== false + CLIArgs ) - let error: string | null = null - - if (result.error) { - console.error(name, result.errorRaw || result.error) - error = result.error - } else if (result.content) { - let content = format( - metaString + result.content, - PrettierConfig === null ? undefined : PrettierConfig - ) - writeFileSync(pathDist, content) - } else { - console.error(name, 'No output') - } - - doErrorFile(path.error, pathDist, error) + let error = runPostEsbuild( + name, + result, + metaString, + CLIArgs, + PrettierConfig + ) return [metaJson, error] } @@ -109,10 +87,10 @@ interface RunEsbuildResult { function runEsbuild( opts: BuildOptions, watchCallback: (result: RunEsbuildResult) => void, - toWatch: boolean = false + CLIArgs: CLIArgs ): RunEsbuildResult { opts.write = false - if (toWatch) { + if (CLIArgs.watch) { opts.watch = { onRebuild(err, res) { if (err) { @@ -170,6 +148,38 @@ function runEsbuild( } } +function runPostEsbuild( + name: string, + result: RunEsbuildResult, + metaString: string, + CLIArgs: CLIArgs, + PrettierConfig: Options | null +) { + let error: string | null = null + let path = ScriptPath(name) + let pathDist = DistPath(name) + + if (result.error) { + console.error(name, result.errorRaw || result.error) + error = result.error + } else if (result.content) { + let content = metaString + result.content + if (CLIArgs.prettier) { + content = format( + content, + PrettierConfig === null ? undefined : PrettierConfig + ) + } + writeFileSync(pathDist, content) + } else { + console.error(name, 'No output') + } + + doErrorFile(path.error, pathDist, error) + + return error +} + //remove all filename comments function clearFilenameComments(content: string): string { let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') diff --git a/src/main.ts b/src/main.ts index 27fe52b..b1af166 100644 --- a/src/main.ts +++ b/src/main.ts @@ -6,11 +6,17 @@ import { readmeData, updateReadmeFile } from './readmefile' import runBuild from './build' import { UserScriptMetaFull } from './types' +export interface CLIArgs { + watch: boolean + minify: boolean + prettier: boolean +} + const CLIArgs = commandLineArgs([ { name: 'watch', alias: 'w', type: Boolean }, -]) as { - watch: boolean -} + { name: 'minify', alias: 'm', type: Boolean }, + { name: 'prettier', alias: 'p', type: Boolean }, +]) as CLIArgs //if package.json doesn't exist then there is no point in continuing if (!existsSync('package.json') || !lstatSync('package.json').isFile()) { @@ -50,8 +56,9 @@ for (let name of scripts) { let [meta, error] = runBuild( name, - CLIArgs.watch ? postWatchUpdate : false, - PrettierConfig + postWatchUpdate, + PrettierConfig, + CLIArgs ) scriptMeta[id] = { meta, error }