@schematics/angular 21.0.0-next.2 → 21.0.0-next.4

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.
@@ -20,27 +20,27 @@
20
20
  },
21
21
  {
22
22
  "value": "claude",
23
- "label": "Claude [ https://docs.anthropic.com/en/docs/claude-code/memory ]"
23
+ "label": "Claude [ https://docs.anthropic.com/en/docs/claude-code/memory ]"
24
24
  },
25
25
  {
26
26
  "value": "cursor",
27
- "label": "Cursor [ https://docs.cursor.com/en/context/rules ]"
27
+ "label": "Cursor [ https://docs.cursor.com/en/context/rules ]"
28
28
  },
29
29
  {
30
30
  "value": "gemini",
31
- "label": "Gemini [ https://ai.google.dev/gemini-api/docs ]"
31
+ "label": "Gemini [ https://ai.google.dev/gemini-api/docs ]"
32
32
  },
33
33
  {
34
34
  "value": "copilot",
35
- "label": "GitHub Copilot [ https://code.visualstudio.com/docs/copilot/copilot-customization#_custom-instructions ]"
35
+ "label": "GitHub Copilot [ https://code.visualstudio.com/docs/copilot/copilot-customization ]"
36
36
  },
37
37
  {
38
38
  "value": "jetbrains",
39
- "label": "JetBrains AI Assistant [ https://www.jetbrains.com/help/junie/customize-guidelines.html ]"
39
+ "label": "JetBrains AI [ https://www.jetbrains.com/help/junie/customize-guidelines.html ]"
40
40
  },
41
41
  {
42
42
  "value": "windsurf",
43
- "label": "Windsurf [ https://docs.windsurf.com/windsurf/cascade/memories#rules ]"
43
+ "label": "Windsurf [ https://docs.windsurf.com/windsurf/cascade/memories#rules ]"
44
44
  }
45
45
  ]
46
46
  },
@@ -114,6 +114,7 @@ function default_1(options) {
114
114
  isTailwind
115
115
  ? (0, schematics_1.schematic)('tailwind', {
116
116
  project: options.name,
117
+ skipInstall: options.skipInstall,
117
118
  })
118
119
  : (0, schematics_1.noop)(),
119
120
  ]);
@@ -8,4 +8,4 @@
8
8
  # You can see what browsers were selected by your queries by running:
9
9
  # npx browserslist
10
10
 
11
- <%= config %>
11
+ baseline widely available on <%= baselineDate %>
package/config/index.js CHANGED
@@ -8,7 +8,6 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const schematics_1 = require("@angular-devkit/schematics");
11
- const promises_1 = require("node:fs/promises");
12
11
  const node_path_1 = require("node:path");
13
12
  const paths_1 = require("../utility/paths");
14
13
  const project_1 = require("../utility/project");
@@ -26,11 +25,10 @@ exports.default = (0, project_1.createProjectSchematic)((options, { project }) =
26
25
  }
27
26
  });
28
27
  async function addBrowserslistConfig(projectRoot) {
29
- // Read Angular's default vendored `.browserslistrc` file.
30
- const config = await (0, promises_1.readFile)(node_path_1.posix.join(__dirname, '.browserslistrc'), 'utf8');
31
28
  return (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [
32
29
  (0, schematics_1.filter)((p) => p.endsWith('.browserslistrc.template')),
33
- (0, schematics_1.applyTemplates)({ config }),
30
+ // The below is replaced by bazel `npm_package`.
31
+ (0, schematics_1.applyTemplates)({ baselineDate: '2025-08-20' }),
34
32
  (0, schematics_1.move)(projectRoot),
35
33
  ]));
36
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schematics/angular",
3
- "version": "21.0.0-next.2",
3
+ "version": "21.0.0-next.4",
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.2",
26
- "@angular-devkit/schematics": "21.0.0-next.2",
25
+ "@angular-devkit/core": "21.0.0-next.4",
26
+ "@angular-devkit/schematics": "21.0.0-next.4",
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.15.1",
33
+ "packageManager": "pnpm@10.17.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,7 +1,8 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { BootstrapContext, bootstrapApplication } from '@angular/platform-browser';
2
2
  import { <%= appComponentName %> } from '<%= appComponentPath %>';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
- const bootstrap = () => bootstrapApplication(<%= appComponentName %>, config);
5
+ const bootstrap = (context: BootstrapContext) =>
6
+ bootstrapApplication(<%= appComponentName %>, config, context);
6
7
 
7
8
  export default bootstrap;
@@ -1,7 +1,8 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { BootstrapContext, bootstrapApplication } from '@angular/platform-browser';
2
2
  import { <%= appComponentName %> } from '<%= appComponentPath %>';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
- const bootstrap = () => bootstrapApplication(<%= appComponentName %>, config);
5
+ const bootstrap = (context: BootstrapContext) =>
6
+ bootstrapApplication(<%= appComponentName %>, config, context);
6
7
 
7
8
  export default bootstrap;
@@ -6,7 +6,6 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import { type Rule } from '@angular-devkit/schematics';
9
- declare const _default: (options: {
10
- project: string;
11
- }) => Rule;
9
+ import { Schema as TailwindOptions } from './schema';
10
+ declare const _default: (options: TailwindOptions) => Rule;
12
11
  export default _default;
package/tailwind/index.js CHANGED
@@ -100,6 +100,7 @@ exports.default = (0, project_1.createProjectSchematic)((options, { project }) =
100
100
  ...TAILWIND_DEPENDENCIES.map((name) => (0, utility_1.addDependency)(name, latest_versions_1.latestVersions[name], {
101
101
  type: utility_1.DependencyType.Dev,
102
102
  existing: utility_1.ExistingBehavior.Skip,
103
+ install: options.skipInstall ? utility_1.InstallBehavior.None : utility_1.InstallBehavior.Auto,
103
104
  })),
104
105
  ]);
105
106
  });
@@ -3,5 +3,10 @@ export type Schema = {
3
3
  * The name of the project.
4
4
  */
5
5
  project: string;
6
+ /**
7
+ * Skip the automatic installation of packages. You will need to manually install the
8
+ * dependencies later.
9
+ */
10
+ skipInstall?: boolean;
6
11
  [property: string]: any;
7
12
  };
@@ -9,6 +9,11 @@
9
9
  "$default": {
10
10
  "$source": "projectName"
11
11
  }
12
+ },
13
+ "skipInstall": {
14
+ "description": "Skip the automatic installation of packages. You will need to manually install the dependencies later.",
15
+ "type": "boolean",
16
+ "default": false
12
17
  }
13
18
  },
14
19
  "required": ["project"]
@@ -16,7 +16,7 @@ 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.2',
20
- AngularBuild: '^21.0.0-next.2',
21
- AngularSSR: '^21.0.0-next.2',
19
+ DevkitBuildAngular: '^21.0.0-next.4',
20
+ AngularBuild: '^21.0.0-next.4',
21
+ AngularSSR: '^21.0.0-next.4',
22
22
  };
@@ -19,7 +19,6 @@
19
19
  "enableI18nLegacyMessageIdFormat": false<% if (strict) { %>,
20
20
  "strictInjectionParameters": true,
21
21
  "strictInputAccessModifiers": true,
22
- "typeCheckHostBindings": true,
23
22
  "strictTemplates": true<% } %>
24
23
  },
25
24
  "files": []
@@ -1,7 +0,0 @@
1
- Chrome >= 110
2
- ChromeAndroid >= 110
3
- Edge >= 110
4
- Firefox >= 110
5
- FirefoxAndroid >= 110
6
- Safari >= 16
7
- iOS >= 16