@nx/angular 20.2.0-canary.20241129-2cb58b9 → 20.2.0-canary.20241203-6b87005

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 (209) hide show
  1. package/executors.json +1 -1
  2. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  3. package/fesm2022/nx-angular-testing.mjs.map +1 -1
  4. package/fesm2022/nx-angular.mjs.map +1 -1
  5. package/generators.json +1 -1
  6. package/migrations.json +151 -1
  7. package/package.json +8 -15
  8. package/src/builders/dev-server/lib/normalize-options.js +3 -0
  9. package/src/builders/dev-server/lib/validate-options.js +1 -9
  10. package/src/builders/dev-server/schema.json +3 -4
  11. package/src/executors/application/application.impl.d.ts +1 -1
  12. package/src/executors/application/application.impl.js +4 -1
  13. package/src/executors/application/schema.json +78 -6
  14. package/src/executors/application/utils/normalize-options.d.ts +2 -0
  15. package/src/executors/application/utils/normalize-options.js +33 -0
  16. package/src/executors/application/utils/validate-options.js +18 -4
  17. package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +1 -1
  18. package/src/executors/browser-esbuild/browser-esbuild.impl.js +0 -9
  19. package/src/executors/browser-esbuild/schema.json +1 -1
  20. package/src/executors/delegate-build/delegate-build.impl.d.ts +1 -1
  21. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +1 -1
  22. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +1 -1
  23. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +8 -12
  24. package/src/executors/module-federation-ssr-dev-server/schema.d.ts +2 -14
  25. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +1 -2
  26. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +11 -20
  27. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.d.ts +1 -1
  28. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +1 -1
  29. package/src/executors/ng-packagr-lite/schema.json +0 -8
  30. package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +1 -2
  31. package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +4 -21
  32. package/src/executors/package/package.impl.d.ts +2 -2
  33. package/src/executors/package/package.impl.js +1 -1
  34. package/src/executors/package/schema.d.ts +1 -3
  35. package/src/executors/package/schema.json +0 -10
  36. package/src/executors/utilities/ng-packagr/{stylesheet-processor.js → pre-v19/stylesheet-processor.js} +2 -2
  37. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +11 -5
  38. package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -6
  39. package/src/executors/utilities/ng-packagr/tailwindcss.js +0 -32
  40. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +23 -0
  41. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +93 -0
  42. package/src/generators/application/application.js +1 -0
  43. package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +4 -5
  44. package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  45. package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  46. package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  47. package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  48. package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  49. package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  50. package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +4 -6
  51. package/src/generators/application/lib/add-serve-static-target.d.ts +1 -1
  52. package/src/generators/application/lib/add-serve-static-target.js +1 -3
  53. package/src/generators/application/lib/create-files.js +4 -1
  54. package/src/generators/application/lib/create-project.js +24 -31
  55. package/src/generators/application/lib/normalize-options.js +1 -6
  56. package/src/generators/application/schema.d.ts +1 -0
  57. package/src/generators/application/schema.json +7 -2
  58. package/src/generators/component/component.js +4 -0
  59. package/src/generators/component/files/__fileName__.spec.ts__tpl__ +1 -1
  60. package/src/generators/component/files/__fileName__.ts__tpl__ +5 -13
  61. package/src/generators/component/lib/normalize-options.js +2 -0
  62. package/src/generators/component/schema.d.ts +1 -0
  63. package/src/generators/component/schema.json +5 -0
  64. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +1 -4
  65. package/src/generators/convert-to-application-executor/schema.json +1 -1
  66. package/src/generators/directive/directive.js +5 -0
  67. package/src/generators/directive/files/__fileName__.ts__tpl__ +2 -2
  68. package/src/generators/directive/lib/normalize-options.js +3 -1
  69. package/src/generators/host/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
  70. package/src/generators/host/lib/update-ssr-setup.js +2 -1
  71. package/src/generators/host/schema.d.ts +1 -0
  72. package/src/generators/host/schema.json +4 -0
  73. package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -2
  74. package/src/generators/pipe/lib/normalize-options.js +3 -1
  75. package/src/generators/pipe/pipe.js +5 -0
  76. package/src/generators/remote/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
  77. package/src/generators/remote/lib/update-ssr-setup.js +2 -1
  78. package/src/generators/remote/schema.d.ts +1 -0
  79. package/src/generators/remote/schema.json +4 -0
  80. package/src/generators/scam/lib/normalize-options.js +3 -1
  81. package/src/generators/scam-directive/lib/normalize-options.js +3 -1
  82. package/src/generators/scam-pipe/lib/normalize-options.js +3 -1
  83. package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +1 -1
  84. package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +5 -4
  85. package/src/generators/setup-mf/files/entry-module-files/entry.component.ts__tmpl__ +2 -1
  86. package/src/generators/setup-mf/files/standalone-entry-component-files/entry.component.ts__tmpl__ +2 -2
  87. package/src/generators/setup-mf/lib/add-remote-entry.js +5 -0
  88. package/src/generators/setup-ssr/files/{server → pre-v19/server}/application-builder/__serverFileName__ +1 -1
  89. package/src/generators/setup-ssr/files/{server/server-builder/v17+ → pre-v19/server/server-builder}/__serverFileName__ +1 -1
  90. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/__main__ +1 -0
  91. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/__rootModuleFileName__ +13 -0
  92. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +8 -0
  93. package/src/generators/setup-ssr/files/v19+/application-builder/server/__serverFileName__ +66 -0
  94. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/__main__ +7 -0
  95. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +14 -0
  96. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +8 -0
  97. package/src/generators/setup-ssr/files/v19+/application-builder-common-engine/server/__serverFileName__ +65 -0
  98. package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/__main__ +1 -0
  99. package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/app/__rootModuleFileName__ +14 -0
  100. package/src/generators/setup-ssr/files/v19+/server-builder/root/tsconfig.server.json.template +16 -0
  101. package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → v19+/server-builder/server}/__serverFileName__ +25 -15
  102. package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/__main__ +7 -0
  103. package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/app/app.config.server.ts.template +11 -0
  104. package/src/generators/setup-ssr/lib/add-dependencies.js +6 -17
  105. package/src/generators/setup-ssr/lib/add-hydration.d.ts +2 -2
  106. package/src/generators/setup-ssr/lib/add-hydration.js +10 -2
  107. package/src/generators/setup-ssr/lib/add-server-file.d.ts +2 -2
  108. package/src/generators/setup-ssr/lib/add-server-file.js +24 -10
  109. package/src/generators/setup-ssr/lib/generate-files.d.ts +2 -2
  110. package/src/generators/setup-ssr/lib/generate-files.js +20 -8
  111. package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +3 -3
  112. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +24 -3
  113. package/src/generators/setup-ssr/lib/normalize-options.d.ts +3 -14
  114. package/src/generators/setup-ssr/lib/normalize-options.js +23 -6
  115. package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +2 -2
  116. package/src/generators/setup-ssr/lib/update-project-config.d.ts +3 -3
  117. package/src/generators/setup-ssr/lib/update-project-config.js +36 -24
  118. package/src/generators/setup-ssr/lib/validate-options.js +5 -0
  119. package/src/generators/setup-ssr/schema.d.ts +5 -0
  120. package/src/generators/setup-ssr/schema.json +6 -8
  121. package/src/generators/setup-ssr/setup-ssr.js +6 -11
  122. package/src/generators/setup-tailwind/lib/index.d.ts +1 -1
  123. package/src/generators/setup-tailwind/lib/index.js +1 -1
  124. package/src/generators/setup-tailwind/lib/update-application-styles.js +1 -1
  125. package/src/generators/setup-tailwind/lib/validate-build-target.d.ts +3 -0
  126. package/src/generators/setup-tailwind/lib/{add-tailwind-config-path-to-project.js → validate-build-target.js} +4 -15
  127. package/src/generators/setup-tailwind/setup-tailwind.js +4 -1
  128. package/src/generators/utils/storybook-ast/component-info.js +12 -2
  129. package/src/generators/utils/validations.d.ts +1 -0
  130. package/src/generators/utils/validations.js +10 -0
  131. package/src/generators/utils/version-utils.js +2 -2
  132. package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.d.ts +3 -0
  133. package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.js +48 -0
  134. package/src/migrations/update-20-2-0/update-angular-cli.d.ts +3 -0
  135. package/src/migrations/update-20-2-0/update-angular-cli.js +23 -0
  136. package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.d.ts +2 -0
  137. package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.js +55 -0
  138. package/src/utils/backward-compatible-versions.d.ts +4 -4
  139. package/src/utils/backward-compatible-versions.js +20 -19
  140. package/src/utils/nx-devkit/ast-utils.d.ts +10 -1
  141. package/src/utils/nx-devkit/ast-utils.js +32 -9
  142. package/src/utils/versions.d.ts +7 -7
  143. package/src/utils/versions.js +7 -7
  144. package/esm2022/index.mjs +0 -2
  145. package/esm2022/mf/index.mjs +0 -2
  146. package/esm2022/mf/mf.mjs +0 -116
  147. package/esm2022/mf/nx-angular-mf.mjs +0 -5
  148. package/esm2022/nx-angular.mjs +0 -5
  149. package/esm2022/src/runtime/nx/data-persistence.mjs +0 -349
  150. package/esm2022/testing/index.mjs +0 -2
  151. package/esm2022/testing/nx-angular-testing.mjs +0 -5
  152. package/esm2022/testing/src/testing-utils.mjs +0 -38
  153. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
  154. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.js +0 -27
  155. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
  156. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.js +0 -53
  157. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.d.ts +0 -15
  158. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.js +0 -28
  159. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.d.ts +0 -30
  160. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.js +0 -52
  161. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.d.ts +0 -12
  162. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.js +0 -20
  163. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.d.ts +0 -9
  164. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.js +0 -320
  165. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.d.ts +0 -14
  166. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.js +0 -35
  167. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.d.ts +0 -14
  168. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.js +0 -37
  169. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.d.ts +0 -12
  170. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.js +0 -178
  171. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.d.ts +0 -42
  172. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.d.ts +0 -10
  173. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.js +0 -17
  174. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.js +0 -201
  175. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
  176. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js +0 -26
  177. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
  178. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +0 -71
  179. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.d.ts +0 -13
  180. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.js +0 -32
  181. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.d.ts +0 -14
  182. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +0 -35
  183. package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.d.ts +0 -14
  184. package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.js +0 -37
  185. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +0 -13
  186. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +0 -183
  187. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +0 -36
  188. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.d.ts +0 -10
  189. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.js +0 -17
  190. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +0 -194
  191. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.d.ts +0 -1
  192. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.js +0 -9
  193. package/src/generators/host/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -66
  194. package/src/generators/remote/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -72
  195. package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.d.ts +0 -3
  196. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.di.d.ts +0 -0
  197. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.di.js +0 -0
  198. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.transform.d.ts +0 -0
  199. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.transform.js +0 -0
  200. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.di.d.ts +0 -0
  201. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.di.js +0 -0
  202. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.transform.d.ts +0 -0
  203. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.transform.js +0 -0
  204. /package/src/executors/utilities/ng-packagr/{stylesheet-processor.d.ts → pre-v19/stylesheet-processor.d.ts} +0 -0
  205. /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/__main__ +0 -0
  206. /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/app/__rootModuleFileName__ +0 -0
  207. /package/src/generators/setup-ssr/files/{root → pre-v19/root}/tsconfig.server.json__tpl__ +0 -0
  208. /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/__main__ +0 -0
  209. /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/app/app.config.server.ts__tpl__ +0 -0
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = normalizeOptions;
4
+ const angular_version_utils_1 = require("../../utilities/angular-version-utils");
5
+ function normalizeOptions(options) {
6
+ const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
7
+ /**
8
+ * We can't set the default values for `security.autoCsp` and
9
+ * `security.autoCsp.unsafeEval` in the schema because our current schema
10
+ * parsing would (incorrectly?) default `security` to an object with the
11
+ * `autoCsp` property set to `false`. This would be problematic because the
12
+ * option is not supported in Angular versions < 19. So, we don't set those
13
+ * defaults in the schema and we normalize them here correctly.
14
+ */
15
+ let security = options.security;
16
+ if (angularMajorVersion >= 19) {
17
+ if (typeof security === 'object') {
18
+ if (security.autoCsp === undefined) {
19
+ security.autoCsp = false;
20
+ }
21
+ else if (typeof security.autoCsp === 'object' &&
22
+ security.autoCsp.unsafeEval === undefined) {
23
+ security.autoCsp.unsafeEval = false;
24
+ }
25
+ }
26
+ }
27
+ return {
28
+ ...options,
29
+ appShell: angularMajorVersion < 19 ? options.appShell ?? false : undefined,
30
+ prerender: angularMajorVersion < 19 ? options.prerender ?? false : undefined,
31
+ security,
32
+ };
33
+ }
@@ -4,10 +4,7 @@ exports.validateOptions = validateOptions;
4
4
  const semver_1 = require("semver");
