@angular/cli 14.0.0-next.4 → 14.0.0-next.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/ng.js +3 -5
- package/lib/cli/index.d.ts +1 -2
- package/lib/cli/index.js +16 -45
- package/lib/config/schema.json +30 -15
- package/lib/config/workspace-schema.d.ts +6 -1
- package/lib/init.js +10 -9
- package/package.json +18 -20
- package/{models → src/analytics}/analytics-collector.d.ts +0 -0
- package/{models → src/analytics}/analytics-collector.js +8 -2
- package/src/analytics/analytics.d.ts +47 -0
- package/src/analytics/analytics.js +304 -0
- package/src/command-builder/architect-base-command-module.d.ts +23 -0
- package/src/command-builder/architect-base-command-module.js +103 -0
- package/src/command-builder/architect-command-module.d.ts +22 -0
- package/src/command-builder/architect-command-module.js +108 -0
- package/src/command-builder/command-module.d.ts +89 -0
- package/src/command-builder/command-module.js +191 -0
- package/{utilities/package-json.js → src/command-builder/command-runner.d.ts} +2 -2
- package/src/command-builder/command-runner.js +152 -0
- package/src/command-builder/schematics-command-module.d.ts +46 -0
- package/src/command-builder/schematics-command-module.js +335 -0
- package/src/command-builder/utilities/command.d.ts +13 -0
- package/src/command-builder/utilities/command.js +27 -0
- package/src/command-builder/utilities/json-help.d.ts +36 -0
- package/src/command-builder/utilities/json-help.js +94 -0
- package/src/command-builder/utilities/json-schema.d.ts +40 -0
- package/{utilities → src/command-builder/utilities}/json-schema.js +20 -121
- package/{models → src/command-builder/utilities}/schematic-engine-host.d.ts +0 -0
- package/{models → src/command-builder/utilities}/schematic-engine-host.js +0 -0
- package/src/command-builder/utilities/schematic-workflow.d.ts +14 -0
- package/src/command-builder/utilities/schematic-workflow.js +68 -0
- package/src/commands/add/cli.d.ts +33 -0
- package/{commands/add-impl.js → src/commands/add/cli.js} +108 -80
- package/src/commands/add/long-description.md +7 -0
- package/src/commands/analytics/cli.d.ts +16 -0
- package/src/commands/analytics/cli.js +35 -0
- package/src/commands/analytics/info/cli.d.ts +16 -0
- package/src/commands/analytics/info/cli.js +26 -0
- package/src/commands/analytics/settings/cli.d.ts +35 -0
- package/src/commands/analytics/settings/cli.js +61 -0
- package/src/commands/build/cli.d.ts +16 -0
- package/src/commands/build/cli.js +23 -0
- package/{commands/build-long.md → src/commands/build/long-description.md} +0 -0
- package/src/commands/cache/clean/cli.d.ts +17 -0
- package/src/commands/cache/clean/cli.js +32 -0
- package/src/commands/cache/cli.d.ts +17 -0
- package/src/commands/cache/cli.js +38 -0
- package/src/commands/cache/info/cli.d.ts +20 -0
- package/src/commands/cache/info/cli.js +82 -0
- package/src/commands/cache/long-description.md +53 -0
- package/src/commands/cache/settings/cli.d.ts +27 -0
- package/src/commands/cache/settings/cli.js +42 -0
- package/src/commands/cache/utilities.d.ts +11 -0
- package/src/commands/cache/utilities.js +50 -0
- package/src/commands/config/cli.d.ts +24 -0
- package/{commands/config-impl.js → src/commands/config/cli.js} +102 -89
- package/{commands/config-long.md → src/commands/config/long-description.md} +2 -2
- package/src/commands/deploy/cli.d.ts +16 -0
- package/src/commands/deploy/cli.js +35 -0
- package/{commands/deploy-long.md → src/commands/deploy/long-description.md} +0 -0
- package/src/commands/doc/cli.d.ts +23 -0
- package/{commands/doc-impl.js → src/commands/doc/cli.js} +41 -12
- package/src/commands/e2e/cli.d.ts +17 -0
- package/src/commands/e2e/cli.js +34 -0
- package/src/commands/extract-i18n/cli.d.ts +15 -0
- package/src/commands/extract-i18n/cli.js +20 -0
- package/src/commands/generate/cli.d.ts +39 -0
- package/src/commands/generate/cli.js +145 -0
- package/src/commands/lint/cli.d.ts +16 -0
- package/src/commands/lint/cli.js +31 -0
- package/{commands/lint-long.md → src/commands/lint/long-description.md} +0 -0
- package/src/commands/make-this-awesome/cli.d.ts +17 -0
- package/{commands/easter-egg-impl.js → src/commands/make-this-awesome/cli.js} +17 -10
- package/src/commands/new/cli.d.ts +27 -0
- package/src/commands/new/cli.js +77 -0
- package/src/commands/run/cli.d.ts +23 -0
- package/src/commands/run/cli.js +59 -0
- package/{commands/run-long.md → src/commands/run/long-description.md} +0 -0
- package/src/commands/serve/cli.d.ts +16 -0
- package/src/commands/serve/cli.js +21 -0
- package/src/commands/test/cli.d.ts +16 -0
- package/src/commands/test/cli.js +23 -0
- package/{commands/test-long.md → src/commands/test/long-description.md} +0 -0
- package/{commands/update-impl.d.ts → src/commands/update/cli.d.ts} +26 -9
- package/{commands/update-impl.js → src/commands/update/cli.js} +362 -316
- package/{commands/update-long.md → src/commands/update/long-description.md} +0 -0
- package/src/commands/update/schematic/index.js +33 -20
- package/src/commands/version/cli.d.ts +18 -0
- package/{commands/version-impl.js → src/commands/version/cli.js} +56 -74
- package/src/typings-bazel.d.ts +14 -0
- package/src/typings.d.ts +1 -14
- package/{utilities → src/utilities}/color.d.ts +0 -0
- package/{utilities → src/utilities}/color.js +5 -1
- package/{utilities → src/utilities}/config.d.ts +2 -2
- package/{utilities → src/utilities}/config.js +24 -16
- package/src/utilities/environment-options.d.ts +12 -0
- package/src/utilities/environment-options.js +24 -0
- package/{utilities → src/utilities}/find-up.d.ts +0 -0
- package/{utilities → src/utilities}/find-up.js +5 -1
- package/{utilities → src/utilities}/json-file.d.ts +0 -0
- package/{utilities → src/utilities}/json-file.js +0 -0
- package/{utilities → src/utilities}/log-file.d.ts +0 -0
- package/{utilities → src/utilities}/log-file.js +0 -0
- package/src/utilities/package-manager.d.ts +41 -0
- package/src/utilities/package-manager.js +276 -0
- package/{utilities → src/utilities}/package-metadata.d.ts +15 -37
- package/{utilities → src/utilities}/package-metadata.js +15 -27
- package/{utilities → src/utilities}/package-tree.d.ts +2 -2
- package/{utilities → src/utilities}/package-tree.js +5 -1
- package/{utilities → src/utilities}/project.d.ts +0 -0
- package/{utilities → src/utilities}/project.js +5 -1
- package/{utilities → src/utilities}/prompt.d.ts +0 -0
- package/{utilities → src/utilities}/prompt.js +7 -3
- package/{utilities → src/utilities}/spinner.d.ts +0 -0
- package/{utilities → src/utilities}/spinner.js +0 -0
- package/{utilities → src/utilities}/tty.d.ts +0 -0
- package/{utilities → src/utilities}/tty.js +0 -0
- package/{models → src/utilities}/version.d.ts +2 -1
- package/{models → src/utilities}/version.js +6 -6
- package/bin/postinstall/analytics-prompt.js +0 -27
- package/bin/postinstall/script.js +0 -16
- package/commands/add-impl.d.ts +0 -21
- package/commands/add.d.ts +0 -42
- package/commands/add.js +0 -10
- package/commands/add.json +0 -54
- package/commands/add.md +0 -10
- package/commands/analytics-impl.d.ts +0 -13
- package/commands/analytics-impl.js +0 -80
- package/commands/analytics-long.md +0 -8
- package/commands/analytics.d.ts +0 -46
- package/commands/analytics.js +0 -31
- package/commands/analytics.json +0 -37
- package/commands/build-impl.d.ts +0 -14
- package/commands/build-impl.js +0 -21
- package/commands/build.d.ts +0 -30
- package/commands/build.js +0 -10
- package/commands/build.json +0 -16
- package/commands/config-impl.d.ts +0 -15
- package/commands/config.d.ts +0 -34
- package/commands/config.js +0 -10
- package/commands/config.json +0 -43
- package/commands/definitions.json +0 -66
- package/commands/deploy-impl.d.ts +0 -15
- package/commands/deploy-impl.js +0 -36
- package/commands/deploy.d.ts +0 -30
- package/commands/deploy.js +0 -10
- package/commands/deploy.json +0 -34
- package/commands/doc-impl.d.ts +0 -13
- package/commands/doc.d.ts +0 -39
- package/commands/doc.js +0 -14
- package/commands/doc.json +0 -46
- package/commands/e2e-impl.d.ts +0 -16
- package/commands/e2e-impl.js +0 -36
- package/commands/e2e-long.md +0 -4
- package/commands/e2e.d.ts +0 -29
- package/commands/e2e.js +0 -10
- package/commands/e2e.json +0 -17
- package/commands/easter-egg-impl.d.ts +0 -12
- package/commands/easter-egg.d.ts +0 -14
- package/commands/easter-egg.js +0 -10
- package/commands/easter-egg.json +0 -12
- package/commands/extract-i18n-impl.d.ts +0 -14
- package/commands/extract-i18n-impl.js +0 -21
- package/commands/extract-i18n.d.ts +0 -29
- package/commands/extract-i18n.js +0 -10
- package/commands/extract-i18n.json +0 -15
- package/commands/generate-impl.d.ts +0 -18
- package/commands/generate-impl.js +0 -89
- package/commands/generate.d.ts +0 -37
- package/commands/generate.js +0 -10
- package/commands/generate.json +0 -31
- package/commands/help-impl.d.ts +0 -12
- package/commands/help-impl.js +0 -26
- package/commands/help-long.md +0 -7
- package/commands/help.d.ts +0 -17
- package/commands/help.js +0 -10
- package/commands/help.json +0 -13
- package/commands/lint-impl.d.ts +0 -16
- package/commands/lint-impl.js +0 -69
- package/commands/lint.d.ts +0 -29
- package/commands/lint.js +0 -10
- package/commands/lint.json +0 -36
- package/commands/new-impl.d.ts +0 -16
- package/commands/new-impl.js +0 -37
- package/commands/new.d.ts +0 -41
- package/commands/new.js +0 -10
- package/commands/new.json +0 -34
- package/commands/new.md +0 -16
- package/commands/run-impl.d.ts +0 -13
- package/commands/run-impl.js +0 -22
- package/commands/run.d.ts +0 -30
- package/commands/run.js +0 -10
- package/commands/run.json +0 -36
- package/commands/serve-impl.d.ts +0 -15
- package/commands/serve-impl.js +0 -24
- package/commands/serve.d.ts +0 -29
- package/commands/serve.js +0 -10
- package/commands/serve.json +0 -17
- package/commands/test-impl.d.ts +0 -15
- package/commands/test-impl.js +0 -22
- package/commands/test.d.ts +0 -29
- package/commands/test.js +0 -10
- package/commands/test.json +0 -17
- package/commands/update.d.ts +0 -61
- package/commands/update.js +0 -10
- package/commands/update.json +0 -78
- package/commands/version-impl.d.ts +0 -17
- package/commands/version.d.ts +0 -17
- package/commands/version.js +0 -10
- package/commands/version.json +0 -13
- package/commands.json +0 -20
- package/models/analytics.d.ts +0 -58
- package/models/analytics.js +0 -358
- package/models/architect-command.d.ts +0 -35
- package/models/architect-command.js +0 -364
- package/models/command-runner.d.ts +0 -24
- package/models/command-runner.js +0 -241
- package/models/command.d.ts +0 -34
- package/models/command.js +0 -143
- package/models/interface.d.ts +0 -196
- package/models/interface.js +0 -31
- package/models/parser.d.ts +0 -39
- package/models/parser.js +0 -349
- package/models/schematic-command.d.ts +0 -55
- package/models/schematic-command.js +0 -485
- package/utilities/install-package.d.ts +0 -16
- package/utilities/install-package.js +0 -193
- package/utilities/json-schema.d.ts +0 -17
- package/utilities/package-json.d.ts +0 -249
- package/utilities/package-manager.d.ts +0 -13
- package/utilities/package-manager.js +0 -106
|
File without changes
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
|
-
Object.
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
12
16
|
}) : (function(o, m, k, k2) {
|
|
13
17
|
if (k2 === undefined) k2 = k;
|
|
14
18
|
o[k2] = m[k];
|
|
@@ -31,7 +35,7 @@ const core_1 = require("@angular-devkit/core");
|
|
|
31
35
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
32
36
|
const npa = __importStar(require("npm-package-arg"));
|
|
33
37
|
const semver = __importStar(require("semver"));
|
|
34
|
-
const package_metadata_1 = require("
|
|
38
|
+
const package_metadata_1 = require("../../../utilities/package-metadata");
|
|
35
39
|
// Angular guarantees that a major is compatible with its following major (so packages that depend
|
|
36
40
|
// on Angular 5 are also compatible with Angular 6). This is, in code, represented by verifying
|
|
37
41
|
// that all other packages that have a peer dependency of `"@angular/core": "^5.0.0"` actually
|
|
@@ -282,6 +286,7 @@ function _getUpdateMetadata(packageJson, logger) {
|
|
|
282
286
|
}
|
|
283
287
|
else if (typeof packageGroup == 'object' &&
|
|
284
288
|
packageGroup &&
|
|
289
|
+
!Array.isArray(packageGroup) &&
|
|
285
290
|
Object.values(packageGroup).every((x) => typeof x == 'string')) {
|
|
286
291
|
result.packageGroup = packageGroup;
|
|
287
292
|
}
|
|
@@ -358,23 +363,26 @@ function _usageMessage(options, infoMap, logger) {
|
|
|
358
363
|
})
|
|
359
364
|
.filter(({ info, version, target }) => (target === null || target === void 0 ? void 0 : target['ng-update']) && semver.compare(info.installed.version, version) < 0)
|
|
360
365
|
.map(({ name, info, version, tag, target }) => {
|
|
361
|
-
var _a;
|
|
366
|
+
var _a, _b, _c;
|
|
362
367
|
// Look for packageGroup.
|
|
363
|
-
const packageGroup = target['ng-update']['packageGroup'];
|
|
368
|
+
const packageGroup = (_a = target['ng-update']) === null || _a === void 0 ? void 0 : _a['packageGroup'];
|
|
364
369
|
if (packageGroup) {
|
|
365
|
-
const
|
|
370
|
+
const packageGroupNames = Array.isArray(packageGroup)
|
|
371
|
+
? packageGroup
|
|
372
|
+
: Object.keys(packageGroup);
|
|
373
|
+
const packageGroupName = ((_b = target['ng-update']) === null || _b === void 0 ? void 0 : _b['packageGroupName']) || packageGroupNames[0];
|
|
366
374
|
if (packageGroupName) {
|
|
367
375
|
if (packageGroups.has(name)) {
|
|
368
376
|
return null;
|
|
369
377
|
}
|
|
370
|
-
|
|
378
|
+
packageGroupNames.forEach((x) => packageGroups.set(x, packageGroupName));
|
|
371
379
|
packageGroups.set(packageGroupName, packageGroupName);
|
|
372
380
|
name = packageGroupName;
|
|
373
381
|
}
|
|
374
382
|
}
|
|
375
383
|
let command = `ng update ${name}`;
|
|
376
384
|
if (!tag) {
|
|
377
|
-
command += `@${((
|
|
385
|
+
command += `@${((_c = semver.parse(version)) === null || _c === void 0 ? void 0 : _c.major) || version}`;
|
|
378
386
|
}
|
|
379
387
|
else if (tag == 'next') {
|
|
380
388
|
command += ' --next';
|
|
@@ -504,29 +512,34 @@ function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logge
|
|
|
504
512
|
if (!ngUpdateMetadata) {
|
|
505
513
|
return;
|
|
506
514
|
}
|
|
507
|
-
|
|
515
|
+
const packageGroup = ngUpdateMetadata['packageGroup'];
|
|
508
516
|
if (!packageGroup) {
|
|
509
517
|
return;
|
|
510
518
|
}
|
|
519
|
+
let packageGroupNormalized = {};
|
|
511
520
|
if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) {
|
|
512
|
-
|
|
521
|
+
packageGroupNormalized = packageGroup.reduce((acc, curr) => {
|
|
513
522
|
acc[curr] = maybePackage;
|
|
514
523
|
return acc;
|
|
515
524
|
}, {});
|
|
516
525
|
}
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
packageGroup
|
|
520
|
-
Object.values(packageGroup).
|
|
521
|
-
|
|
526
|
+
else if (typeof packageGroup == 'object' &&
|
|
527
|
+
packageGroup &&
|
|
528
|
+
!Array.isArray(packageGroup) &&
|
|
529
|
+
Object.values(packageGroup).every((x) => typeof x == 'string')) {
|
|
530
|
+
packageGroupNormalized = packageGroup;
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
logger.warn(`packageGroup metadata of package ${npmPackageJson.name} is malformed. Ignoring.`);
|
|
522
534
|
return;
|
|
523
535
|
}
|
|
524
|
-
Object.
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
.
|
|
528
|
-
|
|
529
|
-
|
|
536
|
+
for (const [name, value] of Object.entries(packageGroupNormalized)) {
|
|
537
|
+
// Don't override names from the command line.
|
|
538
|
+
// Remove packages that aren't installed.
|
|
539
|
+
if (!packages.has(name) && allDependencies.has(name)) {
|
|
540
|
+
packages.set(name, value);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
530
543
|
}
|
|
531
544
|
/**
|
|
532
545
|
* Add peer dependencies of packages on the command line to the list of packages to update.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { Argv } from 'yargs';
|
|
9
|
+
import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module';
|
|
10
|
+
export declare class VersionCommandModule extends CommandModule implements CommandModuleImplementation {
|
|
11
|
+
command: string;
|
|
12
|
+
aliases: string[];
|
|
13
|
+
describe: string;
|
|
14
|
+
longDescriptionPath?: string | undefined;
|
|
15
|
+
builder(localYargs: Argv): Argv;
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
private getVersion;
|
|
18
|
+
}
|
|
@@ -10,59 +10,63 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.
|
|
14
|
-
const child_process_1 = require("child_process");
|
|
13
|
+
exports.VersionCommandModule = void 0;
|
|
15
14
|
const module_1 = __importDefault(require("module"));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
15
|
+
const path_1 = require("path");
|
|
16
|
+
const command_module_1 = require("../../command-builder/command-module");
|
|
17
|
+
const color_1 = require("../../utilities/color");
|
|
19
18
|
/**
|
|
20
19
|
* Major versions of Node.js that are officially supported by Angular.
|
|
21
20
|
*/
|
|
22
|
-
const SUPPORTED_NODE_MAJORS = [
|
|
23
|
-
|
|
21
|
+
const SUPPORTED_NODE_MAJORS = [14, 16];
|
|
22
|
+
const PACKAGE_PATTERNS = [
|
|
23
|
+
/^@angular\/.*/,
|
|
24
|
+
/^@angular-devkit\/.*/,
|
|
25
|
+
/^@bazel\/.*/,
|
|
26
|
+
/^@ngtools\/.*/,
|
|
27
|
+
/^@nguniversal\/.*/,
|
|
28
|
+
/^@schematics\/.*/,
|
|
29
|
+
/^rxjs$/,
|
|
30
|
+
/^typescript$/,
|
|
31
|
+
/^ng-packagr$/,
|
|
32
|
+
/^webpack$/,
|
|
33
|
+
];
|
|
34
|
+
class VersionCommandModule extends command_module_1.CommandModule {
|
|
24
35
|
constructor() {
|
|
25
36
|
super(...arguments);
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
this.
|
|
37
|
+
this.command = 'version';
|
|
38
|
+
this.aliases = ['v'];
|
|
39
|
+
this.describe = 'Outputs Angular CLI version.';
|
|
40
|
+
}
|
|
41
|
+
builder(localYargs) {
|
|
42
|
+
return localYargs;
|
|
29
43
|
}
|
|
30
44
|
async run() {
|
|
31
|
-
|
|
45
|
+
var _a;
|
|
46
|
+
const { packageManager, logger, root } = this.context;
|
|
47
|
+
const localRequire = module_1.default.createRequire((0, path_1.resolve)(__filename, '../../../'));
|
|
48
|
+
// Trailing slash is used to allow the path to be treated as a directory
|
|
49
|
+
const workspaceRequire = module_1.default.createRequire(root + '/');
|
|
50
|
+
const cliPackage = localRequire('./package.json');
|
|
32
51
|
let workspacePackage;
|
|
33
52
|
try {
|
|
34
|
-
workspacePackage =
|
|
53
|
+
workspacePackage = workspaceRequire('./package.json');
|
|
35
54
|
}
|
|
36
55
|
catch { }
|
|
37
56
|
const [nodeMajor] = process.versions.node.split('.').map((part) => Number(part));
|
|
38
57
|
const unsupportedNodeVersion = !SUPPORTED_NODE_MAJORS.includes(nodeMajor);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/^webpack$/,
|
|
50
|
-
];
|
|
51
|
-
const packageNames = [
|
|
52
|
-
...Object.keys(cliPackage.dependencies || {}),
|
|
53
|
-
...Object.keys(cliPackage.devDependencies || {}),
|
|
54
|
-
...Object.keys((workspacePackage === null || workspacePackage === void 0 ? void 0 : workspacePackage.dependencies) || {}),
|
|
55
|
-
...Object.keys((workspacePackage === null || workspacePackage === void 0 ? void 0 : workspacePackage.devDependencies) || {}),
|
|
56
|
-
];
|
|
57
|
-
const versions = packageNames
|
|
58
|
-
.filter((x) => patterns.some((p) => p.test(x)))
|
|
59
|
-
.reduce((acc, name) => {
|
|
60
|
-
if (name in acc) {
|
|
61
|
-
return acc;
|
|
58
|
+
const packageNames = new Set(Object.keys({
|
|
59
|
+
...cliPackage.dependencies,
|
|
60
|
+
...cliPackage.devDependencies,
|
|
61
|
+
...workspacePackage === null || workspacePackage === void 0 ? void 0 : workspacePackage.dependencies,
|
|
62
|
+
...workspacePackage === null || workspacePackage === void 0 ? void 0 : workspacePackage.devDependencies,
|
|
63
|
+
}));
|
|
64
|
+
const versions = {};
|
|
65
|
+
for (const name of packageNames) {
|
|
66
|
+
if (PACKAGE_PATTERNS.some((p) => p.test(name))) {
|
|
67
|
+
versions[name] = this.getVersion(name, workspaceRequire, localRequire);
|
|
62
68
|
}
|
|
63
|
-
|
|
64
|
-
return acc;
|
|
65
|
-
}, {});
|
|
69
|
+
}
|
|
66
70
|
const ngCliVersion = cliPackage.version;
|
|
67
71
|
let angularCoreVersion = '';
|
|
68
72
|
const angularSameAsCore = [];
|
|
@@ -70,11 +74,10 @@ class VersionCommand extends command_1.Command {
|
|
|
70
74
|
// Filter all angular versions that are the same as core.
|
|
71
75
|
angularCoreVersion = versions['@angular/core'];
|
|
72
76
|
if (angularCoreVersion) {
|
|
73
|
-
for (const
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
delete versions[angularPackage];
|
|
77
|
+
for (const [name, version] of Object.entries(versions)) {
|
|
78
|
+
if (version === angularCoreVersion && name.startsWith('@angular/')) {
|
|
79
|
+
angularSameAsCore.push(name.replace(/^@angular\//, ''));
|
|
80
|
+
delete versions[name];
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
// Make sure we list them in alphabetical order.
|
|
@@ -93,11 +96,11 @@ class VersionCommand extends command_1.Command {
|
|
|
93
96
|
.split('\n')
|
|
94
97
|
.map((x) => color_1.colors.red(x))
|
|
95
98
|
.join('\n');
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
logger.info(asciiArt);
|
|
100
|
+
logger.info(`
|
|
98
101
|
Angular CLI: ${ngCliVersion}
|
|
99
102
|
Node: ${process.versions.node}${unsupportedNodeVersion ? ' (Unsupported)' : ''}
|
|
100
|
-
Package Manager: ${
|
|
103
|
+
Package Manager: ${packageManager.name} ${(_a = packageManager.version) !== null && _a !== void 0 ? _a : '<error>'}
|
|
101
104
|
OS: ${process.platform} ${process.arch}
|
|
102
105
|
|
|
103
106
|
Angular: ${angularCoreVersion}
|
|
@@ -126,54 +129,33 @@ class VersionCommand extends command_1.Command {
|
|
|
126
129
|
.join('\n')}
|
|
127
130
|
`.replace(/^ {6}/gm, ''));
|
|
128
131
|
if (unsupportedNodeVersion) {
|
|
129
|
-
|
|
132
|
+
logger.warn(`Warning: The current version of Node (${process.versions.node}) is not supported by Angular.`);
|
|
130
133
|
}
|
|
131
134
|
}
|
|
132
|
-
getVersion(moduleName) {
|
|
135
|
+
getVersion(moduleName, workspaceRequire, localRequire) {
|
|
133
136
|
let packageInfo;
|
|
134
137
|
let cliOnly = false;
|
|
135
138
|
// Try to find the package in the workspace
|
|
136
139
|
try {
|
|
137
|
-
packageInfo =
|
|
140
|
+
packageInfo = workspaceRequire(`${moduleName}/package.json`);
|
|
138
141
|
}
|
|
139
142
|
catch { }
|
|
140
143
|
// If not found, try to find within the CLI
|
|
141
144
|
if (!packageInfo) {
|
|
142
145
|
try {
|
|
143
|
-
packageInfo =
|
|
146
|
+
packageInfo = localRequire(`${moduleName}/package.json`);
|
|
144
147
|
cliOnly = true;
|
|
145
148
|
}
|
|
146
149
|
catch { }
|
|
147
150
|
}
|
|
148
|
-
let version;
|
|
149
151
|
// If found, attempt to get the version
|
|
150
152
|
if (packageInfo) {
|
|
151
153
|
try {
|
|
152
|
-
|
|
154
|
+
return packageInfo.version + (cliOnly ? ' (cli-only)' : '');
|
|
153
155
|
}
|
|
154
156
|
catch { }
|
|
155
157
|
}
|
|
156
|
-
return
|
|
157
|
-
}
|
|
158
|
-
async getPackageManager() {
|
|
159
|
-
try {
|
|
160
|
-
const manager = await (0, package_manager_1.getPackageManager)(this.context.root);
|
|
161
|
-
const version = (0, child_process_1.execSync)(`${manager} --version`, {
|
|
162
|
-
encoding: 'utf8',
|
|
163
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
164
|
-
env: {
|
|
165
|
-
...process.env,
|
|
166
|
-
// NPM updater notifier will prevents the child process from closing until it timeout after 3 minutes.
|
|
167
|
-
NO_UPDATE_NOTIFIER: '1',
|
|
168
|
-
NPM_CONFIG_UPDATE_NOTIFIER: 'false',
|
|
169
|
-
},
|
|
170
|
-
}).trim();
|
|
171
|
-
return `${manager} ${version}`;
|
|
172
|
-
}
|
|
173
|
-
catch {
|
|
174
|
-
return '<error>';
|
|
175
|
-
}
|
|
158
|
+
return '<error>';
|
|
176
159
|
}
|
|
177
160
|
}
|
|
178
|
-
exports.
|
|
179
|
-
VersionCommand.aliases = ['v'];
|
|
161
|
+
exports.VersionCommandModule = VersionCommandModule;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
10
|
+
// Workaround for https://github.com/bazelbuild/rules_nodejs/issues/1033
|
|
11
|
+
// Alternative approach instead of https://github.com/angular/angular/pull/33226
|
|
12
|
+
declare module '@yarnpkg/lockfile' {
|
|
13
|
+
export * from '@types/yarnpkg__lockfile';
|
|
14
|
+
}
|
package/src/typings.d.ts
CHANGED
|
@@ -5,20 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
declare module '@yarnpkg/lockfile' {
|
|
9
|
-
function parse(data: string): Record<string, any>;
|
|
10
|
-
}
|
|
11
|
-
declare module 'ini' {
|
|
12
|
-
function parse(data: string): Record<string, any>;
|
|
13
|
-
}
|
|
14
8
|
declare module 'npm-pick-manifest' {
|
|
15
|
-
function pickManifest(metadata: import('
|
|
9
|
+
function pickManifest(metadata: import('./utilities/package-metadata').PackageMetadata, selector: string): import('./utilities/package-metadata').PackageManifest;
|
|
16
10
|
export = pickManifest;
|
|
17
11
|
}
|
|
18
|
-
declare module 'pacote' {
|
|
19
|
-
function manifest(specifier: string, options: Record<string, unknown>): Promise<{
|
|
20
|
-
name: string;
|
|
21
|
-
version: string;
|
|
22
|
-
}>;
|
|
23
|
-
function packument(specifier: string, options: Record<string, unknown>): Promise<import('../utilities/package-metadata').NpmRepositoryPackageJson>;
|
|
24
|
-
}
|
|
File without changes
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
|
-
Object.
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
12
16
|
}) : (function(o, m, k, k2) {
|
|
13
17
|
if (k2 === undefined) k2 = k;
|
|
14
18
|
o[k2] = m[k];
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
import { json, workspaces } from '@angular-devkit/core';
|
|
9
|
-
import { PackageManager } from '
|
|
9
|
+
import { PackageManager } from '../../lib/config/workspace-schema';
|
|
10
10
|
import { JSONFile } from './json-file';
|
|
11
11
|
export declare const workspaceSchemaPath: string;
|
|
12
12
|
export declare class AngularWorkspace {
|
|
@@ -20,7 +20,7 @@ export declare class AngularWorkspace {
|
|
|
20
20
|
getProjectCli(projectName: string): Record<string, any>;
|
|
21
21
|
static load(workspaceFilePath: string): Promise<AngularWorkspace>;
|
|
22
22
|
}
|
|
23
|
-
export declare function getWorkspace(level?: 'local' | 'global'): Promise<AngularWorkspace |
|
|
23
|
+
export declare function getWorkspace(level?: 'local' | 'global'): Promise<AngularWorkspace | undefined>;
|
|
24
24
|
export declare function createGlobalSettings(): string;
|
|
25
25
|
export declare function getWorkspaceRaw(level?: 'local' | 'global'): [JSONFile | null, string | null];
|
|
26
26
|
export declare function validateWorkspace(data: json.JsonObject): Promise<void>;
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
|
-
Object.
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
12
16
|
}) : (function(o, m, k, k2) {
|
|
13
17
|
if (k2 === undefined) k2 = k;
|
|
14
18
|
o[k2] = m[k];
|
|
@@ -38,15 +42,16 @@ function isJsonObject(value) {
|
|
|
38
42
|
}
|
|
39
43
|
function createWorkspaceHost() {
|
|
40
44
|
return {
|
|
41
|
-
|
|
42
|
-
return
|
|
45
|
+
readFile(path) {
|
|
46
|
+
return fs_1.promises.readFile(path, 'utf-8');
|
|
43
47
|
},
|
|
44
48
|
async writeFile(path, data) {
|
|
45
|
-
|
|
49
|
+
await fs_1.promises.writeFile(path, data);
|
|
46
50
|
},
|
|
47
51
|
async isDirectory(path) {
|
|
48
52
|
try {
|
|
49
|
-
|
|
53
|
+
const stats = await fs_1.promises.stat(path);
|
|
54
|
+
return stats.isDirectory();
|
|
50
55
|
}
|
|
51
56
|
catch {
|
|
52
57
|
return false;
|
|
@@ -54,7 +59,8 @@ function createWorkspaceHost() {
|
|
|
54
59
|
},
|
|
55
60
|
async isFile(path) {
|
|
56
61
|
try {
|
|
57
|
-
|
|
62
|
+
const stats = await fs_1.promises.stat(path);
|
|
63
|
+
return stats.isFile();
|
|
58
64
|
}
|
|
59
65
|
catch {
|
|
60
66
|
return false;
|
|
@@ -62,10 +68,7 @@ function createWorkspaceHost() {
|
|
|
62
68
|
},
|
|
63
69
|
};
|
|
64
70
|
}
|
|
65
|
-
|
|
66
|
-
return path.join(__dirname, '../lib/config/schema.json');
|
|
67
|
-
}
|
|
68
|
-
exports.workspaceSchemaPath = getSchemaLocation();
|
|
71
|
+
exports.workspaceSchemaPath = path.join(__dirname, '../../lib/config/schema.json');
|
|
69
72
|
const configNames = ['angular.json', '.angular.json'];
|
|
70
73
|
const globalFileName = '.angular-config.json';
|
|
71
74
|
function xdgConfigHome(home, configFile) {
|
|
@@ -146,14 +149,13 @@ class AngularWorkspace {
|
|
|
146
149
|
exports.AngularWorkspace = AngularWorkspace;
|
|
147
150
|
const cachedWorkspaces = new Map();
|
|
148
151
|
async function getWorkspace(level = 'local') {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return cached;
|
|
152
|
+
if (cachedWorkspaces.has(level)) {
|
|
153
|
+
return cachedWorkspaces.get(level);
|
|
152
154
|
}
|
|
153
155
|
const configPath = level === 'local' ? projectFilePath() : globalFilePath();
|
|
154
156
|
if (!configPath) {
|
|
155
|
-
cachedWorkspaces.set(level,
|
|
156
|
-
return
|
|
157
|
+
cachedWorkspaces.set(level, undefined);
|
|
158
|
+
return undefined;
|
|
157
159
|
}
|
|
158
160
|
try {
|
|
159
161
|
const workspace = await AngularWorkspace.load(configPath);
|
|
@@ -190,7 +192,7 @@ function getWorkspaceRaw(level = 'local') {
|
|
|
190
192
|
}
|
|
191
193
|
exports.getWorkspaceRaw = getWorkspaceRaw;
|
|
192
194
|
async function validateWorkspace(data) {
|
|
193
|
-
const schema = (0, json_file_1.readAndParseJson)(
|
|
195
|
+
const schema = (0, json_file_1.readAndParseJson)(exports.workspaceSchemaPath);
|
|
194
196
|
const { formats } = await Promise.resolve().then(() => __importStar(require('@angular-devkit/schematics')));
|
|
195
197
|
const registry = new core_1.json.schema.CoreSchemaRegistry(formats.standardFormats);
|
|
196
198
|
const validator = await registry.compile(schema).toPromise();
|
|
@@ -236,6 +238,7 @@ function findProjectByPath(workspace, location) {
|
|
|
236
238
|
}
|
|
237
239
|
return projects[0][1];
|
|
238
240
|
}
|
|
241
|
+
let defaultProjectDeprecationWarningShown = false;
|
|
239
242
|
function getProjectByCwd(workspace) {
|
|
240
243
|
if (workspace.projects.size === 1) {
|
|
241
244
|
// If there is only one project, return that one.
|
|
@@ -248,6 +251,11 @@ function getProjectByCwd(workspace) {
|
|
|
248
251
|
const defaultProject = workspace.extensions['defaultProject'];
|
|
249
252
|
if (defaultProject && typeof defaultProject === 'string') {
|
|
250
253
|
// If there is a default project name, return it.
|
|
254
|
+
if (!defaultProjectDeprecationWarningShown) {
|
|
255
|
+
console.warn(`DEPRECATED: The 'defaultProject' workspace option has been deprecated. ` +
|
|
256
|
+
`The project to use will be determined from the current working directory.`);
|
|
257
|
+
defaultProjectDeprecationWarningShown = true;
|
|
258
|
+
}
|
|
251
259
|
return defaultProject;
|
|
252
260
|
}
|
|
253
261
|
return null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
export declare const analyticsDisabled: boolean;
|
|
9
|
+
export declare const analyticsShareDisabled: boolean;
|
|
10
|
+
export declare const isCI: boolean;
|
|
11
|
+
export declare const disableVersionCheck: boolean;
|
|
12
|
+
export declare const ngDebug: boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ngDebug = exports.disableVersionCheck = exports.isCI = exports.analyticsShareDisabled = exports.analyticsDisabled = void 0;
|
|
11
|
+
function isPresent(variable) {
|
|
12
|
+
return typeof variable === 'string' && variable !== '';
|
|
13
|
+
}
|
|
14
|
+
function isDisabled(variable) {
|
|
15
|
+
return isPresent(variable) && (variable === '0' || variable.toLowerCase() === 'false');
|
|
16
|
+
}
|
|
17
|
+
function isEnabled(variable) {
|
|
18
|
+
return isPresent(variable) && (variable === '1' || variable.toLowerCase() === 'true');
|
|
19
|
+
}
|
|
20
|
+
exports.analyticsDisabled = isDisabled(process.env['NG_CLI_ANALYTICS']);
|
|
21
|
+
exports.analyticsShareDisabled = isDisabled(process.env['NG_CLI_ANALYTICS_SHARE']);
|
|
22
|
+
exports.isCI = isEnabled(process.env['CI']);
|
|
23
|
+
exports.disableVersionCheck = isEnabled(process.env['NG_DISABLE_VERSION_CHECK']);
|
|
24
|
+
exports.ngDebug = isEnabled(process.env['NG_DEBUG']);
|
|
File without changes
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
|
-
Object.
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
12
16
|
}) : (function(o, m, k, k2) {
|
|
13
17
|
if (k2 === undefined) k2 = k;
|
|
14
18
|
o[k2] = m[k];
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { PackageManager } from '../../lib/config/workspace-schema';
|
|
9
|
+
import { AngularWorkspace } from './config';
|
|
10
|
+
export interface PackageManagerUtilsContext {
|
|
11
|
+
globalConfiguration?: AngularWorkspace;
|
|
12
|
+
workspace?: AngularWorkspace;
|
|
13
|
+
root: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class PackageManagerUtils {
|
|
16
|
+
private readonly context;
|
|
17
|
+
constructor(context: PackageManagerUtilsContext);
|
|
18
|
+
/** Get the package manager name. */
|
|
19
|
+
get name(): PackageManager;
|
|
20
|
+
/** Get the package manager version. */
|
|
21
|
+
get version(): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if the package manager is supported. If not, display a warning.
|
|
24
|
+
*/
|
|
25
|
+
ensureCompatibility(): void;
|
|
26
|
+
/** Install a single package. */
|
|
27
|
+
install(packageName: string, save?: 'dependencies' | 'devDependencies' | true, extraArgs?: string[], cwd?: string): Promise<boolean>;
|
|
28
|
+
/** Install all packages. */
|
|
29
|
+
installAll(extraArgs?: string[], cwd?: string): Promise<boolean>;
|
|
30
|
+
/** Install a single package temporary. */
|
|
31
|
+
installTemp(packageName: string, extraArgs?: string[]): Promise<{
|
|
32
|
+
success: boolean;
|
|
33
|
+
tempNodeModules: string;
|
|
34
|
+
}>;
|
|
35
|
+
private getArguments;
|
|
36
|
+
private run;
|
|
37
|
+
private getVersion;
|
|
38
|
+
private getName;
|
|
39
|
+
private hasLockfile;
|
|
40
|
+
private getConfiguredPackageManager;
|
|
41
|
+
}
|