piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
41 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
/**
* Checks that devDependencies declared for pilet scaffolding are valid.
*/
function default_1(context, options = undefined) {
const { devDependencies } = context.info;
if (typeof devDependencies !== 'object') {
context.error(`
The scripts in pilets.devDependencies are invalid.
Expected: <object>.
Received: <${typeof devDependencies}>.
`);
}
else {
const allDependencies = {
...context.dependencies,
...context.devDependencies,
};
const invalidDevDepsTypes = Object.keys(devDependencies)
.map((m) => devDependencies[m])
.filter((m) => typeof m !== 'string' && m !== true);
const invalidDevDepsRefs = Object.keys(devDependencies).filter((m) => devDependencies[m] === true && !allDependencies[m]);
if (invalidDevDepsTypes.length > 0) {
context.error(`
The scaffold dev dependencies in pilets.devDependencies are invalid.
Expected: Only names (<string>) in the array.
Received: Found ${invalidDevDepsTypes.length} non-<string> entries.
`);
}
for (const invalidDevDepsRef of invalidDevDepsRefs) {
context.warning(`
The scaffold dev dependency "${invalidDevDepsRef}" refers to any dependency in the app, but none found.
Expected: A dependency named "${invalidDevDepsRef}" in dependencies or devDependencies.
Received: <none>.
`);
}
}
}
//# sourceMappingURL=piral-has-valid-devDependencies.js.map