@nx/angular 16.8.0-beta.4 → 16.8.0-beta.6

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 (213) hide show
  1. package/mf/mf.js +31 -36
  2. package/package.json +10 -10
  3. package/plugins/component-testing.d.ts +0 -1
  4. package/plugins/component-testing.js +48 -40
  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 -74
  36. package/src/generators/add-linting/lib/create-eslint-configuration.js +12 -4
  37. package/src/generators/application/application.js +56 -55
  38. package/src/generators/application/lib/add-e2e.js +36 -40
  39. package/src/generators/application/lib/add-linting.js +12 -15
  40. package/src/generators/application/lib/add-proxy-config.js +4 -1
  41. package/src/generators/application/lib/add-unit-test-runner.js +15 -18
  42. package/src/generators/application/lib/create-files.js +44 -47
  43. package/src/generators/application/lib/enable-strict-type-checking.js +2 -2
  44. package/src/generators/application/lib/normalize-options.js +37 -25
  45. package/src/generators/application/lib/set-app-strict-default.js +1 -2
  46. package/src/generators/application/lib/update-editor-tsconfig.js +1 -2
  47. package/src/generators/component/component.js +40 -43
  48. package/src/generators/component/lib/normalize-options.js +15 -5
  49. package/src/generators/component-cypress-spec/component-cypress-spec.js +25 -28
  50. package/src/generators/component-story/component-story.js +19 -22
  51. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +19 -22
  52. package/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +3 -4
  53. package/src/generators/convert-tslint-to-eslint/convert-tslint-to-eslint.js +103 -106
  54. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +59 -62
  55. package/src/generators/directive/directive.js +21 -24
  56. package/src/generators/directive/lib/normalize-options.js +11 -5
  57. package/src/generators/host/host.js +77 -67
  58. package/src/generators/host/lib/add-ssr.js +32 -35
  59. package/src/generators/init/init.js +101 -92
  60. package/src/generators/library/lib/add-standalone-component.js +18 -13
  61. package/src/generators/library/lib/enable-strict-type-checking.js +17 -5
  62. package/src/generators/library/lib/normalize-options.js +68 -53
  63. package/src/generators/library/library.js +89 -92
  64. package/src/generators/library-secondary-entry-point/lib/add-files.js +5 -1
  65. package/src/generators/library-secondary-entry-point/lib/normalize-options.js +6 -3
  66. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +1 -2
  67. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +6 -9
  68. package/src/generators/move/lib/normalize-schema.js +5 -1
  69. package/src/generators/move/lib/update-module-name.js +1 -1
  70. package/src/generators/move/lib/update-ng-package.js +1 -2
  71. package/src/generators/move/lib/update-secondary-entry-points.js +1 -2
  72. package/src/generators/move/move.js +9 -12
  73. package/src/generators/ng-add/migrate-from-angular-cli.js +54 -53
  74. package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +4 -3
  75. package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js +11 -12
  76. package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +39 -42
  77. package/src/generators/ng-add/migrators/builders/builder.migrator.js +1 -2
  78. package/src/generators/ng-add/migrators/migrator.js +7 -11
  79. package/src/generators/ng-add/migrators/projects/app.migrator.js +39 -43
  80. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +115 -91
  81. package/src/generators/ng-add/migrators/projects/lib.migrator.js +23 -31
  82. package/src/generators/ng-add/migrators/projects/project.migrator.js +10 -14
  83. package/src/generators/ng-add/ng-add.js +5 -8
  84. package/src/generators/ng-add/utilities/dependencies.js +2 -3
  85. package/src/generators/ng-add/utilities/format-files-task.js +1 -1
  86. package/src/generators/ng-add/utilities/projects.js +1 -1
  87. package/src/generators/ng-add/utilities/workspace.js +25 -36
  88. package/src/generators/ngrx/lib/add-imports-to-module.js +1 -2
  89. package/src/generators/ngrx/lib/add-ngrx-to-package-json.js +1 -3
  90. package/src/generators/ngrx/lib/generate-files.js +11 -2
  91. package/src/generators/ngrx/lib/normalize-options.js +9 -4
  92. package/src/generators/ngrx/lib/validate-options.js +3 -3
  93. package/src/generators/ngrx/ngrx.js +18 -21
  94. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.actions.ts__tmpl__ +1 -1
  95. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.spec.ts__tmpl__ +2 -2
  96. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.ts__tmpl__ +2 -2
  97. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.spec.ts__tmpl__ +6 -6
  98. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.ts__tmpl__ +3 -3
  99. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.spec.ts__tmpl__ +3 -3
  100. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.ts__tmpl__ +2 -2
  101. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.spec.ts__tmpl__ +3 -3
  102. package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.ts__tmpl__ +1 -1
  103. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +2 -2
  104. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +3 -3
  105. package/src/generators/ngrx-feature-store/lib/add-exports-barrel.js +4 -1
  106. package/src/generators/ngrx-feature-store/lib/add-imports.js +1 -1
  107. package/src/generators/ngrx-feature-store/lib/add-ngrx-to-package-json.js +1 -3
  108. package/src/generators/ngrx-feature-store/lib/generate-files.js +20 -4
  109. package/src/generators/ngrx-feature-store/lib/normalize-options.d.ts +1 -0
  110. package/src/generators/ngrx-feature-store/lib/normalize-options.js +22 -3
  111. package/src/generators/ngrx-feature-store/lib/validate-options.js +2 -2
  112. package/src/generators/ngrx-feature-store/ngrx-feature-store.js +18 -21
  113. package/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.js +8 -6
  114. package/src/generators/ngrx-root-store/lib/normalize-options.js +8 -4
  115. package/src/generators/ngrx-root-store/lib/validate-options.js +2 -2
  116. package/src/generators/ngrx-root-store/ngrx-root-store.js +27 -30
  117. package/src/generators/pipe/lib/normalize-options.js +9 -3
  118. package/src/generators/pipe/pipe.js +21 -24
  119. package/src/generators/remote/lib/add-ssr.js +46 -47
  120. package/src/generators/remote/lib/find-next-available-port.js +1 -2
  121. package/src/generators/remote/remote.js +52 -49
  122. package/src/generators/scam/lib/convert-component-to-scam.js +1 -2
  123. package/src/generators/scam/lib/normalize-options.js +11 -4
  124. package/src/generators/scam/scam.js +15 -12
  125. package/src/generators/scam-directive/lib/normalize-options.js +12 -4
  126. package/src/generators/scam-directive/scam-directive.js +13 -10
  127. package/src/generators/scam-pipe/lib/normalize-options.js +12 -4
  128. package/src/generators/scam-pipe/scam-pipe.js +13 -10
  129. package/src/generators/scam-to-standalone/scam-to-standalone.js +23 -26
  130. package/src/generators/setup-mf/lib/add-cypress-workaround.js +1 -1
  131. package/src/generators/setup-mf/lib/add-remote-to-host.js +4 -1
  132. package/src/generators/setup-mf/lib/change-build-target.js +10 -4
  133. package/src/generators/setup-mf/lib/generate-config.js +1 -1
  134. package/src/generators/setup-mf/lib/get-remotes-with-ports.js +1 -2
  135. package/src/generators/setup-mf/lib/normalize-options.js +5 -2
  136. package/src/generators/setup-mf/lib/set-tsconfig-target.js +7 -1
  137. package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +1 -2
  138. package/src/generators/setup-mf/lib/setup-serve-target.js +11 -4
  139. package/src/generators/setup-mf/setup-mf.js +32 -35
  140. package/src/generators/setup-ssr/lib/generate-files.js +8 -5
  141. package/src/generators/setup-ssr/lib/normalize-options.js +9 -10
  142. package/src/generators/setup-ssr/lib/update-project-config.js +21 -17
  143. package/src/generators/setup-ssr/setup-ssr.js +26 -27
  144. package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.js +6 -4
  145. package/src/generators/setup-tailwind/lib/detect-tailwind-installed-version.js +1 -2
  146. package/src/generators/setup-tailwind/lib/normalize-options.js +4 -1
  147. package/src/generators/setup-tailwind/lib/update-application-styles.js +5 -6
  148. package/src/generators/setup-tailwind/setup-tailwind.js +20 -23
  149. package/src/generators/stories/lib/get-e2e-project.js +1 -1
  150. package/src/generators/stories/stories.js +43 -50
  151. package/src/generators/storybook-configuration/lib/assert-compatible-storybook-version.js +1 -1
  152. package/src/generators/storybook-configuration/lib/generate-stories.js +10 -13
  153. package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +12 -15
  154. package/src/generators/storybook-configuration/storybook-configuration.js +20 -16
  155. package/src/generators/utils/create-ts-config.js +1 -1
  156. package/src/generators/utils/entry-point.js +1 -2
  157. package/src/generators/utils/export-scam.js +1 -1
  158. package/src/generators/utils/insert-ngmodule-import.js +1 -1
  159. package/src/generators/utils/path.js +3 -3
  160. package/src/generators/utils/project.js +2 -3
  161. package/src/generators/utils/selector.js +1 -1
  162. package/src/generators/utils/storybook-ast/component-info.js +1 -2
  163. package/src/generators/utils/storybook-ast/entry-point.js +1 -2
  164. package/src/generators/utils/storybook-ast/module-info.js +1 -2
  165. package/src/generators/utils/storybook-ast/tree-utilities.js +1 -1
  166. package/src/generators/utils/testing.js +141 -139
  167. package/src/generators/utils/validations.js +1 -1
  168. package/src/generators/utils/version-utils.js +5 -7
  169. package/src/generators/web-worker/lib/normalize-options.js +6 -3
  170. package/src/generators/web-worker/web-worker.js +25 -28
  171. package/src/migrations/update-14-2-0/remove-show-circular-dependencies-option.js +10 -13
  172. package/src/migrations/update-14-2-0/update-angular-cli.js +14 -18
  173. package/src/migrations/update-14-2-0/update-libraries-secondary-entrypoints.js +22 -26
  174. package/src/migrations/update-14-2-0/update-ngcc-target.js +10 -14
  175. package/src/migrations/update-14-2-0/update-router-initial-navigation.js +31 -39
  176. package/src/migrations/update-14-2-0/update-tsconfig-target.js +48 -56
  177. package/src/migrations/update-14-5-0/migrate-mfe-to-mf.js +14 -17
  178. package/src/migrations/update-14-5-2/update-angular-cli.js +14 -18
  179. package/src/migrations/update-14-6-0/update-angular-cli.js +14 -18
  180. package/src/migrations/update-15-0-0/add-karma-inputs.js +27 -32
  181. package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.js +62 -68
  182. package/src/migrations/update-15-2-0/remove-browserlist-config.js +34 -37
  183. package/src/migrations/update-15-2-0/remove-platform-server-exports.js +49 -52
  184. package/src/migrations/update-15-2-0/update-angular-cli.js +14 -18
  185. package/src/migrations/update-15-2-0/update-karma-main-file.js +11 -12
  186. package/src/migrations/update-15-2-0/update-typescript-target.js +40 -39
  187. package/src/migrations/update-15-2-0/update-workspace-config.js +16 -19
  188. package/src/migrations/update-15-5-0/update-angular-cli.js +14 -18
  189. package/src/migrations/update-15-7-0/install-required-packages.js +26 -28
  190. package/src/migrations/update-15-8-0/update-angular-cli.js +14 -18
  191. package/src/migrations/update-15-9-0/update-file-server-executor.js +31 -35
  192. package/src/migrations/update-15-9-0/update-testing-tsconfig.js +17 -22
  193. package/src/migrations/update-16-0-0/remove-karma-defaults.js +15 -18
  194. package/src/migrations/update-16-0-0/remove-library-generator-simple-module-name-option.js +22 -25
  195. package/src/migrations/update-16-0-0/remove-protractor-defaults.js +15 -18
  196. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +3 -6
  197. package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.js +38 -42
  198. package/src/migrations/update-16-1-0/remove-ngcc-invocation.js +15 -19
  199. package/src/migrations/update-16-1-0/remove-render-module-platform-server-exports.js +49 -52
  200. package/src/migrations/update-16-1-0/update-angular-cli.js +14 -18
  201. package/src/migrations/update-16-1-0/update-server-executor-config.js +13 -16
  202. package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +25 -29
  203. package/src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules.js +13 -16
  204. package/src/migrations/update-16-4-0/update-angular-cli.js +14 -18
  205. package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +19 -24
  206. package/src/migrations/update-16-7-0/update-angular-cli.js +14 -18
  207. package/src/migrations/utils/projects.js +9 -15
  208. package/src/utils/get-mf-projects.js +1 -2
  209. package/src/utils/mf/utils.js +43 -44
  210. package/src/utils/mf/with-module-federation-ssr.js +39 -24
  211. package/src/utils/mf/with-module-federation.js +40 -21
  212. package/src/utils/nx-devkit/ast-utils.js +2 -3
  213. package/src/utils/version-utils.js +2 -4
@@ -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;
@@ -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;