piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
25 lines (21 loc) • 757 B
text/typescript
import { PiralRuleContext } from '../types';
export type Options = void;
/**
* Checks that the externals to be used in pilets are valid.
*/
export default function (context: PiralRuleContext, options: Options = undefined) {
const { externals } = context;
const invalidDepRefs = externals
.filter((ext) => !ext.parents || ext.parents.length === 0)
.map((ext) => ext.name)
.filter((name) => context.dependencies[name] === undefined && context.devDependencies[name] === undefined);
for (const invalidDepRef of invalidDepRefs) {
context.warning(
`
The shared dependency "${invalidDepRef}" is not listed in the "dependencies" and "devDependencies".
Expected: "${invalidDepRef}" in dependencies.
Received: <none>.
`,
);
}
}