Files
browser-scripts-builder/lib/main.js
2022-06-09 11:33:13 -05:00

48 lines
2.1 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": 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"));
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()) {
console.error('package.json not found, unwilling to run');
process.exit(1);
}
//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 = [];
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] = (0, build_1.default)(name, postWatchUpdate, PrettierConfig, CLIArgs);
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' : ''}`);
//# sourceMappingURL=main.js.map