@angular/cli 13.3.3 → 14.0.0-next.10
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 +136 -77
- package/lib/config/workspace-schema.d.ts +5 -0
- package/lib/init.js +5 -8
- package/package.json +21 -23
- package/{models → src/analytics}/analytics-collector.d.ts +0 -0
- package/{models → src/analytics}/analytics-collector.js +1 -1
- package/src/analytics/analytics.d.ts +47 -0
- package/src/analytics/analytics.js +306 -0
- package/src/command-builder/architect-base-command-module.d.ts +30 -0
- package/src/command-builder/architect-base-command-module.js +165 -0
- package/src/command-builder/architect-command-module.d.ts +25 -0
- package/src/command-builder/architect-command-module.js +134 -0
- package/src/command-builder/command-module.d.ts +89 -0
- package/src/command-builder/command-module.js +198 -0
- package/{utilities/package-json.js → src/command-builder/command-runner.d.ts} +2 -2
- package/src/command-builder/command-runner.js +168 -0
- package/src/command-builder/schematics-command-module.d.ts +43 -0
- package/src/command-builder/schematics-command-module.js +333 -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/src/command-builder/utilities/normalize-options-middleware.d.ts +18 -0
- package/src/command-builder/utilities/normalize-options-middleware.js +59 -0
- package/{models → src/command-builder/utilities}/schematic-engine-host.d.ts +2 -2
- package/{models → src/command-builder/utilities}/schematic-engine-host.js +30 -17
- 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 +49 -0
- package/src/commands/completion/cli.d.ts +16 -0
- package/src/commands/completion/cli.js +31 -0
- package/src/commands/completion/long-description.md +1 -0
- package/src/commands/config/cli.d.ts +24 -0
- package/src/commands/config/cli.js +168 -0
- package/{commands/config-long.md → src/commands/config/long-description.md} +2 -2
- package/src/commands/deploy/cli.d.ts +17 -0
- package/src/commands/deploy/cli.js +49 -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} +36 -11
- package/src/commands/e2e/cli.d.ts +18 -0
- package/src/commands/e2e/cli.js +35 -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 +17 -0
- package/src/commands/lint/cli.js +28 -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 +82 -0
- package/src/commands/run/cli.d.ts +25 -0
- package/src/commands/run/cli.js +83 -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} +357 -325
- package/{commands/update-long.md → src/commands/update/long-description.md} +0 -0
- package/src/commands/update/schematic/index.js +29 -22
- 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 +0 -0
- package/{utilities → src/utilities}/config.d.ts +7 -6
- package/{utilities → src/utilities}/config.js +34 -92
- 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 +0 -0
- package/{utilities → src/utilities}/json-file.d.ts +0 -0
- package/{utilities → src/utilities}/json-file.js +1 -0
- package/{utilities → src/utilities}/log-file.d.ts +0 -0
- package/{utilities → src/utilities}/log-file.js +0 -0
- package/src/utilities/memoize.d.ts +15 -0
- package/src/utilities/memoize.js +69 -0
- package/src/utilities/package-manager.d.ts +41 -0
- package/src/utilities/package-manager.js +287 -0
- package/{utilities → src/utilities}/package-metadata.d.ts +15 -37
- package/{utilities → src/utilities}/package-metadata.js +10 -26
- package/{utilities → src/utilities}/package-tree.d.ts +2 -2
- package/{utilities → src/utilities}/package-tree.js +0 -0
- package/{utilities → src/utilities}/project.d.ts +0 -0
- package/{utilities → src/utilities}/project.js +1 -6
- package/{utilities → src/utilities}/prompt.d.ts +2 -0
- package/{utilities → src/utilities}/prompt.js +20 -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 -38
- package/commands/build.js +0 -10
- package/commands/build.json +0 -16
- package/commands/config-impl.d.ts +0 -15
- package/commands/config-impl.js +0 -167
- package/commands/config.d.ts +0 -34
- package/commands/config.js +0 -10
- package/commands/config.json +0 -43
- package/commands/definitions.json +0 -71
- 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 -37
- 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 -32
- package/commands/extract-i18n.d.ts +0 -37
- package/commands/extract-i18n.js +0 -10
- package/commands/extract-i18n.json +0 -17
- 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 -74
- 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 -37
- 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 -37
- package/commands/test.js +0 -10
- package/commands/test.json +0 -17
- package/commands/update.d.ts +0 -65
- package/commands/update.js +0 -10
- package/commands/update.json +0 -84
- 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 -362
- package/models/architect-command.d.ts +0 -35
- package/models/architect-command.js +0 -392
- package/models/command-runner.d.ts +0 -24
- package/models/command-runner.js +0 -245
- 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 -489
- package/utilities/INITIAL_COMMIT_MESSAGE.txt +0 -8
- 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 -15
- package/utilities/package-manager.js +0 -83
|
File without changes
|
|
@@ -35,7 +35,7 @@ const core_1 = require("@angular-devkit/core");
|
|
|
35
35
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
36
36
|
const npa = __importStar(require("npm-package-arg"));
|
|
37
37
|
const semver = __importStar(require("semver"));
|
|
38
|
-
const package_metadata_1 = require("
|
|
38
|
+
const package_metadata_1 = require("../../../utilities/package-metadata");
|
|
39
39
|
// Angular guarantees that a major is compatible with its following major (so packages that depend
|
|
40
40
|
// on Angular 5 are also compatible with Angular 6). This is, in code, represented by verifying
|
|
41
41
|
// that all other packages that have a peer dependency of `"@angular/core": "^5.0.0"` actually
|
|
@@ -286,6 +286,7 @@ function _getUpdateMetadata(packageJson, logger) {
|
|
|
286
286
|
}
|
|
287
287
|
else if (typeof packageGroup == 'object' &&
|
|
288
288
|
packageGroup &&
|
|
289
|
+
!Array.isArray(packageGroup) &&
|
|
289
290
|
Object.values(packageGroup).every((x) => typeof x == 'string')) {
|
|
290
291
|
result.packageGroup = packageGroup;
|
|
291
292
|
}
|
|
@@ -362,23 +363,26 @@ function _usageMessage(options, infoMap, logger) {
|
|
|
362
363
|
})
|
|
363
364
|
.filter(({ info, version, target }) => (target === null || target === void 0 ? void 0 : target['ng-update']) && semver.compare(info.installed.version, version) < 0)
|
|
364
365
|
.map(({ name, info, version, tag, target }) => {
|
|
365
|
-
var _a;
|
|
366
|
+
var _a, _b, _c;
|
|
366
367
|
// Look for packageGroup.
|
|
367
|
-
const packageGroup = target['ng-update']['packageGroup'];
|
|
368
|
+
const packageGroup = (_a = target['ng-update']) === null || _a === void 0 ? void 0 : _a['packageGroup'];
|
|
368
369
|
if (packageGroup) {
|
|
369
|
-
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];
|
|
370
374
|
if (packageGroupName) {
|
|
371
375
|
if (packageGroups.has(name)) {
|
|
372
376
|
return null;
|
|
373
377
|
}
|
|
374
|
-
|
|
378
|
+
packageGroupNames.forEach((x) => packageGroups.set(x, packageGroupName));
|
|
375
379
|
packageGroups.set(packageGroupName, packageGroupName);
|
|
376
380
|
name = packageGroupName;
|
|
377
381
|
}
|
|
378
382
|
}
|
|
379
383
|
let command = `ng update ${name}`;
|
|
380
384
|
if (!tag) {
|
|
381
|
-
command += `@${((
|
|
385
|
+
command += `@${((_c = semver.parse(version)) === null || _c === void 0 ? void 0 : _c.major) || version}`;
|
|
382
386
|
}
|
|
383
387
|
else if (tag == 'next') {
|
|
384
388
|
command += ' --next';
|
|
@@ -508,29 +512,34 @@ function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logge
|
|
|
508
512
|
if (!ngUpdateMetadata) {
|
|
509
513
|
return;
|
|
510
514
|
}
|
|
511
|
-
|
|
515
|
+
const packageGroup = ngUpdateMetadata['packageGroup'];
|
|
512
516
|
if (!packageGroup) {
|
|
513
517
|
return;
|
|
514
518
|
}
|
|
519
|
+
let packageGroupNormalized = {};
|
|
515
520
|
if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) {
|
|
516
|
-
|
|
521
|
+
packageGroupNormalized = packageGroup.reduce((acc, curr) => {
|
|
517
522
|
acc[curr] = maybePackage;
|
|
518
523
|
return acc;
|
|
519
524
|
}, {});
|
|
520
525
|
}
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
packageGroup
|
|
524
|
-
Object.values(packageGroup).
|
|
525
|
-
|
|
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.`);
|
|
526
534
|
return;
|
|
527
535
|
}
|
|
528
|
-
Object.
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
.
|
|
532
|
-
|
|
533
|
-
|
|
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
|
+
}
|
|
534
543
|
}
|
|
535
544
|
/**
|
|
536
545
|
* Add peer dependencies of packages on the command line to the list of packages to update.
|
|
@@ -654,9 +663,7 @@ function default_1(options) {
|
|
|
654
663
|
const npmPackageJsonMap = allPackageMetadata.reduce((acc, npmPackageJson) => {
|
|
655
664
|
// If the package was not found on the registry. It could be private, so we will just
|
|
656
665
|
// ignore. If the package was part of the list, we will error out, but will simply ignore
|
|
657
|
-
// if it's either not requested (so just part of package.json. silently)
|
|
658
|
-
// `--all` situation. There is an edge case here where a public package peer depends on a
|
|
659
|
-
// private one, but it's rare enough.
|
|
666
|
+
// if it's either not requested (so just part of package.json. silently).
|
|
660
667
|
if (!npmPackageJson.name) {
|
|
661
668
|
if (npmPackageJson.requestedName && packages.has(npmPackageJson.requestedName)) {
|
|
662
669
|
throw new schematics_1.SchematicsException(`Package ${JSON.stringify(npmPackageJson.requestedName)} was not found on the ` +
|
|
@@ -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
|
|
File without changes
|
|
@@ -6,25 +6,26 @@
|
|
|
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 '../../lib/config/workspace-schema';
|
|
9
10
|
import { JSONFile } from './json-file';
|
|
10
11
|
export declare const workspaceSchemaPath: string;
|
|
11
12
|
export declare class AngularWorkspace {
|
|
12
|
-
private workspace;
|
|
13
|
+
private readonly workspace;
|
|
13
14
|
readonly filePath: string;
|
|
14
15
|
readonly basePath: string;
|
|
15
16
|
constructor(workspace: workspaces.WorkspaceDefinition, filePath: string);
|
|
16
17
|
get extensions(): Record<string, json.JsonValue | undefined>;
|
|
17
18
|
get projects(): workspaces.ProjectDefinitionCollection;
|
|
18
|
-
getCli(): Record<string, any
|
|
19
|
-
getProjectCli(projectName: string): Record<string, any
|
|
19
|
+
getCli(): Record<string, any> | undefined;
|
|
20
|
+
getProjectCli(projectName: string): Record<string, any> | undefined;
|
|
21
|
+
save(): Promise<void>;
|
|
20
22
|
static load(workspaceFilePath: string): Promise<AngularWorkspace>;
|
|
21
23
|
}
|
|
22
|
-
export declare function getWorkspace(level?: 'local' | 'global'): Promise<AngularWorkspace |
|
|
24
|
+
export declare function getWorkspace(level?: 'local' | 'global'): Promise<AngularWorkspace | undefined>;
|
|
23
25
|
export declare function createGlobalSettings(): string;
|
|
24
26
|
export declare function getWorkspaceRaw(level?: 'local' | 'global'): [JSONFile | null, string | null];
|
|
25
27
|
export declare function validateWorkspace(data: json.JsonObject): Promise<void>;
|
|
26
28
|
export declare function getProjectByCwd(workspace: AngularWorkspace): string | null;
|
|
27
|
-
export declare function getConfiguredPackageManager(): Promise<
|
|
28
|
-
export declare function migrateLegacyGlobalConfig(): boolean;
|
|
29
|
+
export declare function getConfiguredPackageManager(): Promise<PackageManager | null>;
|
|
29
30
|
export declare function getSchematicDefaults(collection: string, schematic: string, project?: string | null): Promise<{}>;
|
|
30
31
|
export declare function isWarningEnabled(warning: string): Promise<boolean>;
|
|
@@ -30,7 +30,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
30
30
|
return result;
|
|
31
31
|
};
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.isWarningEnabled = exports.getSchematicDefaults = exports.
|
|
33
|
+
exports.isWarningEnabled = exports.getSchematicDefaults = exports.getConfiguredPackageManager = exports.getProjectByCwd = exports.validateWorkspace = exports.getWorkspaceRaw = exports.createGlobalSettings = exports.getWorkspace = exports.AngularWorkspace = exports.workspaceSchemaPath = void 0;
|
|
34
34
|
const core_1 = require("@angular-devkit/core");
|
|
35
35
|
const fs_1 = require("fs");
|
|
36
36
|
const os = __importStar(require("os"));
|
|
@@ -42,15 +42,16 @@ function isJsonObject(value) {
|
|
|
42
42
|
}
|
|
43
43
|
function createWorkspaceHost() {
|
|
44
44
|
return {
|
|
45
|
-
|
|
46
|
-
return
|
|
45
|
+
readFile(path) {
|
|
46
|
+
return fs_1.promises.readFile(path, 'utf-8');
|
|
47
47
|
},
|
|
48
48
|
async writeFile(path, data) {
|
|
49
|
-
|
|
49
|
+
await fs_1.promises.writeFile(path, data);
|
|
50
50
|
},
|
|
51
51
|
async isDirectory(path) {
|
|
52
52
|
try {
|
|
53
|
-
|
|
53
|
+
const stats = await fs_1.promises.stat(path);
|
|
54
|
+
return stats.isDirectory();
|
|
54
55
|
}
|
|
55
56
|
catch {
|
|
56
57
|
return false;
|
|
@@ -58,7 +59,8 @@ function createWorkspaceHost() {
|
|
|
58
59
|
},
|
|
59
60
|
async isFile(path) {
|
|
60
61
|
try {
|
|
61
|
-
|
|
62
|
+
const stats = await fs_1.promises.stat(path);
|
|
63
|
+
return stats.isFile();
|
|
62
64
|
}
|
|
63
65
|
catch {
|
|
64
66
|
return false;
|
|
@@ -66,10 +68,7 @@ function createWorkspaceHost() {
|
|
|
66
68
|
},
|
|
67
69
|
};
|
|
68
70
|
}
|
|
69
|
-
|
|
70
|
-
return path.join(__dirname, '../lib/config/schema.json');
|
|
71
|
-
}
|
|
72
|
-
exports.workspaceSchemaPath = getSchemaLocation();
|
|
71
|
+
exports.workspaceSchemaPath = path.join(__dirname, '../../lib/config/schema.json');
|
|
73
72
|
const configNames = ['angular.json', '.angular.json'];
|
|
74
73
|
const globalFileName = '.angular-config.json';
|
|
75
74
|
function xdgConfigHome(home, configFile) {
|
|
@@ -135,20 +134,17 @@ class AngularWorkspace {
|
|
|
135
134
|
// Temporary helper functions to support refactoring
|
|
136
135
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
137
136
|
getCli() {
|
|
138
|
-
return this.workspace.extensions['cli']
|
|
137
|
+
return this.workspace.extensions['cli'];
|
|
139
138
|
}
|
|
140
139
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
141
140
|
getProjectCli(projectName) {
|
|
142
141
|
const project = this.workspace.projects.get(projectName);
|
|
143
|
-
return
|
|
142
|
+
return project === null || project === void 0 ? void 0 : project.extensions['cli'];
|
|
143
|
+
}
|
|
144
|
+
save() {
|
|
145
|
+
return core_1.workspaces.writeWorkspace(this.workspace, createWorkspaceHost(), this.filePath);
|
|
144
146
|
}
|
|
145
147
|
static async load(workspaceFilePath) {
|
|
146
|
-
const oldConfigFileNames = ['.angular-cli.json', 'angular-cli.json'];
|
|
147
|
-
if (oldConfigFileNames.includes(path.basename(workspaceFilePath))) {
|
|
148
|
-
// 1.x file format
|
|
149
|
-
// Create an empty workspace to allow update to be used
|
|
150
|
-
return new AngularWorkspace({ extensions: {}, projects: new core_1.workspaces.ProjectDefinitionCollection() }, workspaceFilePath);
|
|
151
|
-
}
|
|
152
148
|
const result = await core_1.workspaces.readWorkspace(workspaceFilePath, createWorkspaceHost(), core_1.workspaces.WorkspaceFormat.JSON);
|
|
153
149
|
return new AngularWorkspace(result.workspace, workspaceFilePath);
|
|
154
150
|
}
|
|
@@ -156,14 +152,16 @@ class AngularWorkspace {
|
|
|
156
152
|
exports.AngularWorkspace = AngularWorkspace;
|
|
157
153
|
const cachedWorkspaces = new Map();
|
|
158
154
|
async function getWorkspace(level = 'local') {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return cached;
|
|
155
|
+
if (cachedWorkspaces.has(level)) {
|
|
156
|
+
return cachedWorkspaces.get(level);
|
|
162
157
|
}
|
|
163
|
-
|
|
158
|
+
let configPath = level === 'local' ? projectFilePath() : globalFilePath();
|
|
164
159
|
if (!configPath) {
|
|
165
|
-
|
|
166
|
-
|
|
160
|
+
if (level === 'local') {
|
|
161
|
+
cachedWorkspaces.set(level, undefined);
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
configPath = createGlobalSettings();
|
|
167
165
|
}
|
|
168
166
|
try {
|
|
169
167
|
const workspace = await AngularWorkspace.load(configPath);
|
|
@@ -200,7 +198,7 @@ function getWorkspaceRaw(level = 'local') {
|
|
|
200
198
|
}
|
|
201
199
|
exports.getWorkspaceRaw = getWorkspaceRaw;
|
|
202
200
|
async function validateWorkspace(data) {
|
|
203
|
-
const schema = (0, json_file_1.readAndParseJson)(
|
|
201
|
+
const schema = (0, json_file_1.readAndParseJson)(exports.workspaceSchemaPath);
|
|
204
202
|
const { formats } = await Promise.resolve().then(() => __importStar(require('@angular-devkit/schematics')));
|
|
205
203
|
const registry = new core_1.json.schema.CoreSchemaRegistry(formats.standardFormats);
|
|
206
204
|
const validator = await registry.compile(schema).toPromise();
|
|
@@ -246,6 +244,7 @@ function findProjectByPath(workspace, location) {
|
|
|
246
244
|
}
|
|
247
245
|
return projects[0][1];
|
|
248
246
|
}
|
|
247
|
+
let defaultProjectDeprecationWarningShown = false;
|
|
249
248
|
function getProjectByCwd(workspace) {
|
|
250
249
|
if (workspace.projects.size === 1) {
|
|
251
250
|
// If there is only one project, return that one.
|
|
@@ -258,6 +257,11 @@ function getProjectByCwd(workspace) {
|
|
|
258
257
|
const defaultProject = workspace.extensions['defaultProject'];
|
|
259
258
|
if (defaultProject && typeof defaultProject === 'string') {
|
|
260
259
|
// If there is a default project name, return it.
|
|
260
|
+
if (!defaultProjectDeprecationWarningShown) {
|
|
261
|
+
console.warn(`DEPRECATED: The 'defaultProject' workspace option has been deprecated. ` +
|
|
262
|
+
`The project to use will be determined from the current working directory.`);
|
|
263
|
+
defaultProjectDeprecationWarningShown = true;
|
|
264
|
+
}
|
|
261
265
|
return defaultProject;
|
|
262
266
|
}
|
|
263
267
|
return null;
|
|
@@ -272,86 +276,24 @@ async function getConfiguredPackageManager() {
|
|
|
272
276
|
return value;
|
|
273
277
|
}
|
|
274
278
|
}
|
|
279
|
+
return null;
|
|
275
280
|
};
|
|
276
|
-
let result;
|
|
281
|
+
let result = null;
|
|
277
282
|
const workspace = await getWorkspace('local');
|
|
278
283
|
if (workspace) {
|
|
279
284
|
const project = getProjectByCwd(workspace);
|
|
280
285
|
if (project) {
|
|
281
286
|
result = getPackageManager((_a = workspace.projects.get(project)) === null || _a === void 0 ? void 0 : _a.extensions['cli']);
|
|
282
287
|
}
|
|
283
|
-
result
|
|
288
|
+
result !== null && result !== void 0 ? result : (result = getPackageManager(workspace.extensions['cli']));
|
|
284
289
|
}
|
|
285
|
-
if (result
|
|
290
|
+
if (!result) {
|
|
286
291
|
const globalOptions = await getWorkspace('global');
|
|
287
292
|
result = getPackageManager(globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.extensions['cli']);
|
|
288
|
-
if (!workspace && !globalOptions) {
|
|
289
|
-
// Only check legacy if updated workspace is not found
|
|
290
|
-
result = getLegacyPackageManager();
|
|
291
|
-
}
|
|
292
293
|
}
|
|
293
|
-
|
|
294
|
-
return result !== null && result !== void 0 ? result : null;
|
|
294
|
+
return result;
|
|
295
295
|
}
|
|
296
296
|
exports.getConfiguredPackageManager = getConfiguredPackageManager;
|
|
297
|
-
function migrateLegacyGlobalConfig() {
|
|
298
|
-
const homeDir = os.homedir();
|
|
299
|
-
if (homeDir) {
|
|
300
|
-
const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json');
|
|
301
|
-
if ((0, fs_1.existsSync)(legacyGlobalConfigPath)) {
|
|
302
|
-
const legacy = (0, json_file_1.readAndParseJson)(legacyGlobalConfigPath);
|
|
303
|
-
if (!isJsonObject(legacy)) {
|
|
304
|
-
return false;
|
|
305
|
-
}
|
|
306
|
-
const cli = {};
|
|
307
|
-
if (legacy.packageManager &&
|
|
308
|
-
typeof legacy.packageManager == 'string' &&
|
|
309
|
-
legacy.packageManager !== 'default') {
|
|
310
|
-
cli['packageManager'] = legacy.packageManager;
|
|
311
|
-
}
|
|
312
|
-
if (isJsonObject(legacy.defaults) &&
|
|
313
|
-
isJsonObject(legacy.defaults.schematics) &&
|
|
314
|
-
typeof legacy.defaults.schematics.collection == 'string') {
|
|
315
|
-
cli['defaultCollection'] = legacy.defaults.schematics.collection;
|
|
316
|
-
}
|
|
317
|
-
if (isJsonObject(legacy.warnings)) {
|
|
318
|
-
const warnings = {};
|
|
319
|
-
if (typeof legacy.warnings.versionMismatch == 'boolean') {
|
|
320
|
-
warnings['versionMismatch'] = legacy.warnings.versionMismatch;
|
|
321
|
-
}
|
|
322
|
-
if (Object.getOwnPropertyNames(warnings).length > 0) {
|
|
323
|
-
cli['warnings'] = warnings;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
if (Object.getOwnPropertyNames(cli).length > 0) {
|
|
327
|
-
const globalPath = path.join(homeDir, globalFileName);
|
|
328
|
-
(0, fs_1.writeFileSync)(globalPath, JSON.stringify({ version: 1, cli }, null, 2));
|
|
329
|
-
return true;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
return false;
|
|
334
|
-
}
|
|
335
|
-
exports.migrateLegacyGlobalConfig = migrateLegacyGlobalConfig;
|
|
336
|
-
// Fallback, check for packageManager in config file in v1.* global config.
|
|
337
|
-
function getLegacyPackageManager() {
|
|
338
|
-
const homeDir = os.homedir();
|
|
339
|
-
if (homeDir) {
|
|
340
|
-
const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json');
|
|
341
|
-
if ((0, fs_1.existsSync)(legacyGlobalConfigPath)) {
|
|
342
|
-
const legacy = (0, json_file_1.readAndParseJson)(legacyGlobalConfigPath);
|
|
343
|
-
if (!isJsonObject(legacy)) {
|
|
344
|
-
return null;
|
|
345
|
-
}
|
|
346
|
-
if (legacy.packageManager &&
|
|
347
|
-
typeof legacy.packageManager === 'string' &&
|
|
348
|
-
legacy.packageManager !== 'default') {
|
|
349
|
-
return legacy.packageManager;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
return null;
|
|
354
|
-
}
|
|
355
297
|
async function getSchematicDefaults(collection, schematic, project) {
|
|
356
298
|
var _a;
|
|
357
299
|
const result = {};
|
|
@@ -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;
|