Skip to content

Commit 4c22d9e

Browse files
committed
fix: resolve site dependency version from packagePath before checking root of monorepo
1 parent d86f532 commit 4c22d9e

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

packages/build/src/plugins/plugin_conditions.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const siteDependenciesTest = async function (
5252
return (
5353
await Promise.all(
5454
Object.entries(allowedSiteDependencies).map(async ([dependencyName, allowedVersion]) =>
55-
siteDependencyTest({ dependencyName, allowedVersion, siteDependencies, buildDir }),
55+
siteDependencyTest({ dependencyName, allowedVersion, siteDependencies, buildDir, packagePath }),
5656
),
5757
)
5858
).every(Boolean)
@@ -63,10 +63,12 @@ const siteDependencyTest = async function ({
6363
allowedVersion,
6464
siteDependencies,
6565
buildDir,
66+
packagePath,
6667
}: {
6768
dependencyName: string
6869
allowedVersion: string
6970
buildDir: string
71+
packagePath: string
7072
siteDependencies: Record<string, string | undefined>
7173
}): Promise<boolean> {
7274
const siteDependency = siteDependencies[dependencyName]
@@ -79,6 +81,19 @@ const siteDependencyTest = async function ({
7981
return semver.satisfies(siteDependency, allowedVersion, { includePrerelease: true })
8082
}
8183

84+
// try from package path if defined
85+
if (packagePath) {
86+
try {
87+
// if this is a range we need to get the exact version
88+
const packageJsonPath = await resolvePath(`${dependencyName}/package.json`, join(buildDir, packagePath))
89+
const { version } = await importJsonFile(packageJsonPath)
90+
if (!version) {
91+
return false
92+
}
93+
return semver.satisfies(version, allowedVersion)
94+
} catch {}
95+
}
96+
8297
try {
8398
// if this is a range we need to get the exact version
8499
const packageJsonPath = await resolvePath(`${dependencyName}/package.json`, buildDir)

0 commit comments

Comments
 (0)