Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@angular/cli

Package Overview
Dependencies
Maintainers
2
Versions
1067
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/cli - npm Package Compare versions

Comparing version
22.0.1
to
22.1.0-next.0
+62
src/commands/update/update-resolver.d.ts
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import { logging } from '@angular-devkit/core';
import { NpmRepositoryPackageJson, PackageManifest } from '../../utilities/package-metadata';
export type VersionRange = string & {
__VERSION_RANGE: void;
};
export declare function angularMajorCompatGuarantee(range: string): string;
export interface PackageVersionInfo {
version: VersionRange;
packageJson: PackageManifest;
updateMetadata: UpdateMetadata;
}
export interface PackageInfo {
name: string;
npmPackageJson: NpmRepositoryPackageJson;
installed: PackageVersionInfo;
target?: PackageVersionInfo;
packageJsonRange: string;
}
export interface UpdateMetadata {
packageGroupName?: string;
packageGroup: {
[packageName: string]: string;
};
requirements: {
[packageName: string]: string;
};
migrations?: string;
}
export interface UpdateResolverOptions {
packages?: string[];
force?: boolean;
next?: boolean;
migrateOnly?: boolean;
from?: string;
to?: string;
registry?: string;
packageManager?: string;
verbose?: boolean;
workspaceRoot?: string;
}
export interface UpdatePlan {
packagesToUpdate: Map<string, string>;
migrationsToRun: {
package: string;
collection: string;
from: string;
to: string;
}[];
packageInfoMap: Map<string, PackageInfo>;
}
export declare function isPnpActive(workspaceRoot: string): boolean;
export declare function findPackageJson(workspaceDir: string, packageName: string): string | undefined;
export declare function resolveUserUpdatePlan(options: UpdateResolverOptions, logger: logging.LoggerApi): Promise<UpdatePlan>;
export declare function printUpdateUsageMessage(infoMap: Map<string, PackageInfo>, logger: logging.LoggerApi, next?: boolean): void;
export declare function applyUpdatePlan(workspaceRoot: string, plan: UpdatePlan, logger: logging.LoggerApi): Promise<void>;
"use strict";
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.angularMajorCompatGuarantee = angularMajorCompatGuarantee;
exports.isPnpActive = isPnpActive;
exports.findPackageJson = findPackageJson;
exports.resolveUserUpdatePlan = resolveUserUpdatePlan;
exports.printUpdateUsageMessage = printUpdateUsageMessage;
exports.applyUpdatePlan = applyUpdatePlan;
const core_1 = require("@angular-devkit/core");
const node_fs_1 = require("node:fs");
const node_module_1 = require("node:module");
const path = __importStar(require("node:path"));
const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
const semver = __importStar(require("semver"));
const package_metadata_1 = require("../../utilities/package-metadata");
function angularMajorCompatGuarantee(range) {
let newRange = semver.validRange(range);
if (!newRange) {
return range;
}
let major = 1;
while (!semver.gtr(major + '.0.0', newRange)) {
major++;
if (major >= 99) {
return newRange;
}
}
newRange = range;
for (let minor = 0; minor < 20; minor++) {
newRange += ` || ^${major}.${minor}.0-alpha.0 `;
}
return semver.validRange(newRange) || range;
}
const knownPeerCompatibleList = {
'@angular/core': angularMajorCompatGuarantee,
};
function _updatePeerVersion(infoMap, name, range) {
const maybePackageInfo = infoMap.get(name);
if (!maybePackageInfo) {
return range;
}
if (maybePackageInfo.target) {
name = maybePackageInfo.target.updateMetadata.packageGroupName || name;
}
else {
name = maybePackageInfo.installed.updateMetadata.packageGroupName || name;
}
const maybeTransform = knownPeerCompatibleList[name];
if (maybeTransform) {
if (typeof maybeTransform == 'function') {
return maybeTransform(range);
}
else {
return maybeTransform;
}
}
return range;
}
function _validateForwardPeerDependencies(name, infoMap, logger) {
let error = false;
const info = infoMap.get(name);
if (!info || !info.target) {
return error;
}
const peerDependencies = info.target.packageJson.peerDependencies || {};
const peerDependenciesMeta = info.target.packageJson.peerDependenciesMeta || {};
for (const [peer, range] of Object.entries(peerDependencies)) {
const peerInfo = infoMap.get(peer);
if (!peerInfo) {
continue;
}
const isOptional = !!peerDependenciesMeta[peer]?.optional;
const resolvedRange = _updatePeerVersion(infoMap, peer, range);
const resolvedVersion = peerInfo.target ? peerInfo.target.version : peerInfo.installed.version;
if (!semver.satisfies(resolvedVersion, resolvedRange, { includePrerelease: true })) {
logger.error(`Package ${JSON.stringify(name)} has an incompatible peer dependency to ` +
`${JSON.stringify(peer)} (requires ${JSON.stringify(range)}, ` +
`would install ${JSON.stringify(resolvedVersion)}).`);
error = error || !isOptional;
}
}
return error;
}
function _validateReversePeerDependencies(name, version, infoMap, logger, next) {
let error = false;
for (const [installed, installedInfo] of infoMap.entries()) {
const installedLogger = logger.createChild(installed);
installedLogger.debug(`${installed}...`);
const peers = (installedInfo.target || installedInfo.installed).packageJson.peerDependencies;
const peersMeta = (installedInfo.target || installedInfo.installed).packageJson
.peerDependenciesMeta;
for (const [peer, range] of Object.entries(peers || {})) {
if (peer !== name) {
continue;
}
const isOptional = !!peersMeta?.[peer]?.optional;
const resolvedRange = _updatePeerVersion(infoMap, name, range);
if (!semver.satisfies(version, resolvedRange, { includePrerelease: next || undefined })) {
logger.error(`Package ${JSON.stringify(installed)} has an incompatible peer dependency to ` +
`${JSON.stringify(name)} (requires ${JSON.stringify(range)}, ` +
`would install ${JSON.stringify(version)}).`);
error = error || !isOptional;
}
}
}
return error;
}
function _validateUpdatePackages(infoMap, force, next, logger) {
logger.debug('Validating peer dependencies...');
let error = false;
for (const name of infoMap.keys()) {
const info = infoMap.get(name);
if (!info || !info.target) {
continue;
}
logger.debug(`Checking ${name}...`);
error = _validateForwardPeerDependencies(name, infoMap, logger) || error;
error =
_validateReversePeerDependencies(name, info.target.version, infoMap, logger, next) || error;
}
if (error && !force) {
throw new Error('Incompatible peer dependencies found. See above for details. ' +
'You can bypass this check using the --force option.');
}
}
function _getUpdateMetadata(packageJson, logger) {
const metadata = packageJson['ng-update'];
const result = {
packageGroup: {},
requirements: {},
};
if (!metadata || typeof metadata != 'object' || Array.isArray(metadata)) {
return result;
}
if (metadata['packageGroup']) {
const packageGroup = metadata['packageGroup'];
if (Array.isArray(packageGroup) && packageGroup.every((x) => typeof x == 'string')) {
result.packageGroup = packageGroup.reduce((group, name) => {
group[name] = packageJson.version;
return group;
}, {});
}
else if (typeof packageGroup == 'object' && packageGroup !== null) {
result.packageGroup = Object.entries(packageGroup).reduce((group, [name, version]) => {
if (typeof version == 'string') {
group[name] = version;
}
return group;
}, {});
}
else {
logger.warn(`PackageGroup metadata for ${packageJson.name} is malformed. Ignoring.`);
}
}
if (typeof metadata['packageGroupName'] == 'string') {
result.packageGroupName = metadata['packageGroupName'];
}
if (typeof metadata['migrations'] == 'string') {
result.migrations = metadata['migrations'];
}
return result;
}
function isPnpActive(workspaceRoot) {
return (process.versions.pnp !== undefined ||
(0, node_fs_1.existsSync)(path.join(workspaceRoot, '.pnp.cjs')) ||
(0, node_fs_1.existsSync)(path.join(workspaceRoot, '.pnp.js')));
}
function findPackageJson(workspaceDir, packageName) {
if (isPnpActive(workspaceDir)) {
try {
const workspaceRequire = (0, node_module_1.createRequire)(path.join(workspaceDir, 'package.json'));
return workspaceRequire.resolve(`${packageName}/package.json`);
}
catch {
return undefined;
}
}
let currentDir = workspaceDir;
while (true) {
const candidatePath = path.join(currentDir, 'node_modules', packageName, 'package.json');
if ((0, node_fs_1.existsSync)(candidatePath)) {
return (0, node_fs_1.realpathSync)(candidatePath);
}
const parentDir = path.dirname(currentDir);
if (parentDir === currentDir) {
break;
}
currentDir = parentDir;
}
return undefined;
}
function getInstalledPackageJson(packageName, workspaceRoot) {
try {
const manifestPath = findPackageJson(workspaceRoot, packageName);
if (manifestPath) {
const content = (0, node_fs_1.readFileSync)(manifestPath, 'utf8');
return JSON.parse(content);
}
}
catch { }
return null;
}
function getInstalledVersion(packageName, workspaceRoot) {
const pkgJson = getInstalledPackageJson(packageName, workspaceRoot);
return pkgJson?.version ?? null;
}
function _buildLocalPackageInfo(name, allDependencies, workspaceRoot) {
const packageJsonRange = allDependencies.get(name);
if (!packageJsonRange) {
throw new Error(`Package ${JSON.stringify(name)} was not found in package.json.`);
}
const localPkgJson = getInstalledPackageJson(name, workspaceRoot);
if (!localPkgJson) {
throw new Error(`Package ${name} is not installed.`);
}
const installedVersion = localPkgJson.version;
const npmPackageJson = {
name,
versions: {
[installedVersion]: localPkgJson,
},
'dist-tags': {},
};
const logger = new core_1.logging.NullLogger();
return {
name,
npmPackageJson,
installed: {
version: installedVersion,
packageJson: localPkgJson,
updateMetadata: _getUpdateMetadata(localPkgJson, logger),
},
packageJsonRange,
};
}
function _buildPackageInfo(packages, allDependencies, npmPackageJson, workspaceRoot, logger) {
const name = npmPackageJson.name;
const packageJsonRange = allDependencies.get(name);
if (!packageJsonRange) {
throw new Error(`Package ${JSON.stringify(name)} was not found in package.json.`);
}
const localPkgJson = getInstalledPackageJson(name, workspaceRoot);
let installedVersion = localPkgJson?.version;
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
for (const [version, { deprecated }] of Object.entries(npmPackageJson.versions ?? {})) {
if (deprecated) {
packageVersionsDeprecated.push(version);
}
else {
packageVersionsNonDeprecated.push(version);
}
}
const findSatisfyingVersion = (targetVersion) => (semver.maxSatisfying(packageVersionsNonDeprecated, targetVersion) ??
semver.maxSatisfying(packageVersionsDeprecated, targetVersion)) ??
undefined;
if (!installedVersion) {
installedVersion = findSatisfyingVersion(packageJsonRange);
}
if (!installedVersion) {
throw new Error(`An unexpected error happened; could not determine version for package ${name}.`);
}
const versions = npmPackageJson.versions ?? {};
const installedPackageJson = versions[installedVersion] || localPkgJson;
if (!installedPackageJson) {
throw new Error(`An unexpected error happened; package ${name} has no version ${installedVersion}.`);
}
let targetVersion = packages.get(name);
if (targetVersion) {
const distTags = npmPackageJson['dist-tags'] ?? {};
if (distTags[targetVersion]) {
targetVersion = distTags[targetVersion];
}
else if (targetVersion == 'next') {
targetVersion = distTags['latest'];
}
else {
targetVersion = findSatisfyingVersion(targetVersion);
}
}
if (targetVersion && semver.lte(targetVersion, installedVersion)) {
logger.debug(`Package ${name} already satisfied by package.json (${packageJsonRange}).`);
targetVersion = undefined;
}
const target = targetVersion
? {
version: targetVersion,
packageJson: versions[targetVersion],
updateMetadata: _getUpdateMetadata(versions[targetVersion], logger),
}
: undefined;
return {
name,
npmPackageJson,
installed: {
version: installedVersion,
packageJson: installedPackageJson,
updateMetadata: _getUpdateMetadata(installedPackageJson, logger),
},
target,
packageJsonRange,
};
}
function _buildPackageList(options, allDependencies, logger) {
const packages = new Map();
const inputPackages = options.packages ?? [];
if (inputPackages.length === 0) {
return packages;
}
for (const pkg of inputPackages) {
let pkgName = pkg;
let pkgVersion;
if (pkg.startsWith('@')) {
const parts = pkg.split('@');
pkgName = '@' + parts[1];
pkgVersion = parts[2];
}
else if (pkg.includes('@')) {
const parts = pkg.split('@');
pkgName = parts[0];
pkgVersion = parts[1];
}
if (!allDependencies.has(pkgName)) {
throw new Error(`Package ${JSON.stringify(pkgName)} is not in package.json.`);
}
if (options.migrateOnly && !pkgVersion && options.from) {
pkgVersion = options.from;
}
packages.set(pkgName, (pkgVersion || (options.next ? 'next' : 'latest')));
}
return packages;
}
function resolvePackageVersion(metadata, range, next = false) {
const distTags = metadata['dist-tags'] ?? {};
if (distTags[range]) {
return distTags[range];
}
if (range === 'next') {
return distTags['latest'] ?? null;
}
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
for (const [v, { deprecated }] of Object.entries(metadata.versions ?? {})) {
if (deprecated) {
packageVersionsDeprecated.push(v);
}
else {
packageVersionsNonDeprecated.push(v);
}
}
return (semver.maxSatisfying(packageVersionsNonDeprecated, range, {
includePrerelease: next || undefined,
}) ??
semver.maxSatisfying(packageVersionsDeprecated, range, {
includePrerelease: next || undefined,
}));
}
function _addPackageGroup(packages, allDependencies, metadata, logger) {
const maybePackage = packages.get(metadata.name);
if (!maybePackage) {
return;
}
const distTags = metadata['dist-tags'] ?? {};
let version = maybePackage;
if (distTags[version]) {
version = distTags[version];
}
else if (version === 'next') {
version = distTags['latest'];
}
else {
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
const versions = metadata.versions ?? {};
for (const [v, { deprecated }] of Object.entries(versions)) {
if (deprecated) {
packageVersionsDeprecated.push(v);
}
else {
packageVersionsNonDeprecated.push(v);
}
}
version =
(semver.maxSatisfying(packageVersionsNonDeprecated, version) ??
semver.maxSatisfying(packageVersionsDeprecated, version)) ??
version;
}
const versions = metadata.versions ?? {};
if (!versions[version]) {
return;
}
const ngUpdateMetadata = versions[version]['ng-update'];
if (!ngUpdateMetadata) {
return;
}
const packageGroup = ngUpdateMetadata['packageGroup'];
if (!packageGroup) {
return;
}
let packageGroupNormalized;
if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) {
packageGroupNormalized = packageGroup.reduce((acc, curr) => {
acc[curr] = version;
return acc;
}, {});
}
else if (typeof packageGroup === 'object' && packageGroup !== null) {
packageGroupNormalized = Object.entries(packageGroup).reduce((acc, [name, v]) => {
if (typeof v === 'string') {
acc[name] = v;
}
return acc;
}, {});
}
else {
logger.warn(`PackageGroup metadata for ${metadata.name} is malformed. Ignoring.`);
return;
}
for (const [member, memberVersion] of Object.entries(packageGroupNormalized)) {
if (packages.has(member)) {
continue;
}
if (allDependencies.has(member)) {
packages.set(member, memberVersion);
}
}
}
async function _addPeerDependencies(packages, allDependencies, npmPackageJson, workspaceRoot, fetchMetadata, logger) {
const maybePackage = packages.get(npmPackageJson.name);
if (!maybePackage) {
return;
}
const distTags = npmPackageJson['dist-tags'] ?? {};
const version = distTags[maybePackage] || maybePackage;
const versions = npmPackageJson.versions ?? {};
const packageJson = versions[version];
if (!packageJson) {
return;
}
for (const [peer, range] of Object.entries(packageJson.peerDependencies || {})) {
if (packages.has(peer)) {
continue;
}
const installedVersion = getInstalledVersion(peer, workspaceRoot);
if (installedVersion) {
if (semver.satisfies(installedVersion, range)) {
continue;
}
}
else {
const packageJsonRange = allDependencies.get(peer);
if (packageJsonRange) {
const peerMetadata = await fetchMetadata(peer);
if (peerMetadata) {
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
for (const [v, { deprecated }] of Object.entries(peerMetadata.versions ?? {})) {
if (deprecated) {
packageVersionsDeprecated.push(v);
}
else {
packageVersionsNonDeprecated.push(v);
}
}
const resolvedInstalledVersion = semver.maxSatisfying(packageVersionsNonDeprecated, packageJsonRange) ??
semver.maxSatisfying(packageVersionsDeprecated, packageJsonRange);
if (resolvedInstalledVersion && semver.satisfies(resolvedInstalledVersion, range)) {
continue;
}
}
}
}
packages.set(peer, range);
}
}
function _formatVersion(v) {
if (v === undefined) {
return v;
}
if (semver.valid(v)) {
return v;
}
const coerced = semver.coerce(v);
return coerced ? coerced.toString() : undefined;
}
function isPkgFromRegistry(name, specifier) {
const result = npm_package_arg_1.default.resolve(name, specifier);
return !!result.registry;
}
async function resolveUserUpdatePlan(options, logger) {
const workspaceRoot = options.workspaceRoot ?? process.cwd();
const packageJsonPath = path.join(workspaceRoot, 'package.json');
if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
throw new Error('Could not find a package.json. Are you in a Node project?');
}
const rawJson = (0, node_fs_1.readFileSync)(packageJsonPath, 'utf8');
const packageJsonContent = JSON.parse(rawJson);
const getDependencies = (deps) => Object.entries(deps ?? {}).map(([name, range]) => [name, range]);
const allRawDeps = [
...getDependencies(packageJsonContent.dependencies),
...getDependencies(packageJsonContent.devDependencies),
...getDependencies(packageJsonContent.peerDependencies),
];
const npmDeps = new Map(allRawDeps.filter(([name, specifier]) => {
try {
return isPkgFromRegistry(name, specifier);
}
catch {
logger.warn(`Package ${name} was not found on the registry. Skipping.`);
return false;
}
}));
const packagesOption = options.packages ?? [];
const normalizedPackages = packagesOption.reduce((acc, curr) => {
return acc.concat(curr.split(','));
}, []);
options.packages = normalizedPackages;
if (options.migrateOnly && options.from) {
if (options.packages.length !== 1) {
throw new Error('--from requires that only a single package be passed.');
}
}
options.from = _formatVersion(options.from);
options.to = _formatVersion(options.to);
const usingYarn = options.packageManager === 'yarn';
const packages = _buildPackageList(options, npmDeps, logger);
const npmPackageJsonMap = new Map();
const getOrFetchPackageMetadata = async (packageName) => {
let metadata = npmPackageJsonMap.get(packageName);
if (!metadata) {
const raw = await (0, package_metadata_1.getNpmPackageJson)(packageName, logger, {
registry: options.registry,
usingYarn,
verbose: options.verbose,
});
if (raw.name) {
metadata = raw;
npmPackageJsonMap.set(packageName, metadata);
}
}
return metadata ?? null;
};
if (packages.size === 0) {
await Promise.all(Array.from(npmDeps.keys()).map(async (depName) => {
await getOrFetchPackageMetadata(depName);
}));
}
else {
let lastPackagesSize;
do {
lastPackagesSize = packages.size;
let lastGroupSize;
do {
lastGroupSize = packages.size;
for (const name of Array.from(packages.keys())) {
const metadata = await getOrFetchPackageMetadata(name);
const spec = packages.get(name);
if (metadata && spec) {
const resolvedVersion = resolvePackageVersion(metadata, spec, !!options.next);
if (resolvedVersion) {
packages.set(name, resolvedVersion);
}
_addPackageGroup(packages, npmDeps, metadata, logger);
}
}
} while (packages.size > lastGroupSize);
for (const name of Array.from(packages.keys())) {
const metadata = await getOrFetchPackageMetadata(name);
const spec = packages.get(name);
if (metadata && spec) {
const resolvedVersion = resolvePackageVersion(metadata, spec, !!options.next);
if (resolvedVersion) {
packages.set(name, resolvedVersion);
}
await _addPeerDependencies(packages, npmDeps, metadata, workspaceRoot, getOrFetchPackageMetadata, logger);
}
}
} while (packages.size > lastPackagesSize);
}
const packageInfoMap = new Map();
for (const depName of npmDeps.keys()) {
const isUpdating = packages.has(depName);
const localPkgJson = getInstalledPackageJson(depName, workspaceRoot);
if (isUpdating || !localPkgJson) {
const metadata = await getOrFetchPackageMetadata(depName);
if (metadata) {
packageInfoMap.set(depName, _buildPackageInfo(packages, npmDeps, metadata, workspaceRoot, logger));
}
else {
packageInfoMap.set(depName, _buildLocalPackageInfo(depName, npmDeps, workspaceRoot));
}
}
else {
packageInfoMap.set(depName, _buildLocalPackageInfo(depName, npmDeps, workspaceRoot));
}
}
const packagesToUpdate = new Map();
const migrationsToRun = [];
if (packages.size > 0) {
if (!(options.migrateOnly && options.from && options.packages)) {
const sublog = new core_1.logging.LevelCapLogger('validation', logger.createChild(''), 'warn');
_validateUpdatePackages(packageInfoMap, !!options.force, !!options.next, sublog);
for (const [name, info] of packageInfoMap.entries()) {
if (!info.target || !info.installed) {
continue;
}
packagesToUpdate.set(name, info.target.version);
if (info.target.updateMetadata.migrations) {
migrationsToRun.push({
package: name,
collection: info.target.updateMetadata.migrations,
from: info.installed.version,
to: info.target.version,
});
}
}
}
}
return {
packagesToUpdate,
migrationsToRun,
packageInfoMap,
};
}
function printUpdateUsageMessage(infoMap, logger, next = false) {
const packageGroups = new Map();
const packagesToUpdate = [...infoMap.entries()]
.map(([name, info]) => {
const distTags = info.npmPackageJson['dist-tags'] ?? {};
let tag = next ? (distTags['next'] ? 'next' : 'latest') : 'latest';
let version = distTags[tag] ?? info.installed.version;
const versions = info.npmPackageJson.versions ?? {};
let target = versions[version];
const versionDiff = semver.diff(info.installed.version, version);
if (versionDiff !== 'patch' &&
versionDiff !== 'minor' &&
/^@(?:angular|nguniversal)\//.test(name)) {
const installedMajorVersion = semver.parse(info.installed.version)?.major;
const toInstallMajorVersion = semver.parse(version)?.major;
if (installedMajorVersion !== undefined &&
toInstallMajorVersion !== undefined &&
installedMajorVersion < toInstallMajorVersion - 1) {
const nextMajorVersion = `${installedMajorVersion + 1}.`;
const nextMajorVersions = Object.keys(versions)
.filter((v) => v.startsWith(nextMajorVersion))
.sort((a, b) => (a > b ? -1 : 1));
if (nextMajorVersions.length) {
version = nextMajorVersions[0];
target = versions[version];
tag = '';
}
}
}
return {
name,
info,
version,
tag,
target,
};
})
.filter(({ info, version, target }) => target?.['ng-update'] && semver.compare(info.installed.version, version) < 0)
.map(({ name, info, version, tag, target }) => {
// Look for packageGroup.
const ngUpdate = target['ng-update'];
const packageGroup = ngUpdate?.['packageGroup'];
if (packageGroup) {
const packageGroupNames = Array.isArray(packageGroup)
? packageGroup
: Object.keys(packageGroup);
const packageGroupName = ngUpdate?.['packageGroupName'] || packageGroupNames.find((n) => infoMap.has(n));
if (packageGroupName) {
if (packageGroups.has(name)) {
return null;
}
for (const groupName of packageGroupNames) {
packageGroups.set(groupName, packageGroupName);
}
packageGroups.set(packageGroupName, packageGroupName);
name = packageGroupName;
}
}
let command = `ng update ${name}`;
if (!tag) {
command += `@${semver.parse(version)?.major || version}`;
}
else if (tag == 'next') {
command += ' --next';
}
return [name, `${info.installed.version} -> ${version} `, command];
})
.filter((x) => x !== null)
.sort((a, b) => a[0].localeCompare(b[0]));
if (packagesToUpdate.length == 0) {
logger.info('We analyzed your package.json and everything seems to be in order. Good work!');
return;
}
logger.info('We analyzed your package.json, there are some packages to update:\n');
// Find the largest name to know the padding needed.
let namePad = Math.max(...[...infoMap.keys()].map((x) => x.length)) + 2;
if (!Number.isFinite(namePad)) {
namePad = 30;
}
const pads = [namePad, 25, 0];
logger.info(' ' + ['Name', 'Version', 'Command to update'].map((x, i) => x.padEnd(pads[i])).join(''));
const totalWidth = pads.reduce((sum, width) => sum + width, 20);
logger.info(` ${'-'.repeat(totalWidth)}`);
packagesToUpdate.forEach((fields) => {
if (!fields) {
return;
}
logger.info(' ' + fields.map((x, i) => x.padEnd(pads[i])).join(''));
});
logger.info(`\nThere might be additional packages which don't provide 'ng update' capabilities that are outdated.\n` +
`You can update the additional packages by running the update command of your package manager.`);
}
async function applyUpdatePlan(workspaceRoot, plan, logger) {
const packageJsonPath = path.join(workspaceRoot, 'package.json');
const packageJsonContent = await node_fs_1.promises.readFile(packageJsonPath, 'utf8');
const packageJson = JSON.parse(packageJsonContent);
const updateDependency = (deps, name, newVersion) => {
const oldVersion = deps[name];
const execResult = /^[\^~]/.exec(oldVersion);
deps[name] = `${execResult ? execResult[0] : ''}${newVersion}`;
};
for (const [name, targetVersion] of plan.packagesToUpdate.entries()) {
logger.info(`Updating package.json with dependency ${name} to version ${targetVersion}...`);
if (packageJson.dependencies && packageJson.dependencies[name]) {
updateDependency(packageJson.dependencies, name, targetVersion);
if (packageJson.devDependencies) {
delete packageJson.devDependencies[name];
}
if (packageJson.peerDependencies) {
delete packageJson.peerDependencies[name];
}
}
else if (packageJson.devDependencies && packageJson.devDependencies[name]) {
updateDependency(packageJson.devDependencies, name, targetVersion);
if (packageJson.peerDependencies) {
delete packageJson.peerDependencies[name];
}
}
else if (packageJson.peerDependencies && packageJson.peerDependencies[name]) {
updateDependency(packageJson.peerDependencies, name, targetVersion);
}
else {
if (!packageJson.dependencies) {
packageJson.dependencies = {};
}
packageJson.dependencies[name] = `^${targetVersion}`;
}
}
const eofMatches = packageJsonContent.match(/\r?\n$/);
const eof = eofMatches?.[0] ?? '';
const newContent = JSON.stringify(packageJson, null, 2) + eof;
await node_fs_1.promises.writeFile(packageJsonPath, newContent, 'utf8');
}
//# sourceMappingURL=update-resolver.js.map
{"version":3,"file":"update-resolver.js","sourceRoot":"","sources":["update-resolver.ts"],"names":[],"mappings":"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"}
+4
-6

