@nx/angular 16.8.0-beta.3 → 16.8.0-beta.5

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 (220) hide show
  1. package/mf/mf.js +31 -36
  2. package/migrations.json +9 -0
  3. package/package.json +11 -11
  4. package/plugins/component-testing.js +82 -44
  5. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +4 -6
  6. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +4 -6
  7. package/src/builders/utilities/buildable-libs.js +1 -2
  8. package/src/builders/utilities/module-federation.js +2 -3
  9. package/src/builders/utilities/webpack.js +16 -21
  10. package/src/builders/webpack-browser/webpack-browser.impl.js +13 -13
  11. package/src/builders/webpack-dev-server/lib/normalize-options.js +8 -1
  12. package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +24 -18
  13. package/src/builders/webpack-server/webpack-server.impl.js +5 -7
  14. package/src/executors/browser-esbuild/browser-esbuild.impl.js +19 -23
  15. package/src/executors/browser-esbuild/lib/buildable-libs.js +1 -2
  16. package/src/executors/delegate-build/delegate-build.impl.js +9 -12
  17. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +4 -7
  18. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.transform.js +4 -5
  19. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js +158 -156
  20. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/options.di.js +6 -3
  21. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ngc/compile-source-files.js +118 -118
  22. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.js +96 -103
  23. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +20 -12
  24. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +18 -21
  25. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +6 -9
  26. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +6 -3
  27. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +122 -122
  28. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +96 -103
  29. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +21 -13
  30. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.js +5 -8
  31. package/src/executors/package/package.impl.js +33 -38
  32. package/src/executors/utilities/angular-version-utils.js +1 -1
  33. package/src/executors/utilities/tailwindcss.js +2 -2
  34. package/src/executors/utilities/typescript.js +23 -28
  35. package/src/generators/add-linting/add-linting.js +76 -69
  36. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +2 -0
  37. package/src/generators/add-linting/lib/create-eslint-configuration.js +12 -4
  38. package/src/generators/application/application.js +56 -55
  39. package/src/generators/application/lib/add-e2e.js +36 -40
  40. package/src/generators/application/lib/add-linting.js +12 -15
  41. package/src/generators/application/lib/add-proxy-config.js +4 -1
  42. package/src/generators/application/lib/add-unit-test-runner.js +15 -18
  43. package/src/generators/application/lib/create-files.js +44 -47
  44. package/src/generators/application/lib/enable-strict-type-checking.js +2 -2
  45. package/src/generators/application/lib/normalize-options.js +37 -25
  46. package/src/generators/application/lib/set-app-strict-default.js +1 -2
  47. package/src/generators/application/lib/update-editor-tsconfig.js +1 -2
  48. package/src/generators/component/component.js +40 -43
  49. package/src/generators/component/lib/normalize-options.js +15 -5
  50. package/src/generators/component-cypress-spec/component-cypress-spec.js +25 -28
  51. package/src/generators/component-story/component-story.js +19 -22
  52. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +19 -22
  53. package/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +3 -4
  54. package/src/generators/convert-tslint-to-eslint/convert-tslint-to-eslint.js +103 -106
  55. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +59 -62
  56. package/src/generators/directive/directive.js +21 -24
  57. package/src/generators/directive/lib/normalize-options.js +11 -5
  58. package/src/generators/host/files/src/main.server.ts__tmpl__ +1 -1
  59. package/src/generators/host/host.js +77 -67
  60. package/src/generators/host/lib/add-ssr.js +32 -33
  61. package/src/generators/init/init.js +101 -92
  62. package/src/generators/library/lib/add-standalone-component.js +18 -13
  63. package/src/generators/library/lib/enable-strict-type-checking.js +17 -5
  64. package/src/generators/library/lib/normalize-options.js +68 -53
  65. package/src/generators/library/library.js +89 -92
  66. package/src/generators/library-secondary-entry-point/lib/add-files.js +5 -1
  67. package/src/generators/library-secondary-entry-point/lib/normalize-options.js +6 -3
  68. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +1 -2
  69. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +6 -9
  70. package/src/generators/move/lib/normalize-schema.js +5 -1
  71. package/src/generators/move/lib/update-module-name.js +1 -1
  72. package/src/generators/move/lib/update-ng-package.js +1 -2
  73. package/src/generators/move/lib/update-secondary-entry-points.js +1 -2
  74. package/src/generators/move/move.js +9 -12
  75. package/src/generators/ng-add/migrate-from-angular-cli.js +54 -53
  76. package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +4 -3
  77. package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js +11 -12
  78. package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +39 -42
  79. package/src/generators/ng-add/migrators/builders/builder.migrator.js +1 -2
  80. package/src/generators/ng-add/migrators/migrator.js +7 -11
  81. package/src/generators/ng-add/migrators/projects/app.migrator.js +39 -43
  82. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +115 -91
  83. package/src/generators/ng-add/migrators/projects/lib.migrator.js +23 -31
  84. package/src/generators/ng-add/migrators/projects/project.migrator.js +10 -14
  85. package/src/generators/ng-add/ng-add.js +5 -8
  86. package/src/generators/ng-add/utilities/dependencies.js +2 -3
  87. package/src/generators/ng-add/utilities/format-files-task.js +1 -1
  88. package/src/generators/ng-add/utilities/projects.js +1 -1
  89. package/src/generators/ng-add/utilities/workspace.js +25 -36
  90. package/src/generators/ngrx/lib/add-imports-to-module.js +1 -2
  91. package/src/generators/ngrx/lib/add-ngrx-to-package-json.js +1 -3
  92. package/src/generators/ngrx/lib/generate-files.js +11 -2
  93. package/src/generators/ngrx/lib/normalize-options.js +9 -4
  94. package/src/generators/ngrx/lib/validate-options.js +3 -3
  95. package/src/generators/ngrx/ngrx.js +18 -21
  96. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.actions.ts__tmpl__ +1 -1
  97. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.spec.ts__tmpl__ +2 -2
  98. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.ts__tmpl__ +2 -2
  99. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.spec.ts__tmpl__ +6 -6
  100. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.ts__tmpl__ +3 -3
  101. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.spec.ts__tmpl__ +3 -3
  102. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.ts__tmpl__ +2 -2
  103. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.spec.ts__tmpl__ +3 -3
  104. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.ts__tmpl__ +1 -1
  105. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +2 -2
  106. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +3 -3
  107. package/src/generators/ngrx-feature-store/lib/add-exports-barrel.js +4 -1
  108. package/src/generators/ngrx-feature-store/lib/add-imports.js +1 -1
  109. package/src/generators/ngrx-feature-store/lib/add-ngrx-to-package-json.js +1 -3
  110. package/src/generators/ngrx-feature-store/lib/generate-files.js +20 -4
  111. package/src/generators/ngrx-feature-store/lib/normalize-options.d.ts +1 -0
  112. package/src/generators/ngrx-feature-store/lib/normalize-options.js +22 -3
  113. package/src/generators/ngrx-feature-store/lib/validate-options.js +2 -2
  114. package/src/generators/ngrx-feature-store/ngrx-feature-store.js +18 -21
  115. package/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.js +8 -6
  116. package/src/generators/ngrx-root-store/lib/normalize-options.js +8 -4
  117. package/src/generators/ngrx-root-store/lib/validate-options.js +2 -2
  118. package/src/generators/ngrx-root-store/ngrx-root-store.js +27 -30
  119. package/src/generators/pipe/lib/normalize-options.js +9 -3
  120. package/src/generators/pipe/pipe.js +21 -24
  121. package/src/generators/remote/files/base/src/main.server.ts__tmpl__ +2 -2
  122. package/src/generators/remote/lib/add-ssr.js +46 -43
  123. package/src/generators/remote/lib/find-next-available-port.js +1 -2
  124. package/src/generators/remote/remote.js +52 -49
  125. package/src/generators/scam/lib/convert-component-to-scam.js +1 -2
  126. package/src/generators/scam/lib/normalize-options.js +11 -4
  127. package/src/generators/scam/scam.js +15 -12
  128. package/src/generators/scam-directive/lib/normalize-options.js +12 -4
  129. package/src/generators/scam-directive/scam-directive.js +13 -10
  130. package/src/generators/scam-pipe/lib/normalize-options.js +12 -4
  131. package/src/generators/scam-pipe/scam-pipe.js +13 -10
  132. package/src/generators/scam-to-standalone/scam-to-standalone.js +23 -26
  133. package/src/generators/setup-mf/lib/add-cypress-workaround.js +1 -1
  134. package/src/generators/setup-mf/lib/add-remote-to-host.js +4 -1
  135. package/src/generators/setup-mf/lib/change-build-target.js +10 -4
  136. package/src/generators/setup-mf/lib/generate-config.js +1 -1
  137. package/src/generators/setup-mf/lib/get-remotes-with-ports.js +1 -2
  138. package/src/generators/setup-mf/lib/normalize-options.js +5 -2
  139. package/src/generators/setup-mf/lib/set-tsconfig-target.js +7 -1
  140. package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +1 -2
  141. package/src/generators/setup-mf/lib/setup-serve-target.js +10 -3
  142. package/src/generators/setup-mf/setup-mf.js +32 -35
  143. package/src/generators/setup-ssr/lib/generate-files.js +8 -5
  144. package/src/generators/setup-ssr/lib/normalize-options.js +9 -10
  145. package/src/generators/setup-ssr/lib/update-project-config.js +21 -17
  146. package/src/generators/setup-ssr/setup-ssr.js +26 -27
  147. package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.js +6 -4
  148. package/src/generators/setup-tailwind/lib/detect-tailwind-installed-version.js +1 -2
  149. package/src/generators/setup-tailwind/lib/normalize-options.js +4 -1
  150. package/src/generators/setup-tailwind/lib/update-application-styles.js +5 -6
  151. package/src/generators/setup-tailwind/setup-tailwind.js +20 -23
  152. package/src/generators/stories/lib/get-e2e-project.js +1 -1
  153. package/src/generators/stories/stories.js +43 -50
  154. package/src/generators/storybook-configuration/lib/assert-compatible-storybook-version.js +1 -1
  155. package/src/generators/storybook-configuration/lib/generate-stories.js +10 -13
  156. package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +12 -15
  157. package/src/generators/storybook-configuration/storybook-configuration.js +20 -16
  158. package/src/generators/utils/create-ts-config.js +1 -1
  159. package/src/generators/utils/entry-point.js +1 -2
  160. package/src/generators/utils/export-scam.js +1 -1
  161. package/src/generators/utils/insert-ngmodule-import.js +1 -1
  162. package/src/generators/utils/path.js +3 -3
  163. package/src/generators/utils/project.js +2 -3
  164. package/src/generators/utils/selector.js +1 -1
  165. package/src/generators/utils/storybook-ast/component-info.js +1 -2
  166. package/src/generators/utils/storybook-ast/entry-point.js +1 -2
  167. package/src/generators/utils/storybook-ast/module-info.js +1 -2
  168. package/src/generators/utils/storybook-ast/tree-utilities.js +1 -1
  169. package/src/generators/utils/testing.js +141 -138
  170. package/src/generators/utils/validations.js +1 -1
  171. package/src/generators/utils/version-utils.js +5 -7
  172. package/src/generators/web-worker/lib/normalize-options.js +6 -3
  173. package/src/generators/web-worker/web-worker.js +25 -28
  174. package/src/migrations/update-14-2-0/remove-show-circular-dependencies-option.js +10 -13
  175. package/src/migrations/update-14-2-0/update-angular-cli.js +14 -18
  176. package/src/migrations/update-14-2-0/update-libraries-secondary-entrypoints.js +22 -26
  177. package/src/migrations/update-14-2-0/update-ngcc-target.js +10 -14
  178. package/src/migrations/update-14-2-0/update-router-initial-navigation.js +31 -39
  179. package/src/migrations/update-14-2-0/update-tsconfig-target.js +48 -56
  180. package/src/migrations/update-14-5-0/migrate-mfe-to-mf.js +14 -17
  181. package/src/migrations/update-14-5-2/update-angular-cli.js +14 -18
  182. package/src/migrations/update-14-6-0/update-angular-cli.js +14 -18
  183. package/src/migrations/update-15-0-0/add-karma-inputs.js +27 -32
  184. package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.js +62 -68
  185. package/src/migrations/update-15-2-0/remove-browserlist-config.js +34 -37
  186. package/src/migrations/update-15-2-0/remove-platform-server-exports.js +49 -52
  187. package/src/migrations/update-15-2-0/update-angular-cli.js +14 -18
  188. package/src/migrations/update-15-2-0/update-karma-main-file.js +11 -12
  189. package/src/migrations/update-15-2-0/update-typescript-target.js +40 -39
  190. package/src/migrations/update-15-2-0/update-workspace-config.js +16 -19
  191. package/src/migrations/update-15-5-0/update-angular-cli.js +14 -18
  192. package/src/migrations/update-15-7-0/install-required-packages.js +26 -28
  193. package/src/migrations/update-15-8-0/update-angular-cli.js +14 -18
  194. package/src/migrations/update-15-9-0/update-file-server-executor.js +31 -35
  195. package/src/migrations/update-15-9-0/update-testing-tsconfig.js +17 -22
  196. package/src/migrations/update-16-0-0/remove-karma-defaults.js +15 -18
  197. package/src/migrations/update-16-0-0/remove-library-generator-simple-module-name-option.js +22 -25
  198. package/src/migrations/update-16-0-0/remove-protractor-defaults.js +15 -18
  199. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +3 -6
  200. package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.js +38 -42
  201. package/src/migrations/update-16-1-0/remove-ngcc-invocation.js +15 -19
  202. package/src/migrations/update-16-1-0/remove-render-module-platform-server-exports.js +49 -52
  203. package/src/migrations/update-16-1-0/update-angular-cli.js +14 -18
  204. package/src/migrations/update-16-1-0/update-server-executor-config.js +13 -16
  205. package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +25 -29
  206. package/src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules.js +13 -16
  207. package/src/migrations/update-16-4-0/update-angular-cli.js +14 -18
  208. package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +19 -24
  209. package/src/migrations/update-16-7-0/update-angular-cli.js +14 -18
  210. package/src/migrations/utils/projects.js +9 -15
  211. package/src/utils/backward-compatible-versions.js +2 -0
  212. package/src/utils/get-mf-projects.js +1 -2
  213. package/src/utils/mf/utils.js +43 -44
  214. package/src/utils/mf/with-module-federation-ssr.js +39 -24
  215. package/src/utils/mf/with-module-federation.js +40 -21
  216. package/src/utils/nx-devkit/ast-utils.js +2 -3
  217. package/src/utils/nx-devkit/testing.js +9 -9
  218. package/src/utils/version-utils.js +2 -4
  219. package/src/utils/versions.d.ts +1 -0
  220. package/src/utils/versions.js +2 -1
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const devkit_1 = require("@nx/devkit");
5
4
  const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
