@rxap/plugin-library 16.0.0-dev.2 → 16.0.0-dev.4

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 (126) hide show
  1. package/CHANGELOG.md +51 -182
  2. package/README.md +80 -127
  3. package/executors.json +24 -0
  4. package/generators.json +24 -0
  5. package/package.json +55 -40
  6. package/src/executors/readme/executor.d.ts +5 -0
  7. package/src/executors/readme/executor.js +143 -0
  8. package/src/executors/readme/executor.js.map +1 -0
  9. package/src/executors/readme/schema.d.ts +1 -0
  10. package/src/{builders/update-package-group → executors/readme}/schema.json +2 -3
  11. package/src/executors/run-generator/executor.d.ts +5 -0
  12. package/src/executors/run-generator/executor.js +46 -0
  13. package/src/executors/run-generator/executor.js.map +1 -0
  14. package/src/executors/run-generator/schema.d.ts +6 -0
  15. package/src/executors/run-generator/schema.json +27 -0
  16. package/src/executors/update-dependencies/executor.d.ts +5 -0
  17. package/src/executors/update-dependencies/executor.js +32 -0
  18. package/src/executors/update-dependencies/executor.js.map +1 -0
  19. package/src/executors/update-dependencies/schema.d.ts +1 -0
  20. package/src/executors/update-dependencies/schema.json +9 -0
  21. package/src/executors/update-package-group/executor.d.ts +5 -0
  22. package/src/executors/update-package-group/executor.js +45 -0
  23. package/src/executors/update-package-group/executor.js.map +1 -0
  24. package/src/executors/update-package-group/schema.d.ts +1 -0
  25. package/src/executors/update-package-group/schema.json +9 -0
  26. package/src/generators/fix-dependencies/generator.d.ts +27 -0
  27. package/src/generators/fix-dependencies/generator.js +547 -0
  28. package/src/generators/fix-dependencies/generator.js.map +1 -0
  29. package/src/generators/fix-dependencies/schema.d.ts +8 -0
  30. package/src/generators/fix-dependencies/schema.json +31 -0
  31. package/src/generators/index-export/generator.d.ts +4 -0
  32. package/src/generators/index-export/generator.js +52 -0
  33. package/src/generators/index-export/generator.js.map +1 -0
  34. package/src/generators/index-export/schema.d.ts +3 -0
  35. package/src/generators/index-export/schema.json +16 -0
  36. package/src/generators/init/files/README.md.handlebars +115 -0
  37. package/src/generators/init/generator.d.ts +4 -0
  38. package/src/generators/init/generator.js +261 -0
  39. package/src/generators/init/generator.js.map +1 -0
  40. package/src/generators/init/schema.d.ts +3 -0
  41. package/src/generators/init/schema.json +16 -0
  42. package/src/generators/schematic/files/schematic/__fileName__/index.ts.template +8 -0
  43. package/src/generators/schematic/files/schematic/__fileName__/schema.d.ts.template +3 -0
  44. package/src/generators/schematic/files/schematic/__fileName__/schema.json.template +18 -0
  45. package/src/generators/schematic/generator.d.ts +6 -0
  46. package/src/generators/schematic/generator.js +137 -0
  47. package/src/generators/schematic/generator.js.map +1 -0
  48. package/src/generators/schematic/schema.d.ts +6 -0
  49. package/src/generators/schematic/schema.json +43 -0
  50. package/src/index.d.ts +0 -1
  51. package/src/index.js +0 -2
  52. package/src/index.js.map +1 -1
  53. package/LICENSE +0 -630
  54. package/builders.json +0 -20
  55. package/collection.json +0 -32
  56. package/migration.json +0 -4
  57. package/src/builders/build-schematics/builder.d.ts +0 -13
  58. package/src/builders/build-schematics/builder.js +0 -84
  59. package/src/builders/build-schematics/builder.js.map +0 -1
  60. package/src/builders/build-schematics/schema.json +0 -78
  61. package/src/builders/update-package-group/builder.d.ts +0 -19
  62. package/src/builders/update-package-group/builder.js +0 -89
  63. package/src/builders/update-package-group/builder.js.map +0 -1
  64. package/src/builders/update-package-group/read-file.d.ts +0 -7
  65. package/src/builders/update-package-group/read-file.js +0 -11
  66. package/src/builders/update-package-group/read-file.js.map +0 -1
  67. package/src/builders/update-package-group/write-file.d.ts +0 -5
  68. package/src/builders/update-package-group/write-file.js +0 -11
  69. package/src/builders/update-package-group/write-file.js.map +0 -1
  70. package/src/builders/update-peer-dependencies/builder.d.ts +0 -40
  71. package/src/builders/update-peer-dependencies/builder.js +0 -293
  72. package/src/builders/update-peer-dependencies/builder.js.map +0 -1
  73. package/src/builders/update-peer-dependencies/schema.json +0 -33
  74. package/src/builders/utils/assets.d.ts +0 -14
  75. package/src/builders/utils/assets.js +0 -54
  76. package/src/builders/utils/assets.js.map +0 -1
  77. package/src/builders/utils/compile-typescript-files.d.ts +0 -13
  78. package/src/builders/utils/compile-typescript-files.js +0 -56
  79. package/src/builders/utils/compile-typescript-files.js.map +0 -1
  80. package/src/builders/utils/equals.d.ts +0 -1
  81. package/src/builders/utils/equals.js +0 -200
  82. package/src/builders/utils/equals.js.map +0 -1
  83. package/src/builders/utils/unique.d.ts +0 -1
  84. package/src/builders/utils/unique.js +0 -8
  85. package/src/builders/utils/unique.js.map +0 -1
  86. package/src/schematics/config/index.d.ts +0 -3
  87. package/src/schematics/config/index.js +0 -17
  88. package/src/schematics/config/index.js.map +0 -1
  89. package/src/schematics/config/schema.json +0 -50
  90. package/src/schematics/config-schematics/coerce-builders-json.d.ts +0 -2
  91. package/src/schematics/config-schematics/coerce-builders-json.js +0 -23
  92. package/src/schematics/config-schematics/coerce-builders-json.js.map +0 -1
  93. package/src/schematics/config-schematics/coerce-builders.d.ts +0 -1
  94. package/src/schematics/config-schematics/coerce-builders.js +0 -11
  95. package/src/schematics/config-schematics/coerce-builders.js.map +0 -1
  96. package/src/schematics/config-schematics/coerce-collection-json.d.ts +0 -2
  97. package/src/schematics/config-schematics/coerce-collection-json.js +0 -23
  98. package/src/schematics/config-schematics/coerce-collection-json.js.map +0 -1
  99. package/src/schematics/config-schematics/coerce-migration-json.d.ts +0 -2
  100. package/src/schematics/config-schematics/coerce-migration-json.js +0 -23
  101. package/src/schematics/config-schematics/coerce-migration-json.js.map +0 -1
  102. package/src/schematics/config-schematics/coerce-ng-update.d.ts +0 -1
  103. package/src/schematics/config-schematics/coerce-ng-update.js +0 -21
  104. package/src/schematics/config-schematics/coerce-ng-update.js.map +0 -1
  105. package/src/schematics/config-schematics/coerce-schematics.d.ts +0 -1
  106. package/src/schematics/config-schematics/coerce-schematics.js +0 -11
  107. package/src/schematics/config-schematics/coerce-schematics.js.map +0 -1
  108. package/src/schematics/config-schematics/index.d.ts +0 -3
  109. package/src/schematics/config-schematics/index.js +0 -96
  110. package/src/schematics/config-schematics/index.js.map +0 -1
  111. package/src/schematics/config-schematics/init-src-files.d.ts +0 -2
  112. package/src/schematics/config-schematics/init-src-files.js +0 -16
  113. package/src/schematics/config-schematics/init-src-files.js.map +0 -1
  114. package/src/schematics/config-schematics/schema.json +0 -47
  115. package/src/schematics/config-update-package-group/index.d.ts +0 -3
  116. package/src/schematics/config-update-package-group/index.js +0 -21
  117. package/src/schematics/config-update-package-group/index.js.map +0 -1
  118. package/src/schematics/config-update-package-group/schema.json +0 -21
  119. package/src/schematics/config-update-peer-dependencies/index.d.ts +0 -3
  120. package/src/schematics/config-update-peer-dependencies/index.js +0 -26
  121. package/src/schematics/config-update-peer-dependencies/index.js.map +0 -1
  122. package/src/schematics/config-update-peer-dependencies/schema.json +0 -28
  123. package/src/schematics/ng-add/index.d.ts +0 -3
  124. package/src/schematics/ng-add/index.js +0 -21
  125. package/src/schematics/ng-add/index.js.map +0 -1
  126. package/src/schematics/ng-add/schema.json +0 -17
