UNPKG

zephyr-xpack-internal

Version:

Xpack internals for Zephyr

83 lines (82 loc) • 3.58 kB
import "node:module"; function modulePartTwo(params) { const { name, modules, modulesObj, convertedDeps } = params; const overrides = {}; modules?.forEach((mod)=>{ const { identifier, issuerName, reasons, moduleType } = mod; let data = identifier?.split(' '); if ('provide-module' === moduleType && data) { if (issuerName) { const issuerNameMinusExtension = issuerName.replace('.js', ''); if (modulesObj[issuerNameMinusExtension] && -1 === modulesObj[issuerNameMinusExtension].requires.indexOf(data[2])) modulesObj[issuerNameMinusExtension].requires.push(data[2]); } if (reasons) reasons.forEach(({ module })=>{ if (module) { const moduleMinusExtension = module.replace('.js', ''); if (modulesObj[moduleMinusExtension] && data && -1 === modulesObj[moduleMinusExtension].requires.indexOf(data[2])) modulesObj[moduleMinusExtension].requires.push(data[2]); } }); let name; let version; if (data[3].startsWith('@')) { const splitInfo = data[3].split('@'); splitInfo[0] = '@'; name = splitInfo[0] + splitInfo[1]; version = splitInfo[2]; } else if (data[3].includes('@')) [name, version] = data[3].split('@'); else [ convertedDeps.dependencies, convertedDeps.devDependencies, convertedDeps.optionalDependencies ].forEach((deps)=>{ if (!deps) return; const dep = deps.find(({ name })=>data && name === data[2]); if (!dep) return; version = dep.version; }); if (name && version) overrides[name] = { id: name, name, version, location: name, applicationID: name }; } if ('consume-shared-module' !== moduleType) return; data = identifier?.split('|'); if (issuerName && data) { const issuerNameMinusExtension = issuerName.replace('.js', ''); if (modulesObj[issuerNameMinusExtension] && -1 === modulesObj[issuerNameMinusExtension].requires.indexOf(data[2])) modulesObj[issuerNameMinusExtension].requires.push(data[2]); } if (reasons) reasons.forEach(({ module })=>{ if (module) { const moduleMinusExtension = module.replace('.js', ''); if (modulesObj[moduleMinusExtension] && data && -1 === modulesObj[moduleMinusExtension].requires.indexOf(data[2])) modulesObj[moduleMinusExtension].requires.push(data[2]); } }); let version = ''; if (data && data[3] && data[3]?.startsWith('=')) version = data[3].replace('=', ''); else [ convertedDeps.dependencies, convertedDeps.devDependencies, convertedDeps.optionalDependencies ].forEach((deps)=>{ if (!deps) return; const dep = deps.find(({ name })=>data && name === data[2]); if (!dep) return; version = dep.version; }); if (data && name) overrides[data[2]] = { id: data[2], name: data[2], version, location: data[2], applicationID: name }; }); return { overrides }; } export { modulePartTwo }; //# sourceMappingURL=module-part-two.mjs.map