6
5
  const executors = [
@@ -8,22 +7,20 @@ const executors = [
8
7
  '@nx/angular:server',
9
8
  '@nrwl/angular:server',
10
9
  ];
11
- function default_1(tree) {
12
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
- executors.forEach((executor) => {
14
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, executor, (_options, projectName, targetName, configurationName) => {
15
- const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, projectName);
16
- const configToUpdate = configurationName
17
- ? projectConfiguration.targets[targetName].configurations[configurationName]
18
- : projectConfiguration.targets[targetName].options;
19
- if (configToUpdate.buildOptimizer === undefined &&
20
- configToUpdate.optimization !== undefined) {
21
- configToUpdate.buildOptimizer = !!configToUpdate.optimization;
22
- }
23
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfiguration);
24
- });
10
+ async function default_1(tree) {
11
+ executors.forEach((executor) => {
12
+ (0, executor_options_utils_1.forEachExecutorOptions)(tree, executor, (_options, projectName, targetName, configurationName) => {
13
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, projectName);
14
+ const configToUpdate = configurationName
15
+ ? projectConfiguration.targets[targetName].configurations[configurationName]
16
+ : projectConfiguration.targets[targetName].options;
17
+ if (configToUpdate.buildOptimizer === undefined &&
18
+ configToUpdate.optimization !== undefined) {
19
+ configToUpdate.buildOptimizer = !!configToUpdate.optimization;
20
+ }
21
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfiguration);
25
22
  });
26
- yield (0, devkit_1.formatFiles)(tree);
27
23
  });
