mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-04-23 22:30:37 +00:00
58 lines
1.4 KiB
JavaScript
Executable File
58 lines
1.4 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
const { parseArgs } = require('node:util');
|
|
const { resolve, join } = require('node:path');
|
|
const { readFileSync, existsSync } = require('node:fs');
|
|
const { argv, exit, env, cwd } = require('node:process');
|
|
|
|
function printHelp() {
|
|
const pkgData = readFileSync(resolve(__dirname, '..', 'package.json')).toString();
|
|
const { name, version } = JSON.parse(pkgData);
|
|
console.log(`${name} v${version}`);
|
|
}
|
|
|
|
const { values, positionals } = parseArgs({
|
|
args: argv.slice(2),
|
|
options: {
|
|
verbose: {
|
|
type: 'boolean'
|
|
}
|
|
},
|
|
allowPositionals: true,
|
|
strict: false
|
|
});
|
|
|
|
const args = {
|
|
...values,
|
|
_: positionals
|
|
};
|
|
|
|
if (args._.length === 0) {
|
|
printHelp();
|
|
exit(1);
|
|
}
|
|
|
|
const scriptName = args._.shift();
|
|
const scriptPath = env.DEVELOP
|
|
? resolve(join(__dirname, '../dist/scripts', scriptName))
|
|
: resolve(join(__dirname, '../scripts', scriptName));
|
|
|
|
if (!existsSync(`${scriptPath}.js`)) {
|
|
console.error(`Error: command ${scriptName} not found.`);
|
|
exit(1);
|
|
}
|
|
|
|
const workingDir = cwd();
|
|
|
|
try {
|
|
Promise.resolve()
|
|
.then(() => require(scriptPath).default(args, workingDir))
|
|
.then(exitCode => exit(exitCode || 0))
|
|
.catch(err => {
|
|
console.error(err && err.stack);
|
|
exit(99);
|
|
});
|
|
} catch (err) {
|
|
console.error(err.stack);
|
|
exit(99);
|
|
}
|