@schematics/angular 21.0.0-next.8 → 21.0.0-rc.0

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.
Files changed (39) hide show
  1. package/application/files/common-files/tsconfig.spec.json.template +1 -1
  2. package/application/files/standalone-files/src/app/app__suffix__.ts.template +2 -2
  3. package/application/index.js +60 -13
  4. package/application/index.js.map +1 -1
  5. package/application/schema.d.ts +11 -0
  6. package/application/schema.js +9 -1
  7. package/application/schema.js.map +1 -1
  8. package/application/schema.json +6 -0
  9. package/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +6 -6
  10. package/config/index.js +1 -1
  11. package/directive/files/__name@dasherize__.__type@dasherize__.ts.template +2 -2
  12. package/guard/implements-files/__name@dasherize____typeSeparator__guard.ts.template +1 -1
  13. package/library/files/tsconfig.spec.json.template +1 -1
  14. package/library/index.js +17 -8
  15. package/library/index.js.map +1 -1
  16. package/ng-new/index.js +8 -0
  17. package/ng-new/index.js.map +1 -1
  18. package/ng-new/schema.d.ts +11 -0
  19. package/ng-new/schema.js +9 -1
  20. package/ng-new/schema.js.map +1 -1
  21. package/ng-new/schema.json +6 -0
  22. package/package.json +4 -4
  23. package/pipe/files/__name@dasherize____typeSeparator__pipe.ts.template +2 -2
  24. package/refactor/jasmine-vitest/test-file-transformer.js +31 -3
  25. package/refactor/jasmine-vitest/test-file-transformer.js.map +1 -1
  26. package/refactor/jasmine-vitest/transformers/jasmine-type.d.ts +16 -0
  27. package/refactor/jasmine-vitest/transformers/jasmine-type.js +64 -0
  28. package/refactor/jasmine-vitest/transformers/jasmine-type.js.map +1 -0
  29. package/refactor/jasmine-vitest/utils/ast-helpers.d.ts +2 -0
  30. package/refactor/jasmine-vitest/utils/ast-helpers.js +14 -0
  31. package/refactor/jasmine-vitest/utils/ast-helpers.js.map +1 -1
  32. package/refactor/jasmine-vitest/utils/refactor-context.d.ts +2 -0
  33. package/service/files/__name@dasherize__.__type@dasherize__.ts.template +1 -1
  34. package/utility/latest-versions/package.json +2 -0
  35. package/utility/latest-versions.js +3 -3
  36. package/utility/workspace-models.d.ts +1 -0
  37. package/utility/workspace-models.js +1 -0
  38. package/utility/workspace-models.js.map +1 -1
  39. package/workspace/files/package.json.template +1 -8
@@ -5,7 +5,7 @@
5
5
  "compilerOptions": {
6
6
  "outDir": "<%= relativePathToWorkspaceRoot %>/out-tsc/spec",
7
7
  "types": [
8
- "jasmine"
8
+ "<%= testRunner === 'vitest' ? 'vitest/globals' : 'jasmine' %>"
9
9
  ]
10
10
  },
11
11
  "include": [
@@ -11,9 +11,9 @@ import { RouterOutlet } from '@angular/router';<% } %>
11
11
  %><router-outlet /><%
12
12
  } %>