24
+ await (0, devkit_1.formatFiles)(tree);
28
25
  }
29
26
  exports.default = default_1;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const devkit_1 = require("@nx/devkit");
5
4
  const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
6
5
  const file_change_recorder_1 = require("../../utils/file-change-recorder");
@@ -17,30 +16,28 @@ const dataPersistenceOperators = [
17
16
  'pessimisticUpdate',
18
17
  ];
19
18
  const newImportPath = '@ngrx/router-store/data-persistence';
20
- function default_1(tree) {
21
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- const projects = yield (0, projects_1.getProjectsFilteredByDependencies)(tree, angularPluginTargetNames);
23
- if (!projects.length) {
24
- return;
25
- }
26
- (0, ensure_typescript_1.ensureTypescript)();
27
- tsquery = require('@phenomnomnominal/tsquery').tsquery;
28
- const cachedFileMap = (0, nx_deps_cache_1.readProjectFileMapCache)().projectFileMap;
29
- const filesWithNxAngularImports = [];
30
- for (const { graphNode } of projects) {
31
- const files = filterFilesWithNxAngularDep(cachedFileMap[graphNode.name] || []);
32
- filesWithNxAngularImports.push(...files);
33
- }
34
- let isAnyFileUsingDataPersistence = false;
35
- for (const { file } of filesWithNxAngularImports) {
36
- const updated = replaceDataPersistenceInFile(tree, file);
37
- isAnyFileUsingDataPersistence || (isAnyFileUsingDataPersistence = updated);
38
- }
39
- if (isAnyFileUsingDataPersistence) {
40
- addNgrxRouterStoreIfNotInstalled(tree);
41
- yield (0, devkit_1.formatFiles)(tree);
42
- }
43
- });
19
+ async function default_1(tree) {
20
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, angularPluginTargetNames);
21
+ if (!projects.length) {
22
+ return;
23
+ }
24
+ (0, ensure_typescript_1.ensureTypescript)();
25
+ tsquery = require('@phenomnomnominal/tsquery').tsquery;
26
+ const cachedFileMap = (0, nx_deps_cache_1.readProjectFileMapCache)().projectFileMap;
27
+ const filesWithNxAngularImports = [];
28
+ for (const { graphNode } of projects) {
29
+ const files = filterFilesWithNxAngularDep(cachedFileMap[graphNode.name] || []);
30
+ filesWithNxAngularImports.push(...files);
31
+ }
32
+ let isAnyFileUsingDataPersistence = false;
33
+ for (const { file } of filesWithNxAngularImports) {
34
+ const updated = replaceDataPersistenceInFile(tree, file);
35
+ isAnyFileUsingDataPersistence ||= updated;
36
+ }
37
+ if (isAnyFileUsingDataPersistence) {
38
+ addNgrxRouterStoreIfNotInstalled(tree);
39
+ await (0, devkit_1.formatFiles)(tree);
40
+ }
44
41
  }
