Skip to content

Commit c66c1cd

Browse files
committed
Fix transient dependency resolving for csb packages
1 parent b1ddb2e commit c66c1cd

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

packages/app/src/sandbox/eval/npm/fetch-npm-module.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,19 @@ async function getDependencyVersion(
395395
manager.transpiledModules[foundPackageJSONPath].module.code;
396396
const { version } = JSON.parse(packageJSON);
397397

398+
const savedDepDep = manifest.dependencyDependencies[dependencyName];
399+
400+
if (
401+
savedDepDep &&
402+
savedDepDep.resolved === version &&
403+
savedDepDep.semver.startsWith('https://')
404+
) {
405+
return {
406+
packageJSONPath: foundPackageJSONPath,
407+
version: savedDepDep.semver,
408+
};
409+
}
410+
398411
if (packageJSON !== '//empty.js') {
399412
return { packageJSONPath: foundPackageJSONPath, version };
400413
}
@@ -405,7 +418,15 @@ async function getDependencyVersion(
405418
let version = null;
406419

407420
if (manifest.dependencyDependencies[dependencyName]) {
408-
version = manifest.dependencyDependencies[dependencyName].resolved;
421+
if (
422+
manifest.dependencyDependencies[dependencyName].semver.startsWith(
423+
'https://'
424+
)
425+
) {
426+
version = manifest.dependencyDependencies[dependencyName].semver;
427+
} else {
428+
version = manifest.dependencyDependencies[dependencyName].resolved;
429+
}
409430
} else {
410431
const dep = manifest.dependencies.find(m => m.name === dependencyName);
411432

packages/app/src/sandbox/version-resolving/index.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ export async function getDependencyVersions(
1111
) {
1212
const parsedResolutions = parseResolutions(resolutions);
1313

14+
const depsWithNodeLibs = { 'node-libs-browser': '2.2.0', ...dependencies };
1415
const depInfos = await Promise.all(
15-
Object.keys(dependencies).map(depName =>
16-
resolveDependencyInfo(depName, dependencies[depName], parsedResolutions)
16+
Object.keys(depsWithNodeLibs).map(depName =>
17+
resolveDependencyInfo(
18+
depName,
19+
depsWithNodeLibs[depName],
20+
parsedResolutions
21+
)
1722
)
1823
);
1924

0 commit comments

Comments
 (0)