From 6d4f4c57bc276465a820d9a0adf56c28ab038008 Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 10:28:05 -0500 Subject: [PATCH 01/10] fixed watch --- lib/build.js | 161 +++++++++++++++++++++++++++++++++------------- lib/build.js.map | 2 +- lib/main.js | 18 +----- lib/main.js.map | 2 +- src/build.ts | 163 +++++++++++++++++++++++++++++++++++------------ src/main.ts | 39 ++---------- 6 files changed, 249 insertions(+), 136 deletions(-) diff --git a/lib/build.js b/lib/build.js index a653dfa..f1d3355 100644 --- a/lib/build.js +++ b/lib/build.js @@ -10,57 +10,126 @@ const readmeta_1 = __importDefault(require("./readmeta")); async function default_1(name, watchCallback = false) { //read meta file let [metaJson, metaString] = (0, readmeta_1.default)(name); - let outPath = (0, paths_1.DistPath)(name); - let error = null; - console.log('build watch?', !watchCallback ? false : 'obj'); - try { - await (0, esbuild_1.build)({ - entryPoints: [(0, paths_1.ScriptPath)(name).main], - outfile: outPath, - target: 'esnext', - platform: 'node', - format: 'esm', - bundle: true, - minify: false, - // write: false, //TODO this will cause result.outputFiles to have the file contents so i can write the file instead - // watch: !watchCallback - // ? false - // : { - // onRebuild(err, _result) { - // console.log('onrebuild') - // let error = null - // if (err) { - // console.error(name, err) - // error = (err as BuildFailure).message - // } - // watchCallback(metaJson, error) - // }, - // }, - define: { - UserScriptName: `'${metaJson.name}'`, - UserScriptNamespace: `'${metaJson.namespace}'`, - UserScriptVersion: `'${metaJson.version}'`, - UserScriptDownloadURL: `'${metaJson.downloadURL}'`, - UserScriptSupportURL: `'${metaJson.supportURL}'`, - UserScriptHomepageURL: `'${metaJson.homepageURL}'`, - }, - }); - } - catch (err) { - console.error(name, err); - error = err.message; - } - //add UserScript header - if ((0, fs_1.existsSync)(outPath)) { - if (!error) { - let content = (0, fs_1.readFileSync)(outPath).toString(); - (0, fs_1.writeFileSync)(outPath, metaString + content); + let path = (0, paths_1.ScriptPath)(name); + let pathDist = (0, paths_1.DistPath)(name); + let result = await runEsbuild({ + entryPoints: [(0, paths_1.ScriptPath)(name).main], + outfile: pathDist, + target: 'esnext', + platform: 'node', + format: 'esm', + bundle: true, + minify: false, + define: { + UserScriptName: `'${metaJson.name}'`, + UserScriptNamespace: `'${metaJson.namespace}'`, + UserScriptVersion: `'${metaJson.version}'`, + UserScriptDownloadURL: `'${metaJson.downloadURL}'`, + UserScriptSupportURL: `'${metaJson.supportURL}'`, + UserScriptHomepageURL: `'${metaJson.homepageURL}'`, + }, + }, result => { + let error = null; + if (result.error) { + console.error(name, result.errorRaw || result.error); + error = result.error; + } + else if (result.content) { + (0, fs_1.writeFileSync)(pathDist, metaString + result.content); } else { - (0, fs_1.unlinkSync)(outPath); + 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) { + (0, fs_1.writeFileSync)(pathDist, metaString + result.content); + } + else { + console.error(name, 'No output'); + } + doErrorFile(path.error, pathDist, error); return [metaJson, error]; } exports.default = default_1; +function doErrorFile(pathError, pathOutFile, error) { + if (error !== null) { + (0, fs_1.writeFileSync)(pathError, `${new Date().toISOString()}\n\n${error}`); + if ((0, fs_1.existsSync)(pathOutFile)) { + (0, fs_1.unlinkSync)(pathOutFile); + } + } + else if ((0, fs_1.existsSync)(pathError)) { + (0, fs_1.unlinkSync)(pathError); + } +} +async function runEsbuild(opts, watchCallback, toWatch = false) { + opts.write = false; + if (toWatch) { + opts.watch = { + onRebuild(err, res) { + if (err) { + watchCallback({ + content: null, + error: err.message, + errorRaw: err, + }); + } + else if (res) { + let content = ''; + if (res.outputFiles && res.outputFiles.length > 0) { + content = res.outputFiles[0].text; + } + if (content === '') { + watchCallback({ + content: null, + error: 'No output', + }); + } + watchCallback({ + content, + error: null, + }); + } + else { + watchCallback({ + content: null, + error: 'No result', + }); + } + }, + }; + } + try { + let res = await (0, esbuild_1.build)(opts); + let content = ''; + if (res.outputFiles && res.outputFiles.length > 0) { + content = res.outputFiles[0].text; + } + if (content === '') { + return { + content: null, + error: 'No output', + }; + } + return { + content, + error: null, + }; + } + catch (err) { + return { + content: null, + error: err.message, + }; + } +} //# sourceMappingURL=build.js.map \ No newline at end of file diff --git a/lib/build.js.map b/lib/build.js.map index b62d838..24d0de3 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":";;;;;AAAA,qCAA6C;AAC7C,2BAAwE;AACxE,mCAA8C;AAE9C,0DAAiC;AAElB,KAAK,oBAChB,IAAY,EACZ,gBAEc,KAAK;IAEnB,gBAAgB;IAChB,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAA;IAC3C,IAAI,OAAO,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAE5B,IAAI,KAAK,GAAkB,IAAI,CAAA;IAE/B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAE3D,IAAI;QACA,MAAM,IAAA,eAAK,EAAC;YACR,WAAW,EAAE,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,OAAO;YAEhB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,KAAK;YAEb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YAEb,oHAAoH;YAEpH,wBAAwB;YACxB,cAAc;YACd,UAAU;YACV,sCAAsC;YACtC,yCAAyC;YACzC,iCAAiC;YACjC,2BAA2B;YAC3B,6CAA6C;YAC7C,0DAA0D;YAC1D,kBAAkB;YAClB,+CAA+C;YAC/C,eAAe;YACf,WAAW;YAEX,MAAM,EAAE;gBACJ,cAAc,EAAE,IAAI,QAAQ,CAAC,IAAI,GAAG;gBACpC,mBAAmB,EAAE,IAAI,QAAQ,CAAC,SAAS,GAAG;gBAC9C,iBAAiB,EAAE,IAAI,QAAQ,CAAC,OAAO,GAAG;gBAE1C,qBAAqB,EAAE,IAAI,QAAQ,CAAC,WAAW,GAAG;gBAClD,oBAAoB,EAAE,IAAI,QAAQ,CAAC,UAAU,GAAG;gBAChD,qBAAqB,EAAE,IAAI,QAAQ,CAAC,WAAW,GAAG;aACrD;SACJ,CAAC,CAAA;KACL;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACxB,KAAK,GAAI,GAAoB,CAAC,OAAO,CAAA;KACxC;IAED,uBAAuB;IACvB,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE;QACrB,IAAI,CAAC,KAAK,EAAE;YACR,IAAI,OAAO,GAAG,IAAA,iBAAY,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC9C,IAAA,kBAAa,EAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,CAAA;SAC/C;aAAM;YACH,IAAA,eAAU,EAAC,OAAO,CAAC,CAAA;SACtB;KACJ;IAED,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC5B,CAAC;AApED,4BAoEC"} \ 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 27d3129..4a2eb9a 100644 --- a/lib/main.js +++ b/lib/main.js @@ -30,32 +30,16 @@ if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json' (0, fs_1.lstatSync)(path.main).isFile()) { let id = scriptMeta.length; function postWatchUpdate(meta, error) { - console.log('watch callback'); scriptMeta[id] = { meta, error }; - doErrorFile(path.error, (0, paths_1.DistPath)(name), error); console.log('WATCH', name, meta.version); (0, readmefile_1.updateReadmeFile)(scriptMeta); } let [meta, error] = await (0, build_1.default)(name, CLIArgs.watch ? postWatchUpdate : false); scriptMeta[id] = { meta, error }; console.log(name, meta.version); - doErrorFile(path.error, (0, paths_1.DistPath)(name), error); } } (0, readmefile_1.updateReadmeFile)(scriptMeta); - console.log('\nFinished Compiling\n'); - if (CLIArgs.watch) - console.log('Listening for Changes\n'); + console.log(`\nFinished Compiling\n${CLIArgs.watch ? 'Listening for Changes\n' : ''}`); })(); -function doErrorFile(pathError, pathOutFile, error) { - if (error !== null) { - (0, fs_1.writeFileSync)(pathError, `${new Date().toISOString()}\n\n${error}`); - if ((0, fs_1.existsSync)(pathOutFile)) { - (0, fs_1.unlinkSync)(pathOutFile); - } - } - else if ((0, fs_1.existsSync)(pathError)) { - (0, fs_1.unlinkSync)(pathError); - } -} //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/lib/main.js.map b/lib/main.js.map index 53db565..6a2213a 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":";;;;;AAAA,2BAAmE;AACnE,0EAA+C;AAC/C,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,CAGvE;AAAA,CAAC,KAAK,IAAI,EAAE;IACT,IAAI,OAAO,GAAG,IAAA,gBAAW,EAAC,kBAAU,CAAC,CAAA;IACrC,IAAI,UAAU,GAAiB,EAAE,CAAA;IAEjC,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;QACtB,IAAI,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAA;QAE3B,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnB,IAAA,eAAU,EAAC,IAAI,CAAC,GAAG,CAAC;YACpB,IAAA,cAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;YACjC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC;YACrB,IAAA,cAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAC/B;YACE,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;YAE1B,SAAS,eAAe,CACpB,IAAwB,EACxB,KAAoB;gBAEpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;gBAChC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBACxC,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,eAAQ,EAC9B,IAAI,EACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAC1C,CAAA;YACD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAEhC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAClC;KACJ;IAED,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;IAE5B,OAAO,CAAC,GAAG,CACP,yBACI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAChD,EAAE,CACL,CAAA;AACL,CAAC,CAAC,EAAE,CAAA"} \ No newline at end of file diff --git a/src/build.ts b/src/build.ts index d97b921..2f2a320 100644 --- a/src/build.ts +++ b/src/build.ts @@ -1,5 +1,5 @@ -import { build, BuildFailure } from 'esbuild' -import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs' +import { build, BuildFailure, BuildOptions } from 'esbuild' +import { existsSync, writeFileSync, unlinkSync } from 'fs' import { DistPath, ScriptPath } from './paths' import { UserScriptMetaFull } from './types' import readMeta from './readmeta' @@ -12,16 +12,13 @@ export default async function ( ): Promise<[UserScriptMetaFull, string | null]> { //read meta file let [metaJson, metaString] = readMeta(name) - let outPath = DistPath(name) + let path = ScriptPath(name) + let pathDist = DistPath(name) - let error: string | null = null - - console.log('build watch?', !watchCallback ? false : 'obj') - - try { - await build({ + let result = await runEsbuild( + { entryPoints: [ScriptPath(name).main], - outfile: outPath, + outfile: pathDist, target: 'esnext', platform: 'node', @@ -30,22 +27,6 @@ export default async function ( bundle: true, minify: false, - // write: false, //TODO this will cause result.outputFiles to have the file contents so i can write the file instead - - // watch: !watchCallback - // ? false - // : { - // onRebuild(err, _result) { - // console.log('onrebuild') - // let error = null - // if (err) { - // console.error(name, err) - // error = (err as BuildFailure).message - // } - // watchCallback(metaJson, error) - // }, - // }, - define: { UserScriptName: `'${metaJson.name}'`, UserScriptNamespace: `'${metaJson.namespace}'`, @@ -55,21 +36,125 @@ export default async function ( UserScriptSupportURL: `'${metaJson.supportURL}'`, UserScriptHomepageURL: `'${metaJson.homepageURL}'`, }, - }) - } catch (err) { - console.error(name, err) - error = (err as BuildFailure).message + }, + result => { + let error: string | null = null + + if (result.error) { + console.error(name, result.errorRaw || result.error) + error = result.error + } else if (result.content) { + writeFileSync(pathDist, metaString + result.content) + } else { + console.error(name, 'No output') + } + + doErrorFile(path.error, pathDist, error) + + if (watchCallback !== false) { + watchCallback(metaJson, error) + } + }, + watchCallback !== false + ) + + let error: string | null = null + + if (result.error) { + console.error(name, result.errorRaw || result.error) + error = result.error + } else if (result.content) { + writeFileSync(pathDist, metaString + result.content) + } else { + console.error(name, 'No output') } - //add UserScript header - if (existsSync(outPath)) { - if (!error) { - let content = readFileSync(outPath).toString() - writeFileSync(outPath, metaString + content) - } else { - unlinkSync(outPath) - } - } + doErrorFile(path.error, pathDist, error) return [metaJson, error] } + +function doErrorFile( + pathError: string, + pathOutFile: string, + error: string | null +) { + if (error !== null) { + writeFileSync(pathError, `${new Date().toISOString()}\n\n${error}`) + + if (existsSync(pathOutFile)) { + unlinkSync(pathOutFile) + } + } else if (existsSync(pathError)) { + unlinkSync(pathError) + } +} + +interface RunEsbuildResult { + content: string | null + error: string | null + errorRaw?: BuildFailure +} + +async function runEsbuild( + opts: BuildOptions, + watchCallback: (result: RunEsbuildResult) => void, + toWatch: boolean = false +): Promise { + opts.write = false + if (toWatch) { + opts.watch = { + onRebuild(err, res) { + if (err) { + watchCallback({ + content: null, + error: (err as BuildFailure).message, + errorRaw: err, + }) + } else if (res) { + let content = '' + if (res.outputFiles && res.outputFiles.length > 0) { + content = res.outputFiles[0].text + } + if (content === '') { + watchCallback({ + content: null, + error: 'No output', + }) + } + watchCallback({ + content, + error: null, + }) + } else { + watchCallback({ + content: null, + error: 'No result', + }) + } + }, + } + } + try { + let res = await build(opts) + let content = '' + if (res.outputFiles && res.outputFiles.length > 0) { + content = res.outputFiles[0].text + } + if (content === '') { + return { + content: null, + error: 'No output', + } + } + return { + content, + error: null, + } + } catch (err) { + return { + content: null, + error: (err as BuildFailure).message, + } + } +} diff --git a/src/main.ts b/src/main.ts index 37a2c29..92c98cf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,12 +1,6 @@ -import { - existsSync, - lstatSync, - readdirSync, - unlinkSync, - writeFileSync, -} from 'fs' +import { existsSync, lstatSync, readdirSync, unlinkSync } from 'fs' import commandLineArgs from 'command-line-args' -import { DistBase, DistPath, ScriptBase, ScriptPath } from './paths' +import { DistBase, ScriptBase, ScriptPath } from './paths' import { readmeData, updateReadmeFile } from './readmefile' import runBuild from './build' import { UserScriptMetaFull } from './types' @@ -47,12 +41,8 @@ readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`)) meta: UserScriptMetaFull, error: string | null ) { - console.log('watch callback') scriptMeta[id] = { meta, error } - doErrorFile(path.error, DistPath(name), error) - console.log('WATCH', name, meta.version) - updateReadmeFile(scriptMeta) } @@ -63,29 +53,14 @@ readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`)) scriptMeta[id] = { meta, error } console.log(name, meta.version) - - doErrorFile(path.error, DistPath(name), error) } } updateReadmeFile(scriptMeta) - console.log('\nFinished Compiling\n') - if (CLIArgs.watch) console.log('Listening for Changes\n') + console.log( + `\nFinished Compiling\n${ + CLIArgs.watch ? 'Listening for Changes\n' : '' + }` + ) })() - -function doErrorFile( - pathError: string, - pathOutFile: string, - error: string | null -) { - if (error !== null) { - writeFileSync(pathError, `${new Date().toISOString()}\n\n${error}`) - - if (existsSync(pathOutFile)) { - unlinkSync(pathOutFile) - } - } else if (existsSync(pathError)) { - unlinkSync(pathError) - } -} From 6e881ebd6f7a0162952212b7ff39ef4b84ae2043 Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 10:43:08 -0500 Subject: [PATCH 02/10] no async --- lib/build.js | 8 +++--- lib/build.js.map | 2 +- lib/main.js | 41 +++++++++++++++--------------- lib/main.js.map | 2 +- src/build.ts | 15 ++++++----- src/main.ts | 66 +++++++++++++++++++++++------------------------- 6 files changed, 65 insertions(+), 69 deletions(-) diff --git a/lib/build.js b/lib/build.js index f1d3355..f2d97fd 100644 --- a/lib/build.js +++ b/lib/build.js @@ -7,12 +7,12 @@ const esbuild_1 = require("esbuild"); const fs_1 = require("fs"); const paths_1 = require("./paths"); const readmeta_1 = __importDefault(require("./readmeta")); -async function default_1(name, watchCallback = false) { +function default_1(name, watchCallback = false) { //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 = await runEsbuild({ + let result = runEsbuild({ entryPoints: [(0, paths_1.ScriptPath)(name).main], outfile: pathDist, target: 'esnext', @@ -71,7 +71,7 @@ function doErrorFile(pathError, pathOutFile, error) { (0, fs_1.unlinkSync)(pathError); } } -async function runEsbuild(opts, watchCallback, toWatch = false) { +function runEsbuild(opts, watchCallback, toWatch = false) { opts.write = false; if (toWatch) { opts.watch = { @@ -109,7 +109,7 @@ async function runEsbuild(opts, watchCallback, toWatch = false) { }; } try { - let res = await (0, esbuild_1.build)(opts); + let res = (0, esbuild_1.buildSync)(opts); let content = ''; if (res.outputFiles && res.outputFiles.length > 0) { content = res.outputFiles[0].text; diff --git a/lib/build.js.map b/lib/build.js.map index 24d0de3..e7901fd 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 4a2eb9a..164666a 100644 --- a/lib/main.js +++ b/lib/main.js @@ -18,28 +18,27 @@ if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json' } //delete compiled scripts (0, fs_1.readdirSync)(paths_1.DistBase).forEach(file => (0, fs_1.unlinkSync)(`${paths_1.DistBase}/${file}`)); -(async () => { - let scripts = (0, fs_1.readdirSync)(paths_1.ScriptBase); - let scriptMeta = []; - for (let name of scripts) { - let path = (0, paths_1.ScriptPath)(name); - if (!name.endsWith('_') && - (0, fs_1.existsSync)(path.dir) && - (0, fs_1.lstatSync)(path.dir).isDirectory() && - (0, fs_1.existsSync)(path.main) && - (0, fs_1.lstatSync)(path.main).isFile()) { - let id = scriptMeta.length; - function postWatchUpdate(meta, error) { - scriptMeta[id] = { meta, error }; - console.log('WATCH', name, meta.version); - (0, readmefile_1.updateReadmeFile)(scriptMeta); - } - let [meta, error] = await (0, build_1.default)(name, CLIArgs.watch ? postWatchUpdate : false); +//compile scripts +let scripts = (0, fs_1.readdirSync)(paths_1.ScriptBase); +let scriptMeta = []; +for (let name of scripts) { + let path = (0, paths_1.ScriptPath)(name); + if (!name.endsWith('_') && + (0, fs_1.existsSync)(path.dir) && + (0, fs_1.lstatSync)(path.dir).isDirectory() && + (0, fs_1.existsSync)(path.main) && + (0, fs_1.lstatSync)(path.main).isFile()) { + let id = scriptMeta.length; + function postWatchUpdate(meta, error) { scriptMeta[id] = { meta, error }; - console.log(name, meta.version); + console.log('WATCH', name, meta.version); + (0, readmefile_1.updateReadmeFile)(scriptMeta); } + let [meta, error] = (0, build_1.default)(name, CLIArgs.watch ? postWatchUpdate : false); + scriptMeta[id] = { meta, error }; + console.log(name, meta.version); } - (0, readmefile_1.updateReadmeFile)(scriptMeta); - console.log(`\nFinished Compiling\n${CLIArgs.watch ? 'Listening for Changes\n' : ''}`); -})(); +} +(0, readmefile_1.updateReadmeFile)(scriptMeta); +console.log(`\nFinished Compiling\n${CLIArgs.watch ? 'Listening for Changes\n' : ''}`); //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/lib/main.js.map b/lib/main.js.map index 6a2213a..0599507 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,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,CAGvE;AAAA,CAAC,KAAK,IAAI,EAAE;IACT,IAAI,OAAO,GAAG,IAAA,gBAAW,EAAC,kBAAU,CAAC,CAAA;IACrC,IAAI,UAAU,GAAiB,EAAE,CAAA;IAEjC,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;QACtB,IAAI,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAA;QAE3B,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnB,IAAA,eAAU,EAAC,IAAI,CAAC,GAAG,CAAC;YACpB,IAAA,cAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;YACjC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC;YACrB,IAAA,cAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAC/B;YACE,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;YAE1B,SAAS,eAAe,CACpB,IAAwB,EACxB,KAAoB;gBAEpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;gBAChC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBACxC,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,eAAQ,EAC9B,IAAI,EACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAC1C,CAAA;YACD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAEhC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAClC;KACJ;IAED,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;IAE5B,OAAO,CAAC,GAAG,CACP,yBACI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAChD,EAAE,CACL,CAAA;AACL,CAAC,CAAC,EAAE,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,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,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,CAC1C,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/src/build.ts b/src/build.ts index 2f2a320..3e55664 100644 --- a/src/build.ts +++ b/src/build.ts @@ -1,21 +1,21 @@ -import { build, BuildFailure, BuildOptions } from 'esbuild' +import { buildSync, BuildFailure, BuildOptions } from 'esbuild' import { existsSync, writeFileSync, unlinkSync } from 'fs' import { DistPath, ScriptPath } from './paths' import { UserScriptMetaFull } from './types' import readMeta from './readmeta' -export default async function ( +export default function ( name: string, watchCallback: | ((meta: UserScriptMetaFull, error: string | null) => void) | false = false -): Promise<[UserScriptMetaFull, string | null]> { +): [UserScriptMetaFull, string | null] { //read meta file let [metaJson, metaString] = readMeta(name) let path = ScriptPath(name) let pathDist = DistPath(name) - let result = await runEsbuild( + let result = runEsbuild( { entryPoints: [ScriptPath(name).main], outfile: pathDist, @@ -96,11 +96,11 @@ interface RunEsbuildResult { errorRaw?: BuildFailure } -async function runEsbuild( +function runEsbuild( opts: BuildOptions, watchCallback: (result: RunEsbuildResult) => void, toWatch: boolean = false -): Promise { +): RunEsbuildResult { opts.write = false if (toWatch) { opts.watch = { @@ -135,8 +135,9 @@ async function runEsbuild( }, } } + try { - let res = await build(opts) + let res = buildSync(opts) let content = '' if (res.outputFiles && res.outputFiles.length > 0) { content = res.outputFiles[0].text diff --git a/src/main.ts b/src/main.ts index 92c98cf..bbf0a57 100644 --- a/src/main.ts +++ b/src/main.ts @@ -21,46 +21,42 @@ if (!existsSync('package.json') || !lstatSync('package.json').isFile()) { readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`)) //compile scripts -;(async () => { - let scripts = readdirSync(ScriptBase) - let scriptMeta: readmeData[] = [] +let scripts = readdirSync(ScriptBase) +let scriptMeta: readmeData[] = [] - for (let name of scripts) { - let path = ScriptPath(name) +for (let name of scripts) { + let path = ScriptPath(name) - if ( - !name.endsWith('_') && - existsSync(path.dir) && - lstatSync(path.dir).isDirectory() && - existsSync(path.main) && - lstatSync(path.main).isFile() + if ( + !name.endsWith('_') && + existsSync(path.dir) && + lstatSync(path.dir).isDirectory() && + existsSync(path.main) && + lstatSync(path.main).isFile() + ) { + let id = scriptMeta.length + + function postWatchUpdate( + meta: UserScriptMetaFull, + error: string | null ) { - let id = scriptMeta.length - - function postWatchUpdate( - meta: UserScriptMetaFull, - error: string | null - ) { - scriptMeta[id] = { meta, error } - console.log('WATCH', name, meta.version) - updateReadmeFile(scriptMeta) - } - - let [meta, error] = await runBuild( - name, - CLIArgs.watch ? postWatchUpdate : false - ) scriptMeta[id] = { meta, error } - - console.log(name, meta.version) + console.log('WATCH', name, meta.version) + updateReadmeFile(scriptMeta) } + + let [meta, error] = runBuild( + name, + CLIArgs.watch ? postWatchUpdate : false + ) + scriptMeta[id] = { meta, error } + + console.log(name, meta.version) } +} - updateReadmeFile(scriptMeta) +updateReadmeFile(scriptMeta) - console.log( - `\nFinished Compiling\n${ - CLIArgs.watch ? 'Listening for Changes\n' : '' - }` - ) -})() +console.log( + `\nFinished Compiling\n${CLIArgs.watch ? 'Listening for Changes\n' : ''}` +) From 57f75997398f9685504bbb1eb5f24ab99394ac3b Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 10:56:50 -0500 Subject: [PATCH 03/10] remove filename comments --- lib/build.js | 18 +++++++++++++++++- lib/build.js.map | 2 +- src/build.ts | 22 ++++++++++++++++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/lib/build.js b/lib/build.js index f2d97fd..bd6d665 100644 --- a/lib/build.js +++ b/lib/build.js @@ -112,7 +112,7 @@ function runEsbuild(opts, watchCallback, toWatch = false) { let res = (0, esbuild_1.buildSync)(opts); let content = ''; if (res.outputFiles && res.outputFiles.length > 0) { - content = res.outputFiles[0].text; + content = clearFilenameComments(res.outputFiles[0].text); } if (content === '') { return { @@ -132,4 +132,20 @@ function runEsbuild(opts, watchCallback, toWatch = false) { }; } } +// //only remove the filename comments if there's only 1 file +// function clearFilenameComments(content: string): string { +// let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') +// let matches = content.match(regexp) +// if (matches) { +// if (matches.length === 1) { +// content = content.replace(regexp, '') +// } +// } +// return content +// } +//remove all filename comments +function clearFilenameComments(content) { + let regexp = new RegExp(`//\\s*${paths_1.ScriptBase}/.*(?:\\n|$)`, 'g'); + return content.replace(regexp, ''); +} //# sourceMappingURL=build.js.map \ No newline at end of file diff --git a/lib/build.js.map b/lib/build.js.map index e7901fd..79c1566 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/src/build.ts b/src/build.ts index 3e55664..4f9913a 100644 --- a/src/build.ts +++ b/src/build.ts @@ -1,6 +1,6 @@ import { buildSync, BuildFailure, BuildOptions } from 'esbuild' import { existsSync, writeFileSync, unlinkSync } from 'fs' -import { DistPath, ScriptPath } from './paths' +import { DistPath, ScriptBase, ScriptPath } from './paths' import { UserScriptMetaFull } from './types' import readMeta from './readmeta' @@ -140,7 +140,7 @@ function runEsbuild( let res = buildSync(opts) let content = '' if (res.outputFiles && res.outputFiles.length > 0) { - content = res.outputFiles[0].text + content = clearFilenameComments(res.outputFiles[0].text) } if (content === '') { return { @@ -159,3 +159,21 @@ function runEsbuild( } } } + +// //only remove the filename comments if there's only 1 file +// function clearFilenameComments(content: string): string { +// let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') +// let matches = content.match(regexp) +// if (matches) { +// if (matches.length === 1) { +// content = content.replace(regexp, '') +// } +// } +// return content +// } + +//remove all filename comments +function clearFilenameComments(content: string): string { + let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') + return content.replace(regexp, '') +} From e8de01b48a8c3f4314ad8e08d19b7535d4c41f2a Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 11:09:22 -0500 Subject: [PATCH 04/10] prettier support --- lib/build.js | 20 ++++++-------------- lib/build.js.map | 2 +- lib/main.js | 4 +++- lib/main.js.map | 2 +- package.json | 1 + pnpm-lock.yaml | 6 ++++++ src/build.ts | 28 +++++++++++++--------------- src/main.ts | 6 +++++- 8 files changed, 36 insertions(+), 33 deletions(-) diff --git a/lib/build.js b/lib/build.js index bd6d665..4757bb6 100644 --- a/lib/build.js +++ b/lib/build.js @@ -7,7 +7,8 @@ const esbuild_1 = require("esbuild"); const fs_1 = require("fs"); const paths_1 = require("./paths"); const readmeta_1 = __importDefault(require("./readmeta")); -function default_1(name, watchCallback = false) { +const prettier_1 = require("prettier"); +function default_1(name, watchCallback = false, PrettierConfig) { //read meta file let [metaJson, metaString] = (0, readmeta_1.default)(name); let path = (0, paths_1.ScriptPath)(name); @@ -35,7 +36,8 @@ function default_1(name, watchCallback = false) { error = result.error; } else if (result.content) { - (0, fs_1.writeFileSync)(pathDist, metaString + 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'); @@ -51,7 +53,8 @@ function default_1(name, watchCallback = false) { error = result.error; } else if (result.content) { - (0, fs_1.writeFileSync)(pathDist, metaString + 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'); @@ -132,17 +135,6 @@ function runEsbuild(opts, watchCallback, toWatch = false) { }; } } -// //only remove the filename comments if there's only 1 file -// function clearFilenameComments(content: string): string { -// let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') -// let matches = content.match(regexp) -// if (matches) { -// if (matches.length === 1) { -// content = content.replace(regexp, '') -// } -// } -// return content -// } //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 79c1566..479e641 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 164666a..c6cd472 100644 --- a/lib/main.js +++ b/lib/main.js @@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = require("fs"); const command_line_args_1 = __importDefault(require("command-line-args")); +const prettier_1 = require("prettier"); const paths_1 = require("./paths"); const readmefile_1 = require("./readmefile"); const build_1 = __importDefault(require("./build")); @@ -18,6 +19,7 @@ if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json' } //delete compiled scripts (0, fs_1.readdirSync)(paths_1.DistBase).forEach(file => (0, fs_1.unlinkSync)(`${paths_1.DistBase}/${file}`)); +const PrettierConfig = prettier_1.resolveConfig.sync(process.cwd()); //compile scripts let scripts = (0, fs_1.readdirSync)(paths_1.ScriptBase); let scriptMeta = []; @@ -34,7 +36,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); + let [meta, error] = (0, build_1.default)(name, CLIArgs.watch ? postWatchUpdate : false, PrettierConfig); scriptMeta[id] = { meta, error }; console.log(name, meta.version); } diff --git a/lib/main.js.map b/lib/main.js.map index 0599507..8329ed4 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,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,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,CAC1C,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;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 diff --git a/package.json b/package.json index b1bb714..cfcb8c1 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ }, "devDependencies": { "@types/node": "^17.0.40", + "@types/prettier": "^2.6.3", "eslint": "^8.17.0", "prettier": "^2.6.2" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b91464c..ce5cd27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,6 +3,7 @@ lockfileVersion: 5.3 specifiers: '@types/command-line-args': ^5.2.0 '@types/node': ^17.0.40 + '@types/prettier': ^2.6.3 command-line-args: ^5.2.1 esbuild: ^0.14.42 eslint: ^8.17.0 @@ -17,6 +18,7 @@ dependencies: devDependencies: '@types/node': 17.0.40 + '@types/prettier': 2.6.3 eslint: 8.17.0 prettier: 2.6.2 @@ -62,6 +64,10 @@ packages: resolution: {integrity: sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==} dev: true + /@types/prettier/2.6.3: + resolution: {integrity: sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==} + dev: true + /acorn-jsx/5.3.2_acorn@8.7.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: diff --git a/src/build.ts b/src/build.ts index 4f9913a..402da0f 100644 --- a/src/build.ts +++ b/src/build.ts @@ -3,12 +3,14 @@ import { existsSync, writeFileSync, unlinkSync } from 'fs' import { DistPath, ScriptBase, ScriptPath } from './paths' import { UserScriptMetaFull } from './types' import readMeta from './readmeta' +import { format, Options } from 'prettier' export default function ( name: string, watchCallback: | ((meta: UserScriptMetaFull, error: string | null) => void) - | false = false + | false = false, + PrettierConfig: Options | null ): [UserScriptMetaFull, string | null] { //read meta file let [metaJson, metaString] = readMeta(name) @@ -44,7 +46,11 @@ export default function ( console.error(name, result.errorRaw || result.error) error = result.error } else if (result.content) { - writeFileSync(pathDist, metaString + result.content) + let content = format( + metaString + result.content, + PrettierConfig === null ? undefined : PrettierConfig + ) + writeFileSync(pathDist, content) } else { console.error(name, 'No output') } @@ -64,7 +70,11 @@ export default function ( console.error(name, result.errorRaw || result.error) error = result.error } else if (result.content) { - writeFileSync(pathDist, metaString + result.content) + let content = format( + metaString + result.content, + PrettierConfig === null ? undefined : PrettierConfig + ) + writeFileSync(pathDist, content) } else { console.error(name, 'No output') } @@ -160,18 +170,6 @@ function runEsbuild( } } -// //only remove the filename comments if there's only 1 file -// function clearFilenameComments(content: string): string { -// let regexp = new RegExp(`//\\s*${ScriptBase}/.*(?:\\n|$)`, 'g') -// let matches = content.match(regexp) -// if (matches) { -// if (matches.length === 1) { -// content = content.replace(regexp, '') -// } -// } -// return content -// } - //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 bbf0a57..27fe52b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,5 +1,6 @@ import { existsSync, lstatSync, readdirSync, unlinkSync } from 'fs' import commandLineArgs from 'command-line-args' +import { resolveConfig } from 'prettier' import { DistBase, ScriptBase, ScriptPath } from './paths' import { readmeData, updateReadmeFile } from './readmefile' import runBuild from './build' @@ -20,6 +21,8 @@ if (!existsSync('package.json') || !lstatSync('package.json').isFile()) { //delete compiled scripts readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`)) +const PrettierConfig = resolveConfig.sync(process.cwd()) + //compile scripts let scripts = readdirSync(ScriptBase) let scriptMeta: readmeData[] = [] @@ -47,7 +50,8 @@ for (let name of scripts) { let [meta, error] = runBuild( name, - CLIArgs.watch ? postWatchUpdate : false + CLIArgs.watch ? postWatchUpdate : false, + PrettierConfig ) scriptMeta[id] = { meta, error } From ba1ca2fc834ba078406cda306e0033f6a174448d Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 11:33:13 -0500 Subject: [PATCH 05/10] better cli arg supper --- lib/build.js | 64 ++++++++++++++---------------- lib/build.js.map | 2 +- lib/main.js | 4 +- lib/main.js.map | 2 +- readme.md | 6 +++ src/build.ts | 100 ++++++++++++++++++++++++++--------------------- src/main.ts | 17 +++++--- 7 files changed, 107 insertions(+), 88 deletions(-) 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 } From 6b5bf9783cc709e9dc619286b303c01566bdd12e Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 11:49:13 -0500 Subject: [PATCH 06/10] updated prettier config --- lib/build.js | 2 +- lib/build.js.map | 2 +- lib/main.js | 15 +++++++++++---- lib/main.js.map | 2 +- src/build.ts | 9 +++------ src/main.ts | 15 +++++++++++---- 6 files changed, 28 insertions(+), 17 deletions(-) diff --git a/lib/build.js b/lib/build.js index be5cddd..04f49f3 100644 --- a/lib/build.js +++ b/lib/build.js @@ -119,7 +119,7 @@ function runPostEsbuild(name, result, metaString, CLIArgs, PrettierConfig) { else if (result.content) { let content = metaString + result.content; if (CLIArgs.prettier) { - content = (0, prettier_1.format)(content, PrettierConfig === null ? undefined : PrettierConfig); + content = (0, prettier_1.format)(content, PrettierConfig); } (0, fs_1.writeFileSync)(pathDist, content); } diff --git a/lib/build.js.map b/lib/build.js.map index 4446ac5..ba9fb54 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,qCAA+D;AAC/D,2BAA0D;AAC1D,mCAA0D;AAE1D,0DAAiC;AACjC,uCAA0C;AAG1C,mBACI,IAAY,EACZ,aAAuE,EACvE,cAAuB,EACvB,OAAgB;IAEhB,gBAAgB;IAChB,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAA;IAC3C,IAAI,QAAQ,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAE7B,IAAI,MAAM,GAAG,UAAU,CACnB;QACI,WAAW,EAAE,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpC,OAAO,EAAE,QAAQ;QAEjB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QAEb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,OAAO,CAAC,MAAM;QAEtB,MAAM,EAAE;YACJ,cAAc,EAAE,IAAI,QAAQ,CAAC,IAAI,GAAG;YACpC,mBAAmB,EAAE,IAAI,QAAQ,CAAC,SAAS,GAAG;YAC9C,iBAAiB,EAAE,IAAI,QAAQ,CAAC,OAAO,GAAG;YAE1C,qBAAqB,EAAE,IAAI,QAAQ,CAAC,WAAW,GAAG;YAClD,oBAAoB,EAAE,IAAI,QAAQ,CAAC,UAAU,GAAG;YAChD,qBAAqB,EAAE,IAAI,QAAQ,CAAC,WAAW,GAAG;SACrD;KACJ,EACD,MAAM,CAAC,EAAE;QACL,IAAI,KAAK,GAAG,cAAc,CACtB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,OAAO,EACP,cAAc,CACjB,CAAA;QACD,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC,EACD,OAAO,CACV,CAAA;IAED,IAAI,KAAK,GAAG,cAAc,CACtB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,OAAO,EACP,cAAc,CACjB,CAAA;IAED,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC5B,CAAC;AAtDD,4BAsDC;AAED,SAAS,WAAW,CAChB,SAAiB,EACjB,WAAmB,EACnB,KAAoB;IAEpB,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,IAAA,kBAAa,EAAC,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QAEnE,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;YACzB,IAAA,eAAU,EAAC,WAAW,CAAC,CAAA;SAC1B;KACJ;SAAM,IAAI,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE;QAC9B,IAAA,eAAU,EAAC,SAAS,CAAC,CAAA;KACxB;AACL,CAAC;AAQD,SAAS,UAAU,CACf,IAAkB,EAClB,aAAiD,EACjD,OAAgB;IAEhB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAClB,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,IAAI,CAAC,KAAK,GAAG;YACT,SAAS,CAAC,GAAG,EAAE,GAAG;gBACd,IAAI,GAAG,EAAE;oBACL,aAAa,CAAC;wBACV,OAAO,EAAE,IAAI;wBACb,KAAK,EAAG,GAAoB,CAAC,OAAO;wBACpC,QAAQ,EAAE,GAAG;qBAChB,CAAC,CAAA;iBACL;qBAAM,IAAI,GAAG,EAAE;oBACZ,IAAI,OAAO,GAAG,EAAE,CAAA;oBAChB,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/C,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;qBACpC;oBACD,IAAI,OAAO,KAAK,EAAE,EAAE;wBAChB,aAAa,CAAC;4BACV,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,WAAW;yBACrB,CAAC,CAAA;qBACL;oBACD,aAAa,CAAC;wBACV,OAAO;wBACP,KAAK,EAAE,IAAI;qBACd,CAAC,CAAA;iBACL;qBAAM;oBACH,aAAa,CAAC;wBACV,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,WAAW;qBACrB,CAAC,CAAA;iBACL;YACL,CAAC;SACJ,CAAA;KACJ;IAED,IAAI;QACA,IAAI,GAAG,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAA;QACzB,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SAC3D;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;IAAC,OAAO,GAAG,EAAE;QACV,OAAO;YACH,OAAO,EAAE,IAAI;YACb,KAAK,EAAG,GAAoB,CAAC,OAAO;SACvC,CAAA;KACJ;AACL,CAAC;AAED,SAAS,cAAc,CACnB,IAAY,EACZ,MAAwB,EACxB,UAAkB,EAClB,OAAgB,EAChB,cAAuB;IAEvB,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,IAAI,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,QAAQ,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAE7B,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,OAAO,CAAC,QAAQ,EAAE;YAClB,OAAO,GAAG,IAAA,iBAAM,EAAC,OAAO,EAAE,cAAc,CAAC,CAAA;SAC5C;QACD,IAAA,kBAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;KACnC;SAAM;QACH,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;KACnC;IAED,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IAExC,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,8BAA8B;AAC9B,SAAS,qBAAqB,CAAC,OAAe;IAC1C,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,kBAAU,cAAc,EAAE,GAAG,CAAC,CAAA;IAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACtC,CAAC"} \ No newline at end of file diff --git a/lib/main.js b/lib/main.js index 3070830..61e9e0d 100644 --- a/lib/main.js +++ b/lib/main.js @@ -10,9 +10,9 @@ const paths_1 = require("./paths"); 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 }, + { name: 'watch', alias: 'w', type: Boolean, defaultValue: false }, + { name: 'minify', alias: 'm', type: Boolean, defaultValue: false }, + { name: 'prettier', alias: 'p', type: Boolean, defaultValue: false }, ]); //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()) { @@ -21,7 +21,14 @@ if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json' } //delete compiled scripts (0, fs_1.readdirSync)(paths_1.DistBase).forEach(file => (0, fs_1.unlinkSync)(`${paths_1.DistBase}/${file}`)); -const PrettierConfig = prettier_1.resolveConfig.sync(process.cwd()); +//read prettierrc file and make sure `babel` is the configured parser +const PrettierConfig = (() => { + let config = prettier_1.resolveConfig.sync(process.cwd()) || {}; + return { + ...config, + parser: 'babel', + }; +})(); //compile scripts let scripts = (0, fs_1.readdirSync)(paths_1.ScriptBase); let scriptMeta = []; diff --git a/lib/main.js.map b/lib/main.js.map index 0e5fadb..58f6ef5 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;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 +{"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/src/build.ts b/src/build.ts index cf320ae..385a03e 100644 --- a/src/build.ts +++ b/src/build.ts @@ -9,7 +9,7 @@ import { CLIArgs } from './main' export default function ( name: string, watchCallback: (meta: UserScriptMetaFull, error: string | null) => void, - PrettierConfig: Options | null, + PrettierConfig: Options, CLIArgs: CLIArgs ): [UserScriptMetaFull, string | null] { //read meta file @@ -153,7 +153,7 @@ function runPostEsbuild( result: RunEsbuildResult, metaString: string, CLIArgs: CLIArgs, - PrettierConfig: Options | null + PrettierConfig: Options ) { let error: string | null = null let path = ScriptPath(name) @@ -165,10 +165,7 @@ function runPostEsbuild( } else if (result.content) { let content = metaString + result.content if (CLIArgs.prettier) { - content = format( - content, - PrettierConfig === null ? undefined : PrettierConfig - ) + content = format(content, PrettierConfig) } writeFileSync(pathDist, content) } else { diff --git a/src/main.ts b/src/main.ts index b1af166..61513cf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -13,9 +13,9 @@ export interface CLIArgs { } const CLIArgs = commandLineArgs([ - { name: 'watch', alias: 'w', type: Boolean }, - { name: 'minify', alias: 'm', type: Boolean }, - { name: 'prettier', alias: 'p', type: Boolean }, + { name: 'watch', alias: 'w', type: Boolean, defaultValue: false }, + { name: 'minify', alias: 'm', type: Boolean, defaultValue: false }, + { name: 'prettier', alias: 'p', type: Boolean, defaultValue: false }, ]) as CLIArgs //if package.json doesn't exist then there is no point in continuing @@ -27,7 +27,14 @@ if (!existsSync('package.json') || !lstatSync('package.json').isFile()) { //delete compiled scripts readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`)) -const PrettierConfig = resolveConfig.sync(process.cwd()) +//read prettierrc file and make sure `babel` is the configured parser +const PrettierConfig = (() => { + let config = resolveConfig.sync(process.cwd()) || {} + return { + ...config, + parser: 'babel', + } +})() //compile scripts let scripts = readdirSync(ScriptBase) From 6afcf5fdba4ec37ba349af715ae79017bb3a7c8b Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 11:59:23 -0500 Subject: [PATCH 07/10] added command line options --- readme.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 273acc1..7d731dc 100644 --- a/readme.md +++ b/readme.md @@ -27,5 +27,13 @@ Root ## Command Line Options ```text - +--watch + alias: -w + automatically recompile on save +--minify + alias: -m + minify output files +--prettier + alias: -p + prettify output files ``` From 2c80f37bedc80f4e10a787608ccef2c4d9f3a5ab Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 12:00:50 -0500 Subject: [PATCH 08/10] moved prettier to dependencies --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index cfcb8c1..661be5f 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,12 @@ "@types/command-line-args": "^5.2.0", "command-line-args": "^5.2.1", "esbuild": "^0.14.42", - "typescript": "^4.7.3" + "typescript": "^4.7.3", + "prettier": "^2.6.2" }, "devDependencies": { "@types/node": "^17.0.40", "@types/prettier": "^2.6.3", - "eslint": "^8.17.0", - "prettier": "^2.6.2" + "eslint": "^8.17.0" } } From 0f9abb3e0eef7ee1c1f5458392ccd1b109f3db8f Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 12:01:08 -0500 Subject: [PATCH 09/10] moved types to devdependencies --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 661be5f..d53650f 100644 --- a/package.json +++ b/package.json @@ -19,13 +19,13 @@ "author": "", "license": "ISC", "dependencies": { - "@types/command-line-args": "^5.2.0", "command-line-args": "^5.2.1", "esbuild": "^0.14.42", "typescript": "^4.7.3", "prettier": "^2.6.2" }, "devDependencies": { + "@types/command-line-args": "^5.2.0", "@types/node": "^17.0.40", "@types/prettier": "^2.6.3", "eslint": "^8.17.0" From 3dbb7f10661159538aea63986c8282ae76d97760 Mon Sep 17 00:00:00 2001 From: ashley zomo Date: Thu, 9 Jun 2022 12:04:29 -0500 Subject: [PATCH 10/10] updated readme --- readme.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/readme.md b/readme.md index 7d731dc..7b12e26 100644 --- a/readme.md +++ b/readme.md @@ -24,6 +24,16 @@ Root └───[each script folder].user.js ``` +if there is an error compiling a file, an `error.log` will be placed inside the source folder: + +```text +Root +├─── +└───scripts + └───[each script folder] + └───error.log +``` + ## Command Line Options ```text