5
5
  const angular_version_utils_1 = require("../../utilities/angular-version-utils");
6
6
  function validateOptions(options) {
7
- const { major: angularMajorVersion, version: angularVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
8
- if (angularMajorVersion < 17) {
9
- throw new Error(`The "application" executor requires Angular version 17 or greater. You are currently using version ${angularVersion}.`);
10
- }
7
+ const { version: angularVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
11
8
  if ((0, semver_1.lt)(angularVersion, '17.1.0')) {
12
9
  if (options.loader) {
13
10
  throw new Error(`The "loader" option requires Angular version 17.1.0 or greater. You are currently using version ${angularVersion}.`);
@@ -48,4 +45,21 @@ function validateOptions(options) {
48
45
  throw new Error(`The "deployUrl" option requires Angular version 17.3.0 or greater. You are currently using version ${angularVersion}.`);
49
46
  }
50
47
  }
48
+ if ((0, semver_1.lt)(angularVersion, '19.0.0')) {
49
+ if (options.outputMode) {
50
+ throw new Error(`The "outputMode" option requires Angular version 19.0.0 or greater. You are currently using version ${angularVersion}.`);
51
+ }
52
+ if (options.stylePreprocessorOptions?.sass) {
53
+ throw new Error(`The "stylePreprocessorOptions.sass" option requires Angular version 19.0.0 or greater. You are currently using version ${angularVersion}.`);
54
+ }
55
+ if (typeof options.ssr === 'object' && options.ssr?.experimentalPlatform) {
56
+ throw new Error(`The "ssr.experimentalPlatform" option requires Angular version 19.0.0 or greater. You are currently using version ${angularVersion}.`);
57
+ }
58
+ if (options.security !== undefined) {
59
+ throw new Error(`The "security" option requires Angular version 19.0.0 or greater. You are currently using version ${angularVersion}.`);
60
+ }
61
+ if (typeof options.server === 'boolean' && options.server === false) {
62
+ throw new Error(`The "false" value for the "server" option requires Angular version 19.0.0 or greater. You are currently using version ${angularVersion}.`);
63
+ }
64
+ }
51
65
  }
@@ -1,4 +1,4 @@
1
1
  import type { buildEsbuildBrowser as buildEsbuildBrowserFn } from '@angular-devkit/build-angular/src/builders/browser-esbuild';
2
- import { type ExecutorContext } from '@nx/devkit';
2
+ import type { ExecutorContext } from '@nx/devkit';
3
3
  import type { EsBuildSchema } from './schema';
4
4
  export default function esbuildExecutor(options: EsBuildSchema, context: ExecutorContext): ReturnType<typeof buildEsbuildBrowserFn>;
@@ -1,19 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = esbuildExecutor;
4
- const devkit_1 = require("@nx/devkit");
5
4
  const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
6
- const angular_version_utils_1 = require("../utilities/angular-version-utils");
7
5
  const buildable_libs_1 = require("../utilities/buildable-libs");
8
6
  const esbuild_extensions_1 = require("../utilities/esbuild-extensions");
9
7
  async function* esbuildExecutor(options, context) {
10
- if (options.plugins) {
11
- const { major: angularMajorVersion, version: angularVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
12
- if (angularMajorVersion < 17) {
13
- throw new Error((0, devkit_1.stripIndents) `The "plugins" option is only supported in Angular >= 17.0.0. You are currently using "${angularVersion}".
14
- You can resolve this error by removing the "plugins" option or by migrating to Angular 17.0.0.`);
15
- }
16
- }
17
8
  options.buildLibsFromSource ??= true;
18
9
  const { buildLibsFromSource, plugins: pluginPaths, ...delegateExecutorOptions } = options;
19
10
  let dependencies;
@@ -441,7 +441,7 @@
441
441
  "default": true
442
442
  },
443
443
  "plugins": {
444
- "description": "A list of ESBuild plugins. _Note: this is only supported in Angular versions >= 17.0.0_.",
444
+ "description": "A list of ESBuild plugins.",
445
445
  "type": "array",
446
446
  "items": {
447
447
  "oneOf": [
@@ -4,5 +4,5 @@ export declare function delegateBuildExecutor(options: DelegateBuildExecutorSche
4
4
  success: boolean;
5
5
  }, {
6
6
  success: boolean;
7
- }, undefined>;
7
+ }, any>;
8
8
  export default delegateBuildExecutor;
@@ -1,4 +1,4 @@
1
1
  import { type ExecutorContext } from '@nx/devkit';
2
2
  import { type Schema } from './schema';
3
- export declare function moduleFederationDevServerExecutor(schema: Schema, context: ExecutorContext): AsyncGenerator<any, any, undefined>;
3
+ export declare function moduleFederationDevServerExecutor(schema: Schema, context: ExecutorContext): AsyncGenerator<any, any, any>;
4
4
  export default moduleFederationDevServerExecutor;
@@ -1,4 +1,4 @@
1
1
  import { type ExecutorContext } from '@nx/devkit';
2
2
  import type { Schema } from './schema';
3
- export declare function moduleFederationSsrDevServerExecutor(schema: Schema, context: ExecutorContext): AsyncGenerator<unknown, any, undefined>;
3
+ export declare function moduleFederationSsrDevServerExecutor(schema: Schema, context: ExecutorContext): AsyncGenerator<import("@angular-devkit/build-angular").SSRDevServerBuilderOutput, any, any>;
4
4
  export default moduleFederationSsrDevServerExecutor;
@@ -1,29 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.moduleFederationSsrDevServerExecutor = moduleFederationSsrDevServerExecutor;
4
+ const build_angular_1 = require("@angular-devkit/build-angular");
4
5
  const devkit_1 = require("@nx/devkit");
6
+ const async_iterable_1 = require("@nx/devkit/src/utils/async-iterable");
7
+ const rxjs_for_await_1 = require("@nx/devkit/src/utils/rxjs-for-await");
8
+ const utils_1 = require("@nx/module-federation/src/utils");
9
+ const wait_for_port_open_1 = require("@nx/web/src/utils/wait-for-port-open");
5
10
  const fs_1 = require("fs");
11
+ const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
6
12
  const project_graph_1 = require("nx/src/project-graph/project-graph");
7
13
  const path_1 = require("path");
8
14
  const module_federation_1 = require("../../builders/utilities/module-federation");
9
- const utils_1 = require("@nx/module-federation/src/utils");
10
15
  const build_static_remotes_1 = require("./lib/build-static-remotes");
16
+ const normalize_options_1 = require("./lib/normalize-options");
11
17
  const start_dev_remotes_1 = require("./lib/start-dev-remotes");
12
18
  const start_static_remotes_1 = require("./lib/start-static-remotes");
13
- const async_iterable_1 = require("@nx/devkit/src/utils/async-iterable");
14
- const rxjs_for_await_1 = require("@nx/devkit/src/utils/rxjs-for-await");
15
- const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
16
- const normalize_options_1 = require("./lib/normalize-options");
17
- const wait_for_port_open_1 = require("@nx/web/src/utils/wait-for-port-open");
18
- const angular_version_utils_1 = require("../utilities/angular-version-utils");
19
19
  async function* moduleFederationSsrDevServerExecutor(schema, context) {
20
20
  const nxBin = require.resolve('nx/bin/nx');
21
21
  const options = (0, normalize_options_1.normalizeOptions)(schema);
22
- const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
23
- const { executeSSRDevServerBuilder } = angularMajorVersion >= 17
24
- ? require('@angular-devkit/build-angular')
25
- : require('@nguniversal/builders');
26
- const currIter = (0, rxjs_for_await_1.eachValueFrom)(executeSSRDevServerBuilder(options, await (0, ngcli_adapter_1.createBuilderContext)({
22
+ const currIter = (0, rxjs_for_await_1.eachValueFrom)((0, build_angular_1.executeSSRDevServerBuilder)(options, await (0, ngcli_adapter_1.createBuilderContext)({
27
23
  builderName: '@nx/angular:webpack-server',
28
24
  description: 'Build a ssr application',
29
25
  optionSchema: require('../../builders/webpack-server/schema.json'),
@@ -1,23 +1,11 @@
1
1
  import { type DevRemoteDefinition } from '../../builders/utilities/module-federation';
2
+ import type { SSRDevServerBuilderOptions } from '@angular-devkit/build-angular';
2
3
 
3
- export interface Schema {
4
- browserTarget: string;
5
- serverTarget: string;
6
- host?: string;
7
- port?: number;
8
- progress: boolean;
9
- open?: boolean;
10
- publicHost?: string;
11
- ssl?: boolean;
12
- sslKey?: string;
13
- sslCert?: string;
14
- proxyConfig?: string;
4
+ export interface Schema extends SSRDevServerBuilderOptions {
15
5
  devRemotes?: DevRemoteDefinition[];
16
6
  skipRemotes?: string[];
17
- verbose: boolean;
18
7
  pathToManifestFile?: string;
19
8
  parallel?: number;
20
9
  staticRemotesPort?: number;
21
- parallel?: number;
22
10
  isInitialHost?: boolean;
23
11
  }
@@ -1,3 +1,2 @@
1
1
  import { NgPackagr } from 'ng-packagr';
2
- import type { BuildAngularLibraryExecutorOptions } from '../../package/schema';
3
- export declare function getNgPackagrInstance(options: BuildAngularLibraryExecutorOptions): Promise<NgPackagr>;
2
+ export declare function getNgPackagrInstance(): Promise<NgPackagr>;
@@ -3,31 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getNgPackagrInstance = getNgPackagrInstance;
4
4
  const ng_packagr_1 = require("ng-packagr");
5
5
  const angular_version_utils_1 = require("../../utilities/angular-version-utils");
6
- async function getNgPackagrInstance(options) {
6
+ async function getNgPackagrInstance() {
7
7
  const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
8
- if (angularMajorVersion >= 17) {
9
- const { WRITE_BUNDLES_TRANSFORM } = await import('./v17+/ng-package/entry-point/write-bundles.di.js');
10
- const { WRITE_PACKAGE_TRANSFORM } = await import('./v17+/ng-package/entry-point/write-package.di.js');
8
+ if (angularMajorVersion >= 19) {
11
9
  const { STYLESHEET_PROCESSOR } = await import('../../utilities/ng-packagr/stylesheet-processor.di.js');
12
10
  const packagr = (0, ng_packagr_1.ngPackagr)();
13
- packagr.withProviders([
14
- WRITE_BUNDLES_TRANSFORM,
15
- WRITE_PACKAGE_TRANSFORM,
16
- STYLESHEET_PROCESSOR,
17
- ]);
11
+ packagr.withProviders([STYLESHEET_PROCESSOR]);
18
12
  return packagr;
19
13
  }
20
- const { NX_ENTRY_POINT_PROVIDERS } = await import('./pre-v17/ng-package/entry-point/entry-point.di.js');
21
- const { nxProvideOptions } = await import('./pre-v17/ng-package/options.di.js');
22
- const { NX_PACKAGE_PROVIDERS, NX_PACKAGE_TRANSFORM } = await import('./pre-v17/ng-package/package.di.js');
23
- const packagr = new ng_packagr_1.NgPackagr([
24
- ...NX_PACKAGE_PROVIDERS,
25
- ...NX_ENTRY_POINT_PROVIDERS,
26
- nxProvideOptions({
27
- tailwindConfig: options.tailwindConfig,
28
- watch: options.watch,
29
- }),
14
+ const { WRITE_BUNDLES_TRANSFORM } = await import('./pre-v19/ng-package/entry-point/write-bundles.di.js');
15
+ const { WRITE_PACKAGE_TRANSFORM } = await import('./pre-v19/ng-package/entry-point/write-package.di.js');
16
+ const { STYLESHEET_PROCESSOR } = await import('../../utilities/ng-packagr/stylesheet-processor.di.js');
17
+ const packagr = (0, ng_packagr_1.ngPackagr)();
18
+ packagr.withProviders([
19
+ WRITE_BUNDLES_TRANSFORM,
20
+ WRITE_PACKAGE_TRANSFORM,
21
+ STYLESHEET_PROCESSOR,
30
22
  ]);
31
- packagr.withBuildTransform(NX_PACKAGE_TRANSFORM.provide);
32
23
  return packagr;
33
24
  }
@@ -2,5 +2,5 @@ import type { ExecutorContext } from '@nx/devkit';
2
2
  import type { BuildAngularLibraryExecutorOptions } from '../package/schema';
3
3
  export declare const ngPackagrLiteExecutor: (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext) => AsyncGenerator<{
4
4
  success: boolean;
5
- }, any, undefined>;
5
+ }, any, any>;
6
6
  export default ngPackagrLiteExecutor;
@@ -7,7 +7,7 @@ const package_impl_1 = require("../package/package.impl");
7
7
  const typescript_1 = require("../utilities/typescript");
8
8
  const ng_packagr_1 = require("./ng-packagr-adjustments/ng-packagr");
9
9
  async function initializeNgPackgrLite(options, context, projectDependencies) {
10
- const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)(options);
10
+ const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)();
11
11
  ngPackagr.forProject((0, path_1.resolve)(context.root, options.project));
12
12
  if (options.tsConfig) {
13
13
  const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)((0, path_1.join)(context.root, options.tsConfig), context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
@@ -7,10 +7,6 @@
7
7
  "cli": "nx",
8
8
  "type": "object",
9
9
  "presets": [
10
- {
11
- "name": "Buildable Library with Tailwind",
12
- "keys": ["project", "tailwindConfig"]
13
- },
14
10
  {
15
11
  "name": "Updating Project Dependencies for Buildable Library",
16
12
  "keys": ["project"]
@@ -36,10 +32,6 @@
36
32
  "poll": {
37
33
  "type": "number",
38
34
  "description": "Enable and define the file watching poll time period in milliseconds. _Note: this is only supported in Angular versions >= 18.0.0_."
39
- },
40
- "tailwindConfig": {
41
- "type": "string",
42
- "description": "The full path for the Tailwind configuration file, relative to the workspace root. If not provided and a `tailwind.config.js` file exists in the project or workspace root, it will be used. Otherwise, Tailwind will not be configured."
43
35
  }
44
36
  },
45
37
  "additionalProperties": false,
@@ -1,3 +1,2 @@
1
1
  import { NgPackagr } from 'ng-packagr';
2
- import type { BuildAngularLibraryExecutorOptions } from '../../package/schema';
3
- export declare function getNgPackagrInstance(options: BuildAngularLibraryExecutorOptions): Promise<NgPackagr>;
2
+ export declare function getNgPackagrInstance(): Promise<NgPackagr>;
@@ -2,26 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getNgPackagrInstance = getNgPackagrInstance;
4
4
  const ng_packagr_1 = require("ng-packagr");
5
- const angular_version_utils_1 = require("../../utilities/angular-version-utils");
6
- async function getNgPackagrInstance(options) {
7
- const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
8
- if (angularMajorVersion >= 17) {
9
- const { STYLESHEET_PROCESSOR } = await import('../../utilities/ng-packagr/stylesheet-processor.di.js');
10
- const packagr = (0, ng_packagr_1.ngPackagr)();
11
- packagr.withProviders([STYLESHEET_PROCESSOR]);
12
- return packagr;
13
- }
14
- const { NX_ENTRY_POINT_PROVIDERS } = await import('./ng-package/entry-point/entry-point.di.js');
15
- const { nxProvideOptions } = await import('./ng-package/options.di.js');
16
- const { NX_PACKAGE_PROVIDERS, NX_PACKAGE_TRANSFORM } = await import('./ng-package/package.di.js');
17
- const packagr = new ng_packagr_1.NgPackagr([
18
- ...NX_PACKAGE_PROVIDERS,
19
- ...NX_ENTRY_POINT_PROVIDERS,
20
- nxProvideOptions({
21
- tailwindConfig: options.tailwindConfig,
22
- watch: options.watch,
23
- }),
24
- ]);
25
- packagr.withBuildTransform(NX_PACKAGE_TRANSFORM.provide);
5
+ async function getNgPackagrInstance() {
6
+ const { STYLESHEET_PROCESSOR } = await import('../../utilities/ng-packagr/stylesheet-processor.di.js');
7
+ const packagr = (0, ng_packagr_1.ngPackagr)();
8
+ packagr.withProviders([STYLESHEET_PROCESSOR]);
26
9
  return packagr;
27
10
  }
@@ -9,8 +9,8 @@ import type { BuildAngularLibraryExecutorOptions } from './schema';
9
9
  */
10
10
  export declare function createLibraryExecutor(initializeNgPackagr: (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext, projectDependencies: DependentBuildableProjectNode[]) => Promise<NgPackagr>): (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext) => AsyncGenerator<{
11
11
  success: boolean;
12
- }, any, undefined>;
12
+ }, any, any>;
13
13
  export declare const packageExecutor: (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext) => AsyncGenerator<{
14
14
  success: boolean;
15
- }, any, undefined>;
15
+ }, any, any>;
16
16
  export default packageExecutor;
@@ -11,7 +11,7 @@ const angular_version_utils_1 = require("../utilities/angular-version-utils");
11
11
  const typescript_1 = require("../utilities/typescript");
12
12
  const ng_packagr_1 = require("./ng-packagr-adjustments/ng-packagr");
13
13
  async function initializeNgPackagr(options, context, projectDependencies) {
14
- const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)(options);
14
+ const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)();
15
15
  ngPackagr.forProject((0, path_1.resolve)(context.root, options.project));
16
16
  if (options.tsConfig) {
17
17
  const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)((0, path_1.join)(context.root, options.tsConfig), context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
@@ -1,6 +1,4 @@
1
1
  import type { NgPackagrBuilderOptions } from '@angular-devkit/build-angular';
2
2
 
3
3
  export interface BuildAngularLibraryExecutorOptions
4
- extends NgPackagrBuilderOptions {
5
- tailwindConfig?: string;
6
- }
4
+ extends NgPackagrBuilderOptions {}
@@ -7,10 +7,6 @@
7
7
  "cli": "nx",
8
8
  "type": "object",
9
9
  "presets": [
10
- {
11
- "name": "Publishable Library with Tailwind",
12
- "keys": ["project", "tailwindConfig"]
13
- },
14
10
  {
15
11
  "name": "Updating Project Dependencies for Publishable Library",
16
12
  "keys": ["project"]
@@ -36,12 +32,6 @@
36
32
  "poll": {
37
33
  "type": "number",
38
34
  "description": "Enable and define the file watching poll time period in milliseconds. _Note: this is only supported in Angular versions >= 18.0.0_."
39
- },
40
- "tailwindConfig": {
41
- "type": "string",
42
- "description": "The full path for the Tailwind configuration file, relative to the workspace root. If not provided and a `tailwind.config.js` file exists in the project or workspace root, it will be used. Otherwise, Tailwind will not be configured. _Note: starting with Angular v17, this option is no longer used and the configuration will be picked up if exists at the project or workspace root_.",
43
- "x-completion-type": "file",
44
- "x-completion-glob": "tailwind.config@(.js|.cjs|.mjs|.ts)"
45
35
  }
46
36
  },
47
37
  "additionalProperties": false,
@@ -15,10 +15,10 @@ const path_1 = require("path");
15
15
  const Piscina = require('piscina');
16
16
  const color_1 = require("ng-packagr/lib/utils/color");
17
17
  // using this instead of the one from ng-packagr
18
- const tailwindcss_1 = require("./tailwindcss");
18
+ const tailwindcss_1 = require("../tailwindcss");
19
19
  const devkit_1 = require("@nx/devkit");
20
20
  const semver_1 = require("semver");
21
- const angular_version_utils_1 = require("../angular-version-utils");
21
+ const angular_version_utils_1 = require("../../angular-version-utils");
22
22
  const maxWorkersVariable = process.env['NG_BUILD_MAX_WORKERS'];
23
23
  const maxThreads = typeof maxWorkersVariable === 'string' && maxWorkersVariable !== ''
24
24
  ? +maxWorkersVariable
@@ -3,14 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.STYLESHEET_PROCESSOR = void 0;
4
4
  const stylesheet_processor_di_1 = require("ng-packagr/lib/styles/stylesheet-processor.di");
5
5
  const angular_version_utils_1 = require("../angular-version-utils");
6
- const stylesheet_processor_1 = require("./stylesheet-processor");
7
6
  exports.STYLESHEET_PROCESSOR = {
8
7
  provide: stylesheet_processor_di_1.STYLESHEET_PROCESSOR_TOKEN,
9
8
  useFactory: () => {
10
- const { version: ngPackagrVersion } = (0, angular_version_utils_1.getInstalledPackageVersionInfo)('ng-packagr');
11
- return ngPackagrVersion !== '17.2.0'
12
- ? stylesheet_processor_1.StylesheetProcessor
13
- : stylesheet_processor_1.AsyncStylesheetProcessor;
9
+ const { major: ngPackagrMajorVersion, version: ngPackagrVersion } = (0, angular_version_utils_1.getInstalledPackageVersionInfo)('ng-packagr');
10
+ if (ngPackagrMajorVersion >= 19) {
11
+ const { StylesheetProcessor } = require('./v19+/stylesheet-processor');
12
+ return StylesheetProcessor;
13
+ }
14
+ if (ngPackagrVersion !== '17.2.0') {
15
+ const { StylesheetProcessor } = require('./pre-v19/stylesheet-processor');
16
+ return StylesheetProcessor;
17
+ }
18
+ const { AsyncStylesheetProcessor, } = require('./pre-v19/stylesheet-processor');
19
+ return AsyncStylesheetProcessor;
14
20
  },
15
21
  deps: [],
16
22
  };
@@ -1,7 +1 @@
1
- export interface TailwindSetup {
2
- tailwindConfigPath: string;
3
- tailwindPackagePath: string;
4
- }
5
- export declare function getTailwindSetup(basePath: string, tailwindConfig?: string): TailwindSetup | undefined;
6
1
  export declare function getTailwindConfigPath(projectRoot: string, workspaceRoot: string): string | undefined;
7
- export declare function getTailwindPostCssPlugin({ tailwindConfigPath, tailwindPackagePath, }: TailwindSetup): any;
@@ -1,37 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTailwindSetup = getTailwindSetup;
4
3
  exports.getTailwindConfigPath = getTailwindConfigPath;
5
- exports.getTailwindPostCssPlugin = getTailwindPostCssPlugin;
6
- const devkit_1 = require("@nx/devkit");
7
- const devkit_2 = require("@nx/devkit");
8
4
  const fs_1 = require("fs");
9
5
  const path_1 = require("path");
10
- function getTailwindSetup(basePath, tailwindConfig) {
11
- let tailwindConfigPath = tailwindConfig;
12
- if (!tailwindConfigPath) {
13
- tailwindConfigPath = getTailwindConfigPath(basePath, devkit_2.workspaceRoot);
14
- }
15
- // Only load Tailwind CSS plugin if configuration file was found.
16
- if (!tailwindConfigPath) {
17
- return undefined;
18
- }
19
- let tailwindPackagePath;
20
- try {
21
- tailwindPackagePath = require.resolve('tailwindcss');
22
- }
23
- catch {
24
- const relativeTailwindConfigPath = (0, path_1.relative)(devkit_2.workspaceRoot, tailwindConfigPath);
25
- devkit_1.logger.warn(`Tailwind CSS configuration file found (${relativeTailwindConfigPath})` +
26
- ` but the 'tailwindcss' package is not installed.` +
27
- ` To enable Tailwind CSS, please install the 'tailwindcss' package.`);
28
- return undefined;
29
- }
30
- if (!tailwindPackagePath) {
31
- return undefined;
32
- }
33
- return { tailwindConfigPath, tailwindPackagePath };
34
- }
35
6
  function getTailwindConfigPath(projectRoot, workspaceRoot) {
36
7
  // valid tailwind config files https://github.com/tailwindlabs/tailwindcss/blob/master/src/util/resolveConfigPath.js#L4
37
8
  const tailwindConfigFiles = [
@@ -50,6 +21,3 @@ function getTailwindConfigPath(projectRoot, workspaceRoot) {
50
21
  }
51
22
  return undefined;
52
23
  }
53
- function getTailwindPostCssPlugin({ tailwindConfigPath, tailwindPackagePath, }) {
54
- return require(tailwindPackagePath)({ config: tailwindConfigPath });
55
- }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Adapted from the original ng-packagr source.
3
+ *
4
+ * Changes made:
5
+ * - Add the project root to the search directories.
6
+ */
7
+ import { NgPackageEntryConfig } from 'ng-packagr/ng-entrypoint.schema';
8
+ import { ComponentStylesheetBundler } from 'ng-packagr/lib/styles/component-stylesheets';
9
+ export declare enum CssUrl {
10
+ inline = "inline",
11
+ none = "none"
12
+ }
13
+ export declare class StylesheetProcessor extends ComponentStylesheetBundler {
14
+ protected readonly projectBasePath: string;
15
+ protected readonly basePath: string;
16
+ protected readonly cssUrl?: CssUrl;
17
+ protected readonly includePaths?: string[];
18
+ protected readonly sass?: NgPackageEntryConfig['lib']['sass'];
19
+ protected readonly cacheDirectory?: string | false;
20
+ protected readonly watch?: boolean;
21
+ constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], sass?: NgPackageEntryConfig['lib']['sass'], cacheDirectory?: string | false, watch?: boolean);
22
+ destroy(): void;
23
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Adapted from the original ng-packagr source.
4
+ *
5
+ * Changes made:
6
+ * - Add the project root to the search directories.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.StylesheetProcessor = exports.CssUrl = void 0;
10
+ const tslib_1 = require("tslib");
11
+ const browserslist_1 = tslib_1.__importDefault(require("browserslist"));
12
+ const component_stylesheets_1 = require("ng-packagr/lib/styles/component-stylesheets");
13
+ const postcss_configuration_1 = require("ng-packagr/lib/styles/postcss-configuration");
14
+ const devkit_1 = require("@nx/devkit");
15
+ var CssUrl;
16
+ (function (CssUrl) {
17
+ CssUrl["inline"] = "inline";
18
+ CssUrl["none"] = "none";
19
+ })(CssUrl || (exports.CssUrl = CssUrl = {}));
20
+ class StylesheetProcessor extends component_stylesheets_1.ComponentStylesheetBundler {
21
+ constructor(projectBasePath, basePath, cssUrl, includePaths, sass, cacheDirectory, watch) {
22
+ // By default, browserslist defaults are too inclusive
23
+ // https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
24
+ // We change the default query to browsers that Angular support.
25
+ // https://angular.io/guide/browser-support
26
+ browserslist_1.default.defaults = [
27
+ 'last 2 Chrome versions',
28
+ 'last 1 Firefox version',
29
+ 'last 2 Edge major versions',
30
+ 'last 2 Safari major versions',
31
+ 'last 2 iOS major versions',
32
+ 'Firefox ESR',
33
+ ];
34
+ const browserslistData = (0, browserslist_1.default)(undefined, { path: basePath });
35
+ let searchDirs = (0, postcss_configuration_1.generateSearchDirectories)([projectBasePath]);
36
+ const postcssConfiguration = (0, postcss_configuration_1.loadPostcssConfiguration)(searchDirs);
37
+ // (nx-specific): we support loading the TailwindCSS config from the root of the workspace
38
+ searchDirs = (0, postcss_configuration_1.generateSearchDirectories)([projectBasePath, devkit_1.workspaceRoot]);
39
+ super({
40
+ cacheDirectory: cacheDirectory,
41
+ postcssConfiguration: postcssConfiguration,
42
+ tailwindConfiguration: postcssConfiguration
43
+ ? undefined
44
+ : (0, postcss_configuration_1.getTailwindConfig)(searchDirs, projectBasePath),
45
+ sass: sass,
46
+ workspaceRoot: projectBasePath,
47
+ cssUrl: cssUrl,
48
+ target: transformSupportedBrowsersToTargets(browserslistData),
49
+ includePaths: includePaths,
50
+ }, 'css', watch);
51
+ this.projectBasePath = projectBasePath;
52
+ this.basePath = basePath;
53
+ this.cssUrl = cssUrl;
54
+ this.includePaths = includePaths;
55
+ this.sass = sass;
56
+ this.cacheDirectory = cacheDirectory;
57
+ this.watch = watch;
58
+ }
59
+ destroy() {
60
+ void super.dispose();
61
+ }
62
+ }
63
+ exports.StylesheetProcessor = StylesheetProcessor;
64
+ function transformSupportedBrowsersToTargets(supportedBrowsers) {
65
+ const transformed = [];
66
+ // https://esbuild.github.io/api/#target
67
+ const esBuildSupportedBrowsers = new Set([
68
+ 'safari',
69
+ 'firefox',
70
+ 'edge',
71
+ 'chrome',
72
+ 'ios',
73
+ ]);
74
+ for (const browser of supportedBrowsers) {
75
+ let [browserName, version] = browser.split(' ');
76
+ // browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios`
77
+ if (browserName === 'ios_saf') {
78
+ browserName = 'ios';
79
+ }
80
+ // browserslist uses ranges `15.2-15.3` versions but only the lowest is required
81
+ // to perform minimum supported feature checks. esbuild also expects a single version.
82
+ [version] = version.split('-');
83
+ if (esBuildSupportedBrowsers.has(browserName)) {
84
+ if (browserName === 'safari' && version === 'tp') {
85
+ // esbuild only supports numeric versions so `TP` is converted to a high number (999) since
86
+ // a Technology Preview (TP) of Safari is assumed to support all currently known features.
87
+ version = '999';
88
+ }
89
+ transformed.push(browserName + version);
90
+ }
91
+ }
92
+ return transformed.length ? transformed : undefined;
93
+ }
@@ -61,6 +61,7 @@ async function applicationGenerator(tree, schema) {
61
61
  project: options.name,
62
62
  standalone: options.standalone,
63
63
  skipPackageJson: options.skipPackageJson,
64
+ serverRouting: options.serverRouting,
64
65
  });
65
66
  }
66
67
  if (!options.skipFormat) {
@@ -1,13 +1,12 @@
1
1
  import { Component<% if(viewEncapsulation) { %>, ViewEncapsulation<% } %> } from '@angular/core';
2
2
 
3
3
  @Component({
4
- selector: '<%= rootSelector %>',<% if(!inlineTemplate) { %>
4
+ selector: '<%= rootSelector %>',<% if (setStandaloneFalse) { %>
5
+ standalone: false,<% } if(!inlineTemplate) { %>
5
6
  templateUrl: './app.component.html',<% } else { %>
6
- template: `<% if(minimal) { %><h1>Welcome <%= appName %></h1><% } else { %><<%= nxWelcomeSelector %>></<%= nxWelcomeSelector %>><% } %> <% if(routing) { %><router-outlet></router-outlet><% } %>`,<% } %><% if (angularMajorVersion < 17) { if(!inlineStyle) { %>
7
- styleUrls: ['./app.component.<%= style %>'],<% } else { %>
8
- styles: [``],<% } %><% } else { if(!inlineStyle) { %>
7
+ template: `<% if(minimal) { %><h1>Welcome <%= appName %></h1><% } else { %><<%= nxWelcomeSelector %>></<%= nxWelcomeSelector %>><% } %> <% if(routing) { %><router-outlet></router-outlet><% } %>`,<% } %><% if(!inlineStyle) { %>
9
8
  styleUrl: './app.component.<%= style %>',<% } else { %>
10
- styles: ``,<% } %><% } %><% if(viewEncapsulation) { %>
9
+ styles: ``,<% } %><% if(viewEncapsulation) { %>
11
10
  encapsulation: ViewEncapsulation.<%= viewEncapsulation %>,<% } %>
12
11
  })
13
12
  export class AppComponent {<% if(!minimal) { %>