Skip to content

Commit e0c097d

Browse files
clydinalan-agius4
authored andcommitted
refactor(@angular/cli): unify package manifest type usage in update schematic
Replaces the local JsonSchemaForNpmPackageJsonFiles interface in the update schematic with the shared PackageManifest from utilities/package-metadata.
1 parent 98ffb68 commit e0c097d

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

packages/angular/cli/src/commands/update/schematic/index.ts

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,14 @@
99
import { logging } from '@angular-devkit/core';
1010
import { Rule, SchematicContext, SchematicsException, Tree } from '@angular-devkit/schematics';
1111
import * as npa from 'npm-package-arg';
12-
import type { Manifest } from 'pacote';
1312
import * as semver from 'semver';
1413
import {
15-
NgPackageManifestProperties,
1614
NpmRepositoryPackageJson,
15+
PackageManifest,
1716
getNpmPackageJson,
1817
} from '../../../utilities/package-metadata';
1918
import { Schema as UpdateSchema } from './schema';
2019

21-
interface JsonSchemaForNpmPackageJsonFiles extends Manifest, NgPackageManifestProperties {
22-
peerDependenciesMeta?: Record<string, { optional?: boolean }>;
23-
}
24-
2520
type VersionRange = string & { __VERSION_RANGE: void };
2621
type PeerVersionTransform = string | ((range: string) => string);
2722

@@ -64,7 +59,7 @@ const knownPeerCompatibleList: { [name: string]: PeerVersionTransform } = {
6459

6560
interface PackageVersionInfo {
6661
version: VersionRange;
67-
packageJson: JsonSchemaForNpmPackageJsonFiles;
62+
packageJson: PackageManifest;
6863
updateMetadata: UpdateMetadata;
6964
}
7065

@@ -268,7 +263,7 @@ function _performUpdate(
268263
throw new SchematicsException('Could not find a package.json. Are you in a Node project?');
269264
}
270265

271-
const packageJson = tree.readJson('/package.json') as JsonSchemaForNpmPackageJsonFiles;
266+
const packageJson = tree.readJson('/package.json') as PackageManifest;
272267

273268
const updateDependency = (deps: Record<string, string>, name: string, newVersion: string) => {
274269
const oldVersion = deps[name];
@@ -347,7 +342,7 @@ function _performUpdate(
347342
}
348343

349344
function _getUpdateMetadata(
350-
packageJson: JsonSchemaForNpmPackageJsonFiles,
345+
packageJson: PackageManifest,
351346
logger: logging.LoggerApi,
352347
): UpdateMetadata {
353348
const metadata = packageJson['ng-update'];
@@ -548,7 +543,7 @@ function _buildPackageInfo(
548543

549544
let installedVersion: string | undefined | null;
550545
if (pkgJsonExists) {
551-
const { version } = tree.readJson(pkgJsonPath) as JsonSchemaForNpmPackageJsonFiles;
546+
const { version } = tree.readJson(pkgJsonPath) as PackageManifest;
552547
installedVersion = version;
553548
}
554549

@@ -774,7 +769,7 @@ function _addPeerDependencies(
774769
function _getAllDependencies(tree: Tree): Array<readonly [string, VersionRange]> {
775770
const { dependencies, devDependencies, peerDependencies } = tree.readJson(
776771
'/package.json',
777-
) as JsonSchemaForNpmPackageJsonFiles;
772+
) as PackageManifest;
778773

779774
return [
780775
...(Object.entries(peerDependencies || {}) as Array<[string, VersionRange]>),

packages/angular/cli/src/utilities/package-metadata.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export interface NgPackageManifestProperties {
4949

5050
export interface PackageManifest extends Manifest, NgPackageManifestProperties {
5151
deprecated?: boolean;
52+
peerDependenciesMeta?: Record<string, { optional?: boolean }>;
5253
}
5354

5455
interface PackageManagerOptions extends Record<string, unknown> {

0 commit comments

Comments
 (0)