reorganized main file
This commit is contained in:
65
lib/build.js
Normal file
65
lib/build.js
Normal file
@@ -0,0 +1,65 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": 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"));
|
||||
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;
|
||||
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,
|
||||
watch: !watchCallback
|
||||
? false
|
||||
: {
|
||||
onRebuild(err, result) {
|
||||
if (err) {
|
||||
console.error(name, err);
|
||||
let error = err.message;
|
||||
watchCallback(metaJson, error);
|
||||
}
|
||||
else {
|
||||
console.log('watch build succeeded:', result);
|
||||
}
|
||||
},
|
||||
},
|
||||
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);
|
||||
}
|
||||
else {
|
||||
(0, fs_1.unlinkSync)(outPath);
|
||||
}
|
||||
}
|
||||
return [metaJson, error];
|
||||
}
|
||||
exports.default = default_1;
|
||||
//# sourceMappingURL=build.js.map
|
||||
1
lib/build.js.map
Normal file
1
lib/build.js.map
Normal file
@@ -0,0 +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,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,KAAK,EAAE,CAAC,aAAa;gBACjB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC;oBACI,SAAS,CAAC,GAAG,EAAE,MAAM;wBACjB,IAAI,GAAG,EAAE;4BACL,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;4BACxB,IAAI,KAAK,GAAI,GAAoB,CAAC,OAAO,CAAA;4BACzC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;yBACjC;6BAAM;4BACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;yBAChD;oBACL,CAAC;iBACJ;YAEP,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;AAhED,4BAgEC"}
|
||||
80
lib/main.js
80
lib/main.js
@@ -3,51 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const esbuild_1 = require("esbuild");
|
||||
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 readmeta_1 = __importDefault(require("./readmeta"));
|
||||
async function compileProject(name) {
|
||||
//read meta file
|
||||
let [metaJson, metaString] = (0, readmeta_1.default)(name);
|
||||
let outPath = (0, paths_1.DistPath)(name);
|
||||
let error = null;
|
||||
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,
|
||||
define: {
|
||||
UserScriptName: `'${metaJson.name}'`,
|
||||
UserScriptNamespace: `'${metaJson.namespace}'`,
|
||||
UserScriptVersion: `'${metaJson.version}'`,
|
||||
UserScriptDownloadURL: `'${metaJson.downloadURL}'`,
|
||||
UserScriptSupportURL: `'${metaJson.supportURL}'`,
|
||||
UserScriptHomepageURL: `'${metaJson.homepageURL}'`,
|
||||
},
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
console.error(name, e); //TODO better error log
|
||||
error = e.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);
|
||||
}
|
||||
else {
|
||||
(0, fs_1.unlinkSync)(outPath);
|
||||
}
|
||||
}
|
||||
return [metaJson, error];
|
||||
}
|
||||
const build_1 = __importDefault(require("./build"));
|
||||
const CLIArgs = (0, command_line_args_1.default)([
|
||||
{ name: 'watch', alias: 'w', 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()) {
|
||||
console.error('package.json not found, unwilling to run');
|
||||
process.exit(1);
|
||||
@@ -59,27 +23,35 @@ if (!(0, fs_1.existsSync)('package.json') || !(0, fs_1.lstatSync)('package.json'
|
||||
let scriptMeta = [];
|
||||
for (let name of scripts) {
|
||||
let path = (0, paths_1.ScriptPath)(name);
|
||||
//delete error file if it exists
|
||||
if ((0, fs_1.existsSync)(path.error)) {
|
||||
(0, fs_1.unlinkSync)(path.error);
|
||||
}
|
||||
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 [meta, error] = await compileProject(name);
|
||||
scriptMeta.push({
|
||||
meta,
|
||||
error,
|
||||
});
|
||||
//write error file
|
||||
if (error !== null) {
|
||||
(0, fs_1.writeFileSync)(path.error, `${new Date().toISOString()}\n\n${error}`);
|
||||
let id = scriptMeta.length;
|
||||
function postWatchUpdate(meta, error) {
|
||||
scriptMeta[id] = { meta, error };
|
||||
doErrorFile(path.error, error);
|
||||
console.log('WATCH', name, meta.version);
|
||||
(0, readmefile_1.updateReadmeFile)(scriptMeta);
|
||||
}
|
||||
let [meta, error] = await (0, build_1.default)(name, postWatchUpdate);
|
||||
scriptMeta[id] = { meta, error };
|
||||
console.log(name, meta.version);
|
||||
doErrorFile(path.error, error);
|
||||
}
|
||||
}
|
||||
(0, readmefile_1.updateReadmeFile)(scriptMeta);
|
||||
console.log('\nFinished Compiling\n');
|
||||
if (CLIArgs.watch)
|
||||
console.log('Listening for Changes\n');
|
||||
})();
|
||||
function doErrorFile(pathError, error) {
|
||||
if (error !== null) {
|
||||
(0, fs_1.writeFileSync)(pathError, `${new Date().toISOString()}\n\n${error}`);
|
||||
}
|
||||
else if ((0, fs_1.existsSync)(pathError)) {
|
||||
(0, fs_1.unlinkSync)(pathError);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=main.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;AAAA,2BAMW;AACX,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,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAE9B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBAExC,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,eAAQ,EAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YACzD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAEhC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAE/B,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;SACjC;KACJ;IAED,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAA;IAE5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACrC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAC7D,CAAC,CAAC,EAAE,CAAA;AAEJ,SAAS,WAAW,CAAC,SAAiB,EAAE,KAAoB;IACxD,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,IAAA,kBAAa,EAAC,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;KACtE;SAAM,IAAI,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE;QAC9B,IAAA,eAAU,EAAC,SAAS,CAAC,CAAA;KACxB;AACL,CAAC"}
|
||||
Reference in New Issue
Block a user