@schematics/angular 11.2.4 → 11.2.8

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.
@@ -58,7 +58,7 @@
58
58
 
59
59
  .toolbar #youtube-logo {
60
60
  height: 40px;
61
- margin-left: 16px;
61
+ margin: 0 16px;
62
62
  }
63
63
 
64
64
  .toolbar #twitter-logo:hover,
@@ -332,7 +332,8 @@
332
332
  <!-- Highlight Card -->
333
333
  <div class="card highlight-card card-small">
334
334
 
335
- <svg id="rocket" alt="Rocket Ship" xmlns="http://www.w3.org/2000/svg" width="101.678" height="101.678" viewBox="0 0 101.678 101.678">
335
+ <svg id="rocket" xmlns="http://www.w3.org/2000/svg" width="101.678" height="101.678" viewBox="0 0 101.678 101.678">
336
+ <title>Rocket Ship</title>
336
337
  <g id="Group_83" data-name="Group 83" transform="translate(-141 -696)">
337
338
  <circle id="Ellipse_8" data-name="Ellipse 8" cx="50.839" cy="50.839" r="50.839" transform="translate(141 696)" fill="#dd0031"/>
338
339
  <g id="Group_47" data-name="Group 47" transform="translate(165.185 720.185)">
@@ -344,7 +345,8 @@
344
345
 
345
346
  <span>{{ title }} app is running!</span>
346
347
 
347
- <svg id="rocket-smoke" alt="Rocket Ship Smoke" xmlns="http://www.w3.org/2000/svg" width="516.119" height="1083.632" viewBox="0 0 516.119 1083.632">
348
+ <svg id="rocket-smoke" xmlns="http://www.w3.org/2000/svg" width="516.119" height="1083.632" viewBox="0 0 516.119 1083.632">
349
+ <title>Rocket Ship Smoke</title>
348
350
  <path id="Path_40" data-name="Path 40" d="M644.6,141S143.02,215.537,147.049,870.207s342.774,201.755,342.774,201.755S404.659,847.213,388.815,762.2c-27.116-145.51-11.551-384.124,271.9-609.1C671.15,139.365,644.6,141,644.6,141Z" transform="translate(-147.025 -140.939)" fill="#f5f5f5"/>
349
351
  </svg>
350
352
 
@@ -447,7 +449,8 @@
447
449
  </a>
448
450
 
449
451
  <a class="circle-link" title="CLI" href="https://cli.angular.io/" target="_blank" rel="noopener">
450
- <svg alt="Angular CLI Logo" xmlns="http://www.w3.org/2000/svg" width="21.762" height="23.447" viewBox="0 0 21.762 23.447">
452
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.762" height="23.447" viewBox="0 0 21.762 23.447">
453
+ <title>Angular CLI Logo</title>
451
454
  <g id="Group_21" data-name="Group 21" transform="translate(0)">
452
455
  <path id="Path_20" data-name="Path 20" d="M2660.313,313.618h0l-10.833,3.9,1.637,14.4,9.2,5.152,9.244-5.152,1.685-14.4Z" transform="translate(-2649.48 -313.618)" fill="#37474f"/>
453
456
  <path id="Path_21" data-name="Path 21" d="M2741.883,313.618v23.447l9.244-5.152,1.685-14.4Z" transform="translate(-2731.05 -313.618)" fill="#263238"/>
@@ -459,7 +462,8 @@
459
462
  </a>
460
463
 
461
464
  <a class="circle-link" title="Protractor" href="https://www.protractortest.org/" target="_blank" rel="noopener">
462
- <svg alt="Angular Protractor Logo" xmlns="http://www.w3.org/2000/svg" width="21.81" height="23.447" viewBox="0 0 21.81 23.447">
465
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.81" height="23.447" viewBox="0 0 21.81 23.447">
466
+ <title>Angular Protractor Logo</title>
463
467
  <g id="Group_26" data-name="Group 26" transform="translate(0)">
464
468
  <path id="Path_28" data-name="Path 28" d="M4620.155,311.417h0l-10.881,3.9,1.637,14.4,9.244,5.152,9.244-5.152,1.685-14.4Z" transform="translate(-4609.274 -311.417)" fill="#e13439"/>
465
469
  <path id="Path_29" data-name="Path 29" d="M4702.088,311.417v23.447l9.244-5.152,1.685-14.4Z" transform="translate(-4691.207 -311.417)" fill="#b52f32"/>
@@ -469,13 +473,15 @@
469
473
  </a>
