@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,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.E2eMigrator = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const cypress_1 = require("@nx/cypress");
6
5
  const cypress_preset_1 = require("@nx/cypress/plugins/cypress-preset");
7
6
  const cypress_version_1 = require("@nx/cypress/src/utils/cypress-version");
@@ -36,7 +35,6 @@ const cypressConfig = {
36
35
  };
37
36
  class E2eMigrator extends project_migrator_1.ProjectMigrator {
38
37
  constructor(tree, options, project, lintTargetName, logger) {
39
- var _a;
40
38
  super(tree, options, supportedTargets, project, 'apps', logger);
41
39
  this.lintTargetName = lintTargetName;
42
40
  this.appConfig = project.config;
@@ -44,39 +42,39 @@ class E2eMigrator extends project_migrator_1.ProjectMigrator {
44
42
  // TODO(leo): temporary keep restriction to support projects with an "e2e" target,
45
43
  // will be lifted soon when the migration is split per-builder and proper support
46
44
  // for multiple targets for the same builder is added
47
- this.targetNames.e2e = ((_a = this.appConfig.targets) === null || _a === void 0 ? void 0 : _a.e2e) ? 'e2e' : undefined;
45
+ this.targetNames.e2e = this.appConfig.targets?.e2e ? 'e2e' : undefined;
48
46
  this.initialize();
49
47
  }
50
- migrate() {
51
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- if (!this.targetNames.e2e) {
53
- this.logger.info('No e2e project was migrated because there was no "e2e" target declared in the "angular.json".');
54
- return;
55
- }
56
- if (this.shouldSkipTargetTypeMigration('e2e')) {
57
- return;
58
- }
59
- if (this.isProtractorE2eProject()) {
60
- yield this.migrateProtractorE2eProject();
61
- }
62
- else if (this.isCypressE2eProject()) {
63
- yield this.migrateCypressE2eProject();
64
- }
65
- const tsConfig = (0, devkit_1.joinPathFragments)(this.projectConfig.root, 'tsconfig.json');
66
- if (!this.tree.exists(tsConfig)) {
67
- this.logger.warn('A "tsconfig.json" file could not be found for the e2e project. Skipping updating the tsConfig file.');
68
- return;
69
- }
70
- const rootOffset = (0, devkit_1.offsetFromRoot)(this.project.newRoot);
71
- (0, devkit_1.updateJson)(this.tree, tsConfig, (json) => {
72
- json.extends = `${rootOffset}${(0, js_1.getRootTsConfigPathInTree)(this.tree)}`;
73
- json.compilerOptions = Object.assign(Object.assign({}, json.compilerOptions), { outDir: `${rootOffset}dist/out-tsc` });
74
- return json;
75
- });
48
+ async migrate() {
49
+ if (!this.targetNames.e2e) {
50
+ this.logger.info('No e2e project was migrated because there was no "e2e" target declared in the "angular.json".');
51
+ return;
52
+ }
53
+ if (this.shouldSkipTargetTypeMigration('e2e')) {
54
+ return;
55
+ }
56
+ if (this.isProtractorE2eProject()) {
57
+ await this.migrateProtractorE2eProject();
58
+ }
59
+ else if (this.isCypressE2eProject()) {
60
+ await this.migrateCypressE2eProject();
61
+ }
62
+ const tsConfig = (0, devkit_1.joinPathFragments)(this.projectConfig.root, 'tsconfig.json');
63
+ if (!this.tree.exists(tsConfig)) {
64
+ this.logger.warn('A "tsconfig.json" file could not be found for the e2e project. Skipping updating the tsConfig file.');
65
+ return;
66
+ }
67
+ const rootOffset = (0, devkit_1.offsetFromRoot)(this.project.newRoot);
68
+ (0, devkit_1.updateJson)(this.tree, tsConfig, (json) => {
69
+ json.extends = `${rootOffset}${(0, js_1.getRootTsConfigPathInTree)(this.tree)}`;
70
+ json.compilerOptions = {
71
+ ...json.compilerOptions,
72
+ outDir: `${rootOffset}dist/out-tsc`,
73
+ };
74
+ return json;
76
75
  });
77
76
  }
78
77
  validate() {
79
- var _a;
80
78
  if (!this.targetNames.e2e) {
81
79
  return null;
82
80
  }
@@ -115,7 +113,7 @@ class E2eMigrator extends project_migrator_1.ProjectMigrator {
115
113
  return null;
116
114
  }
117
115
  if (this.isCypressE2eProject()) {
118
- const configFile = (_a = this.projectConfig.targets[this.targetNames.e2e].options) === null || _a === void 0 ? void 0 : _a.configFile;
116
+ const configFile = this.projectConfig.targets[this.targetNames.e2e].options?.configFile;
119
117
  if (configFile === undefined && !this.getOldCypressConfigFilePath()) {
120
118
  const expectedConfigFile = this.cypressInstalledVersion < 10
121
119
  ? 'cypress.json'
@@ -168,70 +166,86 @@ class E2eMigrator extends project_migrator_1.ProjectMigrator {
168
166
  const newRoot = (0, devkit_1.joinPathFragments)('apps', name);
169
167
  const newSourceRoot = (0, devkit_1.joinPathFragments)('apps', name, 'src');
170
168
  if (this.isProtractorE2eProject()) {
171
- this.project = Object.assign(Object.assign({}, this.project), { name, oldRoot: (0, devkit_1.joinPathFragments)(this.project.oldRoot, 'e2e'), newRoot,
172
- newSourceRoot });
169
+ this.project = {
170
+ ...this.project,
171
+ name,
172
+ oldRoot: (0, devkit_1.joinPathFragments)(this.project.oldRoot, 'e2e'),
173
+ newRoot,
174
+ newSourceRoot,
175
+ };
173
176
  }
174
177
  else if (this.isCypressE2eProject()) {
175
178
  this.cypressInstalledVersion = (0, cypress_version_1.installedCypressVersion)();
176
- this.project = Object.assign(Object.assign({}, this.project), { name, oldSourceRoot: (0, devkit_1.joinPathFragments)(this.project.oldRoot, 'cypress'), newRoot,
177
- newSourceRoot });
179
+ this.project = {
180
+ ...this.project,
181
+ name,
182
+ oldSourceRoot: (0, devkit_1.joinPathFragments)(this.project.oldRoot, 'cypress'),
183
+ newRoot,
184
+ newSourceRoot,
185
+ };
178
186
  }
179
187
  }
180
- migrateProtractorE2eProject() {
181
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
182
- this.moveDir(this.project.oldRoot, this.project.newRoot);
183
- this.projectConfig = {
184
- root: this.project.newRoot,
185
- sourceRoot: this.project.newSourceRoot,
186
- projectType: 'application',
187
- targets: {
188
- e2e: Object.assign(Object.assign({}, this.projectConfig.targets[this.targetNames.e2e]), { options: Object.assign(Object.assign({}, this.projectConfig.targets[this.targetNames.e2e].options), { protractorConfig: this.convertRootPath(this.projectConfig.targets[this.targetNames.e2e].options
189
- .protractorConfig) }) }),
188
+ async migrateProtractorE2eProject() {
189
+ this.moveDir(this.project.oldRoot, this.project.newRoot);
190
+ this.projectConfig = {
191
+ root: this.project.newRoot,
192
+ sourceRoot: this.project.newSourceRoot,
193
+ projectType: 'application',
194
+ targets: {
195
+ e2e: {
196
+ ...this.projectConfig.targets[this.targetNames.e2e],
197
+ options: {
198
+ ...this.projectConfig.targets[this.targetNames.e2e].options,
199
+ protractorConfig: this.convertRootPath(this.projectConfig.targets[this.targetNames.e2e].options
200
+ .protractorConfig),
201
+ },
190
202
  },
191
- implicitDependencies: [this.appName],
192
- tags: [],
193
- };
194
- // remove e2e target from the app config
195
- delete this.appConfig.targets[this.targetNames.e2e];
196
- (0, devkit_1.updateProjectConfiguration)(this.tree, this.appName, Object.assign({}, this.appConfig));
197
- // add e2e project config
198
- (0, devkit_1.addProjectConfiguration)(this.tree, this.project.name, Object.assign({}, this.projectConfig), true);
199
- if (this.isProjectUsingEsLint) {
200
- yield (0, linter_1.lintProjectGenerator)(this.tree, {
201
- project: this.project.name,
202
- linter: linter_1.Linter.EsLint,
203
- eslintFilePatterns: [`${this.project.newRoot}/**/*.{js,ts}`],
204
- unitTestRunner: this.options.unitTestRunner,
205
- tsConfigPaths: [
206
- (0, devkit_1.joinPathFragments)(this.project.newRoot, 'tsconfig.json'),
207
- ],
208
- skipFormat: true,
209
- });
210
- }
203
+ },
204
+ implicitDependencies: [this.appName],
205
+ tags: [],
206
+ };
207
+ // remove e2e target from the app config
208
+ delete this.appConfig.targets[this.targetNames.e2e];
209
+ (0, devkit_1.updateProjectConfiguration)(this.tree, this.appName, {
210
+ ...this.appConfig,
211
211
  });
212
- }
213
- migrateCypressE2eProject() {
214
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
215
- const oldCypressConfigFilePath = this.getOldCypressConfigFilePath();
216
- yield (0, cypress_1.cypressProjectGenerator)(this.tree, {
217
- name: this.project.name,
218
- project: this.appName,
219
- linter: this.isProjectUsingEsLint ? linter_1.Linter.EsLint : linter_1.Linter.None,
220
- standaloneConfig: true,
212
+ // add e2e project config
213
+ (0, devkit_1.addProjectConfiguration)(this.tree, this.project.name, {
214
+ ...this.projectConfig,
215
+ }, true);
216
+ if (this.isProjectUsingEsLint) {
217
+ await (0, linter_1.lintProjectGenerator)(this.tree, {
218
+ project: this.project.name,
219
+ linter: linter_1.Linter.EsLint,
220
+ eslintFilePatterns: [`${this.project.newRoot}/**/*.{js,ts}`],
221
+ unitTestRunner: this.options.unitTestRunner,
222
+ tsConfigPaths: [
223
+ (0, devkit_1.joinPathFragments)(this.project.newRoot, 'tsconfig.json'),
224
+ ],
221
225
  skipFormat: true,
222
226
  });
223
- const cypressConfigFilePath = this.updateOrCreateCypressConfigFile(oldCypressConfigFilePath);
224
- this.updateCypressProjectConfiguration(cypressConfigFilePath);
225
- // replace the generated tsconfig.json with the project one
226
- const newTsConfigPath = (0, devkit_1.joinPathFragments)(this.project.newRoot, 'tsconfig.json');
227
- this.tree.delete(newTsConfigPath);
228
- this.moveFile((0, devkit_1.joinPathFragments)(this.project.oldSourceRoot, 'tsconfig.json'), newTsConfigPath);
229
- // replace the generated source with the project source
230
- (0, devkit_1.visitNotIgnoredFiles)(this.tree, this.project.newSourceRoot, (filePath) => {
231
- this.tree.delete(filePath);
232
- });
233
- this.moveDir(this.project.oldSourceRoot, (0, devkit_1.joinPathFragments)(this.project.newSourceRoot));
227
+ }
228
+ }
229
+ async migrateCypressE2eProject() {
230
+ const oldCypressConfigFilePath = this.getOldCypressConfigFilePath();
231
+ await (0, cypress_1.cypressProjectGenerator)(this.tree, {
232
+ name: this.project.name,
233
+ project: this.appName,
234
+ linter: this.isProjectUsingEsLint ? linter_1.Linter.EsLint : linter_1.Linter.None,
235
+ standaloneConfig: true,
236
+ skipFormat: true,
237
+ });
238
+ const cypressConfigFilePath = this.updateOrCreateCypressConfigFile(oldCypressConfigFilePath);
239
+ this.updateCypressProjectConfiguration(cypressConfigFilePath);
240
+ // replace the generated tsconfig.json with the project one
241
+ const newTsConfigPath = (0, devkit_1.joinPathFragments)(this.project.newRoot, 'tsconfig.json');
242
+ this.tree.delete(newTsConfigPath);
243
+ this.moveFile((0, devkit_1.joinPathFragments)(this.project.oldSourceRoot, 'tsconfig.json'), newTsConfigPath);
244
+ // replace the generated source with the project source
245
+ (0, devkit_1.visitNotIgnoredFiles)(this.tree, this.project.newSourceRoot, (filePath) => {
246
+ this.tree.delete(filePath);
234
247
  });
248
+ this.moveDir(this.project.oldSourceRoot, (0, devkit_1.joinPathFragments)(this.project.newSourceRoot));
235
249
  }
236
250
  updateOrCreateCypressConfigFile(configFile) {
237
251
  if (!configFile) {
@@ -257,7 +271,7 @@ class E2eMigrator extends project_migrator_1.ProjectMigrator {
257
271
  this.projectConfig.root = this.project.newRoot;
258
272
  this.projectConfig.sourceRoot = this.project.newSourceRoot;
259
273
  (0, devkit_1.removeProjectConfiguration)(this.tree, generatedProjectName);
260
- (0, devkit_1.addProjectConfiguration)(this.tree, this.project.name, Object.assign({}, this.projectConfig), true);
274
+ (0, devkit_1.addProjectConfiguration)(this.tree, this.project.name, { ...this.projectConfig }, true);
261
275
  }
262
276
  else {
263
277
  this.projectConfig = (0, devkit_1.readProjectConfiguration)(this.tree, this.project.name);
@@ -278,14 +292,25 @@ class E2eMigrator extends project_migrator_1.ProjectMigrator {
278
292
  this.projectConfig.targets[target] = this.updateE2eCypressTarget(this.appConfig.targets[target], cypressConfigPath);
279
293
  }
280
294
  });
281
- (0, devkit_1.updateProjectConfiguration)(this.tree, this.project.name, Object.assign({}, this.projectConfig));
295
+ (0, devkit_1.updateProjectConfiguration)(this.tree, this.project.name, {
296
+ ...this.projectConfig,
297
+ });
282
298
  delete this.appConfig.targets['cypress-run'];
283
299
  delete this.appConfig.targets['cypress-open'];
284
300
  delete this.appConfig.targets[this.targetNames.e2e];
285
- (0, devkit_1.updateProjectConfiguration)(this.tree, this.appName, Object.assign({}, this.appConfig));
301
+ (0, devkit_1.updateProjectConfiguration)(this.tree, this.appName, {
302
+ ...this.appConfig,
303
+ });
286
304
  }
287
305
  updateE2eCypressTarget(existingTarget, cypressConfig) {
288
- const updatedTarget = Object.assign(Object.assign({}, existingTarget), { executor: '@nx/cypress:cypress', options: Object.assign(Object.assign({}, existingTarget.options), { cypressConfig }) });
306
+ const updatedTarget = {
307
+ ...existingTarget,
308
+ executor: '@nx/cypress:cypress',
309
+ options: {
310
+ ...existingTarget.options,
311
+ cypressConfig,
312
+ },
313
+ };
289
314
  delete updatedTarget.options.configFile;
290
315
  if (updatedTarget.options.tsConfig) {
291
316
  updatedTarget.options.tsConfig = (0, devkit_1.joinPathFragments)(this.project.newRoot, 'tsconfig.json');
@@ -396,8 +421,7 @@ class E2eMigrator extends project_migrator_1.ProjectMigrator {
396
421
  }
397
422
  });
398
423
  }
399
- updateCypressE2EConfig(configFilePath, defineConfigNode, e2eNode, recorder, _a) {
400
- var globalConfig = tslib_1.__rest(_a, []);
424
+ updateCypressE2EConfig(configFilePath, defineConfigNode, e2eNode, recorder, { ...globalConfig }) {
401
425
  (0, ensure_typescript_1.ensureTypescript)();
402
426
  const { tsquery } = require('@phenomnomnominal/tsquery');
403
427
  const e2eConfig = {};
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LibMigrator = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const devkit_2 = require("@nx/devkit");
7
6
  const utilities_1 = require("../../utilities");
@@ -16,45 +15,38 @@ class LibMigrator extends project_migrator_1.ProjectMigrator {
16
15
  constructor(tree, options, project, logger) {
17
16
  super(tree, options, {}, project, 'libs', logger, supportedBuilderMigrators);
18
17
  }
19
- migrate() {
20
- const _super = Object.create(null, {
21
- migrate: { get: () => super.migrate }
22
- });
23
- var _a;
24
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
- if (this.skipMigration === true) {
26
- return;
27
- }
28
- yield _super.migrate.call(this);
29
- yield this.updateProjectConfiguration();
30
- this.moveProjectFiles();
31
- for (const builderMigrator of (_a = this.builderMigrators) !== null && _a !== void 0 ? _a : []) {
32
- yield builderMigrator.migrate();
33
- }
34
- });
18
+ async migrate() {
19
+ if (this.skipMigration === true) {
20
+ return;
21
+ }
22
+ await super.migrate();
23
+ await this.updateProjectConfiguration();
24
+ this.moveProjectFiles();
25
+ for (const builderMigrator of this.builderMigrators ?? []) {
26
+ await builderMigrator.migrate();
27
+ }
35
28
  }
36
29
  validate() {
37
- var _a, _b;
38
- const errors = [...((_a = super.validate()) !== null && _a !== void 0 ? _a : [])];
30
+ const errors = [...(super.validate() ?? [])];
39
31
  for (const builderMigrator of this.builderMigrators) {
40
- errors.push(...((_b = builderMigrator.validate()) !== null && _b !== void 0 ? _b : []));
32
+ errors.push(...(builderMigrator.validate() ?? []));
41
33
  }
42
34
  return errors.length ? errors : null;
43
35
  }
44
36
  moveProjectFiles() {
45
37
  this.moveDir(this.project.oldRoot, this.project.newRoot);
46
38
  }
47
- updateProjectConfiguration() {
48
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
- (0, utilities_1.convertToNxProject)(this.tree, this.project.name);
50
- this.moveFile((0, devkit_1.joinPathFragments)(this.project.oldRoot, 'project.json'), (0, devkit_1.joinPathFragments)(this.project.newRoot, 'project.json'));
51
- this.projectConfig.root = this.project.newRoot;
52
- this.projectConfig.sourceRoot = this.project.newSourceRoot;
53
- if (!this.projectConfig.targets ||
54
- !Object.keys(this.projectConfig.targets).length) {
55
- this.logger.warn('The project does not have any targets configured. This might not be an issue. Skipping updating targets.');
56
- }
57
- (0, devkit_2.updateProjectConfiguration)(this.tree, this.project.name, Object.assign({}, this.projectConfig));
39
+ async updateProjectConfiguration() {
40
+ (0, utilities_1.convertToNxProject)(this.tree, this.project.name);
41
+ this.moveFile((0, devkit_1.joinPathFragments)(this.project.oldRoot, 'project.json'), (0, devkit_1.joinPathFragments)(this.project.newRoot, 'project.json'));
42
+ this.projectConfig.root = this.project.newRoot;
43
+ this.projectConfig.sourceRoot = this.project.newSourceRoot;
44
+ if (!this.projectConfig.targets ||
45
+ !Object.keys(this.projectConfig.targets).length) {
46
+ this.logger.warn('The project does not have any targets configured. This might not be an issue. Skipping updating targets.');
47
+ }
48
+ (0, devkit_2.updateProjectConfiguration)(this.tree, this.project.name, {
49
+ ...this.projectConfig,
58
50
  });
59
51
  }
60
52
  }
@@ -12,8 +12,7 @@ class ProjectMigrator extends migrator_1.Migrator {
12
12
  // TODO(leo): this will replace `targets` and become required once the full
13
13
  // refactor is done.
14
14
  supportedBuilderMigrators) {
15
- var _a, _b;
16
- super(tree, project.config, logger !== null && logger !== void 0 ? logger : new utilities_1.Logger(project.name));
15
+ super(tree, project.config, logger ?? new utilities_1.Logger(project.name));
17
16
  this.options = options;
18
17
  this.targets = targets;
19
18
  // TODO(leo): need to handle targets until all are converted to builder migrators,
@@ -23,9 +22,9 @@ class ProjectMigrator extends migrator_1.Migrator {
23
22
  this.targetNames = {};
24
23
  this.project = {
25
24
  name: project.name,
26
- oldRoot: (_a = this.projectConfig.root) !== null && _a !== void 0 ? _a : '',
25
+ oldRoot: this.projectConfig.root ?? '',
27
26
  oldSourceRoot: this.projectConfig.sourceRoot ||
28
- (0, devkit_1.joinPathFragments)((_b = this.projectConfig.root) !== null && _b !== void 0 ? _b : '', 'src'),
27
+ (0, devkit_1.joinPathFragments)(this.projectConfig.root ?? '', 'src'),
29
28
  newRoot: `${rootDir}/${project.name}`,
30
29
  newSourceRoot: `${rootDir}/${project.name}/src`,
31
30
  };
@@ -33,9 +32,8 @@ class ProjectMigrator extends migrator_1.Migrator {
33
32
  this.createBuilderMigrators(supportedBuilderMigrators);
34
33
  }
35
34
  getWorkspaceRootFileTypesInfo() {
36
- var _a;
37
35
  const workspaceRootFileTypesInfo = {
38
- eslint: Boolean((_a = this.projectConfig.targets) === null || _a === void 0 ? void 0 : _a.lint) ||
36
+ eslint: Boolean(this.projectConfig.targets?.lint) ||
39
37
  this.tree.exists(`${this.projectConfig.root}/.eslintrc.json`),
40
38
  karma: this.builderMigrators.some((migrator) => migrator.rootFileType === 'karma' && migrator.isBuilderUsed()),
41
39
  };
@@ -49,7 +47,6 @@ class ProjectMigrator extends migrator_1.Migrator {
49
47
  this.logger.warn((0, utilities_1.getProjectValidationResultMessage)(validationResult));
50
48
  }
51
49
  validate() {
52
- var _a, _b;
53
50
  const errors = [];
54
51
  // check project root
55
52
  if (this.projectConfig.root === undefined ||
@@ -91,7 +88,7 @@ class ProjectMigrator extends migrator_1.Migrator {
91
88
  ];
92
89
  allSupportedBuilders.push(...this.builderMigrators.map((migrator) => migrator.builderName));
93
90
  const unsupportedBuilders = [];
94
- Object.entries((_a = this.projectConfig.targets) !== null && _a !== void 0 ? _a : {}).forEach(([targetName, target]) => {
91
+ Object.entries(this.projectConfig.targets ?? {}).forEach(([targetName, target]) => {
95
92
  if (!allSupportedBuilders.includes(target.executor)) {
96
93
  unsupportedBuilders.push([targetName, target.executor]);
97
94
  }
@@ -109,7 +106,7 @@ class ProjectMigrator extends migrator_1.Migrator {
109
106
  }
110
107
  // check for multiple targets for the same type of target
111
108
  const targetTypes = Object.keys(this.targets);
112
- const targetsByType = Object.entries((_b = this.projectConfig.targets) !== null && _b !== void 0 ? _b : {}).reduce((acc, [target, { executor }]) => {
109
+ const targetsByType = Object.entries(this.projectConfig.targets ?? {}).reduce((acc, [target, { executor }]) => {
113
110
  targetTypes.forEach((targetType) => {
114
111
  if (this.targets[targetType].builders.includes(executor)) {
115
112
  acc[targetType].push(target);
@@ -117,7 +114,7 @@ class ProjectMigrator extends migrator_1.Migrator {
117
114
  }
118
115
  });
119
116
  return acc;
120
- }, targetTypes.reduce((acc, targetType) => (Object.assign(Object.assign({}, acc), { [targetType]: [] })), {}));
117
+ }, targetTypes.reduce((acc, targetType) => ({ ...acc, [targetType]: [] }), {}));
121
118
  targetTypes.forEach((targetType) => {
122
119
  if (this.targets[targetType].acceptMultipleDefinitions ||
123
120
  targetsByType[targetType].length <= 1) {
@@ -132,10 +129,10 @@ class ProjectMigrator extends migrator_1.Migrator {
132
129
  return errors.length ? errors : null;
133
130
  }
134
131
  convertPath(originalPath) {
135
- if (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldSourceRoot)) {
132
+ if (originalPath?.startsWith(this.project.oldSourceRoot)) {
136
133
  return (0, devkit_1.joinPathFragments)(this.project.newSourceRoot, originalPath.replace(this.project.oldSourceRoot, ''));
137
134
  }
138
- if (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldRoot)) {
135
+ if (originalPath?.startsWith(this.project.oldRoot)) {
139
136
  return (0, devkit_1.joinPathFragments)(this.project.newRoot, originalPath.replace(this.project.oldRoot, ''));
140
137
  }
141
138
  return originalPath;
@@ -150,9 +147,8 @@ class ProjectMigrator extends migrator_1.Migrator {
150
147
  this.skipMigration.includes(targetType));
151
148
  }
152
149
  collectTargetNames() {
153
- var _a;
154
150
  const targetTypes = Object.keys(this.targets);
155
- Object.entries((_a = this.projectConfig.targets) !== null && _a !== void 0 ? _a : {}).forEach(([targetName, target]) => {
151
+ Object.entries(this.projectConfig.targets ?? {}).forEach(([targetName, target]) => {
156
152
  targetTypes.forEach((targetType) => {
157
153
  if (!this.targetNames[targetType] &&
158
154
  this.targets[targetType].builders.includes(target.executor)) {
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAddGenerator = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const init_1 = require("../init/init");
6
5
  const migrate_from_angular_cli_1 = require("./migrate-from-angular-cli");
7
6
  function getWorkspaceType(tree) {
8
7
  return tree.exists('nx.json') ? 'nx' : 'angular';
9
8
  }
10
- function ngAddGenerator(tree, options) {
11
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
- if (getWorkspaceType(tree) === 'angular') {
13
- return yield (0, migrate_from_angular_cli_1.migrateFromAngularCli)(tree, options);
14
- }
15
- return yield (0, init_1.angularInitGenerator)(tree, options);
16
- });
9
+ async function ngAddGenerator(tree, options) {
10
+ if (getWorkspaceType(tree) === 'angular') {
11
+ return await (0, migrate_from_angular_cli_1.migrateFromAngularCli)(tree, options);
12
+ }
13
+ return await (0, init_1.angularInitGenerator)(tree, options);
17
14
  }
18
15
  exports.ngAddGenerator = ngAddGenerator;
19
16
  exports.default = ngAddGenerator;
@@ -5,21 +5,20 @@ const devkit_1 = require("@nx/devkit");
5
5
  const version_utils_1 = require("../../../utils/version-utils");
6
6
  const version_utils_2 = require("../../utils/version-utils");
7
7
  function ensureAngularDevKitPeerDependenciesAreInstalled(tree) {
8
- var _a;
9
8
  const packagesToInstall = [
10
9
  '@angular-devkit/core',
11
10
  '@angular-devkit/schematics',
12
11
  '@schematics/angular',
13
12
  ];
14
13
  const { devDependencies, dependencies } = (0, devkit_1.readJson)(tree, 'package.json');
15
- let angularCliVersion = (_a = devDependencies === null || devDependencies === void 0 ? void 0 : devDependencies['@angular/cli']) !== null && _a !== void 0 ? _a : dependencies === null || dependencies === void 0 ? void 0 : dependencies['@angular/cli'];
14
+ let angularCliVersion = devDependencies?.['@angular/cli'] ?? dependencies?.['@angular/cli'];
16
15
  if (!angularCliVersion) {
17
16
  const angularMajorVersion = (0, version_utils_2.getInstalledAngularMajorVersion)(tree);
18
17
  const angularDevkitVersion = (0, version_utils_1.getPkgVersionForAngularMajorVersion)('angularDevkitVersion', angularMajorVersion);
19
18
  angularCliVersion = angularDevkitVersion;
20
19
  }
21
20
  const filteredPackages = packagesToInstall
22
- .filter((pkg) => !(devDependencies === null || devDependencies === void 0 ? void 0 : devDependencies[pkg]) && !(dependencies === null || dependencies === void 0 ? void 0 : dependencies[pkg]))
21
+ .filter((pkg) => !devDependencies?.[pkg] && !dependencies?.[pkg])
23
22
  .reduce((allPkgs, pkg) => {
24
23
  allPkgs[pkg] = angularCliVersion;
25
24
  return allPkgs;
@@ -11,6 +11,6 @@ function formatFilesTask(tree) {
11
11
  try {
12
12
  (0, child_process_1.runNxSync)(`format`, { cwd: tree.root, stdio: [0, 1, 2] });
13
13
  }
14
- catch (_a) { }
14
+ catch { }
15
15
  }
16
16
  exports.formatFilesTask = formatFilesTask;
@@ -30,6 +30,6 @@ function convertToNxProject(tree, projectName) {
30
30
  project.name = projectName;
31
31
  (0, devkit_1.addProjectConfiguration)(tree, projectName, project);
32
32
  delete angularJson.projects[projectName];
33
- (0, devkit_1.writeJson)(tree, 'angular.json', Object.assign(Object.assign({}, angularJson), { version: 1 }));
33
+ (0, devkit_1.writeJson)(tree, 'angular.json', { ...angularJson, version: 1 });
34
34
  }
35
35
  exports.convertToNxProject = convertToNxProject;