npx-run
Version:
Easily run scripts using npx.
46 lines (33 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getScripts = void 0;
var _path = require("path");
var _modules = require("./modules");
const loadPkgModule = (pkgDir, path) => (0, _modules.loadModuleIfExists)((0, _path.join)(pkgDir, path)) || {};
const getPkgScripts = pkgDir => loadPkgModule(pkgDir, 'package.json').scripts || {};
const getScriptsModuleScripts = pkgDir => loadPkgModule(pkgDir, 'scripts').default || {};
const listScriptFiles = (pkgDir, fs) => {
try {
return fs.readdirSync((0, _path.join)(pkgDir, 'scripts'));
} catch (_unused) {
// we ignore if there is no scripts dir containing modules
return [];
}
};
const getScriptsDirScripts = (pkgDir, fs) => {
const scripts = {};
for (const fileName of listScriptFiles(pkgDir, fs)) {
const name = (0, _path.basename)(fileName, '.js');
if (name !== 'index') {
scripts[name] = `node -r npx-run/loaders ./scripts/${fileName}`;
}
}
return scripts;
};
const getScripts = (pkgDir, fs) => ({ ...getPkgScripts(pkgDir),
...getScriptsModuleScripts(pkgDir),
...getScriptsDirScripts(pkgDir, fs)
});
exports.getScripts = getScripts;