From 383871abb33cf352e4dc5b8a3b0552dc707316cc Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 4 Mar 2026 09:30:50 +0000 Subject: [PATCH] build: introduce package deprecation metadata and integrate it into the release configuration `ng-dev` now supports deprecations of NPM packages. See: https://github.com/angular/dev-infra/pull/3463 --- .monorepo.json | 6 +++++- .ng-dev/release.mjs | 6 +++++- scripts/packages.mts | 5 +++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.monorepo.json b/.monorepo.json index 4d5face644df..5a5ae5063764 100644 --- a/.monorepo.json +++ b/.monorepo.json @@ -62,7 +62,11 @@ "@angular-devkit/architect-cli": { "name": "Architect CLI", "section": "Tooling", - "snapshotRepo": "angular/angular-devkit-architect-cli-builds" + "snapshotRepo": "angular/angular-devkit-architect-cli-builds", + "deprecated": { + "version": ">=21.2.0", + "message": "The Architect CLI is now available directly via '@angular-devkit/architect'." + } }, "@angular-devkit/build-angular": { "name": "Build Angular", diff --git a/.ng-dev/release.mjs b/.ng-dev/release.mjs index 2aadf9db122c..7790637ed329 100644 --- a/.ng-dev/release.mjs +++ b/.ng-dev/release.mjs @@ -8,7 +8,11 @@ import { releasePackages } from '../scripts/packages.mts'; */ export const release = { representativeNpmPackage: '@angular/cli', - npmPackages: releasePackages.map(({ name, experimental }) => ({ name, experimental })), + npmPackages: releasePackages.map(({ name, experimental, deprecated }) => ({ + name, + experimental, + deprecated, + })), buildPackages: async () => { // The `performNpmReleaseBuild` function is loaded at runtime to avoid loading additional // files and dependencies unless a build is required. diff --git a/scripts/packages.mts b/scripts/packages.mts index fb556da7dc7a..f76f789fd40b 100644 --- a/scripts/packages.mts +++ b/scripts/packages.mts @@ -13,6 +13,10 @@ import { dirname } from 'node:path'; export interface PackageInfo { name: string; root: string; + deprecated?: { + version: string; + message: string; + }; experimental: boolean; packageJson: Record; } @@ -31,6 +35,7 @@ function getPackages(): PackageInfo[] { packages.push({ name: packageJson.name, experimental: !!packageJson.experimental, + deprecated: monorepoData.packages[packageJson.name].deprecated, root: dirname(pkg), packageJson, });