470
474
 
471
475
  <a class="circle-link" title="Find a Local Meetup" href="https://www.meetup.com/find/?keywords=angular" target="_blank" rel="noopener">
472
- <svg alt="Meetup Logo" xmlns="http://www.w3.org/2000/svg" width="24.607" height="23.447" viewBox="0 0 24.607 23.447">
476
+ <svg xmlns="http://www.w3.org/2000/svg" width="24.607" height="23.447" viewBox="0 0 24.607 23.447">
477
+ <title>Meetup Logo</title>
473
478
  <path id="logo--mSwarm" d="M21.221,14.95A4.393,4.393,0,0,1,17.6,19.281a4.452,4.452,0,0,1-.8.069c-.09,0-.125.035-.154.117a2.939,2.939,0,0,1-2.506,2.091,2.868,2.868,0,0,1-2.248-.624.168.168,0,0,0-.245-.005,3.926,3.926,0,0,1-2.589.741,4.015,4.015,0,0,1-3.7-3.347,2.7,2.7,0,0,1-.043-.38c0-.106-.042-.146-.143-.166a3.524,3.524,0,0,1-1.516-.69A3.623,3.623,0,0,1,2.23,14.557a3.66,3.66,0,0,1,1.077-3.085.138.138,0,0,0,.026-.2,3.348,3.348,0,0,1-.451-1.821,3.46,3.46,0,0,1,2.749-3.28.44.44,0,0,0,.355-.281,5.072,5.072,0,0,1,3.863-3,5.028,5.028,0,0,1,3.555.666.31.31,0,0,0,.271.03A4.5,4.5,0,0,1,18.3,4.7a4.4,4.4,0,0,1,1.334,2.751,3.658,3.658,0,0,1,.022.706.131.131,0,0,0,.1.157,2.432,2.432,0,0,1,1.574,1.645,2.464,2.464,0,0,1-.7,2.616c-.065.064-.051.1-.014.166A4.321,4.321,0,0,1,21.221,14.95ZM13.4,14.607a2.09,2.09,0,0,0,1.409,1.982,4.7,4.7,0,0,0,1.275.221,1.807,1.807,0,0,0,.9-.151.542.542,0,0,0,.321-.545.558.558,0,0,0-.359-.534,1.2,1.2,0,0,0-.254-.078c-.262-.047-.526-.086-.787-.138a.674.674,0,0,1-.617-.75,3.394,3.394,0,0,1,.218-1.109c.217-.658.509-1.286.79-1.918a15.609,15.609,0,0,0,.745-1.86,1.95,1.95,0,0,0,.06-1.073,1.286,1.286,0,0,0-1.051-1.033,1.977,1.977,0,0,0-1.521.2.339.339,0,0,1-.446-.042c-.1-.092-.2-.189-.307-.284a1.214,1.214,0,0,0-1.643-.061,7.563,7.563,0,0,1-.614.512A.588.588,0,0,1,10.883,8c-.215-.115-.437-.215-.659-.316a2.153,2.153,0,0,0-.695-.248A2.091,2.091,0,0,0,7.541,8.562a9.915,9.915,0,0,0-.405.986c-.559,1.545-1.015,3.123-1.487,4.7a1.528,1.528,0,0,0,.634,1.777,1.755,1.755,0,0,0,1.5.211,1.35,1.35,0,0,0,.824-.858c.543-1.281,1.032-2.584,1.55-3.875.142-.355.28-.712.432-1.064a.548.548,0,0,1,.851-.24.622.622,0,0,1,.185.539,2.161,2.161,0,0,1-.181.621c-.337.852-.68,1.7-1.018,2.552a2.564,2.564,0,0,0-.173.528.624.624,0,0,0,.333.71,1.073,1.073,0,0,0,.814.034,1.22,1.22,0,0,0,.657-.655q.758-1.488,1.511-2.978.35-.687.709-1.37a1.073,1.073,0,0,1,.357-.434.43.43,0,0,1,.463-.016.373.373,0,0,1,.153.387.7.7,0,0,1-.057.236c-.065.157-.127.316-.2.469-.42.883-.846,1.763-1.262,2.648A2.463,2.463,0,0,0,13.4,14.607Zm5.888,6.508a1.09,1.09,0,0,0-2.179.006,1.09,1.09,0,0,0,2.179-.006ZM1.028,12.139a1.038,1.038,0,1,0,.01-2.075,1.038,1.038,0,0,0-.01,2.075ZM13.782.528a1.027,1.027,0,1,0-.011,2.055A1.027,1.027,0,0,0,13.782.528ZM22.21,6.95a.882.882,0,0,0-1.763.011A.882.882,0,0,0,22.21,6.95ZM4.153,4.439a.785.785,0,1,0,.787-.78A.766.766,0,0,0,4.153,4.439Zm8.221,18.22a.676.676,0,1,0-.677.666A.671.671,0,0,0,12.374,22.658ZM22.872,12.2a.674.674,0,0,0-.665.665.656.656,0,0,0,.655.643.634.634,0,0,0,.655-.644A.654.654,0,0,0,22.872,12.2ZM7.171-.123A.546.546,0,0,0,6.613.43a.553.553,0,1,0,1.106,0A.539.539,0,0,0,7.171-.123ZM24.119,9.234a.507.507,0,0,0-.493.488.494.494,0,0,0,.494.494.48.48,0,0,0,.487-.483A.491.491,0,0,0,24.119,9.234Zm-19.454,9.7a.5.5,0,0,0-.488-.488.491.491,0,0,0-.487.5.483.483,0,0,0,.491.479A.49.49,0,0,0,4.665,18.936Z" transform="translate(0 0.123)" fill="#f64060"/>