13
13
  `,<% } else { %>
14
- templateUrl: './app.html',<% } if(inlineStyle) { %>
14
+ templateUrl: './app<%= suffix %>.html',<% } if(inlineStyle) { %>
15
15
  styles: [],<% } else { %>
16
- styleUrl: './app.<%= style %>'<% } %>
16
+ styleUrl: './app<%= suffix %>.<%= style %>'<% } %>
17
17
  })
18
18
  export class App {
19
19
  protected readonly title = signal('<%= name %>');
@@ -101,6 +101,7 @@ function default_1(options) {
101
101
  appName: options.name,
102
102
  folderName,
103
103
  suffix,
104
+ testRunner: options.testRunner,
104
105
  }),
105
106
  (0, schematics_1.move)(appDir),
106
107
  ]), schematics_1.MergeStrategy.Overwrite),
@@ -140,6 +141,50 @@ function addDependenciesToPackageJson(options) {
140
141
  install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
141
142
  }));
142
143
  }
144
+ if (!options.skipTests) {
145
+ if (options.testRunner === 'vitest') {
146
+ rules.push((0, dependency_1.addDependency)('vitest', latest_versions_1.latestVersions['vitest'], {
147
+ type: dependency_1.DependencyType.Dev,
148
+ existing: dependency_1.ExistingBehavior.Skip,
149
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
150
+ }), (0, dependency_1.addDependency)('jsdom', latest_versions_1.latestVersions['jsdom'], {
151
+ type: dependency_1.DependencyType.Dev,
152
+ existing: dependency_1.ExistingBehavior.Skip,
153
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
154
+ }));
155
+ }
156
+ else {
157
+ rules.push((0, dependency_1.addDependency)('karma', latest_versions_1.latestVersions['karma'], {
158
+ type: dependency_1.DependencyType.Dev,
159
+ existing: dependency_1.ExistingBehavior.Skip,
160
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
161
+ }), (0, dependency_1.addDependency)('karma-chrome-launcher', latest_versions_1.latestVersions['karma-chrome-launcher'], {
162
+ type: dependency_1.DependencyType.Dev,
163
+ existing: dependency_1.ExistingBehavior.Skip,
164
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
165
+ }), (0, dependency_1.addDependency)('karma-coverage', latest_versions_1.latestVersions['karma-coverage'], {
166
+ type: dependency_1.DependencyType.Dev,
167
+ existing: dependency_1.ExistingBehavior.Skip,
168
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
169
+ }), (0, dependency_1.addDependency)('karma-jasmine', latest_versions_1.latestVersions['karma-jasmine'], {
170
+ type: dependency_1.DependencyType.Dev,
171
+ existing: dependency_1.ExistingBehavior.Skip,
172
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
173
+ }), (0, dependency_1.addDependency)('karma-jasmine-html-reporter', latest_versions_1.latestVersions['karma-jasmine-html-reporter'], {
174
+ type: dependency_1.DependencyType.Dev,
175
+ existing: dependency_1.ExistingBehavior.Skip,
176
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
177
+ }), (0, dependency_1.addDependency)('jasmine-core', latest_versions_1.latestVersions['jasmine-core'], {
178
+ type: dependency_1.DependencyType.Dev,
179
+ existing: dependency_1.ExistingBehavior.Skip,
180
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
181
+ }), (0, dependency_1.addDependency)('@types/jasmine', latest_versions_1.latestVersions['@types/jasmine'], {
182
+ type: dependency_1.DependencyType.Dev,
183
+ existing: dependency_1.ExistingBehavior.Skip,
184
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
185
+ }));
186
+ }
187
+ }
143
188
  return (0, schematics_1.chain)(rules);
144
189
  }
145
190
  function addAppToWorkspaceFile(options, appDir) {
@@ -271,21 +316,23 @@ function addAppToWorkspaceFile(options, appDir) {
271
316
  },
272
317
  },
273
318
  },
274
- 'extract-i18n': {
275
- builder: workspace_models_1.Builders.BuildExtractI18n,
276
- },
277
- test: options.minimal
319
+ test: options.skipTests || options.minimal
278
320
  ? undefined
279
- : {
280
- builder: workspace_models_1.Builders.BuildKarma,
281
- options: {
282
- polyfills: options.zoneless ? undefined : ['zone.js', 'zone.js/testing'],
283
- tsConfig: `${projectRoot}tsconfig.spec.json`,
284
- inlineStyleLanguage,
285
- assets: [{ 'glob': '**/*', 'input': `${projectRoot}public` }],
286
- styles: [`${sourceRoot}/styles.${options.style}`],
321
+ : options.testRunner === 'vitest'
322
+ ? {
323
+ builder: workspace_models_1.Builders.BuildUnitTest,
324
+ options: {},
325
+ }
326
+ : {
327
+ builder: workspace_models_1.Builders.BuildKarma,
328
+ options: {
329
+ polyfills: options.zoneless ? undefined : ['zone.js', 'zone.js/testing'],
330
+ tsConfig: `${projectRoot}tsconfig.spec.json`,
331
+ inlineStyleLanguage,
332
+ assets: [{ 'glob': '**/*', 'input': `${projectRoot}public` }],
333
+ styles: [`${sourceRoot}/styles.${options.style}`],
334
+ },
287
335
  },
288
- },
289
336
  },
290
337
  };
291
338
  return (0, workspace_1.updateWorkspace)((workspace) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,10 @@ export type Schema = {
83
83
  * The type of stylesheet files to be created for components in the application.
84
84
  */
85
85
  style?: Style;
86
+ /**
87
+ * The unit testing runner to use.
88
+ */
89
+ testRunner?: TestRunner;
86
90
  /**
87
91
  * Sets the view encapsulation mode for the application's components. This determines how
88
92
  * component styles are scoped and applied.
@@ -113,6 +117,13 @@ export declare enum Style {
113
117
  Scss = "scss",
114
118
  Tailwind = "tailwind"
115
119
  }
120
+ /**
121
+ * The unit testing runner to use.
122
+ */
123
+ export declare enum TestRunner {
124
+ Karma = "karma",
125
+ Vitest = "vitest"
126
+ }
116
127
  /**
117
128
  * Sets the view encapsulation mode for the application's components. This determines how
118
129
  * component styles are scoped and applied.
@@ -2,7 +2,7 @@
2
2
  // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
3
  // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ViewEncapsulation = exports.Style = exports.FileNameStyleGuide = void 0;
5
+ exports.ViewEncapsulation = exports.TestRunner = exports.Style = exports.FileNameStyleGuide = void 0;
6
6
  /**
7
7
  * The file naming convention to use for generated files. The '2025' style guide (default)
8
8
  * uses a concise format (e.g., `app.ts` for the root component), while the '2016' style
@@ -25,6 +25,14 @@ var Style;
25
25
  Style["Scss"] = "scss";
26
26
  Style["Tailwind"] = "tailwind";
27
27
  })(Style || (exports.Style = Style = {}));
28
+ /**
29
+ * The unit testing runner to use.
30
+ */
31
+ var TestRunner;
32
+ (function (TestRunner) {
33
+ TestRunner["Karma"] = "karma";
34
+ TestRunner["Vitest"] = "vitest";
35
+ })(TestRunner || (exports.TestRunner = TestRunner = {}));
28
36
  /**
29
37
  * Sets the view encapsulation mode for the application's components. This determines how
30
38
  * component styles are scoped and applied.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAkGpF;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,KAMX;AAND,WAAY,KAAK;IACb,oBAAW,CAAA;IACX,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,8BAAqB,CAAA;AACzB,CAAC,EANW,KAAK,qBAAL,KAAK,QAMhB;AAED;;;GAGG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAsGpF;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,KAMX;AAND,WAAY,KAAK;IACb,oBAAW,CAAA;IACX,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,8BAAqB,CAAA;AACzB,CAAC,EANW,KAAK,qBAAL,KAAK,QAMhB;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;GAGG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
@@ -89,6 +89,12 @@
89
89
  "default": false,
90
90
  "alias": "S"
91
91
  },
92
+ "testRunner": {
93
+ "description": "The unit testing runner to use.",
94
+ "type": "string",
95
+ "enum": ["vitest", "karma"],
96
+ "default": "vitest"
97
+ },
92
98
  "skipPackageJson": {
93
99
  "type": "boolean",
94
100
  "default": false,
@@ -8,16 +8,16 @@ import { <% if(changeDetection !== 'Default') { %>ChangeDetectionStrategy, <% }%
8
8
  <p>
9
9
  <%= dasherize(name) %> works!
10
10
  </p>
11
- `<% } else { %>
12
- templateUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %><%= ngext %>.html'<% } if(inlineStyle) { %>,
11
+ `,<% } else { %>
12
+ templateUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %><%= ngext %>.html',<% } if(inlineStyle) { %>
13
13
  styles: `<% if(displayBlock){ %>
14
14
  :host {
15
15
  display: block;
16
16
  }
17
- <% } %>`<% } else if (style !== 'none') { %>,
18
- styleUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.<%= style %>'<% } %><% if(!!viewEncapsulation) { %>,
19
- encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>,
20
- changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %>
17
+ <% } %>`,<% } else if (style !== 'none') { %>
18
+ styleUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.<%= style %>',<% } %><% if(!!viewEncapsulation) { %>
19
+ encapsulation: ViewEncapsulation.<%= viewEncapsulation %>,<% } if (changeDetection !== 'Default') { %>
20
+ changeDetection: ChangeDetectionStrategy.<%= changeDetection %>,<% } %>
21
21
  })