45
42
  exports.default = default_1;
46
43
  function replaceDataPersistenceInFile(tree, file) {
@@ -108,17 +105,16 @@ function getOriginalIdentifierTextFromImportSpecifier(importSpecifier) {
108
105
  }
109
106
  function addNgrxRouterStoreIfNotInstalled(tree) {
110
107
  const { dependencies, devDependencies } = (0, devkit_1.readJson)(tree, 'package.json');
111
- if ((dependencies === null || dependencies === void 0 ? void 0 : dependencies['@ngrx/router-store']) ||
112
- (devDependencies === null || devDependencies === void 0 ? void 0 : devDependencies['@ngrx/router-store'])) {
108
+ if (dependencies?.['@ngrx/router-store'] ||
109
+ devDependencies?.['@ngrx/router-store']) {
113
110
  return;
114
111
  }
115
112
  (0, devkit_1.addDependenciesToPackageJson)(tree, { '@ngrx/router-store': versions_1.ngrxVersion }, {});
116
113
  }
117
114
  function filterFilesWithNxAngularDep(files) {
118
- var _a;
119
115
  const filteredFiles = [];
120
116
  for (const file of files) {
121
- if ((_a = file.deps) === null || _a === void 0 ? void 0 : _a.some((dep) => angularPluginTargetNames.includes((0, project_graph_1.fileDataDepTarget)(dep)))) {
117
+ if (file.deps?.some((dep) => angularPluginTargetNames.includes((0, project_graph_1.fileDataDepTarget)(dep)))) {
122
118
  filteredFiles.push(file);
123
119
  }
124
120
  }
@@ -1,26 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const devkit_1 = require("@nx/devkit");
5
4
  // https://github.com/angular-eslint/angular-eslint/blob/24a4de54a8991c93924abf1dfb78b132a6269aef/packages/schematics/src/migrations/update-16-0-0/update-16-0-0.ts
6
- function default_1(tree) {
7
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
- (0, devkit_1.visitNotIgnoredFiles)(tree, '.', (filePath) => {
9
- if (!filePath.endsWith('.eslintrc.json')) {
10
- return;
11
- }
12
- (0, devkit_1.updateJson)(tree, filePath, (json) => {
13
- if (json.overrides) {
14
- for (const override of json.overrides) {
15
- modifyRules(override);
16
- }
5
+ async function default_1(tree) {
6
+ (0, devkit_1.visitNotIgnoredFiles)(tree, '.', (filePath) => {
7
+ if (!filePath.endsWith('.eslintrc.json')) {
8
+ return;
9
+ }
10
+ (0, devkit_1.updateJson)(tree, filePath, (json) => {
11
+ if (json.overrides) {
12
+ for (const override of json.overrides) {
13
+ modifyRules(override);
17
14
  }
18
- modifyRules(json);
19
- return json;
20
- });
15
+ }
16
+ modifyRules(json);
17
+ return json;
21
18
  });
22
- yield (0, devkit_1.formatFiles)(tree);
23
19
  });
20
+ await (0, devkit_1.formatFiles)(tree);
24
21
  }
25
22
  exports.default = default_1;
26
23
  function modifyRules(parent) {
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.angularCliVersion = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  exports.angularCliVersion = '~16.1.0';
7
- function default_1(tree) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- let shouldFormat = false;
10
- (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
11
- var _a, _b;
12
- if ((_a = json.devDependencies) === null || _a === void 0 ? void 0 : _a['@angular/cli']) {
13
- json.devDependencies['@angular/cli'] = exports.angularCliVersion;
14
- shouldFormat = true;
15
- }
16
- else if ((_b = json.dependencies) === null || _b === void 0 ? void 0 : _b['@angular/cli']) {
17
- json.dependencies['@angular/cli'] = exports.angularCliVersion;
18
- shouldFormat = true;
19
- }
20
- return json;
21
- });
22
- if (shouldFormat) {
23
- yield (0, devkit_1.formatFiles)(tree);
6
+ async function default_1(tree) {
7
+ let shouldFormat = false;
8
+ (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
9
+ if (json.devDependencies?.['@angular/cli']) {
10
+ json.devDependencies['@angular/cli'] = exports.angularCliVersion;
11
+ shouldFormat = true;
24
12
  }
13
+ else if (json.dependencies?.['@angular/cli']) {
14
+ json.dependencies['@angular/cli'] = exports.angularCliVersion;
15
+ shouldFormat = true;
16
+ }
17
+ return json;
25
18
  });
19
+ if (shouldFormat) {
20
+ await (0, devkit_1.formatFiles)(tree);
21
+ }
26
22
  }
27
23
  exports.default = default_1;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const devkit_1 = require("@nx/devkit");
5
4
  const executors = new Set([
6
5
  '@nx/angular:ng-packagr-lite',
@@ -8,32 +7,28 @@ const executors = new Set([
8
7
  '@nx/angular:package',
9
8
  '@nrwl/angular:package',
10
9
  ]);
11
- function default_1(tree) {
12
- var _a;
13
- var _b;
14
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
15
- // use project graph to get the expanded target configurations
16
- const projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
17
- for (const [projectName, { data: projectData }] of Object.entries(projectGraph.nodes)) {
18
- if (projectData.projectType !== 'library') {
10
+ async function default_1(tree) {
11
+ // use project graph to get the expanded target configurations
12
+ const projectGraph = await (0, devkit_1.createProjectGraphAsync)();
13
+ for (const [projectName, { data: projectData }] of Object.entries(projectGraph.nodes)) {
14
+ if (projectData.projectType !== 'library') {
15
+ continue;
16
+ }
17
+ for (const [targetName, target] of Object.entries(projectData.targets || {})) {
18
+ if (!executors.has(target.executor)) {
19
19
  continue;
20
20
  }
21
- for (const [targetName, target] of Object.entries(projectData.targets || {})) {
22
- if (!executors.has(target.executor)) {
23
- continue;
24
- }
25
- if (!target.options ||
26
- target.options.updateBuildableProjectDepsInPackageJson === undefined) {
27
- // read the project configuration to write the explicit project configuration
28
- // and avoid writing the expanded target configuration
29
- const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
30
- (_a = (_b = project.targets[targetName]).options) !== null && _a !== void 0 ? _a : (_b.options = {});
31
- project.targets[targetName].options.updateBuildableProjectDepsInPackageJson = true;
32
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
33
- }
21
+ if (!target.options ||
22
+ target.options.updateBuildableProjectDepsInPackageJson === undefined) {
23
+ // read the project configuration to write the explicit project configuration
24
+ // and avoid writing the expanded target configuration
25
+ const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
26
+ project.targets[targetName].options ??= {};
27
+ project.targets[targetName].options.updateBuildableProjectDepsInPackageJson = true;
28
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
34
29
  }
35
30
  }
36
- yield (0, devkit_1.formatFiles)(tree);
37
- });
31
+ }
32
+ await (0, devkit_1.formatFiles)(tree);
38
33
  }
39
34
  exports.default = default_1;
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.angularCliVersion = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  exports.angularCliVersion = '~16.2.0';
7
- function default_1(tree) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- let shouldFormat = false;
10
- (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
11
- var _a, _b;
12
- if ((_a = json.devDependencies) === null || _a === void 0 ? void 0 : _a['@angular/cli']) {
13
- json.devDependencies['@angular/cli'] = exports.angularCliVersion;
14
- shouldFormat = true;
15
- }
16
- else if ((_b = json.dependencies) === null || _b === void 0 ? void 0 : _b['@angular/cli']) {
17
- json.dependencies['@angular/cli'] = exports.angularCliVersion;
18
- shouldFormat = true;
19
- }
20
- return json;
21
- });
22
- if (shouldFormat) {
23
- yield (0, devkit_1.formatFiles)(tree);
6
+ async function default_1(tree) {
7
+ let shouldFormat = false;
8
+ (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
9
+ if (json.devDependencies?.['@angular/cli']) {
10
+ json.devDependencies['@angular/cli'] = exports.angularCliVersion;
11
+ shouldFormat = true;
24
12
  }
13
+ else if (json.dependencies?.['@angular/cli']) {
14
+ json.dependencies['@angular/cli'] = exports.angularCliVersion;
15
+ shouldFormat = true;
16
+ }
17
+ return json;
25
18
  });
19
+ if (shouldFormat) {
20
+ await (0, devkit_1.formatFiles)(tree);
21
+ }
26
22
  }
27
23
  exports.default = default_1;
@@ -1,21 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProjectsFilteredByDependencies = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
- function getProjectsFilteredByDependencies(tree, dependencies) {
7
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
- const projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
9
- return Object.entries(projectGraph.dependencies)
10
- .filter(([node, deps]) => {
11
- var _a;
12
- return !((_a = projectGraph.externalNodes) === null || _a === void 0 ? void 0 : _a[node]) &&
13
- deps.some(({ target }) => dependencies.includes(target));
14
- })
15
- .map(([projectName]) => ({
16
- project: (0, devkit_1.readProjectConfiguration)(tree, projectName),
17
- graphNode: projectGraph.nodes[projectName],
18
- }));
19
- });
5
+ async function getProjectsFilteredByDependencies(tree, dependencies) {
6
+ const projectGraph = await (0, devkit_1.createProjectGraphAsync)();
7
+ return Object.entries(projectGraph.dependencies)
8
+ .filter(([node, deps]) => !projectGraph.externalNodes?.[node] &&
9
+ deps.some(({ target }) => dependencies.includes(target)))
10
+ .map(([projectName]) => ({
11
+ project: (0, devkit_1.readProjectConfiguration)(tree, projectName),
12
+ graphNode: projectGraph.nodes[projectName],
13
+ }));
20
14
  }
21
15
  exports.getProjectsFilteredByDependencies = getProjectsFilteredByDependencies;
@@ -28,6 +28,7 @@ exports.backwardCompatibleVersions = {
28
28
  jestPresetAngularVersion: '~12.2.3',
29
29
  typesNodeVersion: '16.11.7',
30
30
  jasmineMarblesVersion: '^0.9.2',
31
+ jsoncEslintParserVersion: '^2.1.0',
31
32
  },
32
33
  angularV15: {
33
34
  angularVersion: '~15.2.0',
@@ -55,5 +56,6 @@ exports.backwardCompatibleVersions = {
55
56
  jestPresetAngularVersion: '~13.0.0',
56
57
  typesNodeVersion: '16.11.7',
57
58
  jasmineMarblesVersion: '^0.9.2',
59
+ jsoncEslintParserVersion: '^2.1.0',
58
60
  },
59
61
  };
@@ -4,8 +4,7 @@ exports.getMFProjects = void 0;
4
4
  const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
5
5
  function _getMfProjects(tree, CUSTOM_WEBPACK_OPTION, MODULE_FEDERATION_IDENTIFIER, projects) {
6
6
  return (opts, projectName) => {
7
- var _a;
8
- const webpackPath = (_a = opts[CUSTOM_WEBPACK_OPTION]) === null || _a === void 0 ? void 0 : _a.path;
7
+ const webpackPath = opts[CUSTOM_WEBPACK_OPTION]?.path;
9
8
  if (!webpackPath || !tree.exists(webpackPath)) {
10
9
  return;
11
10
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getModuleFederationConfig = exports.getFunctionDeterminateRemoteUrl = exports.DEFAULT_ANGULAR_PACKAGES_TO_SHARE = exports.DEFAULT_NPM_PACKAGES_TO_AVOID = exports.applyDefaultEagerPackages = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const module_federation_1 = require("@nx/devkit/src/utils/module-federation");
6
5
  const devkit_1 = require("@nx/devkit");
7
6
  const project_graph_1 = require("nx/src/project-graph/project-graph");
@@ -14,7 +13,7 @@ function applyDefaultEagerPackages(sharedConfig) {
14
13
  if (!sharedConfig[pkg]) {
15
14
  continue;
16
15
  }
17
- sharedConfig[pkg] = Object.assign(Object.assign({}, sharedConfig[pkg]), { eager: true });
16
+ sharedConfig[pkg] = { ...sharedConfig[pkg], eager: true };
18
17
  }
19
18
  }
20
19
  exports.applyDefaultEagerPackages = applyDefaultEagerPackages;
@@ -31,58 +30,58 @@ function getFunctionDeterminateRemoteUrl(isServer = false) {
31
30
  const target = 'serve';
32
31
  const remoteEntry = isServer ? 'server/remoteEntry.js' : 'remoteEntry.mjs';
33
32
  return function (remote) {
34
- var _a, _b, _c, _d, _e;
35
33
  const remoteConfiguration = (0, project_graph_1.readCachedProjectConfiguration)(remote);
36
- const serveTarget = (_a = remoteConfiguration === null || remoteConfiguration === void 0 ? void 0 : remoteConfiguration.targets) === null || _a === void 0 ? void 0 : _a[target];
34
+ const serveTarget = remoteConfiguration?.targets?.[target];
37
35
  if (!serveTarget) {
38
36
  throw new Error(`Cannot automatically determine URL of remote (${remote}). Looked for property "host" in the project's "serve" target.\n
39
37
  You can also use the tuple syntax in your webpack config to configure your remotes. e.g. \`remotes: [['remote1', 'http://localhost:4201']]\``);
40
38
  }
41
- const host = (_c = (_b = serveTarget.options) === null || _b === void 0 ? void 0 : _b.host) !== null && _c !== void 0 ? _c : `http${serveTarget.options.ssl ? 's' : ''}://localhost`;
42
- const port = (_e = (_d = serveTarget.options) === null || _d === void 0 ? void 0 : _d.port) !== null && _e !== void 0 ? _e : 4201;
39
+ const host = serveTarget.options?.host ??
40
+ `http${serveTarget.options.ssl ? 's' : ''}://localhost`;
41
+ const port = serveTarget.options?.port ?? 4201;
43
42
  return `${host.endsWith('/') ? host.slice(0, -1) : host}:${port}/${remoteEntry}`;
44
43
  };
45
44
  }
46
45
  exports.getFunctionDeterminateRemoteUrl = getFunctionDeterminateRemoteUrl;
47
- function getModuleFederationConfig(mfConfig, options = { isServer: false }) {
48
- var _a;
49
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- let projectGraph;
51
- try {
52
- projectGraph = (0, devkit_1.readCachedProjectGraph)();
53
- }
54
- catch (e) {
55
- projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
56
- }
57
- if (!((_a = projectGraph.nodes[mfConfig.name]) === null || _a === void 0 ? void 0 : _a.data)) {
58
- throw Error(`Cannot find project "${mfConfig.name}". Check that the name is correct in module-federation.config.js`);
59
- }
60
- const dependencies = (0, module_federation_1.getDependentPackagesForProject)(projectGraph, mfConfig.name);
61
- if (mfConfig.shared) {
62
- dependencies.workspaceLibraries = dependencies.workspaceLibraries.filter((lib) => mfConfig.shared(lib.importKey, {}) !== false);
63
- dependencies.npmPackages = dependencies.npmPackages.filter((pkg) => mfConfig.shared(pkg, {}) !== false);
46
+ async function getModuleFederationConfig(mfConfig, options = { isServer: false }) {
47
+ let projectGraph;
48
+ try {
49
+ projectGraph = (0, devkit_1.readCachedProjectGraph)();
50
+ }
51
+ catch (e) {
52
+ projectGraph = await (0, devkit_1.createProjectGraphAsync)();
53
+ }
54
+ if (!projectGraph.nodes[mfConfig.name]?.data) {
55
+ throw Error(`Cannot find project "${mfConfig.name}". Check that the name is correct in module-federation.config.js`);
56
+ }
57
+ const dependencies = (0, module_federation_1.getDependentPackagesForProject)(projectGraph, mfConfig.name);
58
+ if (mfConfig.shared) {
59
+ dependencies.workspaceLibraries = dependencies.workspaceLibraries.filter((lib) => mfConfig.shared(lib.importKey, {}) !== false);
60
+ dependencies.npmPackages = dependencies.npmPackages.filter((pkg) => mfConfig.shared(pkg, {}) !== false);
61
+ }
62
+ const sharedLibraries = (0, module_federation_1.shareWorkspaceLibraries)(dependencies.workspaceLibraries);
63
+ const npmPackages = (0, module_federation_1.sharePackages)(Array.from(new Set([
64
+ ...exports.DEFAULT_ANGULAR_PACKAGES_TO_SHARE,
65
+ ...dependencies.npmPackages.filter((pkg) => !exports.DEFAULT_NPM_PACKAGES_TO_AVOID.includes(pkg)),
66
+ ])));
67
+ exports.DEFAULT_NPM_PACKAGES_TO_AVOID.forEach((pkgName) => {
68
+ if (pkgName in npmPackages) {
69
+ delete npmPackages[pkgName];
64
70
  }
65
- const sharedLibraries = (0, module_federation_1.shareWorkspaceLibraries)(dependencies.workspaceLibraries);
66
- const npmPackages = (0, module_federation_1.sharePackages)(Array.from(new Set([
67
- ...exports.DEFAULT_ANGULAR_PACKAGES_TO_SHARE,
68
- ...dependencies.npmPackages.filter((pkg) => !exports.DEFAULT_NPM_PACKAGES_TO_AVOID.includes(pkg)),
69
- ])));
70
- exports.DEFAULT_NPM_PACKAGES_TO_AVOID.forEach((pkgName) => {
71
- if (pkgName in npmPackages) {
72
- delete npmPackages[pkgName];
73
- }
74
- });
75
- const sharedDependencies = Object.assign(Object.assign({}, sharedLibraries.getLibraries()), npmPackages);
76
- applyDefaultEagerPackages(sharedDependencies);
77
- (0, module_federation_1.applySharedFunction)(sharedDependencies, mfConfig.shared);
78
- (0, module_federation_1.applyAdditionalShared)(sharedDependencies, mfConfig.additionalShared, projectGraph);
79
- const determineRemoteUrlFn = options.determineRemoteUrl ||
80
- getFunctionDeterminateRemoteUrl(options.isServer);
81
- const mapRemotesFunction = options.isServer ? module_federation_1.mapRemotesForSSR : module_federation_1.mapRemotes;
82
- const mappedRemotes = !mfConfig.remotes || mfConfig.remotes.length === 0
83
- ? {}
84
- : mapRemotesFunction(mfConfig.remotes, 'mjs', determineRemoteUrlFn);
85
- return { sharedLibraries, sharedDependencies, mappedRemotes };
86
71
  });
72
+ const sharedDependencies = {
73
+ ...sharedLibraries.getLibraries(),
74
+ ...npmPackages,
75
+ };
76
+ applyDefaultEagerPackages(sharedDependencies);
77
+ (0, module_federation_1.applySharedFunction)(sharedDependencies, mfConfig.shared);
78
+ (0, module_federation_1.applyAdditionalShared)(sharedDependencies, mfConfig.additionalShared, projectGraph);
79
+ const determineRemoteUrlFn = options.determineRemoteUrl ||
80
+ getFunctionDeterminateRemoteUrl(options.isServer);
81
+ const mapRemotesFunction = options.isServer ? module_federation_1.mapRemotesForSSR : module_federation_1.mapRemotes;
82
+ const mappedRemotes = !mfConfig.remotes || mfConfig.remotes.length === 0
83
+ ? {}
84
+ : mapRemotesFunction(mfConfig.remotes, 'mjs', determineRemoteUrlFn);
85
+ return { sharedLibraries, sharedDependencies, mappedRemotes };
87
86
  }
88
87
  exports.getModuleFederationConfig = getModuleFederationConfig;
@@ -1,31 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withModuleFederationForSSR = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const utils_1 = require("./utils");
6
- function withModuleFederationForSSR(options) {
7
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
- const { sharedLibraries, sharedDependencies, mappedRemotes } = yield (0, utils_1.getModuleFederationConfig)(options, {
9
- isServer: true,
10
- });
11
- return (config) => {
12
- var _a, _b, _c, _d, _e, _f;
13
- return (Object.assign(Object.assign({}, (config !== null && config !== void 0 ? config : {})), { target: false, output: Object.assign(Object.assign({}, ((_a = config.output) !== null && _a !== void 0 ? _a : {})), { uniqueName: options.name }), optimization: Object.assign(Object.assign({}, ((_b = config.optimization) !== null && _b !== void 0 ? _b : {})), { runtimeChunk: false }), resolve: Object.assign(Object.assign({}, ((_c = config.resolve) !== null && _c !== void 0 ? _c : {})), { alias: Object.assign(Object.assign({}, ((_e = (_d = config.resolve) === null || _d === void 0 ? void 0 : _d.alias) !== null && _e !== void 0 ? _e : {})), sharedLibraries.getAliases()) }), plugins: [
14
- ...((_f = config.plugins) !== null && _f !== void 0 ? _f : []),
15
- new (require('@module-federation/node').UniversalFederationPlugin)({
16
- name: options.name,
17
- filename: 'remoteEntry.js',
18
- exposes: options.exposes,
19
- remotes: mappedRemotes,
20
- shared: Object.assign({}, sharedDependencies),
21
- library: {
22
- type: 'commonjs-module',
23
- },
24
- isServer: true,
25
- }, {}),
26
- sharedLibraries.getReplacementPlugin(),
27
- ] }));
28
- };
5
+ async function withModuleFederationForSSR(options) {
6
+ const { sharedLibraries, sharedDependencies, mappedRemotes } = await (0, utils_1.getModuleFederationConfig)(options, {
7
+ isServer: true,
8
+ });
9
+ return (config) => ({
10
+ ...(config ?? {}),
11
+ target: false,
12
+ output: {
13
+ ...(config.output ?? {}),
14
+ uniqueName: options.name,
15
+ },
16
+ optimization: {
17
+ ...(config.optimization ?? {}),
18
+ runtimeChunk: false,
19
+ },
20
+ resolve: {
21
+ ...(config.resolve ?? {}),
22
+ alias: {
23
+ ...(config.resolve?.alias ?? {}),
24
+ ...sharedLibraries.getAliases(),
25
+ },
26
+ },
27
+ plugins: [
28
+ ...(config.plugins ?? []),
29
+ new (require('@module-federation/node').UniversalFederationPlugin)({
30
+ name: options.name,
31
+ filename: 'remoteEntry.js',
32
+ exposes: options.exposes,
33
+ remotes: mappedRemotes,
34
+ shared: {
35
+ ...sharedDependencies,
36
+ },
37
+ library: {
38
+ type: 'commonjs-module',
39
+ },
40
+ isServer: true,
41
+ }, {}),
42
+ sharedLibraries.getReplacementPlugin(),
43
+ ],
29
44
  });
30
45
  }
31
46
  exports.withModuleFederationForSSR = withModuleFederationForSSR;
@@ -1,29 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withModuleFederation = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const utils_1 = require("./utils");
6
5
  const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
7
- function withModuleFederation(options) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- const { sharedLibraries, sharedDependencies, mappedRemotes } = yield (0, utils_1.getModuleFederationConfig)(options);
10
- return (config) => {
11
- var _a, _b, _c, _d, _e, _f, _g;
12
- return (Object.assign(Object.assign({}, (config !== null && config !== void 0 ? config : {})), { output: Object.assign(Object.assign({}, ((_a = config.output) !== null && _a !== void 0 ? _a : {})), { uniqueName: options.name, publicPath: 'auto' }), optimization: Object.assign(Object.assign({}, ((_b = config.optimization) !== null && _b !== void 0 ? _b : {})), { runtimeChunk: false }), resolve: Object.assign(Object.assign({}, ((_c = config.resolve) !== null && _c !== void 0 ? _c : {})), { alias: Object.assign(Object.assign({}, ((_e = (_d = config.resolve) === null || _d === void 0 ? void 0 : _d.alias) !== null && _e !== void 0 ? _e : {})), sharedLibraries.getAliases()) }), experiments: Object.assign(Object.assign({}, ((_f = config.experiments) !== null && _f !== void 0 ? _f : {})), { outputModule: true }), plugins: [
13
- ...((_g = config.plugins) !== null && _g !== void 0 ? _g : []),
14
- new ModuleFederationPlugin({
15
- name: options.name,
16
- filename: 'remoteEntry.mjs',
17
- exposes: options.exposes,
18
- remotes: mappedRemotes,
19
- shared: Object.assign({}, sharedDependencies),
20
- library: {
21
- type: 'module',
22
- },
23
- }),
24
- sharedLibraries.getReplacementPlugin(),
25
- ] }));
26
- };
6
+ async function withModuleFederation(options) {
7
+ const { sharedLibraries, sharedDependencies, mappedRemotes } = await (0, utils_1.getModuleFederationConfig)(options);
8
+ return (config) => ({
9
+ ...(config ?? {}),
10
+ output: {
11
+ ...(config.output ?? {}),
12
+ uniqueName: options.name,
13
+ publicPath: 'auto',
14
+ },
15
+ optimization: {
16
+ ...(config.optimization ?? {}),
17
+ runtimeChunk: false,
18
+ },
19
+ resolve: {
20
+ ...(config.resolve ?? {}),
21
+ alias: {
22
+ ...(config.resolve?.alias ?? {}),
23
+ ...sharedLibraries.getAliases(),
24
+ },
25
+ },
26
+ experiments: {
27
+ ...(config.experiments ?? {}),
28
+ outputModule: true,
29
+ },
30
+ plugins: [
31
+ ...(config.plugins ?? []),
32
+ new ModuleFederationPlugin({
33
+ name: options.name,
34
+ filename: 'remoteEntry.mjs',
35
+ exposes: options.exposes,
36
+ remotes: mappedRemotes,
37
+ shared: {
38
+ ...sharedDependencies,
39
+ },
40
+ library: {
41
+ type: 'module',
42
+ },
43
+ }),
44
+ sharedLibraries.getReplacementPlugin(),
45
+ ],
27
46
  });
28
47
  }
29
48
  exports.withModuleFederation = withModuleFederation;