474
479
  </svg>
475
480
  </a>
476
481
 
477
482
  <a class="circle-link" title="Join the Conversation on Discord" href="https://discord.gg/angular" target="_blank" rel="noopener">
478
- <svg alt="Discord Logo" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 245 240">
483
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 245 240">
484
+ <title>Discord Logo</title>
479
485
  <path d="M104.4 103.9c-5.7 0-10.2 5-10.2 11.1s4.6 11.1 10.2 11.1c5.7 0 10.2-5 10.2-11.1.1-6.1-4.5-11.1-10.2-11.1zM140.9 103.9c-5.7 0-10.2 5-10.2 11.1s4.6 11.1 10.2 11.1c5.7 0 10.2-5 10.2-11.1s-4.5-11.1-10.2-11.1z"/>
480
486
  <path d="M189.5 20h-134C44.2 20 35 29.2 35 40.6v135.2c0 11.4 9.2 20.6 20.5 20.6h113.4l-5.3-18.5 12.8 11.9 12.1 11.2 21.5 19V40.6c0-11.4-9.2-20.6-20.5-20.6zm-38.6 130.6s-3.6-4.3-6.6-8.1c13.1-3.7 18.1-11.9 18.1-11.9-4.1 2.7-8 4.6-11.5 5.9-5 2.1-9.8 3.5-14.5 4.3-9.6 1.8-18.4 1.3-25.9-.1-5.7-1.1-10.6-2.7-14.7-4.3-2.3-.9-4.8-2-7.3-3.4-.3-.2-.6-.3-.9-.5-.2-.1-.3-.2-.4-.3-1.8-1-2.8-1.7-2.8-1.7s4.8 8 17.5 11.8c-3 3.8-6.7 8.3-6.7 8.3-22.1-.7-30.5-15.2-30.5-15.2 0-32.2 14.4-58.3 14.4-58.3 14.4-10.8 28.1-10.5 28.1-10.5l1 1.2c-18 5.2-26.3 13.1-26.3 13.1s2.2-1.2 5.9-2.9c10.7-4.7 19.2-6 22.7-6.3.6-.1 1.1-.2 1.7-.2 6.1-.8 13-1 20.2-.2 9.5 1.1 19.7 3.9 30.1 9.6 0 0-7.9-7.5-24.9-12.7l1.4-1.6s13.7-.3 28.1 10.5c0 0 14.4 26.1 14.4 58.3 0 0-8.5 14.5-30.6 15.2z"/>
481
487
  </svg>
@@ -496,7 +502,8 @@
496
502
  </a>
497
503
  </footer>
498
504
 
