diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index 9408cbb8c4f..9fbb50301f0 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -1,5 +1,5 @@ // TODO: Define these packages in a single common location. -const localAngularPackages = [ +const localAngularPackages = new Set([ '@angular/animations', '@angular/common', '@angular/compiler', @@ -15,7 +15,9 @@ const localAngularPackages = [ '@angular/router', '@angular/service-worker', '@angular/upgrade', -]; +]); + +const peerDepsToChange = new Set(['zone.js', 'rxjs']); function readPackage(pkg, context) { // TODO(devversion): This allows us to make compiler/TS a production dependency of compiler-cli @@ -25,31 +27,38 @@ function readPackage(pkg, context) { pkg.dependencies = { ...pkg.dependencies, '@angular/compiler': 'workspace:*', - 'typescript': '5.9.3', + 'typescript': pkg.devDependencies['typescript'], }; + + delete pkg.devDependencies['typescript']; } - Object.entries(pkg.peerDependencies).forEach(([key, version]) => { + for (const [key, version] of Object.entries(pkg.peerDependencies)) { // Any package that has a peerDependency on rxjs or zone.js, should instead treat the peerDependency as a // regular dependency. - if (['rxjs', 'zone.js'].includes(key)) { + if (peerDepsToChange.has(key)) { pkg.dependencies = { ...pkg.dependencies, - [key]: version, + [key]: pkg.devDependencies[key] ?? version, }; + + delete pkg.devDependencies[key]; + + continue; } // Change all locally generated packages to directly depend on the other local packages, instead // of expecting them as peerDependencies automatically as we do not auto install peer deps. The // package is also removed from peerDependencies as it was moved over and will just cause errors. - if (localAngularPackages.includes(key) && pkg.version === '0.0.0-PLACEHOLDER') { + if (pkg.version === '0.0.0-PLACEHOLDER' && localAngularPackages.has(key)) { pkg.dependencies = { ...pkg.dependencies, [key]: 'workspace: *', }; + delete pkg.peerDependencies[key]; } - }); + } return pkg; } diff --git a/packages/compiler-cli/package.json b/packages/compiler-cli/package.json index ea9cf7d2721..5942c2140ff 100644 --- a/packages/compiler-cli/package.json +++ b/packages/compiler-cli/package.json @@ -39,6 +39,9 @@ "tslib": "^2.3.0", "yargs": "^18.0.0" }, + "devDependencies": { + "typescript": "5.9.3" + }, "peerDependencies": { "@angular/compiler": "0.0.0-PLACEHOLDER", "typescript": ">=5.9 <6.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad1235fc65d..850259278b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: packageExtensionsChecksum: sha256-3L73Fw32UVtE6x5BJxJPBtQtH/mgsr31grNpdhHP1IY= -pnpmfileChecksum: sha256-vPvk/mBsTHwJvR6NXsWAPUB+5p/66ODkNQwJchPTYMM= +pnpmfileChecksum: sha256-TYPFsbGgXlr65uhno3A1oHE+n2qqt8R+w/szQ+Wq97s= patchedDependencies: dagre-d3-es: