@nrwl/angular 13.10.3 → 14.0.0-beta.2

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 (144) hide show
  1. package/README.md +1 -1
  2. package/executors.json +10 -0
  3. package/generators.d.ts +2 -4
  4. package/generators.js +2 -4
  5. package/generators.js.map +1 -1
  6. package/generators.json +16 -40
  7. package/migrations.json +6 -0
  8. package/module-federation/index.d.ts +1 -0
  9. package/module-federation/index.js +2 -0
  10. package/module-federation/index.js.map +1 -1
  11. package/ng-package.json +1 -0
  12. package/package.json +8 -6
  13. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +6 -0
  14. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +38 -0
  15. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js.map +1 -0
  16. package/src/builders/module-federation-dev-server/schema.d.ts +20 -0
  17. package/src/builders/module-federation-dev-server/schema.json +108 -0
  18. package/src/generators/add-linting/schema.json +1 -0
  19. package/src/generators/application/files/tsconfig.editor.json__tpl__ +1 -7
  20. package/src/generators/application/lib/update-editor-tsconfig.d.ts +1 -1
  21. package/src/generators/application/lib/update-editor-tsconfig.js +14 -2
  22. package/src/generators/application/lib/update-editor-tsconfig.js.map +1 -1
  23. package/src/generators/application/schema.json +11 -5
  24. package/src/generators/component/schema.json +1 -1
  25. package/src/generators/component-cypress-spec/schema.json +1 -0
  26. package/src/generators/component-story/schema.json +1 -0
  27. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +4 -4
  28. package/src/generators/convert-to-with-mf/convert-to-with-mf.js.map +1 -1
  29. package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +1 -1
  30. package/src/generators/convert-to-with-mf/schema.json +1 -1
  31. package/src/generators/convert-tslint-to-eslint/schema.json +1 -1
  32. package/src/generators/downgrade-module/schema.json +1 -1
  33. package/src/generators/{mfe-host/mfe-host.compat.d.ts → host/host.compat.d.ts} +0 -0
  34. package/src/generators/host/host.compat.js +6 -0
  35. package/src/generators/host/host.compat.js.map +1 -0
  36. package/src/generators/host/host.d.ts +3 -0
  37. package/src/generators/host/host.js +34 -0
  38. package/src/generators/host/host.js.map +1 -0
  39. package/src/generators/{mfe-host → host}/schema.d.ts +0 -0
  40. package/src/generators/{mfe-host → host}/schema.json +5 -5
  41. package/src/generators/init/schema.json +1 -1
  42. package/src/generators/karma/karma.js +1 -0
  43. package/src/generators/karma/karma.js.map +1 -1
  44. package/src/generators/library/library.js +2 -7
  45. package/src/generators/library/library.js.map +1 -1
  46. package/src/generators/ng-add/migrate-from-angular-cli.js +32 -10
  47. package/src/generators/ng-add/migrate-from-angular-cli.js.map +1 -1
  48. package/src/generators/ng-add/schema.d.ts +0 -1
  49. package/src/generators/ng-add/schema.json +0 -7
  50. package/src/generators/ng-add/utilities/app.migrator.d.ts +2 -3
  51. package/src/generators/ng-add/utilities/app.migrator.js +92 -56
  52. package/src/generators/ng-add/utilities/app.migrator.js.map +1 -1
  53. package/src/generators/ng-add/utilities/{e2e-project.migrator.d.ts → e2e.migrator.d.ts} +5 -1
  54. package/src/generators/ng-add/utilities/e2e.migrator.js +298 -0
  55. package/src/generators/ng-add/utilities/e2e.migrator.js.map +1 -0
  56. package/src/generators/ng-add/utilities/lib.migrator.d.ts +26 -0
  57. package/src/generators/ng-add/utilities/lib.migrator.js +351 -0
  58. package/src/generators/ng-add/utilities/lib.migrator.js.map +1 -0
  59. package/src/generators/ng-add/utilities/logger.d.ts +8 -0
  60. package/src/generators/ng-add/utilities/logger.js +21 -0
  61. package/src/generators/ng-add/utilities/logger.js.map +1 -0
  62. package/src/generators/ng-add/utilities/normalize-options.js +5 -2
  63. package/src/generators/ng-add/utilities/normalize-options.js.map +1 -1
  64. package/src/generators/ng-add/utilities/project.migrator.d.ts +13 -2
  65. package/src/generators/ng-add/utilities/project.migrator.js +83 -3
  66. package/src/generators/ng-add/utilities/project.migrator.js.map +1 -1
  67. package/src/generators/ng-add/utilities/types.d.ts +13 -1
  68. package/src/generators/ng-add/utilities/validate-projects.d.ts +2 -0
  69. package/src/generators/ng-add/utilities/validate-projects.js +46 -0
  70. package/src/generators/ng-add/utilities/validate-projects.js.map +1 -0
  71. package/src/generators/ng-add/utilities/validation-logging.d.ts +2 -0
  72. package/src/generators/ng-add/utilities/validation-logging.js +20 -0
  73. package/src/generators/ng-add/utilities/validation-logging.js.map +1 -0
  74. package/src/generators/ng-add/utilities/workspace.d.ts +5 -3
  75. package/src/generators/ng-add/utilities/workspace.js +105 -67
  76. package/src/generators/ng-add/utilities/workspace.js.map +1 -1
  77. package/src/generators/{mfe-remote/mfe-remote.compat.d.ts → remote/remote.compat.d.ts} +0 -0
  78. package/src/generators/remote/remote.compat.js +6 -0
  79. package/src/generators/remote/remote.compat.js.map +1 -0
  80. package/src/generators/remote/remote.d.ts +3 -0
  81. package/src/generators/remote/remote.js +76 -0
  82. package/src/generators/remote/remote.js.map +1 -0
  83. package/src/generators/{mfe-remote → remote}/schema.d.ts +0 -0
  84. package/src/generators/{mfe-remote → remote}/schema.json +5 -5
  85. package/src/generators/scam/schema.json +1 -1
  86. package/src/generators/scam-directive/schema.json +1 -1
  87. package/src/generators/scam-pipe/schema.json +1 -1
  88. package/src/generators/setup-mfe/files/webpack/{mfe.config.js__tmpl__ → module-federation.config.js__tmpl__} +0 -0
  89. package/src/generators/setup-mfe/files/webpack/webpack.config.js__tmpl__ +1 -1
  90. package/src/generators/setup-mfe/files/webpack/webpack.prod.config.js__tmpl__ +1 -1
  91. package/src/generators/setup-mfe/lib/add-remote-to-host.js +10 -10
  92. package/src/generators/setup-mfe/lib/add-remote-to-host.js.map +1 -1
  93. package/src/generators/setup-mfe/lib/fix-bootstrap.js +3 -3
  94. package/src/generators/setup-mfe/lib/fix-bootstrap.js.map +1 -1
  95. package/src/generators/setup-mfe/lib/generate-config.js +1 -1
  96. package/src/generators/setup-mfe/lib/generate-config.js.map +1 -1
  97. package/src/generators/setup-mfe/lib/setup-host-if-dynamic.js +3 -3
  98. package/src/generators/setup-mfe/lib/setup-host-if-dynamic.js.map +1 -1
  99. package/src/generators/setup-mfe/lib/setup-serve-target.js +3 -23
  100. package/src/generators/setup-mfe/lib/setup-serve-target.js.map +1 -1
  101. package/src/generators/stories/schema.json +1 -1
  102. package/src/generators/utils/dependencies.d.ts +2 -0
  103. package/src/generators/utils/dependencies.js +15 -0
  104. package/src/generators/utils/dependencies.js.map +1 -0
  105. package/src/migrations/update-13-8-1/add-cypress-mfe-workaround.js +2 -2
  106. package/src/migrations/update-13-8-1/add-cypress-mfe-workaround.js.map +1 -1
  107. package/src/migrations/update-14-0-0/rename-mf-config.d.ts +2 -0
  108. package/src/migrations/update-14-0-0/rename-mf-config.js +27 -0
  109. package/src/migrations/update-14-0-0/rename-mf-config.js.map +1 -0
  110. package/src/utils/{get-mfe-projects.d.ts → get-mf-projects.d.ts} +1 -1
  111. package/src/utils/{get-mfe-projects.js → get-mf-projects.js} +4 -4
  112. package/src/utils/get-mf-projects.js.map +1 -0
  113. package/src/utils/versions.js +1 -1
  114. package/src/generators/mfe-host/mfe-host.compat.js +0 -6
  115. package/src/generators/mfe-host/mfe-host.compat.js.map +0 -1
  116. package/src/generators/mfe-host/mfe-host.d.ts +0 -3
  117. package/src/generators/mfe-host/mfe-host.js +0 -22
  118. package/src/generators/mfe-host/mfe-host.js.map +0 -1
  119. package/src/generators/mfe-remote/mfe-remote.compat.js +0 -6
  120. package/src/generators/mfe-remote/mfe-remote.compat.js.map +0 -1
  121. package/src/generators/mfe-remote/mfe-remote.d.ts +0 -3
  122. package/src/generators/mfe-remote/mfe-remote.js +0 -31
  123. package/src/generators/mfe-remote/mfe-remote.js.map +0 -1
  124. package/src/generators/ng-add/utilities/e2e-project.migrator.js +0 -186
  125. package/src/generators/ng-add/utilities/e2e-project.migrator.js.map +0 -1
  126. package/src/generators/ng-add/utilities/e2e-utils.d.ts +0 -7
  127. package/src/generators/ng-add/utilities/e2e-utils.js +0 -46
  128. package/src/generators/ng-add/utilities/e2e-utils.js.map +0 -1
  129. package/src/generators/storybook-migrate-defaults-5-to-6/compat.d.ts +0 -2
  130. package/src/generators/storybook-migrate-defaults-5-to-6/compat.js +0 -6
  131. package/src/generators/storybook-migrate-defaults-5-to-6/compat.js.map +0 -1
  132. package/src/generators/storybook-migrate-defaults-5-to-6/schema.d.ts +0 -5
  133. package/src/generators/storybook-migrate-defaults-5-to-6/schema.json +0 -30
  134. package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.d.ts +0 -4
  135. package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.js +0 -14
  136. package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.js.map +0 -1
  137. package/src/generators/storybook-migrate-stories-to-6-2/compat.d.ts +0 -2
  138. package/src/generators/storybook-migrate-stories-to-6-2/compat.js +0 -6
  139. package/src/generators/storybook-migrate-stories-to-6-2/compat.js.map +0 -1
  140. package/src/generators/storybook-migrate-stories-to-6-2/migrate-stories-to-6-2.d.ts +0 -3
  141. package/src/generators/storybook-migrate-stories-to-6-2/migrate-stories-to-6-2.js +0 -13
  142. package/src/generators/storybook-migrate-stories-to-6-2/migrate-stories-to-6-2.js.map +0 -1
  143. package/src/generators/storybook-migrate-stories-to-6-2/schema.json +0 -11
  144. package/src/utils/get-mfe-projects.js.map +0 -1
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LibMigrator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const linter_1 = require("@nrwl/linter");
7
+ const generators_1 = require("@nrwl/workspace/generators");
8
+ const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
9
+ const path_1 = require("path");
10
+ const dependencies_1 = require("../../utils/dependencies");
11
+ const project_migrator_1 = require("./project.migrator");
12
+ const validation_logging_1 = require("./validation-logging");
13
+ class LibMigrator extends project_migrator_1.ProjectMigrator {
14
+ constructor(tree, options, project, logger) {
15
+ var _a, _b;
16
+ super(tree, options, project, 'libs', logger);
17
+ this.supportedBuilders = {
18
+ build: '@angular-devkit/build-angular:ng-packagr',
19
+ test: '@angular-devkit/build-angular:karma',
20
+ lint: '@angular-eslint/builder:lint',
21
+ };
22
+ this.targetNames = {};
23
+ this.collectTargetNames();
24
+ if (this.targetNames.lint) {
25
+ this.oldEsLintConfigPath =
26
+ (_b = (_a = this.projectConfig.targets[this.targetNames.lint].options) === null || _a === void 0 ? void 0 : _a.eslintConfig) !== null && _b !== void 0 ? _b : (0, devkit_1.joinPathFragments)(this.project.oldRoot, '.eslintrc.json');
27
+ this.newEsLintConfigPath = this.convertRootPath(this.oldEsLintConfigPath);
28
+ }
29
+ }
30
+ migrate() {
31
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
32
+ this.moveProjectFiles();
33
+ yield this.updateProjectConfiguration();
34
+ this.updateNgPackageJson();
35
+ this.updateTsConfigs();
36
+ this.updateEsLintConfig();
37
+ this.updateCacheableOperations();
38
+ (0, dependencies_1.addBuildableLibrariesPostCssDependencies)(this.tree);
39
+ });
40
+ }
41
+ validate() {
42
+ var _a, _b;
43
+ const result = [];
44
+ // check project root
45
+ if (!this.tree.exists(this.projectConfig.root)) {
46
+ result.push({
47
+ message: `The project root "${this.project.oldRoot}" could not be found.`,
48
+ hint: `Make sure the value for "projects.${this.project.name}.root" is correct ` +
49
+ `or remove the project if it is not valid.`,
50
+ });
51
+ }
52
+ // check project source root
53
+ if (this.projectConfig.sourceRoot &&
54
+ !this.tree.exists(this.projectConfig.sourceRoot)) {
55
+ result.push({
56
+ message: `The project source root "${this.project.oldSourceRoot}" could not be found.`,
57
+ hint: `Make sure the value for "projects.${this.project.name}.sourceRoot" is correct ` +
58
+ `or remove the project if it is not valid.`,
59
+ });
60
+ }
61
+ // check for usage of unsupported builders
62
+ const allSupportedBuilders = [
63
+ this.supportedBuilders.build,
64
+ this.supportedBuilders.test,
65
+ this.supportedBuilders.lint,
66
+ ];
67
+ const unsupportedBuilders = [];
68
+ Object.entries((_a = this.projectConfig.targets) !== null && _a !== void 0 ? _a : {}).forEach(([targetName, target]) => {
69
+ if (!allSupportedBuilders.includes(target.executor)) {
70
+ unsupportedBuilders.push([targetName, target.executor]);
71
+ }
72
+ });
73
+ if (unsupportedBuilders.length) {
74
+ result.push({
75
+ messageGroup: {
76
+ title: 'Unsupported builders',
77
+ messages: unsupportedBuilders.map(([target, builder]) => `The "${target}" target is using an unsupported builder "${builder}".`),
78
+ },
79
+ hint: `The supported builders for libraries are: ${(0, validation_logging_1.arrayToString)(allSupportedBuilders)}.`,
80
+ });
81
+ }
82
+ // check for multiple targets for the same type of target
83
+ const targetsByType = Object.entries((_b = this.projectConfig.targets) !== null && _b !== void 0 ? _b : {}).reduce((acc, [target, { executor }]) => {
84
+ if (this.supportedBuilders.build === executor) {
85
+ acc.build.push(target);
86
+ }
87
+ else if (this.supportedBuilders.test === executor) {
88
+ acc.test.push(target);
89
+ }
90
+ else if (this.supportedBuilders.lint === executor) {
91
+ acc.lint.push(target);
92
+ }
93
+ return acc;
94
+ }, { build: [], lint: [], test: [] });
95
+ ['build', 'lint', 'test'].forEach((targetType) => {
96
+ if (targetsByType[targetType].length <= 1) {
97
+ return;
98
+ }
99
+ result.push({
100
+ message: `There is more than one target using a builder that is used to ${targetType} the project (${(0, validation_logging_1.arrayToString)(targetsByType[targetType])}).`,
101
+ hint: `Make sure the project only has one target with a builder that is used to ${targetType} the project.`,
102
+ });
103
+ });
104
+ return result.length ? result : null;
105
+ }
106
+ collectTargetNames() {
107
+ var _a;
108
+ Object.entries((_a = this.projectConfig.targets) !== null && _a !== void 0 ? _a : {}).forEach(([targetName, target]) => {
109
+ if (!this.targetNames.build &&
110
+ this.supportedBuilders.build === target.executor) {
111
+ this.targetNames.build = targetName;
112
+ }
113
+ else if (!this.targetNames.test &&
114
+ this.supportedBuilders.test === target.executor) {
115
+ this.targetNames.test = targetName;
116
+ }
117
+ else if (!this.targetNames.lint &&
118
+ this.supportedBuilders.lint === target.executor) {
119
+ this.targetNames.lint = targetName;
120
+ }
121
+ });
122
+ }
123
+ moveProjectFiles() {
124
+ this.moveDir(this.project.oldRoot, this.project.newRoot);
125
+ }
126
+ updateProjectConfiguration() {
127
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
128
+ this.projectConfig.root = this.project.newRoot;
129
+ this.projectConfig.sourceRoot = this.project.newSourceRoot;
130
+ if (!this.projectConfig.targets ||
131
+ !Object.keys(this.projectConfig.targets).length) {
132
+ this.logger.warn('The project does not have any targets configured. This might not be an issue. Skipping updating targets.');
133
+ }
134
+ else {
135
+ this.updateBuildTargetConfiguration();
136
+ this.updateLintTargetConfiguration();
137
+ this.updateTestTargetConfiguration();
138
+ }
139
+ (0, devkit_1.updateProjectConfiguration)(this.tree, this.project.name, Object.assign({}, this.projectConfig));
140
+ yield (0, generators_1.convertToNxProjectGenerator)(this.tree, {
141
+ project: this.project.name,
142
+ skipFormat: true,
143
+ });
144
+ });
145
+ }
146
+ updateNgPackageJson() {
147
+ var _a, _b;
148
+ const buildTarget = (_a = this.projectConfig.targets) === null || _a === void 0 ? void 0 : _a[this.targetNames.build];
149
+ if (!((_b = buildTarget === null || buildTarget === void 0 ? void 0 : buildTarget.options) === null || _b === void 0 ? void 0 : _b.project) ||
150
+ !this.tree.exists(buildTarget.options.project)) {
151
+ // we already logged a warning for these cases, so just return
152
+ return;
153
+ }
154
+ const ngPackageJson = (0, devkit_1.readJson)(this.tree, buildTarget.options.project);
155
+ const offset = (0, devkit_1.offsetFromRoot)(this.project.newRoot);
156
+ ngPackageJson.$schema =
157
+ ngPackageJson.$schema &&
158
+ `${offset}node_modules/ng-packagr/ng-package.schema.json`;
159
+ ngPackageJson.dest = `${offset}dist/${this.project.name}`;
160
+ (0, devkit_1.writeJson)(this.tree, buildTarget.options.project, ngPackageJson);
161
+ }
162
+ updateTsConfigs() {
163
+ const rootTsConfigFile = (0, typescript_1.getRootTsConfigPathInTree)(this.tree);
164
+ const projectOffsetFromRoot = (0, devkit_1.offsetFromRoot)(this.projectConfig.root);
165
+ this.updateTsConfigFileUsedByBuildTarget(rootTsConfigFile, projectOffsetFromRoot);
166
+ this.updateTsConfigFileUsedByTestTarget(rootTsConfigFile, projectOffsetFromRoot);
167
+ }
168
+ updateEsLintConfig() {
169
+ if (!this.targetNames.lint || !this.tree.exists(this.newEsLintConfigPath)) {
170
+ return;
171
+ }
172
+ (0, devkit_1.updateJson)(this.tree, this.newEsLintConfigPath, (json) => {
173
+ var _a;
174
+ delete json.root;
175
+ json.ignorePatterns = ['!**/*'];
176
+ const rootEsLintConfigRelativePath = (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(this.projectConfig.root), '.eslintrc.json');
177
+ if (Array.isArray(json.extends)) {
178
+ json.extends = json.extends.map((extend) => this.convertEsLintConfigExtendToNewPath(this.oldEsLintConfigPath, extend));
179
+ // it might have not been extending from the root config, make sure it does
180
+ if (!json.extends.includes(rootEsLintConfigRelativePath)) {
181
+ json.extends.unshift(rootEsLintConfigRelativePath);
182
+ }
183
+ }
184
+ else {
185
+ json.extends = rootEsLintConfigRelativePath;
186
+ }
187
+ (_a = json.overrides) === null || _a === void 0 ? void 0 : _a.forEach((override) => {
188
+ var _a;
189
+ if (!((_a = override.parserOptions) === null || _a === void 0 ? void 0 : _a.project)) {
190
+ return;
191
+ }
192
+ override.parserOptions.project = [
193
+ `${this.projectConfig.root}/tsconfig.*?.json`,
194
+ ];
195
+ });
196
+ return json;
197
+ });
198
+ }
199
+ updateCacheableOperations() {
200
+ var _a;
201
+ const workspaceConfig = (0, devkit_1.readWorkspaceConfiguration)(this.tree);
202
+ Object.keys((_a = workspaceConfig.tasksRunnerOptions) !== null && _a !== void 0 ? _a : {}).forEach((taskRunnerName) => {
203
+ var _a;
204
+ const taskRunner = workspaceConfig.tasksRunnerOptions[taskRunnerName];
205
+ taskRunner.options.cacheableOperations = Array.from(new Set([
206
+ ...((_a = taskRunner.options.cacheableOperations) !== null && _a !== void 0 ? _a : []),
207
+ ...[
208
+ this.targetNames.build,
209
+ this.targetNames.lint,
210
+ this.targetNames.test,
211
+ ].filter(Boolean),
212
+ ]));
213
+ });
214
+ (0, devkit_1.updateWorkspaceConfiguration)(this.tree, workspaceConfig);
215
+ }
216
+ updateBuildTargetConfiguration() {
217
+ var _a, _b, _c, _d, _e;
218
+ if (!this.targetNames.build) {
219
+ this.logger.warn('There is no build target in the project configuration. This might not be an issue. Skipping updating the build configuration.');
220
+ return;
221
+ }
222
+ const buildTarget = this.projectConfig.targets[this.targetNames.build];
223
+ buildTarget.executor = '@nrwl/angular:package';
224
+ if (!buildTarget.options &&
225
+ (!buildTarget.configurations ||
226
+ !Object.keys(buildTarget.configurations).length)) {
227
+ this.logger.warn(`The target "${this.targetNames.build}" is not specifying any options or configurations. Skipping updating the target configuration.`);
228
+ return;
229
+ }
230
+ const buildDevTsConfig = (_b = (_a = buildTarget.options) === null || _a === void 0 ? void 0 : _a.tsConfig) !== null && _b !== void 0 ? _b : (_d = (_c = buildTarget.configurations) === null || _c === void 0 ? void 0 : _c.development) === null || _d === void 0 ? void 0 : _d.tsConfig;
231
+ if (!buildDevTsConfig) {
232
+ this.logger.warn(`The "${this.targetNames.build}" target does not have the "tsConfig" option configured. Skipping updating the tsConfig file.`);
233
+ }
234
+ else if (!this.tree.exists(buildDevTsConfig)) {
235
+ this.logger.warn(`The tsConfig file "${buildDevTsConfig}" specified in the "${this.targetNames.build}" target could not be found. Skipping updating the tsConfig file.`);
236
+ }
237
+ if (!((_e = buildTarget.options) === null || _e === void 0 ? void 0 : _e.project)) {
238
+ this.logger.warn(`The "${this.targetNames.build}" target does not have the "project" option configured. Skipping updating the ng-packagr project file ("ng-package.json").`);
239
+ }
240
+ else if (!this.tree.exists(buildTarget.options.project)) {
241
+ this.logger.warn(`The ng-packagr project file "${buildTarget.options.project}" specified in the "${this.targetNames.build}" target could not be found. Skipping updating the ng-packagr project file.`);
242
+ }
243
+ ['project', 'tsConfig'].forEach((option) => {
244
+ var _a, _b;
245
+ if ((_a = buildTarget.options) === null || _a === void 0 ? void 0 : _a[option]) {
246
+ buildTarget.options[option] = (0, devkit_1.joinPathFragments)(this.project.newRoot, (0, path_1.basename)(buildTarget.options[option]));
247
+ }
248
+ for (const configuration of Object.values((_b = buildTarget.configurations) !== null && _b !== void 0 ? _b : {})) {
249
+ configuration[option] =
250
+ configuration[option] &&
251
+ (0, devkit_1.joinPathFragments)(this.project.newRoot, (0, path_1.basename)(configuration[option]));
252
+ }
253
+ });
254
+ }
255
+ updateLintTargetConfiguration() {
256
+ if (!this.targetNames.lint) {
257
+ return;
258
+ }
259
+ this.projectConfig.targets[this.targetNames.lint].executor =
260
+ '@nrwl/linter:eslint';
261
+ const lintOptions = this.projectConfig.targets[this.targetNames.lint].options;
262
+ if (!lintOptions) {
263
+ this.logger.warn(`The target "${this.targetNames.lint}" is not specifying any options. Skipping updating the target configuration.`);
264
+ return;
265
+ }
266
+ const existEsLintConfigPath = this.tree.exists(this.newEsLintConfigPath);
267
+ if (!existEsLintConfigPath) {
268
+ this.logger.warn(`The ESLint config file "${this.oldEsLintConfigPath}" could not be found. Skipping updating the file.`);
269
+ }
270
+ lintOptions.eslintConfig =
271
+ lintOptions.eslintConfig &&
272
+ (0, devkit_1.joinPathFragments)(this.project.newRoot, (0, path_1.basename)(lintOptions.eslintConfig));
273
+ lintOptions.lintFilePatterns =
274
+ lintOptions.lintFilePatterns &&
275
+ lintOptions.lintFilePatterns.map((pattern) => this.convertPath(pattern));
276
+ if (!existEsLintConfigPath) {
277
+ return;
278
+ }
279
+ const eslintConfig = (0, devkit_1.readJson)(this.tree, this.newEsLintConfigPath);
280
+ if ((0, linter_1.hasRulesRequiringTypeChecking)(eslintConfig)) {
281
+ lintOptions.hasTypeAwareRules = true;
282
+ }
283
+ }
284
+ updateTestTargetConfiguration() {
285
+ if (!this.targetNames.test) {
286
+ return;
287
+ }
288
+ const testOptions = this.projectConfig.targets[this.targetNames.test].options;
289
+ if (!testOptions) {
290
+ this.logger.warn(`The target "${this.targetNames.test}" is not specifying any options. Skipping updating the target configuration.`);
291
+ return;
292
+ }
293
+ if (!testOptions.tsConfig) {
294
+ this.logger.warn(`The "${this.targetNames.test}" target does not have the "tsConfig" option configured. Skipping updating the tsConfig file.`);
295
+ }
296
+ else if (!this.tree.exists(testOptions.tsConfig)) {
297
+ this.logger.warn(`The tsConfig file "${testOptions.tsConfig}" specified in the "${this.targetNames.test}" target could not be found. Skipping updating the tsConfig file.`);
298
+ }
299
+ testOptions.main = testOptions.main && this.convertAsset(testOptions.main);
300
+ testOptions.polyfills =
301
+ testOptions.polyfills && this.convertAsset(testOptions.polyfills);
302
+ testOptions.tsConfig =
303
+ testOptions.tsConfig &&
304
+ (0, devkit_1.joinPathFragments)(this.project.newRoot, (0, path_1.basename)(testOptions.tsConfig));
305
+ testOptions.karmaConfig =
306
+ testOptions.karmaConfig &&
307
+ (0, devkit_1.joinPathFragments)(this.project.newRoot, (0, path_1.basename)(testOptions.karmaConfig));
308
+ testOptions.assets =
309
+ testOptions.assets &&
310
+ testOptions.assets.map((asset) => this.convertAsset(asset));
311
+ testOptions.styles =
312
+ testOptions.styles &&
313
+ testOptions.styles.map((style) => this.convertAsset(style));
314
+ testOptions.scripts =
315
+ testOptions.scripts &&
316
+ testOptions.scripts.map((script) => this.convertAsset(script));
317
+ }
318
+ updateTsConfigFileUsedByBuildTarget(rootTsConfigFile, projectOffsetFromRoot) {
319
+ var _a, _b, _c, _d;
320
+ if (!this.targetNames.build) {
321
+ return;
322
+ }
323
+ const tsConfigPath = (_b = (_a = this.projectConfig.targets[this.targetNames.build].options) === null || _a === void 0 ? void 0 : _a.tsConfig) !== null && _b !== void 0 ? _b : (_d = (_c = this.projectConfig.targets[this.targetNames.build].configurations) === null || _c === void 0 ? void 0 : _c.development) === null || _d === void 0 ? void 0 : _d.tsConfig;
324
+ if (!tsConfigPath || !this.tree.exists(tsConfigPath)) {
325
+ // we already logged a warning for these cases, so just return
326
+ return;
327
+ }
328
+ this.updateTsConfigFile(tsConfigPath, rootTsConfigFile, projectOffsetFromRoot);
329
+ (0, devkit_1.updateJson)(this.tree, tsConfigPath, (json) => {
330
+ var _a, _b;
331
+ if (!((_a = json.include) === null || _a === void 0 ? void 0 : _a.length) && !((_b = json.files) === null || _b === void 0 ? void 0 : _b.length)) {
332
+ json.include = ['**/*.ts'];
333
+ }
334
+ return json;
335
+ });
336
+ }
337
+ updateTsConfigFileUsedByTestTarget(rootTsConfigFile, projectOffsetFromRoot) {
338
+ var _a;
339
+ if (!this.targetNames.test) {
340
+ return;
341
+ }
342
+ const tsConfig = (_a = this.projectConfig.targets[this.targetNames.test].options) === null || _a === void 0 ? void 0 : _a.tsConfig;
343
+ if (!tsConfig || !this.tree.exists(tsConfig)) {
344
+ // we already logged a warning for these cases, so just return
345
+ return;
346
+ }
347
+ this.updateTsConfigFile(this.projectConfig.targets[this.targetNames.test].options.tsConfig, rootTsConfigFile, projectOffsetFromRoot);
348
+ }
349
+ }
350
+ exports.LibMigrator = LibMigrator;
351
+ //# sourceMappingURL=lib.migrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.migrator.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/lib.migrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class Logger {
2
+ private project;
3
+ private message;
4
+ constructor(project: string);
5
+ info(message: string): void;
6
+ warn(message: string): void;
7
+ error(message: string): void;
8
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ class Logger {
6
+ constructor(project) {
7
+ this.project = project;
8
+ this.message = (_, message) => `[${this.project}] ${message}`;
9
+ }
10
+ info(message) {
11
+ devkit_1.logger.info(this.message `${message}`);
12
+ }
13
+ warn(message) {
14
+ devkit_1.logger.warn(this.message `${message}`);
15
+ }
16
+ error(message) {
17
+ devkit_1.logger.error(this.message `${message}`);
18
+ }
19
+ }
20
+ exports.Logger = Logger;
21
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/logger.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,MAAM;IAIjB,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAH3B,YAAO,GAAG,CAAC,CAAuB,EAAE,OAAe,EAAE,EAAE,CAC7D,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;IAEK,CAAC;IAEhC,IAAI,CAAC,OAAe;QACzB,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA,GAAG,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,IAAI,CAAC,OAAe;QACzB,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA,GAAG,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,OAAe;QAC1B,eAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,GAAG,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;CACF;AAjBD,wBAiBC"}
@@ -3,14 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.normalizeOptions = void 0;
4
4
  const devkit_1 = require("@nrwl/devkit");
5
5
  function normalizeOptions(tree, options, projects) {
6
- var _a;
7
- let npmScope = (_a = options.npmScope) !== null && _a !== void 0 ? _a : options.name;
6
+ let npmScope = options.npmScope;
8
7
  if (npmScope) {
9
8
  npmScope = (0, devkit_1.names)(npmScope).fileName;
10
9
  }
11
10
  else if (projects.libs.length > 0) {
12
11
  // try get the scope from any library that have one
13
12
  for (const lib of projects.libs) {
13
+ const packageJsonPath = (0, devkit_1.joinPathFragments)(lib.config.root, 'package.json');
14
+ if (!tree.exists(packageJsonPath)) {
15
+ continue;
16
+ }
14
17
  const { name } = (0, devkit_1.readJson)(tree, (0, devkit_1.joinPathFragments)(lib.config.root, 'package.json'));
15
18
  if (name.startsWith('@')) {
16
19
  npmScope = name.split('/')[0].substring(1);
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/normalize-options.ts"],"names":[],"mappings":";;;AAAA,yCAAwE;AAIxE,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAyB,EACzB,QAA2B;;IAE3B,IAAI,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,IAAI,CAAC;IAChD,IAAI,QAAQ,EAAE;QACZ,QAAQ,GAAG,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;KACrC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,mDAAmD;QACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iBAAQ,EACvB,IAAI,EACJ,IAAA,0BAAiB,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CACnD,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACxB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM;aACP;SACF;KACF;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,0DAA0D;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KAC1E;IAED,uCAAY,OAAO,KAAE,QAAQ,IAAG;AAClC,CAAC;AA7BD,4CA6BC"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/normalize-options.ts"],"names":[],"mappings":";;;AAAA,yCAAwE;AAIxE,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAyB,EACzB,QAA2B;IAE3B,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,EAAE;QACZ,QAAQ,GAAG,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;KACrC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,mDAAmD;QACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;YAC/B,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,GAAG,CAAC,MAAM,CAAC,IAAI,EACf,cAAc,CACf,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;gBACjC,SAAS;aACV;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iBAAQ,EACvB,IAAI,EACJ,IAAA,0BAAiB,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CACnD,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACxB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM;aACP;SACF;KACF;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,0DAA0D;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KAC1E;IAED,uCAAY,OAAO,KAAE,QAAQ,IAAG;AAClC,CAAC;AArCD,4CAqCC"}
@@ -1,9 +1,11 @@
1
- import { ProjectConfiguration, Tree } from '@nrwl/devkit';
1
+ import { ProjectConfiguration, TargetConfiguration, Tree } from '@nrwl/devkit';
2
2
  import { GeneratorOptions } from '../schema';
3
+ import { Logger } from './logger';
3
4
  import { MigrationProjectConfiguration, ValidationResult } from './types';
4
5
  export declare abstract class ProjectMigrator {
5
6
  protected readonly tree: Tree;
6
7
  protected readonly options: GeneratorOptions;
8
+ get projectName(): string;
7
9
  protected projectConfig: ProjectConfiguration;
8
10
  protected project: {
9
11
  name: string;
@@ -12,10 +14,19 @@ export declare abstract class ProjectMigrator {
12
14
  newRoot: string;
13
15
  newSourceRoot: string;
14
16
  };
15
- constructor(tree: Tree, options: GeneratorOptions, project: MigrationProjectConfiguration, rootDir: string);
17
+ protected logger: Logger;
18
+ constructor(tree: Tree, options: GeneratorOptions, project: MigrationProjectConfiguration, rootDir: string, logger?: Logger);
16
19
  abstract migrate(): Promise<void>;
17
20
  abstract validate(): ValidationResult;
21
+ protected convertAsset(asset: string | any): string | any;
22
+ protected convertEsLintConfigExtendToNewPath(eslintConfigPath: string, extendPath: string): string;
23
+ protected convertSourceRootPath(originalPath: string): string;
24
+ protected convertRootPath(originalPath: string): string;
25
+ protected convertPath(originalPath: string): string;
26
+ protected getTargetValuesForOption(target: TargetConfiguration, optionPath: string): any[];
27
+ protected getValueForOption(options: Record<string, any>, optionPath: string): any;
18
28
  protected moveProjectRootFile(filePath: string, isRequired?: boolean): void;
19
29
  protected moveDir(from: string, to: string): void;
20
30
  protected moveFile(from: string, to: string, required?: boolean): void;
31
+ protected updateTsConfigFile(tsConfigPath: string, rootTsConfigFile: string, projectOffsetFromRoot: string): void;
21
32
  }
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProjectMigrator = void 0;
4
4
  const devkit_1 = require("@nrwl/devkit");
5
5
  const path_1 = require("path");
6
+ const logger_1 = require("./logger");
6
7
  class ProjectMigrator {
7
- constructor(tree, options, project, rootDir) {
8
+ constructor(tree, options, project, rootDir, logger) {
8
9
  var _a, _b, _c;
9
10
  this.tree = tree;
10
11
  this.options = options;
@@ -16,6 +17,76 @@ class ProjectMigrator {
16
17
  newRoot: `${rootDir}/${project.name}`,
17
18
  newSourceRoot: `${rootDir}/${project.name}/src`,
18
19
  };
20
+ this.logger = logger !== null && logger !== void 0 ? logger : new logger_1.Logger(this.project.name);
21
+ }
22
+ get projectName() {
23
+ return this.project.name;
24
+ }
25
+ convertAsset(asset) {
26
+ if (typeof asset === 'string') {
27
+ return this.convertSourceRootPath(asset);
28
+ }
29
+ else {
30
+ return Object.assign(Object.assign({}, asset), { input: this.convertSourceRootPath(asset.input) });
31
+ }
32
+ }
33
+ convertEsLintConfigExtendToNewPath(eslintConfigPath, extendPath) {
34
+ if (!extendPath.startsWith('..')) {
35
+ // we only need to adjust paths that are on a different directory, files
36
+ // in the same directory are moved together so their relative paths are
37
+ // not changed
38
+ return extendPath;
39
+ }
40
+ return (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(this.project.newRoot), (0, path_1.dirname)(eslintConfigPath), extendPath);
41
+ }
42
+ convertSourceRootPath(originalPath) {
43
+ return (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldSourceRoot))
44
+ ? (0, devkit_1.joinPathFragments)(this.project.newSourceRoot, originalPath.replace(this.project.oldSourceRoot, ''))
45
+ : originalPath;
46
+ }
47
+ convertRootPath(originalPath) {
48
+ return (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldRoot))
49
+ ? (0, devkit_1.joinPathFragments)(this.project.newRoot, originalPath.replace(this.project.oldRoot, ''))
50
+ : originalPath;
51
+ }
52
+ convertPath(originalPath) {
53
+ if (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldSourceRoot)) {
54
+ return (0, devkit_1.joinPathFragments)(this.project.newSourceRoot, originalPath.replace(this.project.oldSourceRoot, ''));
55
+ }
56
+ if (this.project.oldRoot !== '' &&
57
+ (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldRoot))) {
58
+ return (0, devkit_1.joinPathFragments)(this.project.newRoot, originalPath.replace(this.project.oldRoot, ''));
59
+ }
60
+ return originalPath;
61
+ }
62
+ getTargetValuesForOption(target, optionPath) {
63
+ const values = new Set();
64
+ const value = this.getValueForOption(target.options, optionPath);
65
+ if (value) {
66
+ values.add(value);
67
+ }
68
+ if (target.configurations) {
69
+ for (const configuration of Object.values(target.configurations)) {
70
+ const value = this.getValueForOption(configuration, optionPath);
71
+ if (value) {
72
+ values.add(value);
73
+ }
74
+ }
75
+ }
76
+ return Array.from(values);
77
+ }
78
+ getValueForOption(options, optionPath) {
79
+ const segments = optionPath.split('.');
80
+ let value = options;
81
+ for (const segment of segments) {
82
+ if (value && value[segment]) {
83
+ value = value[segment];
84
+ }
85
+ else {
86
+ return null;
87
+ }
88
+ }
89
+ return value;
19
90
  }
20
91
  moveProjectRootFile(filePath, isRequired = true) {
21
92
  if (!filePath) {
@@ -34,12 +105,12 @@ class ProjectMigrator {
34
105
  moveFile(from, to, required = true) {
35
106
  if (!this.tree.exists(from)) {
36
107
  if (required) {
37
- console.warn(`Path: ${from} does not exist`);
108
+ this.logger.warn(`The path "${from}" does not exist. Skipping.`);
38
109
  }
39
110
  }
40
111
  else if (this.tree.exists(to)) {
41
112
  if (required) {
42
- console.warn(`Path: ${to} already exists`);
113
+ this.logger.warn(`The path "${to}" already exists. Skipping.`);
43
114
  }
44
115
  }
45
116
  else {
@@ -48,6 +119,15 @@ class ProjectMigrator {
48
119
  this.tree.delete(from);
49
120
  }
50
121
  }
122
+ updateTsConfigFile(tsConfigPath, rootTsConfigFile, projectOffsetFromRoot) {
123
+ (0, devkit_1.updateJson)(this.tree, tsConfigPath, (json) => {
124
+ var _a;
125
+ json.extends = `${projectOffsetFromRoot}${rootTsConfigFile}`;
126
+ json.compilerOptions = (_a = json.compilerOptions) !== null && _a !== void 0 ? _a : {};
127
+ json.compilerOptions.outDir = `${projectOffsetFromRoot}dist/out-tsc`;
128
+ return json;
129
+ });
130
+ }
51
131
  }
52
132
  exports.ProjectMigrator = ProjectMigrator;
53
133
  //# sourceMappingURL=project.migrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.migrator.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/project.migrator.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AACtB,+BAAgC;AAIhC,MAAsB,eAAe;IAUnC,YACqB,IAAU,EACV,OAAyB,EAC5C,OAAsC,EACtC,OAAe;;QAHI,SAAI,GAAJ,IAAI,CAAM;QACV,YAAO,GAAP,OAAO,CAAkB;QAI5C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,MAAA,IAAI,CAAC,aAAa,CAAC,IAAI,mCAAI,EAAE;YACtC,aAAa,EACX,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,UAAU,mCAAI,IAAI,CAAC,aAAa,CAAC,IAAI,mCAAI,EAAE;YAChE,OAAO,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;YACrC,aAAa,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,MAAM;SAChD,CAAC;IACJ,CAAC;IAKS,mBAAmB,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;QAC/D,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,eAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,MAAM,EAAE,GAAG,IAAA,0BAAiB,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAES,OAAO,CAAC,IAAY,EAAE,EAAU;QACxC,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAES,QAAQ,CAAC,IAAY,EAAE,EAAU,EAAE,WAAoB,IAAI;QACnE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC;aAC9C;SACF;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC/B,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;aAC5C;SACF;aAAM;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxB;IACH,CAAC;CACF;AA9DD,0CA8DC"}
1
+ {"version":3,"file":"project.migrator.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/project.migrator.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,16 @@ export declare type WorkspaceProjects = {
7
7
  apps: MigrationProjectConfiguration[];
8
8
  libs: MigrationProjectConfiguration[];
9
9
  };
10
- export declare type ValidationResult = string | null;
10
+ export declare type WorkspaceCapabilities = {
11
+ karma: boolean;
12
+ eslint: boolean;
13
+ };
14
+ export declare type ValidationError = {
15
+ message?: string;
16
+ messageGroup?: {
17
+ title: string;
18
+ messages: string[];
19
+ };
20
+ hint?: string;
21
+ };
22
+ export declare type ValidationResult = ValidationError[] | null;
@@ -0,0 +1,2 @@
1
+ import { ProjectMigrator } from './project.migrator';
2
+ export declare function validateProjects(migrators: ProjectMigrator[]): void;