499
- <svg id="clouds" alt="Gray Clouds Background" xmlns="http://www.w3.org/2000/svg" width="2611.084" height="485.677" viewBox="0 0 2611.084 485.677">
505
+ <svg id="clouds" xmlns="http://www.w3.org/2000/svg" width="2611.084" height="485.677" viewBox="0 0 2611.084 485.677">
506
+ <title>Gray Clouds Background</title>
500
507
  <path id="Path_39" data-name="Path 39" d="M2379.709,863.793c10-93-77-171-168-149-52-114-225-105-264,15-75,3-140,59-152,133-30,2.83-66.725,9.829-93.5,26.25-26.771-16.421-63.5-23.42-93.5-26.25-12-74-77-130-152-133-39-120-212-129-264-15-54.084-13.075-106.753,9.173-138.488,48.9-31.734-39.726-84.4-61.974-138.487-48.9-52-114-225-105-264,15a162.027,162.027,0,0,0-103.147,43.044c-30.633-45.365-87.1-72.091-145.206-58.044-52-114-225-105-264,15-75,3-140,59-152,133-53,5-127,23-130,83-2,42,35,72,70,86,49,20,106,18,157,5a165.625,165.625,0,0,0,120,0c47,94,178,113,251,33,61.112,8.015,113.854-5.72,150.492-29.764a165.62,165.62,0,0,0,110.861-3.236c47,94,178,113,251,33,31.385,4.116,60.563,2.495,86.487-3.311,25.924,5.806,55.1,7.427,86.488,3.311,73,80,204,61,251-33a165.625,165.625,0,0,0,120,0c51,13,108,15,157-5a147.188,147.188,0,0,0,33.5-18.694,147.217,147.217,0,0,0,33.5,18.694c49,20,106,18,157,5a165.625,165.625,0,0,0,120,0c47,94,178,113,251,33C2446.709,1093.793,2554.709,922.793,2379.709,863.793Z" transform="translate(142.69 -634.312)" fill="#eee"/>
501
508
  </svg>
502
509
 
@@ -509,7 +516,5 @@
509
516
  <!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
510
517
  <!-- * * * * * * * * * * End of Placeholder * * * * * * * * * * * -->
511
518
  <!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
