zephyr-xpack-internal
Version:
Xpack internals for Zephyr
40 lines (39 loc) • 1.91 kB
JavaScript
import "node:module";
import { objHasKeys } from "./object-has-keys.mjs";
function validateParams({ federationRemoteEntry, topLevelPackage, modules }, standalone) {
const hasLoc = federationRemoteEntry ? objHasKeys(federationRemoteEntry, [
'origins',
'0',
'loc'
]) : federationRemoteEntry;
const hasDependencies = objHasKeys(topLevelPackage, [
'dependencies'
]);
const hasDevDependencies = objHasKeys(topLevelPackage, [
'devDependencies'
]);
const hasOptionalDependencies = objHasKeys(topLevelPackage, [
'optionalDependencies'
]);
if (federationRemoteEntry) {
if (void 0 === hasLoc || federationRemoteEntry.origins && '' === federationRemoteEntry.origins[0].loc) throw new Error('federationRemoteEntry.origins[0].loc must be defined and have a value');
}
if (modules && !modules.length || void 0 === modules) {
if (!standalone) throw new Error('Modules must be defined and have length');
}
if (!hasDependencies) throw new Error('topLevelPackage.dependencies must be defined');
if (!hasDevDependencies) throw new Error('topLevelPackage.devDependencies must be defined');
if (!hasOptionalDependencies) throw new Error('topLevelPackage.optionalDependencies must be defined');
if (!modules) return;
for (const module of modules){
if (void 0 === module.identifier) throw new Error('module.identifier must be defined');
if (void 0 === module.reasons) throw new Error('module.reasons must be defined');
if (([
'consume-shared-module',
'provide-module',
'remote-module'
].includes(module.moduleType ?? '') || module.name?.includes('container entry')) && void 0 === module.issuerName) throw new Error('module.issuerName must be defined');
}
}
export { validateParams };
//# sourceMappingURL=validate-params.mjs.map