22
22
  export <% if(exportDefault) {%>default <%}%>class <%= classifiedName %> {
23
23
 
package/config/index.js CHANGED
@@ -28,7 +28,7 @@ async function addBrowserslistConfig(projectRoot) {
28
28
  return (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [
29
29
  (0, schematics_1.filter)((p) => p.endsWith('.browserslistrc.template')),
30
30
  // The below is replaced by bazel `npm_package`.
31
- (0, schematics_1.applyTemplates)({ baselineDate: '2025-08-20' }),
31
+ (0, schematics_1.applyTemplates)({ baselineDate: '2025-10-20' }),
32
32
  (0, schematics_1.move)(projectRoot),
33
33
  ]));
34
34
  }
@@ -1,8 +1,8 @@
1
1
  import { Directive } from '@angular/core';
2
2
 
3
3
  @Directive({
4
- selector: '[<%= selector %>]'<% if(!standalone) {%>,
5
- standalone: false<%}%>
4
+ selector: '[<%= selector %>]',<% if(!standalone) {%>
5
+ standalone: false,<%}%>
6
6
  })
7
7
  export class <%= classifiedName %> {
8
8
 
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import { <%= routerImports %> } from '@angular/router';
3
3
 
4
4
  @Injectable({
5
- providedIn: 'root'
5
+ providedIn: 'root',
6
6
  })
7
7
  export class <%= classify(name) %>Guard implements <%= implementations %> {
8
8
  <% if (implements.includes('CanActivate')) { %>canActivate(
@@ -5,7 +5,7 @@
5
5
  "compilerOptions": {
6
6
  "outDir": "<%= relativePathToWorkspaceRoot %>/out-tsc/spec",
7
7
  "types": [
8
- "jasmine"
8
+ "<%= testTypesPackage %>"
9
9
  ]
10
10
  },
11
11
  "include": [
package/library/index.js CHANGED
@@ -59,7 +59,7 @@ function addDependenciesToPackageJson(skipInstall) {
59
59
  }),
60
60
  ]);
61
61
  }
62
- function addLibToWorkspaceFile(options, projectRoot, projectName, hasZoneDependency) {
62
+ function addLibToWorkspaceFile(options, projectRoot, projectName, hasZoneDependency, hasVitest) {
63
63
  return (0, workspace_1.updateWorkspace)((workspace) => {
64
64
  workspace.projects.add({
65
65
  name: projectName,
@@ -80,13 +80,20 @@ function addLibToWorkspaceFile(options, projectRoot, projectName, hasZoneDepende
80
80
  },
81
81
  },
82
82
  },
83
- test: {
84
- builder: workspace_models_1.Builders.BuildKarma,
85
- options: {
86
- tsConfig: `${projectRoot}/tsconfig.spec.json`,
87
- polyfills: hasZoneDependency ? ['zone.js', 'zone.js/testing'] : undefined,
83
+ test: hasVitest
84
+ ? {
85
+ builder: workspace_models_1.Builders.BuildUnitTest,
86
+ options: {
87
+ tsConfig: `${projectRoot}/tsconfig.spec.json`,
88
+ },
89
+ }
90
+ : {
91
+ builder: workspace_models_1.Builders.BuildKarma,
92
+ options: {
93
+ tsConfig: `${projectRoot}/tsconfig.spec.json`,
94
+ polyfills: hasZoneDependency ? ['zone.js', 'zone.js/testing'] : undefined,
95
+ },
88
96
  },
89
- },
90
97
  },
91
98
  });
92
99
  });
@@ -111,6 +118,7 @@ function default_1(options) {
111
118
  : (0, posix_1.join)(newProjectRoot, folderName);
112
119
  const distRoot = `dist/${folderName}`;
113
120
  const sourceDir = `${libDir}/src/lib`;
121
+ const hasVitest = (0, dependency_1.getDependency)(host, 'vitest') !== null;
114
122
  const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [
115
123
  (0, schematics_1.applyTemplates)({
116
124
  ...schematics_1.strings,
@@ -123,13 +131,14 @@ function default_1(options) {
123
131
  angularLatestVersion: latest_versions_1.latestVersions.Angular.replace(/~|\^/, ''),
124
132
  tsLibLatestVersion: latest_versions_1.latestVersions['tslib'].replace(/~|\^/, ''),
125
133
  folderName,
134
+ testTypesPackage: hasVitest ? 'vitest/globals' : 'jasmine',
126
135
  }),
127
136
  (0, schematics_1.move)(libDir),
128
137
  ]);
129
138
  const hasZoneDependency = (0, dependency_1.getDependency)(host, 'zone.js') !== null;
130
139
  return (0, schematics_1.chain)([
131
140
  (0, schematics_1.mergeWith)(templateSource),
132
- addLibToWorkspaceFile(options, libDir, packageName, hasZoneDependency),
141
+ addLibToWorkspaceFile(options, libDir, packageName, hasZoneDependency, hasVitest),
133
142
  options.skipPackageJson ? (0, schematics_1.noop)() : addDependenciesToPackageJson(!!options.skipInstall),
134
143
  options.skipTsConfig ? (0, schematics_1.noop)() : updateTsConfig(packageName, './' + distRoot),
135
144
  options.skipTsConfig
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwHH,4BAqFC;AA3MD,2DAYoC;AACpC,2CAAuC;AACvC,sDAM+B;AAC/B,oDAAgD;AAChD,gEAA4D;AAC5D,4CAA+D;AAC/D,oDAAqE;AACrE,kEAAoE;AAGpE,MAAM,wBAAwB,GAAG;IAC/B,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,gCAAc,CAAC,OAAO,EAAE;IAClE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,gCAAc,CAAC,YAAY,EAAE;IAChE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,gCAAc,CAAC,SAAS,EAAE;IACzD,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,gCAAc,CAAC,YAAY,CAAC,EAAE;CAC9D,CAAC;AAEF,SAAS,cAAc,CAAC,WAAmB,EAAE,GAAG,KAAe;IAC7D,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,oBAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAG,KAAe;IAC/C,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAI,oBAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC7F,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,WAAoB;IACxD,OAAO,IAAA,kBAAK,EAAC;QACX,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7C,IAAA,0BAAa,EAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE;YACjD,IAAI,EAAE,2BAAc,CAAC,GAAG;YACxB,QAAQ,EAAE,6BAAgB,CAAC,IAAI;YAC/B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI;SACnE,CAAC,CACH;QACD,IAAA,0BAAa,EAAC,OAAO,EAAE,gCAAc,CAAC,OAAO,CAAC,EAAE;YAC9C,IAAI,EAAE,2BAAc,CAAC,OAAO;YAC5B,QAAQ,EAAE,6BAAgB,CAAC,IAAI;YAC/B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI;SACnE,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAuB,EACvB,WAAmB,EACnB,WAAmB,EACnB,iBAA0B;IAE1B,OAAO,IAAA,2BAAe,EAAC,CAAC,SAAS,EAAE,EAAE;QACnC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,GAAG,WAAW,MAAM;YAChC,WAAW,EAAE,8BAAW,CAAC,OAAO;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,OAAO,EAAE,2BAAQ,CAAC,cAAc;oBAChC,oBAAoB,EAAE,YAAY;oBAClC,cAAc,EAAE;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE,GAAG,WAAW,yBAAyB;yBAClD;wBACD,WAAW,EAAE;4BACX,QAAQ,EAAE,GAAG,WAAW,oBAAoB;yBAC7C;qBACF;iBACF;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,2BAAQ,CAAC,UAAU;oBAC5B,OAAO,EAAE;wBACP,QAAQ,EAAE,GAAG,WAAW,qBAAqB;wBAC7C,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;qBAC1E;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mBAAyB,OAAuB;IAC9C,OAAO,KAAK,EAAE,IAAU,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,wEAAwE;QACxE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAI,SAAS,CAAC,UAAU,CAAC,cAAqC,IAAI,EAAE,CAAC;QAEzF,IAAI,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAClF,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,UAAU,GAAG,oBAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GACV,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,CAAC,IAAA,YAAI,EAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,IAAA,YAAI,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,QAAQ,UAAU,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,MAAM,UAAU,CAAC;QAEtC,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE;YAC3C,IAAA,2BAAc,EAAC;gBACb,GAAG,oBAAO;gBACV,GAAG,OAAO;gBACV,WAAW;gBACX,MAAM;gBACN,QAAQ;gBACR,2BAA2B,EAAE,IAAA,mCAA2B,EAAC,MAAM,CAAC;gBAChE,MAAM;gBACN,oBAAoB,EAAE,gCAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChE,kBAAkB,EAAE,gCAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/D,UAAU;aACX,CAAC;YACF,IAAA,iBAAI,EAAC,MAAM,CAAC;SACb,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAA,0BAAa,EAAC,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;QAElE,OAAO,IAAA,kBAAK,EAAC;YACX,IAAA,sBAAS,EAAC,cAAc,CAAC;YACzB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC;YACtE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;YACtF,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,GAAG,QAAQ,CAAC;YAC5E,OAAO,CAAC,YAAY;gBAClB,CAAC,CAAC,IAAA,iBAAI,GAAE;gBACR,CAAC,CAAC,qBAAqB,CACnB,IAAI,GAAG,IAAA,YAAI,EAAC,MAAM,EAAE,mBAAmB,CAAC,EACxC,IAAI,GAAG,IAAA,YAAI,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAC1C;YACL,OAAO,CAAC,UAAU;gBAChB,CAAC,CAAC,IAAA,iBAAI,GAAE;gBACR,CAAC,CAAC,IAAA,sBAAS,EAAC,QAAQ,EAAE;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,YAAY,EAAE,KAAK;oBACnB,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW;oBACpB,yHAAyH;oBACzH,mDAAmD;oBACnD,aAAa,EAAE,GAAG;iBACnB,CAAC;YACN,IAAA,sBAAS,EAAC,WAAW,EAAE;gBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE;gBACrC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,WAAW;gBACpB,uFAAuF;gBACvF,yFAAyF;gBACzF,0CAA0C;gBAC1C,IAAI,EAAE,EAAE;aACT,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/ng-new/index.js CHANGED
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.default = default_1;
11
11
  const schematics_1 = require("@angular-devkit/schematics");
12
12
  const tasks_1 = require("@angular-devkit/schematics/tasks");
13
+ const json_file_1 = require("../utility/json-file");
13
14
  function default_1(options) {
14
15
  if (!options.directory) {
15
16
  // If scoped project (i.e. "@foo/bar"), convert directory to "foo/bar".
@@ -33,6 +34,7 @@ function default_1(options) {
33
34
  routing: options.routing,
34
35
  style: options.style,
35
36
  skipTests: options.skipTests,
37
+ testRunner: options.testRunner,
36
38
  skipPackageJson: false,
37
39
  // always 'skipInstall' here, so that we do it after the move
38
40
  skipInstall: true,
@@ -50,6 +52,12 @@ function default_1(options) {
50
52
  (0, schematics_1.schematic)('ai-config', {
51
53
  tool: options.aiConfig?.length ? options.aiConfig : undefined,
52
54
  }),
55
+ (tree) => {
56
+ if (options.testRunner === 'karma') {
57
+ const file = new json_file_1.JSONFile(tree, 'angular.json');
58
+ file.modify(['schematics', '@schematics/angular:application', 'testRunner'], 'karma');
59
+ }
60
+ },
53
61
  (0, schematics_1.move)(options.directory),
54
62
  ])),
55
63
  (_host, context) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAsBH,4BAmEC;AAvFD,2DAWoC;AACpC,4DAG0C;AAK1C,mBAAyB,OAAqB;IAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,uEAAuE;QACvE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1F,CAAC;IAED,MAAM,gBAAgB,GAAqB;QACzC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;IACF,MAAM,kBAAkB,GAAuB;QAC7C,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,eAAe,EAAE,KAAK;QACtB,6DAA6D;QAC7D,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC;IAEF,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,kBAAK,GAAE,EAAE;YACb,IAAA,sBAAS,EAAC,WAAW,EAAE,gBAAgB,CAAC;YACxC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAA,sBAAS,EAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,iBAAI;YAC/E,IAAA,sBAAS,EAAC,WAAW,EAAE;gBACrB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aAC9D,CAAC;YACF,IAAA,iBAAI,EAAC,OAAO,CAAC,SAAS,CAAC;SACxB,CAAC,CACH;QACD,CAAC,KAAW,EAAE,OAAyB,EAAE,EAAE;YACzC,IAAI,WAAW,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,WAAW,GAAG,OAAO,CAAC,OAAO,CAC3B,IAAI,8BAAsB,CAAC;oBACzB,gBAAgB,EAAE,OAAO,CAAC,SAAS;oBACnC,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,MAAM,GACV,OAAO,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAEnF,OAAO,CAAC,OAAO,CACb,IAAI,iCAAyB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EACxD,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,10 @@ export type Schema = {
107
107
  * The type of stylesheet files to be created for components in the initial project.
108
108
  */
109
109
  style?: Style;
110
+ /**
111
+ * The unit testing runner to use.
112
+ */
113
+ testRunner?: TestRunner;
110
114
  /**
111
115
  * The version of the Angular CLI to use.
112
116
  */
@@ -172,6 +176,13 @@ export declare enum Style {
172
176
  Scss = "scss",
173
177
  Tailwind = "tailwind"
174
178
  }
179
+ /**
180
+ * The unit testing runner to use.
181
+ */
182
+ export declare enum TestRunner {
183
+ Karma = "karma",
184
+ Vitest = "vitest"
185
+ }
175
186
  /**
176
187
  * Sets the view encapsulation mode for components in the initial project. This determines
177
188
  * how component styles are scoped and applied. Options include: `Emulated` (default, styles
package/ng-new/schema.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
3
  // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ViewEncapsulation = exports.Style = exports.PackageManager = exports.FileNameStyleGuide = exports.AiConfig = void 0;
5
+ exports.ViewEncapsulation = exports.TestRunner = exports.Style = exports.PackageManager = exports.FileNameStyleGuide = exports.AiConfig = void 0;
6
6
  var AiConfig;
7
7
  (function (AiConfig) {
8
8
  AiConfig["Agents"] = "agents";
@@ -46,6 +46,14 @@ var Style;
46
46
  Style["Scss"] = "scss";
47
47
  Style["Tailwind"] = "tailwind";
48
48
  })(Style || (exports.Style = Style = {}));
49
+ /**
50
+ * The unit testing runner to use.
51
+ */
52
+ var TestRunner;
53
+ (function (TestRunner) {
54
+ TestRunner["Karma"] = "karma";
55
+ TestRunner["Vitest"] = "vitest";
56
+ })(TestRunner || (exports.TestRunner = TestRunner = {}));
49
57
  /**
50
58
  * Sets the view encapsulation mode for components in the initial project. This determines
51
59
  * how component styles are scoped and applied. Options include: `Emulated` (default, styles
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAgIpF,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACzB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB;AAcD;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED;;GAEG;AACH,IAAY,KAMX;AAND,WAAY,KAAK;IACb,oBAAW,CAAA;IACX,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,8BAAqB,CAAA;AACzB,CAAC,EANW,KAAK,qBAAL,KAAK,QAMhB;AAED;;;;;GAKG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAoIpF,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACzB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB;AAcD;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED;;GAEG;AACH,IAAY,KAMX;AAND,WAAY,KAAK;IACb,oBAAW,CAAA;IACX,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,8BAAqB,CAAA;AACzB,CAAC,EANW,KAAK,qBAAL,KAAK,QAMhB;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;;;GAKG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
@@ -108,6 +108,12 @@
108
108
  "default": false,
109
109
  "alias": "S"
110
110
  },
111
+ "testRunner": {
112
+ "description": "The unit testing runner to use.",
113
+ "type": "string",
114
+ "enum": ["vitest", "karma"],
115
+ "default": "vitest"
116
+ },
111
117
  "createApplication": {
112
118
  "description": "Create a new initial application project in the new workspace. When false, creates an empty workspace with no initial application. You can then use the `ng generate application` command to create applications in the `projects` directory.",
113
119
  "type": "boolean",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schematics/angular",
3
- "version": "21.0.0-next.8",
3
+ "version": "21.0.0-rc.0",
4
4
  "description": "Schematics specific to Angular",
5
5
  "homepage": "https://github.com/angular/angular-cli",
6
6
  "keywords": [
@@ -22,15 +22,15 @@
22
22
  },
23
23
  "schematics": "./collection.json",
24
24
  "dependencies": {
25
- "@angular-devkit/core": "21.0.0-next.8",
26
- "@angular-devkit/schematics": "21.0.0-next.8",
25
+ "@angular-devkit/core": "21.0.0-rc.0",
26
+ "@angular-devkit/schematics": "21.0.0-rc.0",
27
27
  "jsonc-parser": "3.3.1"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
31
31
  "url": "https://github.com/angular/angular-cli.git"
32
32
  },
33
- "packageManager": "pnpm@10.18.3",
33
+ "packageManager": "pnpm@10.19.0",
34
34
  "engines": {
35
35
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
36
36
  "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
@@ -1,8 +1,8 @@
1
1
  import { Pipe, PipeTransform } from '@angular/core';
2
2
 
3
3
  @Pipe({
4
- name: '<%= camelize(name) %>'<% if(!standalone) {%>,
5
- standalone: false<%}%>
4
+ name: '<%= camelize(name) %>',<% if(!standalone) {%>
5
+ standalone: false,<%}%>
6
6
  })
7
7
  export class <%= classify(name) %>Pipe implements PipeTransform {
8
8
 
@@ -16,6 +16,19 @@ const jasmine_lifecycle_1 = require("./transformers/jasmine-lifecycle");
16
16
  const jasmine_matcher_1 = require("./transformers/jasmine-matcher");
17
17
  const jasmine_misc_1 = require("./transformers/jasmine-misc");
18
18
  const jasmine_spy_1 = require("./transformers/jasmine-spy");
19
+ const jasmine_type_1 = require("./transformers/jasmine-type");
20
+ const ast_helpers_1 = require("./utils/ast-helpers");
21
+ const BLANK_LINE_PLACEHOLDER = '// __PRESERVE_BLANK_LINE__';
22
+ function preserveBlankLines(content) {
23
+ return content
24
+ .split('\n')
25
+ .map((line) => (line.trim() === '' ? BLANK_LINE_PLACEHOLDER : line))
26
+ .join('\n');
27
+ }
28
+ function restoreBlankLines(content) {
29
+ const regex = new RegExp(`^\\s*${BLANK_LINE_PLACEHOLDER.replace(/\//g, '\\/')}\\s*$`, 'gm');
30
+ return content.replace(regex, '');
31
+ }
19
32
  /**
20
33
  * Transforms a string of Jasmine test code to Vitest test code.
21
34
  * This is the main entry point for the transformation.
@@ -24,12 +37,15 @@ const jasmine_spy_1 = require("./transformers/jasmine-spy");
24
37
  * @returns The transformed code.
25
38
  */
26
39
  function transformJasmineToVitest(filePath, content, reporter) {
27
- const sourceFile = typescript_1.default.createSourceFile(filePath, content, typescript_1.default.ScriptTarget.Latest, true, typescript_1.default.ScriptKind.TS);
40
+ const contentWithPlaceholders = preserveBlankLines(content);
41
+ const sourceFile = typescript_1.default.createSourceFile(filePath, contentWithPlaceholders, typescript_1.default.ScriptTarget.Latest, true, typescript_1.default.ScriptKind.TS);
42
+ const pendingVitestImports = new Set();
28
43
  const transformer = (context) => {
29
44
  const refactorCtx = {
30
45
  sourceFile,
31
46
  reporter,
32
47
  tsContext: context,
48
+ pendingVitestImports,
33
49
  };
34
50
  const visitor = (node) => {
35
51
  let transformedNode = node;
@@ -93,6 +109,9 @@ function transformJasmineToVitest(filePath, content, reporter) {
93
109
  }
94
110
  }
95
111
  }
112
+ else if (typescript_1.default.isQualifiedName(transformedNode) || typescript_1.default.isTypeReferenceNode(transformedNode)) {
113
+ transformedNode = (0, jasmine_type_1.transformJasmineTypes)(transformedNode, refactorCtx);
114
+ }
96
115
  // Visit the children of the node to ensure they are transformed
97
116
  if (Array.isArray(transformedNode)) {
98
117
  return transformedNode.map((node) => typescript_1.default.visitEachChild(node, visitor, context));
@@ -104,10 +123,19 @@ function transformJasmineToVitest(filePath, content, reporter) {
104
123
  return (node) => typescript_1.default.visitEachChild(node, visitor, context);
105
124
  };
106
125
  const result = typescript_1.default.transform(sourceFile, [transformer]);
107
- if (result.transformed[0] === sourceFile && !reporter.hasTodos) {
126
+ let transformedSourceFile = result.transformed[0];
127
+ if (transformedSourceFile === sourceFile && !reporter.hasTodos && !pendingVitestImports.size) {
108
128
  return content;
109
129
  }
130
+ const vitestImport = (0, ast_helpers_1.getVitestAutoImports)(pendingVitestImports);
131
+ if (vitestImport) {
132
+ transformedSourceFile = typescript_1.default.factory.updateSourceFile(transformedSourceFile, [
133
+ vitestImport,
134
+ ...transformedSourceFile.statements,
135
+ ]);
136
+ }
110
137
  const printer = typescript_1.default.createPrinter();
111
- return printer.printFile(result.transformed[0]);
138
+ const transformedContentWithPlaceholders = printer.printFile(transformedSourceFile);
139
+ return restoreBlankLines(transformedContentWithPlaceholders);
112
140
  }
113
141
  //# sourceMappingURL=test-file-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-file-transformer.js","sourceRoot":"","sources":["test-file-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-file-transformer.js","sourceRoot":"","sources":["test-file-transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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.dev/license
7
+ */
8
+ /**
9
+ * @fileoverview This file contains a transformer that migrates Jasmine type definitions to
10
+ * their Vitest equivalents. It handles the conversion of types like `jasmine.Spy` and
11
+ * `jasmine.SpyObj` to Vitest's `Mock` and `MockedObject` types, and ensures that the
12
+ * necessary `vitest` imports are added to the file.
13
+ */
14
+ import ts from '../../../third_party/github.com/Microsoft/TypeScript/lib/typescript';
15
+ import { RefactorContext } from '../utils/refactor-context';
16
+ export declare function transformJasmineTypes(node: ts.Node, { sourceFile, reporter, pendingVitestImports }: RefactorContext): ts.Node;
@@ -0,0 +1,64 @@
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.dev/license
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.transformJasmineTypes = transformJasmineTypes;
14
+ /**
15
+ * @fileoverview This file contains a transformer that migrates Jasmine type definitions to
16
+ * their Vitest equivalents. It handles the conversion of types like `jasmine.Spy` and
17
+ * `jasmine.SpyObj` to Vitest's `Mock` and `MockedObject` types, and ensures that the
18
+ * necessary `vitest` imports are added to the file.
19
+ */
20
+ const typescript_1 = __importDefault(require("../../../third_party/github.com/Microsoft/TypeScript/lib/typescript"));
21
+ const ast_helpers_1 = require("../utils/ast-helpers");
22
+ function transformJasmineTypes(node, { sourceFile, reporter, pendingVitestImports }) {
23
+ const typeNameNode = typescript_1.default.isTypeReferenceNode(node) ? node.typeName : node;
24
+ if (!typescript_1.default.isQualifiedName(typeNameNode) ||
25
+ !typescript_1.default.isIdentifier(typeNameNode.left) ||
26
+ typeNameNode.left.text !== 'jasmine') {
27
+ return node;
28
+ }
29
+ const jasmineTypeName = typeNameNode.right.text;
30
+ switch (jasmineTypeName) {
31
+ case 'Spy': {
32
+ const vitestTypeName = 'Mock';
33
+ reporter.reportTransformation(sourceFile, node, `Transformed type \`jasmine.Spy\` to \`${vitestTypeName}\`.`);
34
+ (0, ast_helpers_1.addVitestAutoImport)(pendingVitestImports, vitestTypeName);
35
+ return typescript_1.default.factory.createIdentifier(vitestTypeName);
36
+ }
37
+ case 'SpyObj': {
38
+ const vitestTypeName = 'MockedObject';
39
+ reporter.reportTransformation(sourceFile, node, `Transformed type \`jasmine.SpyObj\` to \`${vitestTypeName}\`.`);
40
+ (0, ast_helpers_1.addVitestAutoImport)(pendingVitestImports, vitestTypeName);
41
+ if (typescript_1.default.isTypeReferenceNode(node)) {
42
+ return typescript_1.default.factory.updateTypeReferenceNode(node, typescript_1.default.factory.createIdentifier(vitestTypeName), node.typeArguments);
43
+ }
44
+ return typescript_1.default.factory.createIdentifier(vitestTypeName);
45
+ }
46
+ case 'Any':
47
+ reporter.reportTransformation(sourceFile, node, `Transformed type \`jasmine.Any\` to \`any\`.`);
48
+ return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.AnyKeyword);
49
+ case 'ObjectContaining': {
50
+ const typeArguments = typescript_1.default.isTypeReferenceNode(node) ? node.typeArguments : undefined;
51
+ if (typeArguments && typeArguments.length > 0) {
52
+ reporter.reportTransformation(sourceFile, node, `Transformed type \`jasmine.ObjectContaining\` to \`Partial\`.`);
53
+ return typescript_1.default.factory.createTypeReferenceNode('Partial', typeArguments);
54
+ }
55
+ reporter.reportTransformation(sourceFile, node, `Transformed type \`jasmine.ObjectContaining\` to \`object\`.`);
56
+ return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.ObjectKeyword);
57
+ }
58
+ case 'DoneFn':
59
+ reporter.reportTransformation(sourceFile, node, 'Transformed type `jasmine.DoneFn` to `() => void`.');
60
+ return typescript_1.default.factory.createFunctionTypeNode(undefined, [], typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.VoidKeyword));
61
+ }
62
+ return node;
63
+ }
64
+ //# sourceMappingURL=jasmine-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jasmine-type.js","sourceRoot":"","sources":["jasmine-type.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import ts from '../../../third_party/github.com/Microsoft/TypeScript/lib/typescript';
9
+ export declare function addVitestAutoImport(imports: Set<string>, importName: string): void;
10
+ export declare function getVitestAutoImports(imports: Set<string>): ts.ImportDeclaration | undefined;
9
11
  export declare function createViCallExpression(methodName: string, args?: readonly ts.Expression[], typeArgs?: ts.TypeNode[] | undefined): ts.CallExpression;
10
12
  export declare function createExpectCallExpression(args: ts.Expression[], typeArgs?: ts.TypeNode[] | undefined): ts.CallExpression;
11
13
  export declare function createPropertyAccess(expressionOrIndentifierText: ts.Expression | string, name: string | ts.MemberName): ts.PropertyAccessExpression;
@@ -10,10 +10,24 @@ 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.addVitestAutoImport = addVitestAutoImport;
14
+ exports.getVitestAutoImports = getVitestAutoImports;
13
15
  exports.createViCallExpression = createViCallExpression;
14
16
  exports.createExpectCallExpression = createExpectCallExpression;
15
17
  exports.createPropertyAccess = createPropertyAccess;
16
18
  const typescript_1 = __importDefault(require("../../../third_party/github.com/Microsoft/TypeScript/lib/typescript"));
19
+ function addVitestAutoImport(imports, importName) {
20
+ imports.add(importName);
21
+ }
22
+ function getVitestAutoImports(imports) {
23
+ if (!imports?.size) {
24
+ return undefined;
25
+ }
26
+ const importNames = [...imports];
27
+ importNames.sort();
28
+ const importSpecifiers = importNames.map((i) => typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(i)));
29
+ return typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(typescript_1.default.SyntaxKind.TypeKeyword, undefined, typescript_1.default.factory.createNamedImports(importSpecifiers)), typescript_1.default.factory.createStringLiteral('vitest'));
30
+ }
17
31
  function createViCallExpression(methodName, args = [], typeArgs = undefined) {
18
32
  const callee = typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier('vi'), methodName);
19
33
  return typescript_1.default.factory.createCallExpression(callee, typeArgs, args);
@@ -1 +1 @@
1
- {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["ast-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAIH,wDAWC;AAED,gEAKC;AAED,oDAUC;AAhCD,qHAAqF;AAErF,SAAgB,sBAAsB,CACpC,UAAkB,EAClB,OAAiC,EAAE,EACnC,WAAsC,SAAS;IAE/C,MAAM,MAAM,GAAG,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACtD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,UAAU,CACX,CAAC;IAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,0BAA0B,CACxC,IAAqB,EACrB,WAAsC,SAAS;IAE/C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,SAAgB,oBAAoB,CAClC,2BAAmD,EACnD,IAA4B;IAE5B,OAAO,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CAC9C,OAAO,2BAA2B,KAAK,QAAQ;QAC7C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;QAC1D,CAAC,CAAC,2BAA2B,EAC/B,IAAI,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["ast-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAIH,kDAEC;AAED,oDAoBC;AAED,wDAWC;AAED,gEAKC;AAED,oDAUC;AA1DD,qHAAqF;AAErF,SAAgB,mBAAmB,CAAC,OAAoB,EAAE,UAAkB;IAC1E,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAoB;IACvD,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACnF,CAAC;IAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAChD,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,UAAkB,EAClB,OAAiC,EAAE,EACnC,WAAsC,SAAS;IAE/C,MAAM,MAAM,GAAG,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACtD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,UAAU,CACX,CAAC;IAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,0BAA0B,CACxC,IAAqB,EACrB,WAAsC,SAAS;IAE/C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,SAAgB,oBAAoB,CAClC,2BAAmD,EACnD,IAA4B;IAE5B,OAAO,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CAC9C,OAAO,2BAA2B,KAAK,QAAQ;QAC7C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;QAC1D,CAAC,CAAC,2BAA2B,EAC/B,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -18,6 +18,8 @@ export interface RefactorContext {
18
18
  readonly reporter: RefactorReporter;
19
19
  /** The official context from the TypeScript Transformer API. */
20
20
  readonly tsContext: ts.TransformationContext;
21
+ /** A set of Vitest type imports to be added to the file. */
22
+ readonly pendingVitestImports: Set<string>;
21
23
  }
22
24
  /**
23
25
  * A generic transformer function that operates on a specific type of ts.Node.
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
 
3
3
  @Injectable({
4
- providedIn: 'root'
4
+ providedIn: 'root',
5
5
  })
6
6
  export class <%= classifiedName %> {
7
7
 
@@ -15,6 +15,7 @@
15
15
  "karma-jasmine-html-reporter": "~2.1.0",
16
16
  "karma-jasmine": "~5.1.0",
17
17
  "karma": "~6.4.0",
18
+ "jsdom": "^27.0.0",
18
19
  "less": "^4.2.0",
19
20
  "postcss": "^8.5.3",
20
21
  "protractor": "~7.0.0",
@@ -24,6 +25,7 @@
24
25
  "tslib": "^2.3.0",
25
26
  "ts-node": "~10.9.0",
26
27
  "typescript": "~5.9.2",
28
+ "vitest": "^4.0.0",
27
29
  "zone.js": "~0.15.0"
28
30
  }
29
31
  }
@@ -16,8 +16,8 @@ exports.latestVersions = {
16
16
  // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current
17
17
  Angular: '^21.0.0-next.0',
18
18
  NgPackagr: '^21.0.0-next.0',
19
- DevkitBuildAngular: '^21.0.0-next.8',
20
- AngularBuild: '^21.0.0-next.8',
21
- AngularSSR: '^21.0.0-next.8',
19
+ DevkitBuildAngular: '^21.0.0-rc.0',
20
+ AngularBuild: '^21.0.0-rc.0',
21
+ AngularSSR: '^21.0.0-rc.0',
22
22
  };
23
23
  //# sourceMappingURL=latest-versions.js.map
@@ -25,6 +25,7 @@ export declare enum Builders {
25
25
  BrowserEsbuild = "@angular-devkit/build-angular:browser-esbuild",
26
26
  Karma = "@angular-devkit/build-angular:karma",
27
27
  BuildKarma = "@angular/build:karma",
28
+ BuildUnitTest = "@angular/build:unit-test",
28
29
  TsLint = "@angular-devkit/build-angular:tslint",
29
30
  NgPackagr = "@angular-devkit/build-angular:ng-packagr",
30
31
  BuildNgPackagr = "@angular/build:ng-packagr",
@@ -30,6 +30,7 @@ var Builders;
30
30
  Builders["BrowserEsbuild"] = "@angular-devkit/build-angular:browser-esbuild";
31
31
  Builders["Karma"] = "@angular-devkit/build-angular:karma";
32
32
  Builders["BuildKarma"] = "@angular/build:karma";
33
+ Builders["BuildUnitTest"] = "@angular/build:unit-test";
33
34
  Builders["TsLint"] = "@angular-devkit/build-angular:tslint";
34
35
  Builders["NgPackagr"] = "@angular-devkit/build-angular:ng-packagr";
35
36
  Builders["BuildNgPackagr"] = "@angular/build:ng-packagr";
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-models.js","sourceRoot":"","sources":["workspace-models.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED;;;;;GAKG;AACH,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,qEAAyD,CAAA;IACzD,gEAAoD,CAAA;IACpD,2DAA+C,CAAA;IAC/C,6DAAiD,CAAA;IACjD,yEAA6D,CAAA;IAC7D,iEAAqD,CAAA;IACrD,4EAAgE,CAAA;IAChE,yDAA6C,CAAA;IAC7C,+CAAmC,CAAA;IACnC,2DAA+C,CAAA;IAC/C,kEAAsD,CAAA;IACtD,wDAA4C,CAAA;IAC5C,kEAAsD,CAAA;IACtD,wDAA4C,CAAA;IAC5C,sEAA0D,CAAA;IAC1D,4DAAgD,CAAA;IAChD,2EAA+D,CAAA;IAC/D,2DAA+C,CAAA;AACjD,CAAC,EAnBW,QAAQ,wBAAR,QAAQ,QAmBnB"}
1
+ {"version":3,"file":"workspace-models.js","sourceRoot":"","sources":["workspace-models.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED;;;;;GAKG;AACH,IAAY,QAoBX;AApBD,WAAY,QAAQ;IAClB,qEAAyD,CAAA;IACzD,gEAAoD,CAAA;IACpD,2DAA+C,CAAA;IAC/C,6DAAiD,CAAA;IACjD,yEAA6D,CAAA;IAC7D,iEAAqD,CAAA;IACrD,4EAAgE,CAAA;IAChE,yDAA6C,CAAA;IAC7C,+CAAmC,CAAA;IACnC,sDAA0C,CAAA;IAC1C,2DAA+C,CAAA;IAC/C,kEAAsD,CAAA;IACtD,wDAA4C,CAAA;IAC5C,kEAAsD,CAAA;IACtD,wDAA4C,CAAA;IAC5C,sEAA0D,CAAA;IAC1D,4DAAgD,CAAA;IAChD,2EAA+D,CAAA;IAC/D,2DAA+C,CAAA;AACjD,CAAC,EApBW,QAAQ,wBAAR,QAAQ,QAoBnB"}
@@ -34,14 +34,7 @@
34
34
  },
35
35
  "devDependencies": {
36
36
  "@angular/cli": "<%= '^' + version %>",
37
- "@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %>
38
- "@types/jasmine": "<%= latestVersions['@types/jasmine'] %>",
39
- "jasmine-core": "<%= latestVersions['jasmine-core'] %>",
40
- "karma": "<%= latestVersions['karma'] %>",
41
- "karma-chrome-launcher": "<%= latestVersions['karma-chrome-launcher'] %>",
42
- "karma-coverage": "<%= latestVersions['karma-coverage'] %>",
43
- "karma-jasmine": "<%= latestVersions['karma-jasmine'] %>",
44
- "karma-jasmine-html-reporter": "<%= latestVersions['karma-jasmine-html-reporter'] %>",<% } %>
37
+ "@angular/compiler-cli": "<%= latestVersions.Angular %>",
45
38
  "typescript": "<%= latestVersions['typescript'] %>"
46
39
  }
47
40
  }