diff --git a/scripts/pack-scoped.ts b/scripts/pack-scoped.ts index 4259622868..4141ac3675 100644 --- a/scripts/pack-scoped.ts +++ b/scripts/pack-scoped.ts @@ -65,12 +65,12 @@ async function getDistTagsFromPackageJson( ): Promise> { const packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf-8')); return new Map( - newModuleNames.map((m) => { + newModuleNames.flatMap((m) => { const distTags = packageJson.dependencies[m]; if (distTags) { - return [m, { beta: distTags }]; + return [[m, { beta: distTags }]]; } - return [m, { beta: '0.0.0' }]; + return []; }) ); } @@ -86,7 +86,11 @@ async function getDistTagsForModuleNamesCached( ): Promise> { if (params.sourceFile) { if (params.sourceFile.endsWith('package.json')) { - return getDistTagsFromPackageJson(newModuleNames, params.sourceFile); + const distTagsFromPackageJson = await getDistTagsFromPackageJson(newModuleNames, params.sourceFile); + const remainingNames = newModuleNames.filter((m) => !distTagsFromPackageJson.has(m)); + console.log(`Getting dist tags for ${remainingNames.length} modules from npm`); + const distTagsByModuleName = await getDistTagsForModuleNames(remainingNames); + return new Map([...distTagsFromPackageJson.entries(), ...distTagsByModuleName.entries()]); } }