mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* safety checks and better path eval * do not execute command on help * rewrite 'update-version' command
41 lines
1.0 KiB
JavaScript
Executable File
41 lines
1.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
// tslint:disable: adf-file-name
|
|
// tslint:disable: no-var-requires
|
|
const minimist = require('minimist');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const args = minimist(process.argv.slice(2), {
|
|
boolean: ['verbose']
|
|
});
|
|
|
|
if (args._.length === 0) {
|
|
console.error('Error: no commands provided');
|
|
process.exit(1);
|
|
}
|
|
|
|
const scriptName = args._.shift();
|
|
const scriptPath = process.env.DEVELOP
|
|
? path.resolve(path.join(__dirname, '../dist/scripts', scriptName))
|
|
: path.resolve(path.join(__dirname, '../scripts', scriptName));
|
|
|
|
if (!fs.existsSync(`${scriptPath}.js`)) {
|
|
console.error(`Error: command ${scriptName} not found.`);
|
|
process.exit(1);
|
|
}
|
|
|
|
const cwd = process.cwd();
|
|
|
|
try {
|
|
Promise.resolve()
|
|
.then(() => require(scriptPath).default(args, cwd))
|
|
.then(exitCode => process.exit(exitCode || 0))
|
|
.catch(err => {
|
|
console.error(err && err.stack);
|
|
process.exit(99);
|
|
});
|
|
} catch (err) {
|
|
console.error(err.stack);
|
|
process.exit(99);
|
|
}
|