@@ -838,10 +838,8 @@ export type Schema = {

export declare enum AiConfig {
Agents = "agents",
Claude = "claude",
Copilot = "copilot",
ClaudeCode = "claude-code",
Cursor = "cursor",
Gemini = "gemini",
Jetbrains = "jetbrains",
GeminiCli = "gemini-cli",
None = "none",
Windsurf = "windsurf"
OpenAiCodex = "open-ai-codex",
Vscode = "vscode"
}

@@ -848,0 +846,0 @@ /**

@@ -124,11 +124,9 @@ "use strict";

(function (AiConfig) {
AiConfig["Agents"] = "agents";
AiConfig["Claude"] = "claude";
AiConfig["Copilot"] = "copilot";
AiConfig["ClaudeCode"] = "claude-code";
AiConfig["Cursor"] = "cursor";
AiConfig["Gemini"] = "gemini";
AiConfig["Jetbrains"] = "jetbrains";
AiConfig["GeminiCli"] = "gemini-cli";
AiConfig["None"] = "none";
AiConfig["Windsurf"] = "windsurf";
AiConfig["OpenAiCodex"] = "open-ai-codex";
AiConfig["Vscode"] = "vscode";
})(AiConfig || (exports.AiConfig = AiConfig = {}));
//# sourceMappingURL=workspace-schema.js.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"workspace-schema.js","sourceRoot":"","sources":["workspace-schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AA4DpF;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;GAIG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAqID;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,IAAY,iCAMX;AAND,WAAY,iCAAiC;IACzC,gDAAW,CAAA;IACX,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,0DAAqB,CAAA;AACzB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;;;;;;;;;GAWG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAsJD;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;;GAGG;AACH,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,8CAAW,CAAA;IACX,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;AACjB,CAAC,EANW,+BAA+B,+CAA/B,+BAA+B,QAM1C;AAwJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED;;;;;;;;;;;;GAYG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAuQD,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACzB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB"}
{"version":3,"file":"workspace-schema.js","sourceRoot":"","sources":["workspace-schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AA4DpF;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;GAIG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAqID;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,IAAY,iCAMX;AAND,WAAY,iCAAiC;IACzC,gDAAW,CAAA;IACX,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,0DAAqB,CAAA;AACzB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;;;;;;;;;GAWG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAsJD;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;;GAGG;AACH,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,8CAAW,CAAA;IACX,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;AACjB,CAAC,EANW,+BAA+B,+CAA/B,+BAA+B,QAM1C;AAwJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED;;;;;;;;;;;;GAYG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAuQD,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,sCAA0B,CAAA;IAC1B,6BAAiB,CAAA;IACjB,oCAAwB,CAAA;IACxB,yBAAa,CAAA;IACb,yCAA6B,CAAA;IAC7B,6BAAiB,CAAA;AACrB,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB"}
{
"name": "@angular/cli",
"version": "22.0.1",
"version": "22.1.0-next.0",
"description": "CLI tool for Angular",

@@ -18,20 +18,20 @@ "main": "lib/cli/index.js",

"dependencies": {
"@angular-devkit/architect": "0.2200.1",
"@angular-devkit/core": "22.0.1",
"@angular-devkit/schematics": "22.0.1",
"@inquirer/prompts": "8.4.2",
"@listr2/prompt-adapter-inquirer": "4.2.3",
"@angular-devkit/architect": "0.2201.0-next.0",
"@angular-devkit/core": "22.1.0-next.0",
"@angular-devkit/schematics": "22.1.0-next.0",
"@inquirer/prompts": "8.5.2",
"@listr2/prompt-adapter-inquirer": "4.2.4",
"@modelcontextprotocol/sdk": "1.29.0",
"@schematics/angular": "22.0.1",
"@schematics/angular": "22.1.0-next.0",
"@yarnpkg/lockfile": "1.1.0",
"algoliasearch": "5.52.0",
"ini": "6.0.0",
"algoliasearch": "5.53.0",
"ini": "7.0.0",
"jsonc-parser": "3.3.1",
"listr2": "10.2.1",
"npm-package-arg": "13.0.2",
"npm-package-arg": "14.0.0",
"pacote": "21.5.0",
"parse5-html-rewriting-stream": "8.0.1",
"semver": "7.7.4",
"semver": "7.8.1",
"yargs": "18.0.0",
"zod": "4.4.2"
"zod": "4.4.3"
},

@@ -41,10 +41,10 @@ "ng-update": {

"packageGroup": {
"@angular/cli": "22.0.1",
"@angular/build": "22.0.1",
"@angular/ssr": "22.0.1",
"@angular-devkit/architect": "0.2200.1",
"@angular-devkit/build-angular": "22.0.1",
"@angular-devkit/build-webpack": "0.2200.1",
"@angular-devkit/core": "22.0.1",
"@angular-devkit/schematics": "22.0.1"
"@angular/cli": "22.1.0-next.0",
"@angular/build": "22.1.0-next.0",
"@angular/ssr": "22.1.0-next.0",
"@angular-devkit/architect": "0.2201.0-next.0",
"@angular-devkit/build-angular": "22.1.0-next.0",
"@angular-devkit/build-webpack": "0.2201.0-next.0",
"@angular-devkit/core": "22.1.0-next.0",
"@angular-devkit/schematics": "22.1.0-next.0"
}

@@ -51,0 +51,0 @@ },

@@ -13,2 +13,3 @@ You are an expert in TypeScript, Angular, and scalable web application development. You write functional, maintainable, performant, and accessible code following Angular and TypeScript best practices.

- Must NOT set `standalone: true` inside Angular decorators. It's the default in Angular v20+.
- Do NOT set `changeDetection: ChangeDetectionStrategy.OnPush` explicitly. `OnPush` is the default in Angular v22+.
- Use signals for state management

@@ -29,5 +30,8 @@ - Implement lazy loading for feature routes

- Use `input()` and `output()` functions instead of decorators
- Use `model()` for two-way bound properties with `[(prop)]` syntax instead of pairing `input()` with `output()`
- Use `computed()` for derived state
- Use `linkedSignal()` for state derived from multiple reactive sources that must stay synchronized
- Prefer inline templates for small components
- Prefer Reactive forms instead of Template-driven ones
- Prefer Signal Forms (`@angular/forms/signals`) for new forms. They are stable in Angular v22+ and provide signal-based state, type-safe field access, and schema-based validation
- When not using Signal Forms, prefer Reactive forms instead of Template-driven ones
- Do NOT use `ngClass`, use `class` bindings instead

@@ -55,2 +59,3 @@ - Do NOT use `ngStyle`, use `style` bindings instead

- Use the `providedIn: 'root'` option for singleton services
- Prefer the `@Service` decorator over `@Injectable({providedIn: 'root'})` for new singleton services (Angular v22+)
- Use the `inject()` function instead of constructor injection

@@ -57,2 +57,3 @@ "use strict";

const error_1 = require("../../utilities/error");
const update_resolver_1 = require("./update-resolver");
const cli_version_1 = require("./utilities/cli-version");

@@ -64,3 +65,2 @@ const constants_1 = require("./utilities/constants");

}
const UPDATE_SCHEMATIC_COLLECTION = path.join(__dirname, 'schematic/collection.json');
class UpdateCommandModule extends command_module_1.CommandModule {

@@ -212,12 +212,19 @@ scope = command_module_1.CommandScope.In;

if (packages.length === 0) {
// Show status
const { success } = await (0, migration_1.executeSchematic)(workflow, logger, UPDATE_SCHEMATIC_COLLECTION, 'update', {
force: options.force,
next: options.next,
verbose: options.verbose,
packageManager: packageManager.name,
packages: [],
workspaceRoot: this.context.root,
});
return success ? 0 : 1;
try {
const plan = await (0, update_resolver_1.resolveUserUpdatePlan)({
force: options.force,
next: options.next,
verbose: options.verbose,
packageManager: packageManager.name,
packages: [],
workspaceRoot: this.context.root,
}, logger);
(0, update_resolver_1.printUpdateUsageMessage)(plan.packageInfoMap, logger, options.next);
return 0;
}
catch (error) {
(0, error_1.assertIsError)(error);
logger.error(error.message);
return 1;
}
}

@@ -243,3 +250,3 @@ return options.migrateOnly

if (!packageNode) {
const jsonPath = findPackageJson(this.context.root, packageName);
const jsonPath = (0, update_resolver_1.findPackageJson)(this.context.root, packageName);
if (jsonPath) {

@@ -384,57 +391,77 @@ packageNode = await readPackageManifest(jsonPath);

}
const { success } = await (0, migration_1.executeSchematic)(workflow, logger, UPDATE_SCHEMATIC_COLLECTION, 'update', {
verbose: options.verbose,
force: options.force,
next: options.next,
packageManager: this.context.packageManager.name,
packages: packagesToUpdate,
workspaceRoot: this.context.root,
});
if (success) {
const { root: commandRoot } = this.context;
const ignorePeerDependencies = await (0, cli_version_1.shouldForcePackageManager)(packageManager, logger, options.verbose);
const tasks = new listr2_1.Listr([
{
title: 'Cleaning node modules directory',
async task(_, task) {
try {
await node_fs_1.promises.rm(path.join(commandRoot, 'node_modules'), {
force: true,
recursive: true,
maxRetries: 3,
});
let plan;
try {
plan = await (0, update_resolver_1.resolveUserUpdatePlan)({
packages: packagesToUpdate,
force: options.force,
next: options.next,
packageManager: packageManager.name,
verbose: options.verbose,
workspaceRoot: this.context.root,
}, logger);
}
catch (error) {
(0, error_1.assertIsError)(error);
logger.error(error.message);
return 1;
}
try {
await (0, update_resolver_1.applyUpdatePlan)(this.context.root, plan, logger);
}
catch (error) {
(0, error_1.assertIsError)(error);
logger.error(`Error updating package.json: ${error.message}`);
return 1;
}
const { root: commandRoot } = this.context;
const ignorePeerDependencies = await (0, cli_version_1.shouldForcePackageManager)(packageManager, logger, options.verbose);
const tasks = new listr2_1.Listr([
{
title: 'Cleaning node modules directory',
async task(_, task) {
try {
await node_fs_1.promises.rm(path.join(commandRoot, 'node_modules'), {
force: true,
recursive: true,
maxRetries: 3,
});
}
catch (e) {
(0, error_1.assertIsError)(e);
if (e.code === 'ENOENT') {
task.skip('Cleaning not required. Node modules directory not found.');
}
catch (e) {
(0, error_1.assertIsError)(e);
if (e.code === 'ENOENT') {
task.skip('Cleaning not required. Node modules directory not found.');
}
}
},
}
},
{
title: 'Installing packages',
async task() {
try {
await packageManager.install({
ignorePeerDependencies,
});
}
catch (e) {
throw new CommandError('Unable to install packages');
}
},
},
{
title: 'Installing packages',
async task() {
try {
await packageManager.install({
ignorePeerDependencies,
});
}
catch (e) {
throw new CommandError('Unable to install packages');
}
},
]);
try {
await tasks.run();
},
]);
try {
await tasks.run();
// Clear Node's module resolution path cache to prevent stale lookups
// when resolving migration package paths.
const Module = require('node:module');
if (Module && Module._pathCache) {
Module._pathCache = Object.create(null);
}
catch (e) {
if (e instanceof CommandError) {
return 1;
}
throw e;
}
catch (e) {
if (e instanceof CommandError) {
return 1;
}
throw e;
}
if (success && options.createCommits) {
if (options.createCommits) {
if (!(0, migration_1.commitChanges)(logger, `Angular CLI update for packages - ${packagesToUpdate.join(', ')}`)) {

@@ -444,41 +471,14 @@ return 1;

}
// This is a temporary workaround to allow data to be passed back from the update schematic
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const migrations = global.externalMigrations;
if (success && migrations) {
const rootRequire = (0, node_module_1.createRequire)(this.context.root + '/');
const migrations = plan.migrationsToRun;
if (migrations) {
for (const migration of migrations) {
// Resolve the package from the workspace root, as otherwise it will be resolved from the temp
// installed CLI version.
let packagePath;
logVerbose(`Resolving migration package '${migration.package}' from '${this.context.root}'...`);
try {
try {
packagePath = path.dirname(
// This may fail if the `package.json` is not exported as an entry point
rootRequire.resolve(path.join(migration.package, 'package.json')));
}
catch (e) {
(0, error_1.assertIsError)(e);
if (e.code === 'MODULE_NOT_FOUND') {
// Fallback to trying to resolve the package's main entry point
packagePath = rootRequire.resolve(migration.package);
}
else {
throw e;
}
}
}
catch (e) {
(0, error_1.assertIsError)(e);
if (e.code === 'MODULE_NOT_FOUND') {
logVerbose(e.toString());
logger.error(`Migrations for package (${migration.package}) were not found.` +
' The package could not be found in the workspace.');
}
else {
logger.error(`Unable to resolve migrations for package (${migration.package}). [${e.message}]`);
}
const packageJsonPath = (0, update_resolver_1.findPackageJson)(this.context.root, migration.package);
if (!packageJsonPath) {
logger.error(`Migrations for package (${migration.package}) were not found.` +
' The package could not be found in the workspace.');
return 1;
}
const packagePath = path.dirname(packageJsonPath);
let migrations;

@@ -515,3 +515,3 @@ // Check if it is a package-local location

}
return success ? 0 : 1;
return 0;
}

@@ -529,12 +529,2 @@ }

}
function findPackageJson(workspaceDir, packageName) {
try {
const projectRequire = (0, node_module_1.createRequire)(path.join(workspaceDir, 'package.json'));
const packageJsonPath = projectRequire.resolve(`${packageName}/package.json`);
return packageJsonPath;
}
catch {
return undefined;
}
}
//# sourceMappingURL=cli.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}

@@ -8,7 +8,2 @@ /**

*/
/**
* @fileoverview This file contains the parser functions that are used to
* interpret the output of various package manager commands. Separating these
* into their own file improves modularity and allows for focused testing.
*/
import { ErrorInfo } from './error';

@@ -15,0 +10,0 @@ import { Logger } from './logger';

@@ -20,2 +20,8 @@ "use strict";

exports.parseYarnModernDependencies = parseYarnModernDependencies;
/**
* @fileoverview This file contains the parser functions that are used to
* interpret the output of various package manager commands. Separating these
* into their own file improves modularity and allows for focused testing.
*/
const semver_1 = require("semver");
const MAX_LOG_LENGTH = 1024;

@@ -176,2 +182,11 @@ function logStdout(stdout, logger) {

}
function isValidManifest(obj) {
if (typeof obj !== 'object' || obj === null) {
return false;
}
const record = obj;
const name = record.name;
const version = record.version;
return typeof name === 'string' && typeof version === 'string' && (0, semver_1.valid)(version) !== null;
}
/**

@@ -191,3 +206,26 @@ * Parses the output of `npm view` or a compatible command to get a package manifest.

const result = JSON.parse(stdout);
return Array.isArray(result) ? result[result.length - 1] : result;
// npm view returns an array of manifests if the query matches multiple versions
// (e.g. when using a version range). We find the highest version to ensure
// we get the latest relevant manifest, even if the output is not sorted.
if (Array.isArray(result)) {
let maxManifest = null;
for (const manifest of result) {
if (!isValidManifest(manifest)) {
logger?.debug(' Skipping invalid manifest in array (missing name, version, or invalid SemVer).');
continue;
}
if (!maxManifest || (0, semver_1.compare)(manifest.version, maxManifest.version) > 0) {
maxManifest = manifest;
}
}
if (!maxManifest) {
logger?.debug(' No valid manifests found in the array.');
}
return maxManifest;
}
if (!isValidManifest(result)) {
logger?.debug(' Parsed JSON is not a valid manifest (missing name, version, or invalid SemVer).');
return null;
}
return result;
}

@@ -253,2 +291,6 @@ /**

}
if (!isValidManifest(manifest)) {
logger?.debug(' Parsed JSON is not a valid manifest (missing name, version, or invalid SemVer).');
return null;
}
return manifest;

@@ -255,0 +297,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"parsers.js","sourceRoot":"","sources":["parsers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["parsers.ts"],"names":[],"mappings":"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"}

@@ -25,3 +25,3 @@ "use strict";

}
exports.VERSION = new Version('22.0.1');
exports.VERSION = new Version('22.1.0-next.0');
//# sourceMappingURL=version.js.map
{
"schematics": {
"update": {
"factory": "./index",
"schema": "./schema.json",
"description": "Update one or multiple packages to versions, updating peer dependencies along the way."
}
}
}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import { Rule } from '@angular-devkit/schematics';
import { Schema as UpdateSchema } from './schema';
export declare function angularMajorCompatGuarantee(range: string): string;
export default function (options: UpdateSchema): Rule;
"use strict";
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.angularMajorCompatGuarantee = angularMajorCompatGuarantee;
exports.default = default_1;
const core_1 = require("@angular-devkit/core");
const schematics_1 = require("@angular-devkit/schematics");
const node_fs_1 = require("node:fs");
const node_module_1 = require("node:module");
const path = __importStar(require("node:path"));
const npa = __importStar(require("npm-package-arg"));
const semver = __importStar(require("semver"));
const package_metadata_1 = require("../../../utilities/package-metadata");
// Angular guarantees that a major is compatible with its following major (so packages that depend
// on Angular 5 are also compatible with Angular 6). This is, in code, represented by verifying
// that all other packages that have a peer dependency of `"@angular/core": "^5.0.0"` actually
// supports 6.0, by adding that compatibility to the range, so it is `^5.0.0 || ^6.0.0`.
// We export it to allow for testing.
function angularMajorCompatGuarantee(range) {
let newRange = semver.validRange(range);
if (!newRange) {
return range;
}
let major = 1;
while (!semver.gtr(major + '.0.0', newRange)) {
major++;
if (major >= 99) {
// Use original range if it supports a major this high
// Range is most likely unbounded (e.g., >=5.0.0)
return newRange;
}
}
// Add the major version as compatible with the angular compatible, with all minors. This is
// already one major above the greatest supported, because we increment `major` before checking.
// We add minors like this because a minor beta is still compatible with a minor non-beta.
newRange = range;
for (let minor = 0; minor < 20; minor++) {
newRange += ` || ^${major}.${minor}.0-alpha.0 `;
}
return semver.validRange(newRange) || range;
}
// This is a map of packageGroupName to range extending function. If it isn't found, the range is
// kept the same.
const knownPeerCompatibleList = {
'@angular/core': angularMajorCompatGuarantee,
};
function _updatePeerVersion(infoMap, name, range) {
// Resolve packageGroupName.
const maybePackageInfo = infoMap.get(name);
if (!maybePackageInfo) {
return range;
}
if (maybePackageInfo.target) {
name = maybePackageInfo.target.updateMetadata.packageGroupName || name;
}
else {
name = maybePackageInfo.installed.updateMetadata.packageGroupName || name;
}
const maybeTransform = knownPeerCompatibleList[name];
if (maybeTransform) {
if (typeof maybeTransform == 'function') {
return maybeTransform(range);
}
else {
return maybeTransform;
}
}
return range;
}
function _validateForwardPeerDependencies(name, infoMap, peers, peersMeta, logger, next) {
let validationFailed = false;
for (const [peer, range] of Object.entries(peers)) {
logger.debug(`Checking forward peer ${peer}...`);
const maybePeerInfo = infoMap.get(peer);
const isOptional = peersMeta[peer] && !!peersMeta[peer].optional;
if (!maybePeerInfo) {
if (!isOptional) {
logger.warn([
`Package ${JSON.stringify(name)} has a missing peer dependency of`,
`${JSON.stringify(peer)} @ ${JSON.stringify(range)}.`,
].join(' '));
}
continue;
}
const peerVersion = maybePeerInfo.target && maybePeerInfo.target.packageJson.version
? maybePeerInfo.target.packageJson.version
: maybePeerInfo.installed.version;
logger.debug(` Range intersects(${range}, ${peerVersion})...`);
if (!semver.satisfies(peerVersion, range, { includePrerelease: next || undefined })) {
logger.error([
`Package ${JSON.stringify(name)} has an incompatible peer dependency to`,
`${JSON.stringify(peer)} (requires ${JSON.stringify(range)},`,
`would install ${JSON.stringify(peerVersion)})`,
].join(' '));
validationFailed = true;
continue;
}
}
return validationFailed;
}
function _validateReversePeerDependencies(name, version, infoMap, logger, next) {
for (const [installed, installedInfo] of infoMap.entries()) {
const installedLogger = logger.createChild(installed);
installedLogger.debug(`${installed}...`);
const peers = (installedInfo.target || installedInfo.installed).packageJson.peerDependencies;
for (const [peer, range] of Object.entries(peers || {})) {
if (peer != name) {
// Only check peers to the packages we're updating. We don't care about peers
// that are unmet but we have no effect on.
continue;
}
// Ignore peerDependency mismatches for these packages.
// They are deprecated and removed via a migration.
const ignoredPackages = [
'codelyzer',
'@schematics/update',
'@angular-devkit/build-ng-packagr',
'tsickle',
'@nguniversal/builders',
];
if (ignoredPackages.includes(installed)) {
continue;
}
// Override the peer version range if it's known as a compatible.
const extendedRange = _updatePeerVersion(infoMap, peer, range);
if (!semver.satisfies(version, extendedRange, { includePrerelease: next || undefined })) {
logger.error([
`Package ${JSON.stringify(installed)} has an incompatible peer dependency to`,
`${JSON.stringify(name)} (requires`,
`${JSON.stringify(range)}${extendedRange == range ? '' : ' (extended)'},`,
`would install ${JSON.stringify(version)}).`,
].join(' '));
return true;
}
}
}
return false;
}
function _validateUpdatePackages(infoMap, force, next, logger) {
logger.debug('Updating the following packages:');
infoMap.forEach((info) => {
if (info.target) {
logger.debug(` ${info.name} => ${info.target.version}`);
}
});
let peerErrors = false;
infoMap.forEach((info) => {
const { name, target } = info;
if (!target) {
return;
}
const pkgLogger = logger.createChild(name);
logger.debug(`${name}...`);
const { peerDependencies = {}, peerDependenciesMeta = {} } = target.packageJson;
peerErrors =
_validateForwardPeerDependencies(name, infoMap, peerDependencies, peerDependenciesMeta, pkgLogger, next) || peerErrors;
peerErrors =
_validateReversePeerDependencies(name, target.version, infoMap, pkgLogger, next) ||
peerErrors;
});
if (!force && peerErrors) {
throw new schematics_1.SchematicsException('Incompatible peer dependencies found.\n' +
'Peer dependency warnings when installing dependencies means that those dependencies might not work correctly together.\n' +
`You can use the '--force' option to ignore incompatible peer dependencies and instead address these warnings later.`);
}
}
function _performUpdate(tree, context, infoMap, logger, migrateOnly) {
const packageJsonContent = tree.read('/package.json')?.toString();
if (!packageJsonContent) {
throw new schematics_1.SchematicsException('Could not find a package.json. Are you in a Node project?');
}
const packageJson = tree.readJson('/package.json');
const updateDependency = (deps, name, newVersion) => {
const oldVersion = deps[name];
// We only respect caret and tilde ranges on update.
const execResult = /^[\^~]/.exec(oldVersion);
deps[name] = `${execResult ? execResult[0] : ''}${newVersion}`;
};
const toInstall = [...infoMap.values()]
.map((x) => [x.name, x.target, x.installed])
.filter(([name, target, installed]) => {
return !!name && !!target && !!installed;
});
toInstall.forEach(([name, target, installed]) => {
logger.info(`Updating package.json with dependency ${name} ` +
`@ ${JSON.stringify(target.version)} (was ${JSON.stringify(installed.version)})...`);
if (packageJson.dependencies && packageJson.dependencies[name]) {
updateDependency(packageJson.dependencies, name, target.version);
if (packageJson.devDependencies && packageJson.devDependencies[name]) {
delete packageJson.devDependencies[name];
}
if (packageJson.peerDependencies && packageJson.peerDependencies[name]) {
delete packageJson.peerDependencies[name];
}
}
else if (packageJson.devDependencies && packageJson.devDependencies[name]) {
updateDependency(packageJson.devDependencies, name, target.version);
if (packageJson.peerDependencies && packageJson.peerDependencies[name]) {
delete packageJson.peerDependencies[name];
}
}
else if (packageJson.peerDependencies && packageJson.peerDependencies[name]) {
updateDependency(packageJson.peerDependencies, name, target.version);
}
else {
logger.warn(`Package ${name} was not found in dependencies.`);
}
});
const eofMatches = packageJsonContent.match(/\r?\n$/);
const eof = eofMatches?.[0] ?? '';
const newContent = JSON.stringify(packageJson, null, 2) + eof;
if (packageJsonContent != newContent || migrateOnly) {
if (!migrateOnly) {
tree.overwrite('/package.json', newContent);
}
const externalMigrations = [];
// Run the migrate schematics with the list of packages to use. The collection contains
// version information and we need to do this post installation. Please note that the
// migration COULD fail and leave side effects on disk.
// Run the schematics task of those packages.
toInstall.forEach(([name, target, installed]) => {
if (!target.updateMetadata.migrations) {
return;
}
externalMigrations.push({
package: name,
collection: target.updateMetadata.migrations,
from: installed.version,
to: target.version,
});
return;
});
if (externalMigrations.length > 0) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
global.externalMigrations = externalMigrations;
}
}
}
function _getUpdateMetadata(packageJson, logger) {
const metadata = packageJson['ng-update'];
const result = {
packageGroup: {},
requirements: {},
};
if (!metadata || typeof metadata != 'object' || Array.isArray(metadata)) {
return result;
}
if (metadata['packageGroup']) {
const packageGroup = metadata['packageGroup'];
// Verify that packageGroup is an array of strings or an map of versions. This is not an error
// but we still warn the user and ignore the packageGroup keys.
if (Array.isArray(packageGroup) && packageGroup.every((x) => typeof x == 'string')) {
result.packageGroup = packageGroup.reduce((group, name) => {
group[name] = packageJson.version;
return group;
}, result.packageGroup);
}
else if (typeof packageGroup == 'object' &&
packageGroup &&
!Array.isArray(packageGroup) &&
Object.values(packageGroup).every((x) => typeof x == 'string')) {
result.packageGroup = packageGroup;
}
else {
logger.warn(`packageGroup metadata of package ${packageJson.name} is malformed. Ignoring.`);
}
result.packageGroupName = Object.keys(result.packageGroup)[0];
}
if (typeof metadata['packageGroupName'] == 'string') {
result.packageGroupName = metadata['packageGroupName'];
}
if (metadata['migrations']) {
const migrations = metadata['migrations'];
if (typeof migrations != 'string') {
logger.warn(`migrations metadata of package ${packageJson.name} is malformed. Ignoring.`);
}
else {
result.migrations = migrations;
}
}
return result;
}
function _usageMessage(options, infoMap, logger) {
const packageGroups = new Map();
const packagesToUpdate = [...infoMap.entries()]
.map(([name, info]) => {
const distTags = info.npmPackageJson['dist-tags'] ?? {};
let tag = options.next ? (distTags['next'] ? 'next' : 'latest') : 'latest';
let version = distTags[tag] ?? info.installed.version;
const versions = info.npmPackageJson.versions ?? {};
let target = versions[version];
const versionDiff = semver.diff(info.installed.version, version);
if (versionDiff !== 'patch' &&
versionDiff !== 'minor' &&
/^@(?:angular|nguniversal)\//.test(name)) {
const installedMajorVersion = semver.parse(info.installed.version)?.major;
const toInstallMajorVersion = semver.parse(version)?.major;
if (installedMajorVersion !== undefined &&
toInstallMajorVersion !== undefined &&
installedMajorVersion < toInstallMajorVersion - 1) {
const nextMajorVersion = `${installedMajorVersion + 1}.`;
const nextMajorVersions = Object.keys(versions)
.filter((v) => v.startsWith(nextMajorVersion))
.sort((a, b) => (a > b ? -1 : 1));
if (nextMajorVersions.length) {
version = nextMajorVersions[0];
target = versions[version];
tag = '';
}
}
}
return {
name,
info,
version,
tag,
target,
};
})
.filter(({ info, version, target }) => target?.['ng-update'] && semver.compare(info.installed.version, version) < 0)
.map(({ name, info, version, tag, target }) => {
// Look for packageGroup.
const ngUpdate = target['ng-update'];
const packageGroup = ngUpdate?.['packageGroup'];
if (packageGroup) {
const packageGroupNames = Array.isArray(packageGroup)
? packageGroup
: Object.keys(packageGroup);
const packageGroupName = ngUpdate?.['packageGroupName'] || packageGroupNames.find((n) => infoMap.has(n));
if (packageGroupName) {
if (packageGroups.has(name)) {
return null;
}
for (const groupName of packageGroupNames) {
packageGroups.set(groupName, packageGroupName);
}
packageGroups.set(packageGroupName, packageGroupName);
name = packageGroupName;
}
}
let command = `ng update ${name}`;
if (!tag) {
command += `@${semver.parse(version)?.major || version}`;
}
else if (tag == 'next') {
command += ' --next';
}
return [name, `${info.installed.version} -> ${version} `, command];
})
.filter((x) => x !== null)
.sort((a, b) => (a && b ? a[0].localeCompare(b[0]) : 0));
if (packagesToUpdate.length == 0) {
logger.info('We analyzed your package.json and everything seems to be in order. Good work!');
return;
}
logger.info('We analyzed your package.json, there are some packages to update:\n');
// Find the largest name to know the padding needed.
let namePad = Math.max(...[...infoMap.keys()].map((x) => x.length)) + 2;
if (!Number.isFinite(namePad)) {
namePad = 30;
}
const pads = [namePad, 25, 0];
logger.info(' ' + ['Name', 'Version', 'Command to update'].map((x, i) => x.padEnd(pads[i])).join(''));
const totalWidth = pads.reduce((sum, width) => sum + width, 20);
logger.info(` ${'-'.repeat(totalWidth)}`);
packagesToUpdate.forEach((fields) => {
if (!fields) {
return;
}
logger.info(' ' + fields.map((x, i) => x.padEnd(pads[i])).join(''));
});
logger.info(`\nThere might be additional packages which don't provide 'ng update' capabilities that are outdated.\n` +
`You can update the additional packages by running the update command of your package manager.`);
return;
}
/**
* Resolves a semver range or npm dist-tag to a specific version based on the package's registry metadata.
* It prioritizes non-deprecated versions and handles fallback to deprecated versions if necessary.
*
* @private
*/
function resolvePackageVersion(metadata, range, next = false) {
// Check if range matches an npm dist-tag directly (e.g. "latest", "next")
const distTags = metadata['dist-tags'] ?? {};
if (distTags[range]) {
return distTags[range];
}
// If 'next' is requested (e.g. via the --next CLI flag) but the package doesn't publish
// a 'next' pre-release tag, fallback to 'latest'.
if (range === 'next') {
return distTags['latest'] ?? null;
}
// Split deprecated and non-deprecated versions from registry metadata
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
for (const [v, { deprecated }] of Object.entries(metadata.versions ?? {})) {
if (deprecated) {
packageVersionsDeprecated.push(v);
}
else {
packageVersionsNonDeprecated.push(v);
}
}
// Find the highest satisfying version, prioritizing non-deprecated versions
return (semver.maxSatisfying(packageVersionsNonDeprecated, range, {
includePrerelease: next || undefined,
}) ??
semver.maxSatisfying(packageVersionsDeprecated, range, {
includePrerelease: next || undefined,
}));
}
/**
* Checks if Yarn Plug'n'Play is active in the current workspace.
*
* @private
*/
function isPnpActive(workspaceRoot) {
return (process.versions.pnp !== undefined ||
(0, node_fs_1.existsSync)(path.join(workspaceRoot, '.pnp.cjs')) ||
(0, node_fs_1.existsSync)(path.join(workspaceRoot, '.pnp.js')));
}
/**
* Resolves and reads the installed package.json manifest for a package.
* It checks the virtual schematic Tree first (vital for unit tests/mocks),
* and falls back to physical disk resolution using createRequire only if Yarn PnP is active.
*
* @private
*/
function getInstalledPackageJson(tree, packageName, workspaceRoot) {
// First, check the virtual tree (critical for testing mocks)
const pkgJsonPath = `/node_modules/${packageName}/package.json`;
if (tree.exists(pkgJsonPath)) {
try {
return tree.readJson(pkgJsonPath);
}
catch { }
}
// In Yarn PnP, mock package trees are not written to node_modules in the virtual tree,
// so we resolve the manifest physically from Yarn's zip cache via createRequire.
// Note: This fallback resolution is strictly gated on Yarn PnP being active. Because schematics
// operate on a virtual file system (Tree), running disk lookups in non-PnP
// environments could cause tests to resolve dependencies from this monorepo's own node_modules
// instead of the simulated virtual file system.
if (isPnpActive(workspaceRoot)) {
try {
const workspaceRequire = (0, node_module_1.createRequire)(path.join(workspaceRoot, 'package.json'));
const manifestPath = workspaceRequire.resolve(`${packageName}/package.json`);
const content = (0, node_fs_1.readFileSync)(manifestPath, 'utf8');
return JSON.parse(content);
}
catch { }
}
return null;
}
function getInstalledVersion(tree, packageName, workspaceRoot) {
const pkgJson = getInstalledPackageJson(tree, packageName, workspaceRoot);
return pkgJson?.version ?? null;
}
function _buildLocalPackageInfo(tree, name, allDependencies, workspaceRoot, logger) {
const packageJsonRange = allDependencies.get(name);
if (!packageJsonRange) {
throw new schematics_1.SchematicsException(`Package ${JSON.stringify(name)} was not found in package.json.`);
}
const localPkgJson = getInstalledPackageJson(tree, name, workspaceRoot);
if (!localPkgJson) {
throw new schematics_1.SchematicsException(`Package ${name} is not installed.`);
}
return {
name,
npmPackageJson: {},
installed: {
version: localPkgJson.version,
packageJson: localPkgJson,
updateMetadata: _getUpdateMetadata(localPkgJson, logger),
},
packageJsonRange,
};
}
function _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, workspaceRoot, logger) {
const name = npmPackageJson.name;
const packageJsonRange = allDependencies.get(name);
if (!packageJsonRange) {
throw new schematics_1.SchematicsException(`Package ${JSON.stringify(name)} was not found in package.json.`);
}
const localPkgJson = getInstalledPackageJson(tree, name, workspaceRoot);
let installedVersion = localPkgJson?.version;
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
for (const [version, { deprecated }] of Object.entries(npmPackageJson.versions ?? {})) {
if (deprecated) {
packageVersionsDeprecated.push(version);
}
else {
packageVersionsNonDeprecated.push(version);
}
}
const findSatisfyingVersion = (targetVersion) => (semver.maxSatisfying(packageVersionsNonDeprecated, targetVersion) ??
semver.maxSatisfying(packageVersionsDeprecated, targetVersion)) ??
undefined;
if (!installedVersion) {
// Find the version from NPM that fits the range to max.
installedVersion = findSatisfyingVersion(packageJsonRange);
}
if (!installedVersion) {
throw new schematics_1.SchematicsException(`An unexpected error happened; could not determine version for package ${name}.`);
}
const versions = npmPackageJson.versions ?? {};
const installedPackageJson = versions[installedVersion] || localPkgJson;
if (!installedPackageJson) {
throw new schematics_1.SchematicsException(`An unexpected error happened; package ${name} has no version ${installedVersion}.`);
}
let targetVersion = packages.get(name);
if (targetVersion) {
const distTags = npmPackageJson['dist-tags'] ?? {};
if (distTags[targetVersion]) {
targetVersion = distTags[targetVersion];
}
else if (targetVersion == 'next') {
targetVersion = distTags['latest'];
}
else {
targetVersion = findSatisfyingVersion(targetVersion);
}
}
if (targetVersion && semver.lte(targetVersion, installedVersion)) {
logger.debug(`Package ${name} already satisfied by package.json (${packageJsonRange}).`);
targetVersion = undefined;
}
const target = targetVersion
? {
version: targetVersion,
packageJson: versions[targetVersion],
updateMetadata: _getUpdateMetadata(versions[targetVersion], logger),
}
: undefined;
return {
name,
npmPackageJson,
installed: {
version: installedVersion,
packageJson: installedPackageJson,
updateMetadata: _getUpdateMetadata(installedPackageJson, logger),
},
target,
packageJsonRange,
};
}
function _buildPackageList(options, projectDeps, logger) {
// Parse the packages options to set the targeted version.
const packages = new Map();
const commandLinePackages = options.packages && options.packages.length > 0 ? options.packages : [];
for (const pkg of commandLinePackages) {
// Split the version asked on command line.
const m = pkg.match(/^((?:@[^/]{1,100}\/)?[^@]{1,100})(?:@(.{1,100}))?$/);
if (!m) {
logger.warn(`Invalid package argument: ${JSON.stringify(pkg)}. Skipping.`);
continue;
}
const [, npmName, maybeVersion] = m;
const version = projectDeps.get(npmName);
if (!version) {
logger.warn(`Package not installed: ${JSON.stringify(npmName)}. Skipping.`);
continue;
}
packages.set(npmName, (maybeVersion || (options.next ? 'next' : 'latest')));
}
return packages;
}
function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logger) {
const maybePackage = packages.get(npmPackageJson.name);
if (!maybePackage) {
return;
}
const distTags = npmPackageJson['dist-tags'] ?? {};
let version = maybePackage;
if (distTags[version]) {
version = distTags[version];
}
else if (version === 'next') {
version = distTags['latest'];
}
else {
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
const versions = npmPackageJson.versions ?? {};
for (const [v, { deprecated }] of Object.entries(versions)) {
if (deprecated) {
packageVersionsDeprecated.push(v);
}
else {
packageVersionsNonDeprecated.push(v);
}
}
version =
(semver.maxSatisfying(packageVersionsNonDeprecated, version) ??
semver.maxSatisfying(packageVersionsDeprecated, version)) ??
version;
}
const versions = npmPackageJson.versions ?? {};
if (!versions[version]) {
return;
}
const ngUpdateMetadata = versions[version]['ng-update'];
if (!ngUpdateMetadata) {
return;
}
const packageGroup = ngUpdateMetadata['packageGroup'];
if (!packageGroup) {
return;
}
let packageGroupNormalized;
if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) {
packageGroupNormalized = packageGroup.reduce((acc, curr) => {
acc[curr] = maybePackage;
return acc;
}, {});
}
else if (typeof packageGroup == 'object' &&
packageGroup &&
!Array.isArray(packageGroup) &&
Object.values(packageGroup).every((x) => typeof x == 'string')) {
packageGroupNormalized = packageGroup;
}
else {
logger.warn(`packageGroup metadata of package ${npmPackageJson.name} is malformed. Ignoring.`);
return;
}
for (const [name, value] of Object.entries(packageGroupNormalized)) {
// Don't override names from the command line.
// Remove packages that aren't installed.
if (!packages.has(name) && allDependencies.has(name)) {
packages.set(name, value);
}
}
}
/**
* Add peer dependencies of packages on the command line to the list of packages to update.
* We don't do verification of the versions here as this will be done by a later step (and can
* be ignored by the --force flag).
* @private
*/
async function _addPeerDependencies(tree, packages, allDependencies, npmPackageJson, workspaceRoot, fetchMetadata, logger) {
const maybePackage = packages.get(npmPackageJson.name);
if (!maybePackage) {
return;
}
const distTags = npmPackageJson['dist-tags'] ?? {};
const version = distTags[maybePackage] || maybePackage;
const versions = npmPackageJson.versions ?? {};
const packageJson = versions[version];
if (!packageJson) {
return;
}
for (const [peer, range] of Object.entries(packageJson.peerDependencies || {})) {
if (packages.has(peer)) {
continue;
}
const installedVersion = getInstalledVersion(tree, peer, workspaceRoot);
if (installedVersion) {
if (semver.satisfies(installedVersion, range)) {
continue;
}
}
else {
const packageJsonRange = allDependencies.get(peer);
if (packageJsonRange) {
const peerMetadata = await fetchMetadata(peer);
if (peerMetadata) {
const packageVersionsNonDeprecated = [];
const packageVersionsDeprecated = [];
for (const [v, { deprecated }] of Object.entries(peerMetadata.versions ?? {})) {
if (deprecated) {
packageVersionsDeprecated.push(v);
}
else {
packageVersionsNonDeprecated.push(v);
}
}
const resolvedInstalledVersion = semver.maxSatisfying(packageVersionsNonDeprecated, packageJsonRange) ??
semver.maxSatisfying(packageVersionsDeprecated, packageJsonRange);
if (resolvedInstalledVersion && semver.satisfies(resolvedInstalledVersion, range)) {
continue;
}
}
}
}
packages.set(peer, range);
}
}
function _getAllDependencies(tree) {
const { dependencies, devDependencies, peerDependencies } = tree.readJson('/package.json');
return [
...Object.entries(peerDependencies || {}),
...Object.entries(devDependencies || {}),
...Object.entries(dependencies || {}),
];
}
function _formatVersion(version) {
if (version === undefined) {
return undefined;
}
if (!version.match(/^\d{1,30}\.\d{1,30}\.\d{1,30}/)) {
version += '.0';
}
if (!version.match(/^\d{1,30}\.\d{1,30}\.\d{1,30}/)) {
version += '.0';
}
if (!semver.valid(version)) {
throw new schematics_1.SchematicsException(`Invalid migration version: ${JSON.stringify(version)}`);
}
return version;
}
/**
* Returns whether or not the given package specifier (the value string in a
* `package.json` dependency) is hosted in the NPM registry.
* @throws When the specifier cannot be parsed.
*/
function isPkgFromRegistry(name, specifier) {
const result = npa.resolve(name, specifier);
return !!result.registry;
}
function default_1(options) {
if (!options.packages) {
// We cannot just return this because we need to fetch the packages from NPM still for the
// help/guide to show.
options.packages = [];
}
else {
// We split every packages by commas to allow people to pass in multiple and make it an array.
options.packages = options.packages.reduce((acc, curr) => {
return acc.concat(curr.split(','));
}, []);
}
if (options.migrateOnly && options.from) {
if (options.packages.length !== 1) {
throw new schematics_1.SchematicsException('--from requires that only a single package be passed.');
}
}
options.from = _formatVersion(options.from);
options.to = _formatVersion(options.to);
const usingYarn = options.packageManager === 'yarn';
return async (tree, context) => {
const logger = context.logger;
const npmDeps = new Map(_getAllDependencies(tree).filter(([name, specifier]) => {
try {
return isPkgFromRegistry(name, specifier);
}
catch {
logger.warn(`Package ${name} was not found on the registry. Skipping.`);
return false;
}
}));
const packages = _buildPackageList(options, npmDeps, logger);
const workspaceRoot = options.workspaceRoot ?? process.cwd();
const npmPackageJsonMap = new Map();
const getOrFetchPackageMetadata = async (packageName) => {
let metadata = npmPackageJsonMap.get(packageName);
if (!metadata) {
const raw = await (0, package_metadata_1.getNpmPackageJson)(packageName, logger, {
registry: options.registry,
usingYarn,
verbose: options.verbose,
});
if (raw.name) {
metadata = raw;
npmPackageJsonMap.set(packageName, metadata);
}
}
return metadata ?? null;
};
if (packages.size === 0) {
// User ran just `ng update` to see the outdated package list.
// We must fetch metadata for all npm dependencies to generate the usage message.
await Promise.all(Array.from(npmDeps.keys()).map(async (depName) => {
await getOrFetchPackageMetadata(depName);
}));
}
else {
// User requested updates. We resolve dependencies lazily.
let lastPackagesSize;
do {
lastPackagesSize = packages.size;
let lastGroupSize;
do {
lastGroupSize = packages.size;
for (const name of Array.from(packages.keys())) {
const metadata = await getOrFetchPackageMetadata(name);
const spec = packages.get(name);
if (metadata && spec) {
const resolvedVersion = resolvePackageVersion(metadata, spec, !!options.next);
if (resolvedVersion) {
packages.set(name, resolvedVersion);
}
_addPackageGroup(tree, packages, npmDeps, metadata, logger);
}
}
} while (packages.size > lastGroupSize);
for (const name of Array.from(packages.keys())) {
const metadata = await getOrFetchPackageMetadata(name);
const spec = packages.get(name);
if (metadata && spec) {
const resolvedVersion = resolvePackageVersion(metadata, spec, !!options.next);
if (resolvedVersion) {
packages.set(name, resolvedVersion);
}
await _addPeerDependencies(tree, packages, npmDeps, metadata, workspaceRoot, getOrFetchPackageMetadata, logger);
}
}
} while (packages.size > lastPackagesSize);
}
// Build the PackageInfo for each module.
const packageInfoMap = new Map();
for (const depName of npmDeps.keys()) {
const isUpdating = packages.has(depName);
const localPkgJson = getInstalledPackageJson(tree, depName, workspaceRoot);
if (isUpdating || !localPkgJson) {
// If updating OR not installed locally, resolve via registry metadata
const metadata = await getOrFetchPackageMetadata(depName);
if (metadata) {
packageInfoMap.set(depName, _buildPackageInfo(tree, packages, npmDeps, metadata, workspaceRoot, logger));
}
else {
// Fallback if metadata could not be fetched
packageInfoMap.set(depName, _buildLocalPackageInfo(tree, depName, npmDeps, workspaceRoot, logger));
}
}
else {
// If not updating and installed locally, resolve purely locally
packageInfoMap.set(depName, _buildLocalPackageInfo(tree, depName, npmDeps, workspaceRoot, logger));
}
}
// Now that we have all the information, check the flags.
if (packages.size > 0) {
if (options.migrateOnly && options.from && options.packages) {
return;
}
const sublog = new core_1.logging.LevelCapLogger('validation', logger.createChild(''), 'warn');
_validateUpdatePackages(packageInfoMap, !!options.force, !!options.next, sublog);
_performUpdate(tree, context, packageInfoMap, logger, !!options.migrateOnly);
}
else {
_usageMessage(options, packageInfoMap, logger);
}
};
}
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
export type Schema = {
/**
* When false (the default), reports an error if installed packages are incompatible with
* the update.
*/
force?: boolean;
/**
* When using `--migrateOnly` for a single package, the version of that package from which
* to migrate.
*/
from?: string;
/**
* Perform a migration, but do not update the installed version.
*/
migrateOnly?: boolean;
/**
* Update to the latest version, including beta and RCs.
*/
next?: boolean;
/**
* The preferred package manager configuration files to use for registry settings.
*/
packageManager?: PackageManager;
/**
* The package or packages to update.
*/
packages?: string[];
/**
* The npm registry to use.
*/
registry?: string;
/**
* When using `--migrateOnly` for a single package, the version of that package to which to
* migrate.
*/
to?: string;
/**
* Display additional details during the update process.
*/
verbose?: boolean;
/**
* The path to the workspace root directory.
*/
workspaceRoot?: string;
[property: string]: any;
};
/**
* The preferred package manager configuration files to use for registry settings.
*/
export declare enum PackageManager {
Bun = "bun",
Npm = "npm",
Pnpm = "pnpm",
Yarn = "yarn"
}
"use strict";
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
Object.defineProperty(exports, "__esModule", { value: true });
exports.PackageManager = void 0;
/**
* The preferred package manager configuration files to use for registry settings.
*/
var PackageManager;
(function (PackageManager) {
PackageManager["Bun"] = "bun";
PackageManager["Npm"] = "npm";
PackageManager["Pnpm"] = "pnpm";
PackageManager["Yarn"] = "yarn";
})(PackageManager || (exports.PackageManager = PackageManager = {}));
//# sourceMappingURL=schema.js.map
{"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAiDpF;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB"}
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "SchematicsUpdateSchema",
"title": "Schematic Options Schema",
"type": "object",
"properties": {
"packages": {
"description": "The package or packages to update.",
"type": "array",
"items": {
"type": "string"
},
"$default": {
"$source": "argv"
}
},
"force": {
"description": "When false (the default), reports an error if installed packages are incompatible with the update.",
"default": false,
"type": "boolean"
},
"next": {
"description": "Update to the latest version, including beta and RCs.",
"default": false,
"type": "boolean"
},
"migrateOnly": {
"description": "Perform a migration, but do not update the installed version.",
"default": false,
"type": "boolean"
},
"from": {
"description": "When using `--migrateOnly` for a single package, the version of that package from which to migrate.",
"type": "string"
},
"to": {
"description": "When using `--migrateOnly` for a single package, the version of that package to which to migrate.",
"type": "string"
},
"registry": {
"description": "The npm registry to use.",
"type": "string",
"oneOf": [
{
"format": "uri"
},
{
"format": "hostname"
}
]
},
"verbose": {
"description": "Display additional details during the update process.",
"type": "boolean"
},
"packageManager": {
"description": "The preferred package manager configuration files to use for registry settings.",
"type": "string",
"default": "npm",
"enum": ["npm", "yarn", "pnpm", "bun"]
},
"workspaceRoot": {
"description": "The path to the workspace root directory.",
"type": "string"
}
},
"required": []
}

Sorry, the diff of this file is too big to display