diff --git a/eng/Npm.Workspace.nodeproj b/eng/Npm.Workspace.nodeproj index 2c22c0dc8265..d28b99c7af83 100644 --- a/eng/Npm.Workspace.nodeproj +++ b/eng/Npm.Workspace.nodeproj @@ -19,15 +19,131 @@ <_NpmAdditionalEnvironmentVariables>PUPPETEER_SKIP_DOWNLOAD=1 - + + $(MSBuildThisFileDirectory).. + $(NpmWorkspaceRoot)\node_modules\.package-lock.json + + + **\pkg-version.ts; + $(NpmWorkspaceRoot)\src\**\node_modules\**\*; + $(NpmWorkspaceRoot)\src\**\bin\**\*; + $(NpmWorkspaceRoot)\src\**\obj\**\* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix) @@ -51,7 +167,7 @@ - + $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix) @@ -60,6 +176,10 @@ + + diff --git a/eng/scripts/npm/update-dependency-versions.mjs b/eng/scripts/npm/update-dependency-versions.mjs index 9311284a3999..d4e2ebea88bf 100644 --- a/eng/scripts/npm/update-dependency-versions.mjs +++ b/eng/scripts/npm/update-dependency-versions.mjs @@ -45,6 +45,13 @@ function applyPackageVersion(packagesToPack, defaultPackageVersion) { const packageName = packageJson.name; const packageVersion = defaultPackageVersion; const packageDir = path.dirname(packagePath); + + // Check if the version is already correct + if (packageJson.version === packageVersion) { + console.log(`Skipping ${packageName} - version ${packageVersion} already applied.`); + continue; + } + // Run npm version packageVersion --no-git-tag-version // This will update the package.json version to the specified version without creating a git tag // Make a backup of the package.json @@ -90,11 +97,16 @@ function updateDependencyVersions(packagesToPack) { // Find the dependency in packagesToPack, load the package.json and update the dependency version const dependencyPackage = seenPackagesAndVersions.find(([_, packageJson]) => packageJson.name === dependency); if (dependencyPackage) { - modified = true; const dependencyPackagePath = dependencyPackage[0]; const dependencyPackageJson = JSON.parse(fs.readFileSync(dependencyPackagePath, 'utf-8')); - dependencies[dependency] = `>=${dependencyPackageJson.version}`; - console.log(`Updated dependency ${dependency} to ${dependencyPackageJson.version} in ${packageJson.name}.`); + const newDependencyVersion = `>=${dependencyPackageJson.version}`; + + // Only update if the dependency version is actually different + if (dependencies[dependency] !== newDependencyVersion) { + modified = true; + dependencies[dependency] = newDependencyVersion; + console.log(`Updated dependency ${dependency} to ${dependencyPackageJson.version} in ${packageJson.name}.`); + } } } if (modified) {