512
-
513
-
514
519
  <% if (routing) { %>
515
- <router-outlet></router-outlet><% } %>
520
+ <router-outlet></router-outlet><% } %>
@@ -83,7 +83,6 @@ export declare enum Style {
83
83
  */
84
84
  export declare enum ViewEncapsulation {
85
85
  Emulated = "Emulated",
86
- Native = "Native",
87
86
  None = "None",
88
87
  ShadowDom = "ShadowDom"
89
88
  }
@@ -20,7 +20,6 @@ var Style;
20
20
  var ViewEncapsulation;
21
21
  (function (ViewEncapsulation) {
22
22
  ViewEncapsulation["Emulated"] = "Emulated";
23
- ViewEncapsulation["Native"] = "Native";
24
23
  ViewEncapsulation["None"] = "None";
25
24
  ViewEncapsulation["ShadowDom"] = "ShadowDom";
26
25
  })(ViewEncapsulation = exports.ViewEncapsulation || (exports.ViewEncapsulation = {}));
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "viewEncapsulation": {
35
35
  "description": "The view encapsulation strategy to use in the new app.",
36
- "enum": ["Emulated", "Native", "None", "ShadowDom"],
36
+ "enum": ["Emulated", "None", "ShadowDom"],
37
37
  "type": "string",
38
38
  "x-user-analytics": 11
39
39
  },
@@ -110,7 +110,6 @@ export declare enum Style {
110
110
  */
111
111
  export declare enum ViewEncapsulation {
112
112
  Emulated = "Emulated",
113
- Native = "Native",
114
113
  None = "None",
115
114
  ShadowDom = "ShadowDom"
116
115
  }
@@ -28,7 +28,6 @@ var Style;
28
28
  var ViewEncapsulation;
29
29
  (function (ViewEncapsulation) {
30
30
  ViewEncapsulation["Emulated"] = "Emulated";
31
- ViewEncapsulation["Native"] = "Native";
32
31
  ViewEncapsulation["None"] = "None";
33
32
  ViewEncapsulation["ShadowDom"] = "ShadowDom";
34
33
  })(ViewEncapsulation = exports.ViewEncapsulation || (exports.ViewEncapsulation = {}));
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "viewEncapsulation": {
51
51
  "description": "The view encapsulation strategy to use in the new component.",
52
- "enum": ["Emulated", "Native", "None", "ShadowDom"],
52
+ "enum": ["Emulated", "None", "ShadowDom"],
53
53
  "type": "string",
54
54
  "alias": "v",
55
55
  "x-user-analytics": 11
@@ -119,7 +119,6 @@ export declare enum Style {
119
119
  */
120
120
  export declare enum ViewEncapsulation {
121
121
  Emulated = "Emulated",
122
- Native = "Native",
123
122
  None = "None",
124
123
  ShadowDom = "ShadowDom"
125
124
  }
package/ng-new/schema.js CHANGED
@@ -30,7 +30,6 @@ var Style;
30
30
  var ViewEncapsulation;
31
31
  (function (ViewEncapsulation) {
32
32
  ViewEncapsulation["Emulated"] = "Emulated";
33
- ViewEncapsulation["Native"] = "Native";
34
33
  ViewEncapsulation["None"] = "None";
35
34
  ViewEncapsulation["ShadowDom"] = "ShadowDom";
36
35
  })(ViewEncapsulation = exports.ViewEncapsulation || (exports.ViewEncapsulation = {}));
@@ -77,7 +77,7 @@
77
77
  },
78
78
  "viewEncapsulation": {
79
79
  "description": "The view encapsulation strategy to use in the initial project.",
80
- "enum": ["Emulated", "Native", "None", "ShadowDom"],
80
+ "enum": ["Emulated", "None", "ShadowDom"],
81
81
  "type": "string",
82
82
  "x-user-analytics": 11
83
83
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schematics/angular",
3
- "version": "11.2.4",
3
+ "version": "11.2.8",
4
4
  "description": "Schematics specific to Angular",
5
5
  "keywords": [
6
6
  "angular",
@@ -14,8 +14,8 @@
14
14
  ],
15
15
  "schematics": "./collection.json",
16
16
  "dependencies": {
17
- "@angular-devkit/core": "11.2.4",
18
- "@angular-devkit/schematics": "11.2.4",
17
+ "@angular-devkit/core": "11.2.8",
18
+ "@angular-devkit/schematics": "11.2.8",
19
19
  "jsonc-parser": "3.0.0"
20
20
  },
21
21
  "repository": {
@@ -71,7 +71,14 @@ function updateAppModule(mainPath) {
71
71
  }
72
72
  }
73
73
  // register SW in app module
74
- const importText = `ServiceWorkerModule.register('ngsw-worker.js', { enabled: ${importModule}.production })`;
74
+ const importText = core_1.tags.stripIndent `
75
+ ServiceWorkerModule.register('ngsw-worker.js', {
76
+ enabled: ${importModule}.production,
77
+ // Register the ServiceWorker as soon as the app is stable
78
+ // or after 30 seconds (whichever comes first).
79
+ registrationStrategy: 'registerWhenStable:30000'
80
+ })
81
+ `;
75
82
  moduleSource = getTsSourceFile(host, modulePath);
76
83
  const metadataChanges = ast_utils_1.addSymbolToNgModuleMetadata(moduleSource, modulePath, 'imports', importText);
77
84
  if (metadataChanges) {
@@ -1,10 +1,3 @@
1
- /**
2
- * @license
3
- * Copyright Google Inc. 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
1
  import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript';
9
2
  import { Change } from './change';
10
3
  /**
@@ -8,6 +8,7 @@ exports.addRouteDeclarationToModule = exports.getRouterModuleDeclaration = expor
8
8
  * Use of this source code is governed by an MIT-style license that can be
9
9
  * found in the LICENSE file at https://angular.io/license
10
10
  */
11
+ const core_1 = require("@angular-devkit/core");
11
12
  const ts = require("../third_party/github.com/Microsoft/TypeScript/lib/typescript");
12
13
  const change_1 = require("./change");
13
14
  /**
@@ -268,10 +269,6 @@ function addSymbolToNgModuleMetadata(source, ngModulePath, metadataField, symbol
268
269
  }
269
270
  // Get all the children property assignment of object literals.
270
271
  const matchingProperties = getMetadataField(node, metadataField);
271
- // Get the last node of the array literal.
272
- if (!matchingProperties) {
273
- return [];
274
- }
275
272
  if (matchingProperties.length == 0) {
276
273
  // We haven't found the field in the metadata declaration. Insert a new field.
277
274
  const expr = node;
@@ -279,16 +276,17 @@ function addSymbolToNgModuleMetadata(source, ngModulePath, metadataField, symbol
279
276
  let toInsert;
280
277
  if (expr.properties.length == 0) {
281
278
  position = expr.getEnd() - 1;
282
- toInsert = ` ${metadataField}: [${symbolName}]\n`;
279
+ toInsert = `\n ${metadataField}: [\n${core_1.tags.indentBy(4) `${symbolName}`}\n ]\n`;
283
280
  }
284
281
  else {
285
282
  node = expr.properties[expr.properties.length - 1];
286
283
  position = node.getEnd();
287
284
  // Get the indentation of the last element, if any.
288
285
  const text = node.getFullText(source);
289
- const matches = text.match(/^\r?\n\s*/);
290
- if (matches && matches.length > 0) {
291
- toInsert = `,${matches[0]}${metadataField}: [${symbolName}]`;
286
+ const matches = text.match(/^(\r?\n)(\s*)/);
287
+ if (matches) {
288
+ toInsert = `,${matches[0]}${metadataField}: [${matches[1]}` +
289
+ `${core_1.tags.indentBy(matches[2].length + 2) `${symbolName}`}${matches[0]}]`;
292
290
  }
293
291
  else {
294
292
  toInsert = `, ${metadataField}: [${symbolName}]`;
@@ -317,50 +315,27 @@ function addSymbolToNgModuleMetadata(source, ngModulePath, metadataField, symbol
317
315
  else {
318
316
  node = arrLiteral.elements;
319
317
  }
320
- if (!node) {
321
- // tslint:disable-next-line: no-console
322
- console.error('No app module found. Please add your new class to your component.');
323
- return [];
324
- }
325
318
  if (Array.isArray(node)) {
326
319
  const nodeArray = node;
327
- const symbolsArray = nodeArray.map(node => node.getText());
328
- if (symbolsArray.includes(symbolName)) {
320
+ const symbolsArray = nodeArray.map(node => core_1.tags.oneLine `${node.getText()}`);
321
+ if (symbolsArray.includes(core_1.tags.oneLine `${symbolName}`)) {
329
322
  return [];
330
323
  }
331
324
  node = node[node.length - 1];
332
325
  }
333
326
  let toInsert;
334
327
  let position = node.getEnd();
335
- if (node.kind == ts.SyntaxKind.ObjectLiteralExpression) {
336
- // We haven't found the field in the metadata declaration. Insert a new
337
- // field.
338
- const expr = node;
339
- if (expr.properties.length == 0) {
340
- position = expr.getEnd() - 1;
341
- toInsert = ` ${symbolName}\n`;
342
- }
343
- else {
344
- // Get the indentation of the last element, if any.
345
- const text = node.getFullText(source);
346
- if (text.match(/^\r?\r?\n/)) {
347
- toInsert = `,${text.match(/^\r?\n\s*/)[0]}${symbolName}`;
348
- }
349
- else {
350
- toInsert = `, ${symbolName}`;
351
- }
352
- }
353
- }
354
- else if (node.kind == ts.SyntaxKind.ArrayLiteralExpression) {
328
+ if (node.kind == ts.SyntaxKind.ArrayLiteralExpression) {
355
329
  // We found the field but it's empty. Insert it just before the `]`.
356
330
  position--;
357
- toInsert = `${symbolName}`;
331
+ toInsert = `\n${core_1.tags.indentBy(4) `${symbolName}`}\n `;
358
332
  }
359
333
  else {
360
334
  // Get the indentation of the last element, if any.
361
335
  const text = node.getFullText(source);
362
- if (text.match(/^\r?\n/)) {
363
- toInsert = `,${text.match(/^\r?\n(\r?)\s*/)[0]}${symbolName}`;
336
+ const matches = text.match(/^(\r?\n)(\s*)/);
337
+ if (matches) {
338
+ toInsert = `,${matches[1]}${core_1.tags.indentBy(matches[2].length) `${symbolName}`}`;
364
339
  }
365
340
  else {
366
341
  toInsert = `, ${symbolName}`;
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.latestVersions = void 0;
11
11
  exports.latestVersions = {
12
12
  // These versions should be kept up to date with latest Angular peer dependencies.
13
- Angular: '~11.2.5',
13
+ Angular: '~11.2.9',
14
14
  RxJs: '~6.6.0',
15
15
  ZoneJs: '~0.11.3',
16
16
  TypeScript: '~4.1.5',
@@ -19,8 +19,8 @@ exports.latestVersions = {
19
19
  // For our e2e tests, these versions must match the latest tag present on the branch.
20
20
  // During RC periods they will not match the latest RC until there's a new git tag, and
21
21
  // should not be updated.
22
- DevkitBuildAngular: '~0.1102.3',
23
- DevkitBuildNgPackagr: '~0.1102.3',
24
- DevkitBuildWebpack: '~0.1102.3',
22
+ DevkitBuildAngular: '~0.1102.8',
23
+ DevkitBuildNgPackagr: '~0.1102.8',
24
+ DevkitBuildWebpack: '~0.1102.8',
25
25
  ngPackagr: '^11.0.0',
26
26
  };