npm-prepare-dist
Version:
Prepare library for NPM distribution
54 lines (53 loc) • 2.27 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const minimist_1 = __importDefault(require("minimist"));
const package_json_1 = require("./package.json");
const global_helper_1 = require("./src/helpers/global.helper");
const index_1 = require("./src/index");
let stop = false;
const args = (0, minimist_1.default)(process.argv.slice(2), {
string: ['dist', 'files', 'main', 'remove-script'],
boolean: ['remove-deps'],
alias: { h: 'help', v: 'version', d: 'dist', f: 'files', m: 'main', s: 'remove-script' },
unknown: (err) => {
console.log('Those arguments are not supported:', err);
console.log('Use: `npm-prepare-dist --help` for more options.');
stop = true;
return false;
}
});
if (args.help) {
const log = args.help ? console.log : console.error;
log(`Usage: npm-prepare-dist ${package_json_1.version}`);
log('');
log(' Prepare dist folder before publish into the npm repository');
log('');
log('Options:');
log('');
log(' -h, --help Display this usage info');
log(' -d, --dist Dist folder path');
log(' -f, --files Array of files to copy into dist folder as well');
log(' -m, --main Main folder where. Usually where is your index.js');
log(' -s, --remove-script Remove selected script in package.json');
log(' --remove-deps Remove all dependencies from package.json');
log(' ');
process.exit(args.help ? 0 : 1);
}
else if (args.version) {
console.log(`npm-prepare-dist v${package_json_1.version}`);
}
else if (stop) {
// Do nothing if there is something suspicious
}
else {
const dist = args.dist ? args.dist : undefined;
const filesToCopy = args.files ? args.files : undefined;
const main = args.main ? args.main : undefined;
const removeScript = args['remove-script'] ? (0, global_helper_1.makeArray)(args['remove-script']) : [];
const removeDeps = args['remove-deps'] ? true : false;
(0, index_1.prepareDist)(dist, filesToCopy, main, removeDeps, removeScript);
}