@@ -0,0 +1,547 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fixDependenciesGenerator = exports.removeSelfReferenceFromDependencies = exports.removePackageFromDependencies = exports.replaceLatestPackageVersionForProject = exports.resolveLatestPackageVersion = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const ts_morph_1 = require("ts-morph");
7
+ const generator_ts_morph_1 = require("@rxap/generator-ts-morph");
8
+ const path_1 = require("path");
9
+ const schematics_utilities_1 = require("@rxap/schematics-utilities");
10
+ const generator_utilities_1 = require("@rxap/generator-utilities");
11
+ function resolveProjectDependencies(projectGraph, project, resolved = []) {
12
+ if (resolved.includes(project)) {
13
+ return [];
14
+ }
15
+ const dependencies = [];
16
+ const projectDependencies = projectGraph.dependencies[project];
17
+ for (const dependency of projectDependencies) {
18
+ if (!dependency.target.startsWith('npm:')) {
19
+ dependencies.push(dependency.target);
20
+ dependencies.push(...resolveProjectDependencies(projectGraph, dependency.target, [...resolved, dependency.target, project]));
21
+ }
22
+ }
23
+ return dependencies.filter((value, index, array) => array.indexOf(value) === index);
24
+ }
25
+ function getPackageListFromSourceFiles(project) {
26
+ const packageList = [];
27
+ project.getSourceFiles().forEach(sourceFile => {
28
+ sourceFile.getImportDeclarations().forEach(importDeclaration => {
29
+ const moduleSpecifier = importDeclaration.getModuleSpecifierValue();
30
+ if (moduleSpecifier.startsWith('.')) {
31
+ return;
32
+ }
33
+ const match = moduleSpecifier.match(/^([^@][^/]+)\/.+$/) || moduleSpecifier.match(/^(@[^/]+\/[^/]+)\/.+/);
34
+ let packageName;
35
+ if (match) {
36
+ packageName = match[1];
37
+ }
38
+ else {
39
+ packageName = moduleSpecifier;
40
+ }
41
+ if (!packageList.includes(packageName)) {
42
+ packageList.push(packageName);
43
+ console.log(`Add package ${packageName} from source file ${sourceFile.getFilePath()}`);
44
+ }
45
+ });
46
+ });
47
+ return packageList
48
+ .filter((value, index, array) => array.indexOf(value) === index)
49
+ .filter(packageName => !PACKAGE_ADD_BLACK_LIST.some(regexOrString => typeof regexOrString === 'string' ?
50
+ regexOrString === packageName :
51
+ regexOrString.test(packageName)));
52
+ }
53
+ const TESTING_FILE_EXTENSIONS = [
54
+ 'cypress.config.ts',
55
+ '.spec.ts',
56
+ '.e2e-spec.ts',
57
+ '.stories.ts',
58
+ 'test-setup.ts',
59
+ '.cy.ts',
60
+ ];
61
+ const TESTING_FOLDERS = ['cypress', '.storybook'];
62
+ const PACKAGE_REMOVE_BLACK_LIST = ['tslib'];
63
+ const PACKAGE_ADD_BLACK_LIST = [
64
+ /@firebase/,
65
+ 'fs',
66
+ 'path',
67
+ 'child_process',
68
+ 'os',
69
+ 'crypto',
70
+ 'util',
71
+ 'events',
72
+ 'stream',
73
+ 'assert',
74
+ 'tty',
75
+ 'net',
76
+ 'dns',
77
+ 'tls',
78
+ 'http',
79
+ 'https',
80
+ 'zlib',
81
+ 'url',
82
+ 'querystring',
83
+ 'punycode',
84
+ 'string_decoder',
85
+ 'http2',
86
+ 'perf_hooks',
87
+ 'worker_threads',
88
+ 'v8',
89
+ 'vm',
90
+ 'async_hooks',
91
+ 'inspector',
92
+ 'trace_events',
93
+ 'console',
94
+ 'buffer',
95
+ 'constants',
96
+ 'v8',
97
+ 'domain',
98
+ 'readline',
99
+ 'repl',
100
+ 'timers',
101
+ 'module',
102
+ 'process',
103
+ 'cluster',
104
+ 'dgram',
105
+ 'fs/promises',
106
+ 'perf_hooks',
107
+ 'readline',
108
+ 'repl',
109
+ 'string_decoder',
110
+ 'tls/promises',
111
+ 'trace_events',
112
+ 'tty',
113
+ 'worker_threads',
114
+ 'zlib/promises',
115
+ 'assert',
116
+ 'async_hooks',
117
+ 'buffer',
118
+ 'child_process',
119
+ 'console',
120
+ 'crypto',
121
+ 'dns/promises',
122
+ 'domain',
123
+ 'events',
124
+ 'fs',
125
+ 'http',
126
+ 'http2',
127
+ 'https',
128
+ 'net',
129
+ 'os',
130
+ 'path',
131
+ 'querystring',
132
+ 'stream',
133
+ 'timers',
134
+ 'tls',
135
+ 'tty',
136
+ 'url',
137
+ 'util',
138
+ 'v8',
139
+ 'vm',
140
+ 'zlib',
141
+ ];
142
+ const PACKAGE_NAME_TO_PROJECT_NAME_CACHE = {};
143
+ const PROJECT_NAME_TO_PACKAGE_NAME_CACHE = {};
144
+ function loadProjectToPackageMapping(tree, projectGraph) {
145
+ const projectNames = Object.keys(projectGraph.nodes);
146
+ for (const projectName of projectNames) {
147
+ const project = projectGraph.nodes[projectName];
148
+ if (project.type !== 'lib') {
149
+ console.log(`Skip project ${projectName}. Not a library`);
150
+ continue;
151
+ }
152
+ const projectRoot = project.data.root;
153
+ const packageJSON = JSON.parse(tree.read(`${projectRoot}/package.json`).toString('utf-8'));
154
+ PACKAGE_NAME_TO_PROJECT_NAME_CACHE[packageJSON.name] = projectName;
155
+ PROJECT_NAME_TO_PACKAGE_NAME_CACHE[projectName] = packageJSON.name;
156
+ }
157
+ }
158
+ function packageNameToProjectName(packageName) {
159
+ if (PACKAGE_NAME_TO_PROJECT_NAME_CACHE[packageName]) {
160
+ return PACKAGE_NAME_TO_PROJECT_NAME_CACHE[packageName];
161
+ }
162
+ throw new Error(`Could not find project for package '${packageName}'`);
163
+ }
164
+ function projectNameToPackageName(projectName) {
165
+ if (PROJECT_NAME_TO_PACKAGE_NAME_CACHE[projectName]) {
166
+ return PROJECT_NAME_TO_PACKAGE_NAME_CACHE[projectName];
167
+ }
168
+ throw new Error(`Could not find package for project '${projectName}'`);
169
+ }
170
+ function hasProjectWithPackageName(packageName) {
171
+ return PACKAGE_NAME_TO_PROJECT_NAME_CACHE[packageName] !== undefined;
172
+ }
173
+ function addDependedProjects(projectGraph, tree, packageName, projectRoot, dependencies) {
174
+ const projectName = packageNameToProjectName(packageName);
175
+ const dependedProjectList = resolveProjectDependencies(projectGraph, projectName);
176
+ for (const dependedProject of dependedProjectList) {
177
+ const dependedPackageName = projectNameToPackageName(dependedProject);
178
+ if (!dependencies[dependedPackageName]) {
179
+ dependencies[dependedPackageName] = findBasePackageVersion(tree, dependedPackageName, projectRoot);
180
+ }
181
+ }
182
+ }
183
+ function fixPeerDependenciesWithTsMorphProject(projectGraph, tree, projectRoot, { dependencies, peerDependencies, devDependencies, }) {
184
+ var _a;
185
+ const project = new ts_morph_1.Project({
186
+ manipulationSettings: {
187
+ indentationText: ts_morph_1.IndentationText.TwoSpaces,
188
+ quoteKind: ts_morph_1.QuoteKind.Single,
189
+ },
190
+ useInMemoryFileSystem: true,
191
+ });
192
+ (0, generator_ts_morph_1.AddDir)(tree, projectRoot, project, (fileName, path) => !path.includes('node_modules') &&
193
+ fileName.endsWith('.ts') &&
194
+ !TESTING_FOLDERS.map(folder => (0, path_1.join)(projectRoot, folder)).some(folder => path.includes(folder)) &&
195
+ !TESTING_FILE_EXTENSIONS.some(ext => fileName.endsWith(ext)));
196
+ const packageList = getPackageListFromSourceFiles(project);
197
+ const addedPackageList = [];
198
+ const changedPackageList = [];
199
+ const removedPackageList = [];
200
+ const unknownPackageList = [];
201
+ for (const packageName of Object.keys(peerDependencies)) {
202
+ if (!packageList.includes(packageName) && !PACKAGE_REMOVE_BLACK_LIST.includes(packageName)) {
203
+ removedPackageList.push(`${packageName}@${peerDependencies[packageName]} from peerDependencies`);
204
+ delete peerDependencies[packageName];
205
+ }
206
+ }
207
+ for (const packageName of Object.keys(dependencies)) {
208
+ if (!packageList.includes(packageName) && !PACKAGE_REMOVE_BLACK_LIST.includes(packageName)) {
209
+ removedPackageList.push(`${packageName}@${dependencies[packageName]} from dependencies`);
210
+ delete dependencies[packageName];
211
+ }
212
+ }
213
+ for (const packageName of packageList) {
214
+ if (hasProjectWithPackageName(packageName)) {
215
+ if (!dependencies[packageName]) {
216
+ peerDependencies[packageName] = (_a = peerDependencies[packageName]) !== null && _a !== void 0 ? _a : '*';
217
+ }
218
+ }
219
+ else {
220
+ if (!dependencies[packageName]) {
221
+ const version = findBasePackageVersion(tree, packageName, projectRoot);
222
+ if (peerDependencies[packageName]) {
223
+ if (peerDependencies[packageName] !== version) {
224
+ changedPackageList.push(`${packageName}@${peerDependencies[packageName]} -> ${version}`);
225
+ peerDependencies[packageName] = version;
226
+ }
227
+ }
228
+ else {
229
+ addedPackageList.push(`${packageName}@${version}`);
230
+ peerDependencies[packageName] = version;
231
+ }
232
+ if (version === 'latest') {
233
+ unknownPackageList.push(packageName);
234
+ }
235
+ peerDependencies[packageName] = version;
236
+ }
237
+ }
238
+ }
239
+ return {
240
+ addedPackageList,
241
+ changedPackageList,
242
+ removedPackageList,
243
+ unknownPackageList,
244
+ };
245
+ }
246
+ function fixDevDependenciesWithTsMorphProject(projectGraph, tree, projectRoot, { dependencies, peerDependencies, devDependencies, }) {
247
+ const project = new ts_morph_1.Project({
248
+ manipulationSettings: {
249
+ indentationText: ts_morph_1.IndentationText.TwoSpaces,
250
+ quoteKind: ts_morph_1.QuoteKind.Single,
251
+ },
252
+ useInMemoryFileSystem: true,
253
+ });
254
+ (0, generator_ts_morph_1.AddDir)(tree, projectRoot, project, (fileName, path) => !path.includes('node_modules') &&
255
+ fileName.endsWith('.ts') &&
256
+ !TESTING_FOLDERS.map(folder => (0, path_1.join)(projectRoot, folder)).some(folder => path.includes(folder)) &&
257
+ TESTING_FILE_EXTENSIONS.some(ext => fileName.endsWith(ext)));
258
+ const packageList = getPackageListFromSourceFiles(project);
259
+ const addedPackageList = [];
260
+ const changedPackageList = [];
261
+ const removedPackageList = [];
262
+ const unknownPackageList = [];
263
+ for (const packageName of Object.keys(devDependencies)) {
264
+ if (!packageList.includes(packageName) &&
265
+ !peerDependencies[packageName] &&
266
+ !PACKAGE_REMOVE_BLACK_LIST.includes(packageName)) {
267
+ removedPackageList.push(`${packageName}@${devDependencies[packageName]} from devDependencies`);
268
+ delete devDependencies[packageName];
269
+ }
270
+ }
271
+ for (const packageName of packageList) {
272
+ if (hasProjectWithPackageName(packageName)) {
273
+ if (!peerDependencies[packageName] && !dependencies[packageName]) {
274
+ devDependencies[packageName] = '*';
275
+ }
276
+ }
277
+ else {
278
+ if (!peerDependencies[packageName] && !dependencies[packageName]) {
279
+ const version = findBasePackageVersion(tree, packageName, projectRoot);
280
+ if (devDependencies[packageName]) {
281
+ if (devDependencies[packageName] !== version) {
282
+ changedPackageList.push(`${packageName}@${devDependencies[packageName]} -> ${version}`);
283
+ devDependencies[packageName] = version;
284
+ }
285
+ }
286
+ else {
287
+ addedPackageList.push(`${packageName}@${version}`);
288
+ devDependencies[packageName] = version;
289
+ }
290
+ if (version === 'latest') {
291
+ unknownPackageList.push(packageName);
292
+ }
293
+ devDependencies[packageName] = version;
294
+ }
295
+ }
296
+ }
297
+ return {
298
+ addedPackageList,
299
+ changedPackageList,
300
+ removedPackageList,
301
+ unknownPackageList,
302
+ };
303
+ }
304
+ const PACKAGE_VERSION_MAP = {};
305
+ function loadAvailablePackageVersion(tree, projectRoot) {
306
+ PACKAGE_VERSION_MAP[projectRoot] = {};
307
+ function updateMap(dependencies) {
308
+ for (const [packageName, version] of Object.entries(dependencies !== null && dependencies !== void 0 ? dependencies : {})) {
309
+ if (version !== '*' && !hasProjectWithPackageName(packageName)) {
310
+ if (!PACKAGE_VERSION_MAP[packageName]) {
311
+ PACKAGE_VERSION_MAP[projectRoot][packageName] = version;
312
+ }
313
+ }
314
+ }
315
+ }
316
+ function pinVersionToMajorRelease(versionMap) {
317
+ for (const [packageName, version] of Object.entries(versionMap)) {
318
+ if (version.startsWith('~')) {
319
+ versionMap[packageName] = version.replace('~', '^');
320
+ }
321
+ if (version.match(/^\d+/)) {
322
+ versionMap[packageName] = `^${version}`;
323
+ }
324
+ }
325
+ }
326
+ let workingDirectory = '/' + projectRoot;
327
+ let lastWorkingDirectory = '';
328
+ do {
329
+ if (tree.exists((0, path_1.join)(workingDirectory, 'package.json'))) {
330
+ const packageJson = JSON.parse(tree.read((0, path_1.join)(workingDirectory, 'package.json')).toString('utf-8'));
331
+ updateMap(packageJson.dependencies);
332
+ updateMap(packageJson.peerDependencies);
333
+ updateMap(packageJson.devDependencies);
334
+ updateMap(packageJson.optionalDependencies);
335
+ }
336
+ lastWorkingDirectory = workingDirectory;
337
+ workingDirectory = (0, path_1.join)(workingDirectory, '..');
338
+ } while (workingDirectory !== lastWorkingDirectory);
339
+ pinVersionToMajorRelease(PACKAGE_VERSION_MAP[projectRoot]);
340
+ }
341
+ function findBasePackageVersion(tree, packageName, projectRoot) {
342
+ if (!PACKAGE_VERSION_MAP[projectRoot]) {
343
+ throw new Error('Package version map not loaded. Ensure the loadAvailablePackageVersion function is called before.');
344
+ }
345
+ if (PACKAGE_VERSION_MAP[projectRoot][packageName]) {
346
+ return PACKAGE_VERSION_MAP[projectRoot][packageName];
347
+ }
348
+ return 'latest';
349
+ }
350
+ function printReport({ addedPackageList, changedPackageList, removedPackageList, unknownPackageList, }) {
351
+ if (addedPackageList.length) {
352
+ console.log(`Added packages: ${addedPackageList.length}`);
353
+ console.log(addedPackageList.join('\n'));
354
+ }
355
+ if (changedPackageList.length) {
356
+ console.log(`Changed packages: ${changedPackageList.length}`);
357
+ console.log(changedPackageList.join('\n'));
358
+ }
359
+ if (removedPackageList.length) {
360
+ console.log(`Removed packages: ${removedPackageList.length}`);
361
+ console.log(removedPackageList.join('\n'));
362
+ }
363
+ if (unknownPackageList.length) {
364
+ console.log(`Unknown packages: ${unknownPackageList.length}`);
365
+ console.log(unknownPackageList.join('\n'));
366
+ }
367
+ }
368
+ function skipProject(tree, project, projectRoot, projects = []) {
369
+ if (projects.length && !projects.includes(project)) {
370
+ console.debug(`Skip project ${project} because it is not in the list of projects`);
371
+ return true;
372
+ }
373
+ if (projectRoot === '.') {
374
+ console.debug('skip root project');
375
+ return true;
376
+ }
377
+ if (!tree.exists(`${projectRoot}/package.json`)) {
378
+ console.debug(`No package.json file found in ${projectRoot}`);
379
+ return true;
380
+ }
381
+ return false;
382
+ }
383
+ const RESOLVED_PACKAGE_VERSION_MAP = {};
384
+ function resolveLatestPackageVersion(packageName) {
385
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
386
+ if (RESOLVED_PACKAGE_VERSION_MAP[packageName]) {
387
+ return RESOLVED_PACKAGE_VERSION_MAP[packageName];
388
+ }
389
+ return RESOLVED_PACKAGE_VERSION_MAP[packageName] = yield (0, schematics_utilities_1.GetLatestPackageVersion)(packageName);
390
+ });
391
+ }
392
+ exports.resolveLatestPackageVersion = resolveLatestPackageVersion;
393
+ function replaceLatestPackageVersionForProject(tree, projectName) {
394
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
395
+ console.log(`Replace latest package version for project ${projectName}`);
396
+ const projectRoot = (0, generator_utilities_1.GetProjectRoot)(tree, projectName);
397
+ const packageJson = JSON.parse(tree.read((0, path_1.join)(projectRoot, 'package.json')).toString('utf-8'));
398
+ const dependencies = packageJson.dependencies;
399
+ const peerDependencies = packageJson.peerDependencies;
400
+ const devDependencies = packageJson.devDependencies;
401
+ const optionalDependencies = packageJson.optionalDependencies;
402
+ function replaceLatestPackageVersion(dependencies) {
403
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
404
+ for (const [packageName, version] of Object.entries(dependencies !== null && dependencies !== void 0 ? dependencies : {})) {
405
+ if (version === 'latest') {
406
+ const resolvedVersion = yield resolveLatestPackageVersion(packageName);
407
+ if (resolvedVersion !== 'latest') {
408
+ dependencies[packageName] = resolvedVersion;
409
+ console.log(`Replace latest version of ${packageName} with ${resolvedVersion}`);
410
+ }
411
+ }
412
+ }
413
+ });
414
+ }
415
+ yield replaceLatestPackageVersion(dependencies);
416
+ yield replaceLatestPackageVersion(peerDependencies);
417
+ yield replaceLatestPackageVersion(devDependencies);
418
+ yield replaceLatestPackageVersion(optionalDependencies);
419
+ tree.write((0, path_1.join)(projectRoot, 'package.json'), JSON.stringify(packageJson, null, 2) + '\n');
420
+ });
421
+ }
422
+ exports.replaceLatestPackageVersionForProject = replaceLatestPackageVersionForProject;
423
+ function removePackageFromDependencies(packageName, dependencies) {
424
+ if (dependencies[packageName]) {
425
+ delete dependencies[packageName];
426
+ }
427
+ }
428
+ exports.removePackageFromDependencies = removePackageFromDependencies;
429
+ function removeSelfReferenceFromDependencies(projectName, { dependencies, peerDependencies, devDependencies, optionalDependencies, }) {
430
+ const packageName = projectNameToPackageName(projectName);
431
+ removePackageFromDependencies(packageName, dependencies);
432
+ removePackageFromDependencies(packageName, peerDependencies);
433
+ removePackageFromDependencies(packageName, devDependencies);
434
+ removePackageFromDependencies(packageName, optionalDependencies);
435
+ }
436
+ exports.removeSelfReferenceFromDependencies = removeSelfReferenceFromDependencies;
437
+ /**
438
+ * This generator tries to fix the dependencies in the project.json of the project
439
+ *
440
+ * 1. Load all not-test typescript files from the project
441
+ * 1.1. Find all import statements
442
+ * a. If a project with the package name exists add it to the peerDependencies with version '*'. (skip if the package is already in the dependencies)
443
+ * b. If external package add it to the peerDependencies with the version from a parent package.json or 'latest' if not found.
444
+ * 2. Load all test typescript files from the project
445
+ * 2.1. Find all import statements
446
+ * a. If a project with the package name exists add it to the devDependencies with version '*'. (skip if the package is already in the dependencies)
447
+ * - for each project that is use in the test files add it direct and indirect dependencies to the devDependencies TODO : check if that is required
448
+ * b. If external package add it to the devDependencies with the version from a parent package.json or 'latest' if not found.
449
+ *
450
+ * 3. print a report about the changes
451
+ *
452
+ * @param tree
453
+ * @param options
454
+ */
455
+ function fixDependenciesGenerator(tree, options) {
456
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
457
+ if (!options.verbose) {
458
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
459
+ console.debug = () => {
460
+ };
461
+ }
462
+ if (options.reset || options.resetAll) {
463
+ (0, devkit_1.getProjects)(tree).forEach((project, projectName) => {
464
+ const projectRoot = project.root;
465
+ if (skipProject(tree, projectName, projectRoot, options.projects)) {
466
+ return;
467
+ }
468
+ const packageJson = JSON.parse(tree.read(`${projectRoot}/package.json`).toString('utf-8'));
469
+ if (options.resetAll) {
470
+ packageJson.dependencies = {};
471
+ }
472
+ packageJson.peerDependencies = {};
473
+ packageJson.devDependencies = {};
474
+ packageJson.optionalDependencies = {};
475
+ tree.write(`${projectRoot}/package.json`, JSON.stringify(packageJson, null, 2) + '\n');
476
+ });
477
+ }
478
+ const projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
479
+ loadProjectToPackageMapping(tree, projectGraph);
480
+ const unknownPackageMap = {};
481
+ const latestTsLibVersion = yield resolveLatestPackageVersion('tslib');
482
+ (0, devkit_1.getProjects)(tree).forEach((project, projectName) => {
483
+ var _a, _b, _c, _d;
484
+ const projectRoot = project.root;
485
+ if (skipProject(tree, projectName, projectRoot, options.projects) || project.projectType !== 'library') {
486
+ return;
487
+ }
488
+ const packageJson = JSON.parse(tree.read(`${projectRoot}/package.json`).toString('utf-8'));
489
+ (_a = packageJson.dependencies) !== null && _a !== void 0 ? _a : (packageJson.dependencies = {});
490
+ (_b = packageJson.peerDependencies) !== null && _b !== void 0 ? _b : (packageJson.peerDependencies = {});
491
+ (_c = packageJson.devDependencies) !== null && _c !== void 0 ? _c : (packageJson.devDependencies = {});
492
+ (_d = packageJson.optionalDependencies) !== null && _d !== void 0 ? _d : (packageJson.optionalDependencies = {});
493
+ if (!packageJson.dependencies['tslib']) {
494
+ packageJson.dependencies['tslib'] = latestTsLibVersion;
495
+ }
496
+ loadAvailablePackageVersion(tree, projectRoot);
497
+ const peerReport = fixPeerDependenciesWithTsMorphProject(projectGraph, tree, projectRoot, packageJson);
498
+ removeSelfReferenceFromDependencies(projectName, packageJson);
499
+ console.log(`==================== Report for project ${projectName}`);
500
+ console.log('========== Peer dependencies:');
501
+ printReport(peerReport);
502
+ unknownPackageMap[projectName] = peerReport.unknownPackageList.filter((packageName, index, self) => self.indexOf(packageName) === index);
503
+ if (Object.keys(packageJson.dependencies).length === 0) {
504
+ delete packageJson.dependencies;
505
+ }
506
+ if (Object.keys(packageJson.peerDependencies).length === 0) {
507
+ delete packageJson.peerDependencies;
508
+ }
509
+ if (Object.keys(packageJson.devDependencies).length === 0) {
510
+ delete packageJson.devDependencies;
511
+ }
512
+ if (Object.keys(packageJson.optionalDependencies).length === 0) {
513
+ delete packageJson.optionalDependencies;
514
+ }
515
+ tree.write(`${projectRoot}/package.json`, JSON.stringify(packageJson, null, 2) + '\n');
516
+ });
517
+ const unknownPackageMapToProject = {};
518
+ for (const [projectName, packageList] of Object.entries(unknownPackageMap)) {
519
+ for (const packageName of packageList) {
520
+ if (!unknownPackageMapToProject[packageName]) {
521
+ unknownPackageMapToProject[packageName] = [];
522
+ }
523
+ unknownPackageMapToProject[packageName].push(projectName);
524
+ }
525
+ }
526
+ if (Object.keys(unknownPackageMapToProject).length) {
527
+ console.log(`============================================================`);
528
+ console.log(`Unknown packages: ${Object.keys(unknownPackageMapToProject).length}`);
529
+ console.log(Object.entries(unknownPackageMapToProject)
530
+ .map(([packageName, projectNameList]) => `${packageName}: ${projectNameList.join(', ')}`)
531
+ .join('\n'));
532
+ console.log('============================================================');
533
+ console.log('Use the option --resolve to replace all latest version with the latest version from npm');
534
+ if (options.strict) {
535
+ throw new Error('Packages with unknown version found');
536
+ }
537
+ }
538
+ if (options.resolve) {
539
+ for (const [projectName] of Object.entries(unknownPackageMap)) {
540
+ yield replaceLatestPackageVersionForProject(tree, projectName);
541
+ }
542
+ }
543
+ });
544
+ }
545
+ exports.fixDependenciesGenerator = fixDependenciesGenerator;
546
+ exports.default = fixDependenciesGenerator;
547
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/library/src/generators/fix-dependencies/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface FixDependenciesGeneratorSchema {
2
+ projects?: string[];
3
+ reset?: boolean;
4
+ resetAll?: boolean;
5
+ verbose?: boolean;
6
+ resolve?: boolean;
7
+ strict?: boolean;
8
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "FixDependencies",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "projects": {
8
+ "alias": "project",
9
+ "type": "array",
10
+ "items": {
11
+ "type": "string"
12
+ }
13
+ },
14
+ "reset": {
15
+ "type": "boolean"
16
+ },
17
+ "resolve": {
18
+ "type": "boolean"
19
+ },
20
+ "resetAll": {
21
+ "alias": "resetAll",
22
+ "type": "boolean"
23
+ },
24
+ "strict": {
25
+ "type": "boolean",
26
+ "default": false,
27
+ "description": "If true, will fail if any dependency is not found"
28
+ }
29
+ },
30
+ "required": []
31
+ }
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { IndexExportGeneratorSchema } from './schema';
3
+ export declare function indexExportGenerator(tree: Tree, options: IndexExportGeneratorSchema): Promise<void>;
4
+ export default indexExportGenerator;