@angular/cli 14.0.0-rc.2 → 14.0.0-rc.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cli",
3
- "version": "14.0.0-rc.2",
3
+ "version": "14.0.0-rc.3",
4
4
  "description": "CLI tool for Angular",
5
5
  "main": "lib/cli/index.js",
6
6
  "bin": {
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "homepage": "https://github.com/angular/angular-cli",
27
27
  "dependencies": {
28
- "@angular-devkit/architect": "0.1400.0-rc.2",
29
- "@angular-devkit/core": "14.0.0-rc.2",
30
- "@angular-devkit/schematics": "14.0.0-rc.2",
31
- "@schematics/angular": "14.0.0-rc.2",
28
+ "@angular-devkit/architect": "0.1400.0-rc.3",
29
+ "@angular-devkit/core": "14.0.0-rc.3",
30
+ "@angular-devkit/schematics": "14.0.0-rc.3",
31
+ "@schematics/angular": "14.0.0-rc.3",
32
32
  "@yarnpkg/lockfile": "1.1.0",
33
33
  "ansi-colors": "4.1.1",
34
34
  "debug": "4.3.4",
@@ -49,12 +49,12 @@
49
49
  "ng-update": {
50
50
  "migrations": "@schematics/angular/migrations/migration-collection.json",
51
51
  "packageGroup": {
52
- "@angular/cli": "14.0.0-rc.2",
53
- "@angular-devkit/architect": "0.1400.0-rc.2",
54
- "@angular-devkit/build-angular": "14.0.0-rc.2",
55
- "@angular-devkit/build-webpack": "0.1400.0-rc.2",
56
- "@angular-devkit/core": "14.0.0-rc.2",
57
- "@angular-devkit/schematics": "14.0.0-rc.2"
52
+ "@angular/cli": "14.0.0-rc.3",
53
+ "@angular-devkit/architect": "0.1400.0-rc.3",
54
+ "@angular-devkit/build-angular": "14.0.0-rc.3",
55
+ "@angular-devkit/build-webpack": "0.1400.0-rc.3",
56
+ "@angular-devkit/core": "14.0.0-rc.3",
57
+ "@angular-devkit/schematics": "14.0.0-rc.3"
58
58
  }
59
59
  },
60
60
  "engines": {
@@ -13,11 +13,8 @@ Simply answer "Yes" and the CLI will take care of the rest.
13
13
 
14
14
  ```
15
15
  $ ng serve
16
- ? Would you like to enable autocompletion? This will set up your terminal so pressing TAB while
17
- typing Angular CLI commands will show possible options and autocomplete arguments. (Enabling
18
- autocompletion will modify configuration files in your home directory.) Yes
19
- Appended `source <(ng completion script)` to `/home/my-username/.bashrc`. Restart your terminal or
20
- run:
16
+ ? Would you like to enable autocompletion? This will set up your terminal so pressing TAB while typing Angular CLI commands will show possible options and autocomplete arguments. (Enabling autocompletion will modify configuration files in your home directory.) Yes
17
+ Appended `source <(ng completion script)` to `/home/my-username/.bashrc`. Restart your terminal or run:
21
18
 
22
19
  source <(ng completion script)
23
20
 
@@ -510,7 +510,23 @@ class UpdateCommandModule extends command_module_1.CommandModule {
510
510
  });
511
511
  }
512
512
  catch { }
513
- const installationSuccess = await this.context.packageManager.installAll(options.force ? ['--force'] : [], this.context.root);
513
+ let forceInstall = options.force;
514
+ // npm 7+ can fail due to it incorrectly resolving peer dependencies that have valid SemVer
515
+ // ranges during an update. Update will set correct versions of dependencies within the
516
+ // package.json file. The force option is set to workaround these errors.
517
+ // Example error:
518
+ // npm ERR! Conflicting peer dependency: @angular/compiler-cli@14.0.0-rc.0
519
+ // npm ERR! node_modules/@angular/compiler-cli
520
+ // npm ERR! peer @angular/compiler-cli@"^14.0.0 || ^14.0.0-rc" from @angular-devkit/build-angular@14.0.0-rc.0
521
+ // npm ERR! node_modules/@angular-devkit/build-angular
522
+ // npm ERR! dev @angular-devkit/build-angular@"~14.0.0-rc.0" from the root project
523
+ if (this.context.packageManager.name === workspace_schema_1.PackageManager.Npm &&
524
+ this.context.packageManager.version &&
525
+ semver.gte(this.context.packageManager.version, '7.0.0', { includePrerelease: true })) {
526
+ logVerbose('NPM 7+ detected -- enabling force option for package installation');
527
+ forceInstall = true;
528
+ }
529
+ const installationSuccess = await this.context.packageManager.installAll(forceInstall ? ['--force'] : [], this.context.root);
514
530
  if (!installationSuccess) {
515
531
  return 1;
516
532
  }
@@ -61,24 +61,20 @@ class PackageManagerUtils {
61
61
  /** Install a single package. */
62
62
  async install(packageName, save = true, extraArgs = [], cwd) {
63
63
  const packageManagerArgs = this.getArguments();
64
- const installArgs = [
65
- packageManagerArgs.install,
66
- packageName,
67
- packageManagerArgs.silent,
68
- ];
64
+ const installArgs = [packageManagerArgs.install, packageName];
69
65
  if (save === 'devDependencies') {
70
66
  installArgs.push(packageManagerArgs.saveDev);
71
67
  }
72
- return this.run([...installArgs, ...extraArgs], cwd);
68
+ return this.run([...installArgs, ...extraArgs], { cwd, silent: true });
73
69
  }
74
70
  /** Install all packages. */
75
71
  async installAll(extraArgs = [], cwd) {
76
72
  const packageManagerArgs = this.getArguments();
77
- const installArgs = [packageManagerArgs.silent];
73
+ const installArgs = [];
78
74
  if (packageManagerArgs.installAll) {
79
75
  installArgs.push(packageManagerArgs.installAll);
80
76
  }
81
- return this.run([...installArgs, ...extraArgs], cwd);
77
+ return this.run([...installArgs, ...extraArgs], { cwd, silent: true });
82
78
  }
83
79
  /** Install a single package temporary. */
84
80
  async installTemp(packageName, extraArgs) {
@@ -123,7 +119,6 @@ class PackageManagerUtils {
123
119
  switch (this.name) {
124
120
  case workspace_schema_1.PackageManager.Yarn:
125
121
  return {
126
- silent: '--silent',
127
122
  saveDev: '--dev',
128
123
  install: 'add',
129
124
  prefix: '--modules-folder',
@@ -131,7 +126,6 @@ class PackageManagerUtils {
131
126
  };
132
127
  case workspace_schema_1.PackageManager.Pnpm:
133
128
  return {
134
- silent: '--silent',
135
129
  saveDev: '--save-dev',
136
130
  install: 'add',
137
131
  installAll: 'install',
@@ -140,7 +134,6 @@ class PackageManagerUtils {
140
134
  };
141
135
  default:
142
136
  return {
143
- silent: '--quiet',
144
137
  saveDev: '--save-dev',
145
138
  install: 'install',
146
139
  installAll: 'install',
@@ -149,14 +142,16 @@ class PackageManagerUtils {
149
142
  };
150
143
  }
151
144
  }
152
- async run(args, cwd = process.cwd()) {
145
+ async run(args, options = {}) {
146
+ const { cwd = process.cwd(), silent = false } = options;
153
147
  const spinner = new spinner_1.Spinner();
154
148
  spinner.start('Installing packages...');
155
149
  return new Promise((resolve) => {
156
150
  var _a, _b;
157
151
  const bufferedOutput = [];
158
152
  const childProcess = (0, child_process_1.spawn)(this.name, args, {
159
- stdio: 'pipe',
153
+ // Always pipe stderr to allow for failures to be reported
154
+ stdio: silent ? ['ignore', 'ignore', 'pipe'] : 'pipe',
160
155
  shell: true,
161
156
  cwd,
162
157
  }).on('close', (code) => {