@schematics/angular 12.1.0-next.6 → 12.1.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.
@@ -96,6 +96,7 @@
96
96
  }
97
97
 
98
98
  .card {
99
+ all: unset;
99
100
  border-radius: 4px;
100
101
  border: 1px solid #eee;
101
102
  background-color: #fafafa;
@@ -249,7 +250,6 @@
249
250
  background-image: linear-gradient(-180deg,#fafbfc,#eff3f6 90%);
250
251
  margin-left: 4px;
251
252
  font-weight: 600;
252
- font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
253
253
  }
254
254
 
255
255
  .github-star-badge:hover {
@@ -272,10 +272,8 @@
272
272
  width: 1920px;
273
273
  }
274
274
 
275
-
276
275
  /* Responsive Styles */
277
276
  @media screen and (max-width: 767px) {
278
-
279
277
  .card-container > *:not(.circle-link) ,
280
278
  .terminal {
281
279
  width: 100%;
@@ -359,24 +357,24 @@
359
357
  <div class="card-container">
360
358
  <a class="card" target="_blank" rel="noopener" href="https://angular.io/tutorial">
361
359
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3L1 9l11 6 9-4.91V17h2V9L12 3z"/></svg>
362
-
363
360
  <span>Learn Angular</span>
364
-
365
361
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg> </a>
366
362
 
367
363
  <a class="card" target="_blank" rel="noopener" href="https://angular.io/cli">
368
364
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg>
369
-
370
365
  <span>CLI Documentation</span>
371
-
372
366
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>
373
367
  </a>
374
368
 
375
369
  <a class="card" target="_blank" rel="noopener" href="https://blog.angular.io/">
376
370
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67zM11.71 19c-1.78 0-3.22-1.4-3.22-3.14 0-1.62 1.05-2.76 2.81-3.12 1.77-.36 3.6-1.21 4.62-2.58.39 1.29.59 2.65.59 4.04 0 2.65-2.15 4.8-4.8 4.8z"/></svg>
377
-
378
371
  <span>Angular Blog</span>
372
+ <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>
373
+ </a>
379
374
 
375
+ <a class="card" target="_blank" rel="noopener" href="https://angular.io/devtools/">
376
+ <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M14.73,13.31C15.52,12.24,16,10.93,16,9.5C16,5.91,13.09,3,9.5,3S3,5.91,3,9.5C3,13.09,5.91,16,9.5,16 c1.43,0,2.74-0.48,3.81-1.27L19.59,21L21,19.59L14.73,13.31z M9.5,14C7.01,14,5,11.99,5,9.5S7.01,5,9.5,5S14,7.01,14,9.5 S11.99,14,9.5,14z"/><polygon points="10.29,8.44 9.5,6 8.71,8.44 6.25,8.44 8.26,10.03 7.49,12.5 9.5,10.97 11.51,12.5 10.74,10.03 12.75,8.44"/></g></g></svg>
377
+ <span>Angular DevTools</span>
380
378
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>
381
379
  </a>
382
380
 
@@ -389,41 +387,35 @@
389
387
  <input type="hidden" #selection>
390
388
 
391
389
  <div class="card-container">
392
- <div class="card card-small" (click)="selection.value = 'component'" tabindex="0">
393
- <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
394
-
390
+ <button class="card card-small" (click)="selection.value = 'component'" tabindex="0">
391
+ <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
395
392
  <span>New Component</span>
396
- </div>
397
-
398
- <div class="card card-small" (click)="selection.value = 'material'" tabindex="0">
399
- <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
393
+ </button>
400
394
 
395
+ <button class="card card-small" (click)="selection.value = 'material'" tabindex="0">
396
+ <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
401
397
  <span>Angular Material</span>
402
- </div>
403
-
404
- <div class="card card-small" (click)="selection.value = 'pwa'" tabindex="0">
405
- <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
398
+ </button>
406
399
 
400
+ <button class="card card-small" (click)="selection.value = 'pwa'" tabindex="0">
401
+ <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
407
402
  <span>Add PWA Support</span>
408
- </div>
403
+ </button>
409
404
 
410
- <div class="card card-small" (click)="selection.value = 'dependency'" tabindex="0">
405
+ <button class="card card-small" (click)="selection.value = 'dependency'" tabindex="0">
411
406
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
412
-
413
407
  <span>Add Dependency</span>
414
- </div>
408
+ </button>
415
409
 
416
- <div class="card card-small" (click)="selection.value = 'test'" tabindex="0">
410
+ <button class="card card-small" (click)="selection.value = 'test'" tabindex="0">
417
411
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
418
-
419
412
  <span>Run and Watch Tests</span>
420
- </div>
413
+ </button>
421
414
 
422
- <div class="card card-small" (click)="selection.value = 'build'" tabindex="0">
415
+ <button class="card card-small" (click)="selection.value = 'build'" tabindex="0">
423
416
  <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
424
-
425
417
  <span>Build for Production</span>
426
- </div>
418
+ </button>
427
419
  </div>
428
420
 
429
421
  <!-- Terminal -->
@@ -29,7 +29,7 @@ describe('AppComponent', () => {
29
29
  it('should render title', () => {
30
30
  const fixture = TestBed.createComponent(AppComponent);
31
31
  fixture.detectChanges();
32
- const compiled = fixture.nativeElement;
33
- expect(compiled.querySelector('.content span').textContent).toContain('<%= name %> app is running!');
32
+ const compiled = fixture.nativeElement as HTMLElement;
33
+ expect(compiled.querySelector('.content span')?.textContent).toContain('<%= name %> app is running!');
34
34
  });
35
35
  });
@@ -14,7 +14,7 @@ import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }
14
14
  display: block;
15
15
  }
16
16
  `<% } %>
17
- ]<% } else { %>
17
+ ]<% } else if (style !== 'none') { %>
18
18
  styleUrls: ['./<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.<%= style %>']<% } %><% if(!!viewEncapsulation) { %>,
19
19
  encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>,
20
20
  changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %>
@@ -36,6 +36,7 @@ const lint_fix_1 = require("../utility/lint-fix");
36
36
  const parse_name_1 = require("../utility/parse-name");
37
37
  const validation_1 = require("../utility/validation");
38
38
  const workspace_1 = require("../utility/workspace");
39
+ const schema_1 = require("./schema");
39
40
  function readIntoSourceFile(host, modulePath) {
40
41
  const text = host.read(modulePath);
41
42
  if (text === null) {
@@ -110,9 +111,10 @@ function default_1(options) {
110
111
  options.selector || buildSelector(options, (project && project.prefix) || '');
111
112
  validation_1.validateName(options.name);
112
113
  validation_1.validateHtmlSelector(options.selector);
114
+ const skipStyleFile = options.inlineStyle || options.style === schema_1.Style.None;
113
115
  const templateSource = schematics_1.apply(schematics_1.url('./files'), [
114
116
  options.skipTests ? schematics_1.filter((path) => !path.endsWith('.spec.ts.template')) : schematics_1.noop(),
115
- options.inlineStyle ? schematics_1.filter((path) => !path.endsWith('.__style__.template')) : schematics_1.noop(),
117
+ skipStyleFile ? schematics_1.filter((path) => !path.endsWith('.__style__.template')) : schematics_1.noop(),
116
118
  options.inlineTemplate ? schematics_1.filter((path) => !path.endsWith('.html.template')) : schematics_1.noop(),
117
119
  schematics_1.applyTemplates({
118
120
  ...core_1.strings,
@@ -71,7 +71,8 @@ export interface Schema {
71
71
  */
72
72
  skipTests?: boolean;
73
73
  /**
74
- * The file extension or preprocessor to use for style files.
74
+ * The file extension or preprocessor to use for style files, or 'none' to skip generating
75
+ * the style file.
75
76
  */
76
77
  style?: Style;
77
78
  /**
@@ -91,11 +92,13 @@ export declare enum ChangeDetection {
91
92
  OnPush = "OnPush"
92
93
  }
93
94
  /**
94
- * The file extension or preprocessor to use for style files.
95
+ * The file extension or preprocessor to use for style files, or 'none' to skip generating
96
+ * the style file.
95
97
  */
96
98
  export declare enum Style {
97
99
  Css = "css",
98
100
  Less = "less",
101
+ None = "none",
99
102
  Sass = "sass",
100
103
  Scss = "scss"
101
104
  }
@@ -12,12 +12,14 @@ var ChangeDetection;
12
12
  ChangeDetection["OnPush"] = "OnPush";
13
13
  })(ChangeDetection = exports.ChangeDetection || (exports.ChangeDetection = {}));
14
14
  /**
15
- * The file extension or preprocessor to use for style files.
15
+ * The file extension or preprocessor to use for style files, or 'none' to skip generating
16
+ * the style file.
16
17
  */
17
18
  var Style;
18
19
  (function (Style) {
19
20
  Style["Css"] = "css";
20
21
  Style["Less"] = "less";
22
+ Style["None"] = "none";
21
23
  Style["Sass"] = "sass";
22
24
  Style["Scss"] = "scss";
23
25
  })(Style = exports.Style || (exports.Style = {}));
@@ -77,10 +77,10 @@
77
77
  ]
78
78
  },
79
79
  "style": {
80
- "description": "The file extension or preprocessor to use for style files.",
80
+ "description": "The file extension or preprocessor to use for style files, or 'none' to skip generating the style file.",
81
81
  "type": "string",
82
82
  "default": "css",
83
- "enum": ["css", "scss", "sass", "less"],
83
+ "enum": ["css", "scss", "sass", "less", "none"],
84
84
  "x-user-analytics": 5
85
85
  },
86
86
  "type": {
@@ -7,6 +7,7 @@
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ const core_1 = require("@angular-devkit/core");
10
11
  const workspace_1 = require("../../utility/workspace");
11
12
  const BrowserBuilderOptions = [
12
13
  ['aot', false, true],
@@ -22,9 +23,15 @@ const ServerBuilderOptions = [
22
23
  ['optimization', false, true],
23
24
  ];
24
25
  function default_1() {
25
- return workspace_1.updateWorkspace((workspace) => {
26
- for (const [, target] of workspace_1.allWorkspaceTargets(workspace)) {
27
- if (!(target === null || target === void 0 ? void 0 : target.builder.startsWith('@angular-devkit/build-angular'))) {
26
+ return (_tree, context) => workspace_1.updateWorkspace((workspace) => {
27
+ for (const [targetName, target, projectName] of workspace_1.allWorkspaceTargets(workspace)) {
28
+ if (!target.builder.startsWith('@angular-devkit/') &&
29
+ !target.builder.startsWith('@nguniversal/')) {
30
+ context.logger.warn(core_1.tags.stripIndent `
31
+ "${targetName}" target in "${projectName}" project is using a third-party builder.
32
+ You may need to adjust the options to retain the existing behavior.
33
+ For more information, see the breaking changes section within the release notes: https://github.com/angular/angular-cli/releases/tag/v12.0.0
34
+ `);
28
35
  continue;
29
36
  }
30
37
  // Only interested in Angular Devkit browser and server builders
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schematics/angular",
3
- "version": "12.1.0-next.6",
3
+ "version": "12.1.3",
4
4
  "description": "Schematics specific to Angular",
5
5
  "homepage": "https://github.com/angular/angular-cli",
6
6
  "keywords": [
@@ -15,8 +15,8 @@
15
15
  ],
16
16
  "schematics": "./collection.json",
17
17
  "dependencies": {
18
- "@angular-devkit/core": "12.1.0-next.6",
19
- "@angular-devkit/schematics": "12.1.0-next.6",
18
+ "@angular-devkit/core": "12.1.3",
19
+ "@angular-devkit/schematics": "12.1.3",
20
20
  "jsonc-parser": "3.0.0"
21
21
  },
22
22
  "repository": {
@@ -6,11 +6,11 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  export declare const latestVersions: {
9
- Angular: string;
10
9
  RxJs: string;
11
10
  ZoneJs: string;
12
11
  TypeScript: string;
13
12
  TsLib: string;
13
+ Angular: string;
14
14
  DevkitBuildAngular: string;
15
15
  ngPackagr: string;
16
16
  };
@@ -8,16 +8,28 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.latestVersions = void 0;
11
+ /** Retrieve the minor version for the provided version string. */
12
+ function getEarliestMinorVersion(version) {
13
+ const versionMatching = version.match(/^(\d+)\.(\d+)\.*/);
14
+ if (versionMatching === null) {
15
+ throw Error('Unable to determine the minor version for the provided version');
16
+ }
17
+ const [_, major, minor] = versionMatching;
18
+ return `${major}.${minor}.0`;
19
+ }
11
20
  exports.latestVersions = {
12
21
  // These versions should be kept up to date with latest Angular peer dependencies.
13
- Angular: '~12.1.0-next.6',
14
22
  RxJs: '~6.6.0',
15
23
  ZoneJs: '~0.11.4',
16
24
  TypeScript: '~4.3.2',
17
25
  TsLib: '^2.2.0',
26
+ // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current
27
+ // Angular CLI minor version with earliest prerelease (appended with `-`) will match the latest
28
+ // Angular Framework minor.
29
+ Angular: `~${getEarliestMinorVersion(require('../package.json')['version'])}-`,
18
30
  // Since @angular-devkit/build-angular and @schematics/angular are always
19
31
  // published together from the same monorepo, and they are both
20
32
  // non-experimental, they will always have the same version.
21
33
  DevkitBuildAngular: '~' + require('../package.json')['version'],
22
- ngPackagr: '^12.0.0-next.8',
34
+ ngPackagr: '^12.1.0',
23
35
  };
@@ -25,14 +25,14 @@
25
25
  "devDependencies": {
26
26
  "@angular/cli": "<%= '~' + version %>",
27
27
  "@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %>
28
- "@types/jasmine": "~3.6.0",<% } %>
28
+ "@types/jasmine": "~3.8.0",<% } %>
29
29
  "@types/node": "^12.11.1",<% if (!minimal) { %>
30
- "jasmine-core": "~3.7.0",
30
+ "jasmine-core": "~3.8.0",
31
31
  "karma": "~6.3.0",
32
32
  "karma-chrome-launcher": "~3.1.0",
33
33
  "karma-coverage": "~2.0.3",
34
34
  "karma-jasmine": "~4.0.0",
35
- "karma-jasmine-html-reporter": "^1.5.0",<% } %>
35
+ "karma-jasmine-html-reporter": "~1.7.0",<% } %>
36
36
  "typescript": "<%= latestVersions.TypeScript %>"
37
37
  }
38
38
  }