@o3r/schematics 10.0.0-prerelease.99 → 10.1.0-prerelease.0

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 (74) hide show
  1. package/README.md +2 -1
  2. package/package.json +8 -8
  3. package/schematics/ng-add/index.d.ts.map +1 -1
  4. package/schematics/ng-add/index.js +28 -27
  5. package/src/modules/modules.display.rule.js.map +1 -1
  6. package/src/modules/modules.helpers.js.map +1 -1
  7. package/src/rule-factories/add-imports/index.js.map +1 -1
  8. package/src/rule-factories/check-packages-peers/index.js.map +1 -1
  9. package/src/rule-factories/dev-tools/devtools-registration.js.map +1 -1
  10. package/src/rule-factories/eslint-fix/index.js.map +1 -1
  11. package/src/rule-factories/get-test-frameworks/index.js.map +1 -1
  12. package/src/rule-factories/ng-add/dependencies.d.ts +78 -0
  13. package/src/rule-factories/ng-add/dependencies.d.ts.map +1 -0
  14. package/src/rule-factories/ng-add/dependencies.js +156 -0
  15. package/src/rule-factories/ng-add/dependencies.js.map +1 -0
  16. package/src/rule-factories/ng-add/index.d.ts +3 -36
  17. package/src/rule-factories/ng-add/index.d.ts.map +1 -1
  18. package/src/rule-factories/ng-add/index.js +4 -218
  19. package/src/rule-factories/ng-add/index.js.map +1 -1
  20. package/src/rule-factories/ng-add/ng-add.helpers.d.ts +22 -0
  21. package/src/rule-factories/ng-add/ng-add.helpers.d.ts.map +1 -0
  22. package/src/rule-factories/ng-add/ng-add.helpers.js +162 -0
  23. package/src/rule-factories/ng-add/ng-add.helpers.js.map +1 -0
  24. package/src/rule-factories/ng-add/schematics-register.d.ts +17 -0
  25. package/src/rule-factories/ng-add/schematics-register.d.ts.map +1 -0
  26. package/src/rule-factories/ng-add/schematics-register.js +64 -0
  27. package/src/rule-factories/ng-add/schematics-register.js.map +1 -0
  28. package/src/rule-factories/remove-packages/index.js.map +1 -1
  29. package/src/rule-factories/update-imports/update-imports-with-scope.js.map +1 -1
  30. package/src/rule-factories/update-imports/update-ts-imports.js.map +1 -1
  31. package/src/rule-factories/vscode-extensions/index.js.map +1 -1
  32. package/src/rules/install.d.ts +8 -4
  33. package/src/rules/install.d.ts.map +1 -1
  34. package/src/rules/install.js +10 -8
  35. package/src/rules/install.js.map +1 -1
  36. package/src/tasks/ng-add/index.d.ts +1 -0
  37. package/src/tasks/ng-add/index.d.ts.map +1 -1
  38. package/src/tasks/ng-add/index.js +1 -0
  39. package/src/tasks/ng-add/index.js.map +1 -1
  40. package/src/tasks/package-manager/add-dev-dependency.d.ts +1 -0
  41. package/src/tasks/package-manager/add-dev-dependency.d.ts.map +1 -1
  42. package/src/tasks/package-manager/add-dev-dependency.js +1 -0
  43. package/src/tasks/package-manager/add-dev-dependency.js.map +1 -1
  44. package/src/utility/ast.js.map +1 -1
  45. package/src/utility/builder.js.map +1 -1
  46. package/src/utility/collection.d.ts.map +1 -1
  47. package/src/utility/collection.js +1 -1
  48. package/src/utility/collection.js.map +1 -1
  49. package/src/utility/component.js.map +1 -1
  50. package/src/utility/dependencies.js +1 -1
  51. package/src/utility/dependencies.js.map +1 -1
  52. package/src/utility/environment.js.map +1 -1
  53. package/src/utility/file-info.js.map +1 -1
  54. package/src/utility/generation.js.map +1 -1
  55. package/src/utility/gitignore.js.map +1 -1
  56. package/src/utility/loaders.d.ts +6 -1
  57. package/src/utility/loaders.d.ts.map +1 -1
  58. package/src/utility/loaders.js +10 -2
  59. package/src/utility/loaders.js.map +1 -1
  60. package/src/utility/matching-peers.d.ts.map +1 -1
  61. package/src/utility/matching-peers.js +1 -1
  62. package/src/utility/matching-peers.js.map +1 -1
  63. package/src/utility/modules.js.map +1 -1
  64. package/src/utility/monorepo.js.map +1 -1
  65. package/src/utility/package-manager-runner.js.map +1 -1
  66. package/src/utility/package-version.js.map +1 -1
  67. package/src/utility/routes.js.map +1 -1
  68. package/src/utility/sub-entry.js.map +1 -1
  69. package/src/utility/template-property.helper.js.map +1 -1
  70. package/src/utility/update-imports.js.map +1 -1
  71. package/src/utility/update-pipes.js.map +1 -1
  72. package/src/utility/wrapper.d.ts.map +1 -1
  73. package/src/utility/wrapper.js +48 -3
  74. package/src/utility/wrapper.js.map +1 -1
@@ -1,221 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupSchematicsDefaultParams = exports.registerPackageCollectionSchematics = exports.ngAddPeerDependencyPackages = exports.ngAddPackages = void 0;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const tasks_1 = require("@angular-devkit/schematics/tasks");
6
- const dependencies_1 = require("@schematics/angular/utility/dependencies");
7
- const node_fs_1 = require("node:fs");
8
- const path = require("node:path");
9
- const rxjs_1 = require("rxjs");
10
- const index_1 = require("../../utility/index");
11
- /**
12
- * Install via `ng add` a list of npm packages.
13
- * @param packages List of packages to be installed via `ng add`
14
- * @param options install options
15
- * @param packageJsonPath path of the package json of the project where they will be installed
16
- */
17
- function ngAddPackages(packages, options, packageJsonPath = '/package.json') {
18
- if (!packages.length) {
19
- return schematics_1.noop;
20
- }
21
- const cwd = process.cwd().replace(/[\\/]+/g, '/');
22
- // FileSystem working directory might be different from Tree working directory (when using `yarn workspace` for example)
23
- const fsWorkingDirectory = (options?.workingDirectory && !cwd.endsWith(options.workingDirectory)) ? options.workingDirectory : '.';
24
- const versions = Object.fromEntries(packages.map((packageName, index) => [packageName, typeof options?.version === 'object' ? options.version[index] : options?.version]));
25
- if (options?.workingDirectory && !packageJsonPath.startsWith(options.workingDirectory)) {
26
- packageJsonPath = path.join(options.workingDirectory, packageJsonPath);
27
- }
28
- const getInstalledVersion = (packageName) => {
29
- let versionFound;
30
- for (const workingDirectory of new Set([fsWorkingDirectory, '.'])) {
31
- try {
32
- const fileSystemPackageJson = JSON.parse((0, node_fs_1.readFileSync)(path.join(workingDirectory, 'package.json'), { encoding: 'utf8' }));
33
- let version;
34
- if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
35
- version = fileSystemPackageJson.devDependencies[packageName];
36
- }
37
- else if (options?.dependencyType === dependencies_1.NodeDependencyType.Peer) {
38
- version = fileSystemPackageJson.peerDependencies[packageName];
39
- }
40
- else {
41
- version = fileSystemPackageJson.dependencies[packageName];
42
- }
43
- if (versionFound && version !== versionFound) {
44
- // In case of conflict between package.json files, we consider the package as not installed to force its update
45
- return;
46
- }
47
- versionFound = version;
48
- }
49
- catch (e) {
50
- return;
51
- }
52
- }
53
- return versionFound;
54
- };
55
- const getNgAddSchema = (packageName, context) => {
56
- try {
57
- const collection = context.engine.createCollection(packageName);
58
- return collection.createSchematic('ng-add');
59
- }
60
- catch {
61
- context.logger.warn(`No ng-add found for ${packageName}`);
62
- return undefined;
63
- }
64
- };
65
- const getOptions = (schema) => {
66
- const schemaOptions = schema.description.schemaJson?.properties || {};
67
- return Object.entries(options || {}).reduce((accOptions, [key, value]) => {
68
- if (schemaOptions[key]) {
69
- accOptions[key] = value;
70
- }
71
- return accOptions;
72
- }, {});
73
- };
74
- const installedVersions = packages.map((packageName) => getInstalledVersion(packageName));
75
- const packageManager = (0, index_1.getPackageManager)();
76
- const packagesToInstall = packages.filter((packageName, index) => !installedVersions[index] || installedVersions[index] !== versions[packageName]);
77
- if (packagesToInstall.length < 1) {
78
- return schematics_1.noop;
79
- }
80
- return (0, schematics_1.chain)([
81
- // Update package.json in tree
82
- (tree) => {
83
- const sortDependencies = (packageJson, depType) => {
84
- packageJson[depType] = packageJson[depType] ?
85
- Object.fromEntries(Object.entries(packageJson[depType]).sort(([key1, _val1], [key2, _val2]) => key1.localeCompare(key2))) :
86
- undefined;
87
- };
88
- for (const filePath of new Set([packageJsonPath, './package.json'])) {
89
- const packageJson = tree.readJson(filePath);
90
- packages.forEach((packageName) => {
91
- const version = versions[packageName] || 'latest';
92
- if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
93
- packageJson.devDependencies = { ...packageJson.devDependencies, [packageName]: version };
94
- }
95
- else if (options?.dependencyType === dependencies_1.NodeDependencyType.Peer) {
96
- packageJson.peerDependencies = { ...packageJson.peerDependencies, [packageName]: version };
97
- }
98
- else {
99
- packageJson.dependencies = { ...packageJson.dependencies, [packageName]: version };
100
- }
101
- });
102
- ['dependencies', 'devDependencies', 'peerDependencies'].forEach((depType) => {
103
- sortDependencies(packageJson, depType);
104
- });
105
- tree.overwrite(filePath, JSON.stringify(packageJson, null, 2));
106
- }
107
- },
108
- // Run ng-adds
109
- async (tree, context) => {
110
- if (options?.skipNgAddSchematicRun) {
111
- context.logger.info(`Package(s) '${packagesToInstall.join(', ')}' was(were) installed.
112
- The run of 'ng-add' schematics for the package(s) is intentionally skipped. You can do the run standalone, later.`);
113
- return schematics_1.noop;
114
- }
115
- new Set([packageJsonPath, './package.json']).forEach((filePath) => {
116
- (0, node_fs_1.mkdirSync)(path.join(process.cwd(), path.dirname(filePath)), { recursive: true });
117
- (0, node_fs_1.writeFileSync)(path.join(process.cwd(), filePath), tree.readText(filePath));
118
- });
119
- context.addTask(new tasks_1.NodePackageInstallTask({
120
- packageManager: packageManager,
121
- hideOutput: false,
122
- quiet: false
123
- }));
124
- await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
125
- const ngAddsToApply = packagesToInstall
126
- .map((packageName) => ({ packageName, ngAddCollection: getNgAddSchema(packageName, context) }))
127
- .filter(({ packageName, ngAddCollection }) => {
128
- if (!ngAddCollection) {
129
- context.logger.info(`No ng-add schematic found for: '${packageName}'. Skipping ng add for: ${packageName}${versions[packageName] ? ' with version: ' + versions[packageName] : ''}`);
130
- }
131
- return !!ngAddCollection;
132
- })
133
- .map(({ packageName, ngAddCollection }) => (0, schematics_1.externalSchematic)(packageName, 'ng-add', getOptions(ngAddCollection)));
134
- return (0, schematics_1.chain)(ngAddsToApply);
135
- }
136
- ]);
137
- }
138
- exports.ngAddPackages = ngAddPackages;
139
- /**
140
- * Look for the peer dependencies and run ng add on the package requested version
141
- * @param packages list of the name of the packages needed
142
- * @param packageJsonPath path to package json that needs the peer to be resolved
143
- * @param type how to install the dependency (dev, peer for a library or default for an application)
144
- * @param options
145
- * @param parentPackageInfo for logging purposes
146
- */
147
- function ngAddPeerDependencyPackages(packages, packageJsonPath, type = dependencies_1.NodeDependencyType.Default, options, parentPackageInfo) {
148
- if (!packages.length) {
149
- return schematics_1.noop;
150
- }
151
- const dependencies = (0, index_1.getNodeDependencyList)((0, index_1.getExternalDependenciesVersionRange)(packages, packageJsonPath), type);
152
- return ngAddPackages(dependencies.map(({ name }) => name), {
153
- ...options,
154
- skipConfirmation: true,
155
- version: dependencies.map(({ version }) => version),
156
- parentPackageInfo,
157
- dependencyType: type,
158
- workingDirectory: options.workingDirectory
159
- });
160
- }
161
- exports.ngAddPeerDependencyPackages = ngAddPeerDependencyPackages;
162
- /**
163
- * Register the given package in the Angular CLI schematics
164
- * @param packageJson PackageJson of the project containing the collection to add to the project
165
- * @param angularJsonFile Path to the Angular.json file. Will use the workspace root's angular.json if not specified
166
- */
167
- function registerPackageCollectionSchematics(packageJson, angularJsonFile) {
168
- return (tree, context) => {
169
- if (!packageJson.name) {
170
- return tree;
171
- }
172
- const workspace = (0, index_1.getWorkspaceConfig)(tree, angularJsonFile);
173
- if (!workspace) {
174
- context.logger.error('No workspace found');
175
- return tree;
176
- }
177
- return (0, index_1.writeAngularJson)(tree, (0, index_1.registerCollectionSchematics)(workspace, packageJson.name), angularJsonFile);
178
- };
179
- }
180
- exports.registerPackageCollectionSchematics = registerPackageCollectionSchematics;
181
- /**
182
- * Setup schematics default params in angular.json
183
- * @param schematicsDefaultParams default params to setup by schematic
184
- * @param overrideValue Define if the given value should override the one already defined in the workspace
185
- * @param angularJsonFile Path to the Angular.json file. Will use the workspace root's angular.json if not specified
186
- */
187
- function setupSchematicsDefaultParams(schematicsDefaultParams, overrideValue = false, angularJsonFile) {
188
- return (tree, context) => {
189
- const workspace = (0, index_1.getWorkspaceConfig)(tree, angularJsonFile);
190
- if (!workspace) {
191
- context.logger.error('No workspace found');
192
- return tree;
193
- }
194
- workspace.schematics ||= {};
195
- Object.entries(schematicsDefaultParams).forEach(([schematicName, defaultParams]) => {
196
- workspace.schematics[schematicName] = overrideValue ? {
197
- ...workspace.schematics[schematicName],
198
- ...defaultParams
199
- } : {
200
- ...defaultParams,
201
- ...workspace.schematics[schematicName]
202
- };
203
- });
204
- Object.values(workspace.projects).forEach((project) => {
205
- Object.entries(schematicsDefaultParams).forEach(([schematicName, defaultParams]) => {
206
- if (project.schematics?.[schematicName]) {
207
- project.schematics[schematicName] = overrideValue ? {
208
- ...project.schematics[schematicName],
209
- ...defaultParams
210
- } : {
211
- ...defaultParams,
212
- ...project.schematics[schematicName]
213
- };
214
- }
215
- });
216
- });
217
- return (0, index_1.writeAngularJson)(tree, workspace, angularJsonFile);
218
- };
219
- }
220
- exports.setupSchematicsDefaultParams = setupSchematicsDefaultParams;
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./schematics-register"), exports);
5
+ tslib_1.__exportStar(require("./dependencies"), exports);
6
+ tslib_1.__exportStar(require("./ng-add.helpers"), exports);
221
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,yDAA+B;AAC/B,2DAAiC"}
@@ -0,0 +1,22 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { NodeDependencyType } from '@schematics/angular/utility/dependencies';
3
+ import type { NgAddPackageOptions } from '../../tasks/index';
4
+ /**
5
+ * Install via `ng add` a list of npm packages.
6
+ * @param packages List of packages to be installed via `ng add`
7
+ * @param options install options
8
+ * @param packageJsonPath path of the package json of the project where they will be installed
9
+ */
10
+ export declare function ngAddPackages(packages: string[], options?: Omit<NgAddPackageOptions, 'version'> & {
11
+ version?: string | (string | undefined)[];
12
+ }, packageJsonPath?: string): Rule;
13
+ /**
14
+ * Look for the peer dependencies and run ng add on the package requested version
15
+ * @param packages list of the name of the packages needed
16
+ * @param packageJsonPath path to package json that needs the peer to be resolved
17
+ * @param type how to install the dependency (dev, peer for a library or default for an application)
18
+ * @param options
19
+ * @param parentPackageInfo for logging purposes
20
+ */
21
+ export declare function ngAddPeerDependencyPackages(packages: string[], packageJsonPath: string, type: NodeDependencyType | undefined, options: NgAddPackageOptions, parentPackageInfo?: string): Rule;
22
+ //# sourceMappingURL=ng-add.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-add.helpers.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/ng-add.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,IAAI,EAA+B,MAAM,4BAA4B,CAAC;AAG/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAAE,EAAE,eAAe,SAAkB,GAAG,IAAI,CA0HzL;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,gCAAiD,EAC5I,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,MAAM,QAgBzD"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAddPeerDependencyPackages = exports.ngAddPackages = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
6
+ const dependencies_1 = require("@schematics/angular/utility/dependencies");
7
+ const node_fs_1 = require("node:fs");
8
+ const path = require("node:path");
9
+ const rxjs_1 = require("rxjs");
10
+ const index_1 = require("../../utility/index");
11
+ /**
12
+ * Install via `ng add` a list of npm packages.
13
+ * @param packages List of packages to be installed via `ng add`
14
+ * @param options install options
15
+ * @param packageJsonPath path of the package json of the project where they will be installed
16
+ */
17
+ function ngAddPackages(packages, options, packageJsonPath = '/package.json') {
18
+ if (!packages.length) {
19
+ return schematics_1.noop;
20
+ }
21
+ const cwd = process.cwd().replace(/[\\/]+/g, '/');
22
+ // FileSystem working directory might be different from Tree working directory (when using `yarn workspace` for example)
23
+ const fsWorkingDirectory = (options?.workingDirectory && !cwd.endsWith(options.workingDirectory)) ? options.workingDirectory : '.';
24
+ const versions = Object.fromEntries(packages.map((packageName, index) => [packageName, typeof options?.version === 'object' ? options.version[index] : options?.version]));
25
+ if (options?.workingDirectory && !packageJsonPath.startsWith(options.workingDirectory)) {
26
+ packageJsonPath = path.join(options.workingDirectory, packageJsonPath);
27
+ }
28
+ const getInstalledVersion = (packageName) => {
29
+ let versionFound;
30
+ for (const workingDirectory of new Set([fsWorkingDirectory, '.'])) {
31
+ try {
32
+ const fileSystemPackageJson = JSON.parse((0, node_fs_1.readFileSync)(path.join(workingDirectory, 'package.json'), { encoding: 'utf8' }));
33
+ let version;
34
+ if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
35
+ version = fileSystemPackageJson.devDependencies[packageName];
36
+ }
37
+ else if (options?.dependencyType === dependencies_1.NodeDependencyType.Peer) {
38
+ version = fileSystemPackageJson.peerDependencies[packageName];
39
+ }
40
+ else {
41
+ version = fileSystemPackageJson.dependencies[packageName];
42
+ }
43
+ if (versionFound && version !== versionFound) {
44
+ // In case of conflict between package.json files, we consider the package as not installed to force its update
45
+ return;
46
+ }
47
+ versionFound = version;
48
+ }
49
+ catch (e) {
50
+ return;
51
+ }
52
+ }
53
+ return versionFound;
54
+ };
55
+ const getNgAddSchema = (packageName, context) => {
56
+ try {
57
+ const collection = context.engine.createCollection(packageName);
58
+ return collection.createSchematic('ng-add');
59
+ }
60
+ catch {
61
+ context.logger.warn(`No ng-add found for ${packageName}`);
62
+ return undefined;
63
+ }
64
+ };
65
+ const getOptions = (schema) => {
66
+ const schemaOptions = schema.description.schemaJson?.properties || {};
67
+ return Object.entries(options || {}).reduce((accOptions, [key, value]) => {
68
+ if (schemaOptions[key]) {
69
+ accOptions[key] = value;
70
+ }
71
+ return accOptions;
72
+ }, {});
73
+ };
74
+ const installedVersions = packages.map((packageName) => getInstalledVersion(packageName));
75
+ const packageManager = (0, index_1.getPackageManager)();
76
+ const packagesToInstall = packages.filter((packageName, index) => !installedVersions[index] || installedVersions[index] !== versions[packageName]);
77
+ if (packagesToInstall.length < 1) {
78
+ return schematics_1.noop;
79
+ }
80
+ return (0, schematics_1.chain)([
81
+ // Update package.json in tree
82
+ (tree) => {
83
+ const sortDependencies = (packageJson, depType) => {
84
+ packageJson[depType] = packageJson[depType] ?
85
+ Object.fromEntries(Object.entries(packageJson[depType] || {}).sort(([key1, _val1], [key2, _val2]) => key1.localeCompare(key2))) :
86
+ undefined;
87
+ };
88
+ for (const filePath of new Set([packageJsonPath, './package.json'])) {
89
+ const packageJson = tree.readJson(filePath);
90
+ packages.forEach((packageName) => {
91
+ const version = versions[packageName] || 'latest';
92
+ if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
93
+ packageJson.devDependencies = { ...packageJson.devDependencies, [packageName]: version };
94
+ }
95
+ else if (options?.dependencyType === dependencies_1.NodeDependencyType.Peer) {
96
+ packageJson.peerDependencies = { ...packageJson.peerDependencies, [packageName]: version };
97
+ }
98
+ else {
99
+ packageJson.dependencies = { ...packageJson.dependencies, [packageName]: version };
100
+ }
101
+ });
102
+ ['dependencies', 'devDependencies', 'peerDependencies'].forEach((depType) => {
103
+ sortDependencies(packageJson, depType);
104
+ });
105
+ tree.overwrite(filePath, JSON.stringify(packageJson, null, 2));
106
+ }
107
+ },
108
+ // Run ng-adds
109
+ async (tree, context) => {
110
+ if (options?.skipNgAddSchematicRun) {
111
+ context.logger.info(`Package(s) '${packagesToInstall.join(', ')}' was(were) installed.
112
+ The run of 'ng-add' schematics for the package(s) is intentionally skipped. You can do the run standalone, later.`);
113
+ return schematics_1.noop;
114
+ }
115
+ new Set([packageJsonPath, './package.json']).forEach((filePath) => {
116
+ (0, node_fs_1.mkdirSync)(path.join(process.cwd(), path.dirname(filePath)), { recursive: true });
117
+ (0, node_fs_1.writeFileSync)(path.join(process.cwd(), filePath), tree.readText(filePath));
118
+ });
119
+ context.addTask(new tasks_1.NodePackageInstallTask({
120
+ packageManager: packageManager,
121
+ hideOutput: false,
122
+ quiet: false
123
+ }));
124
+ await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
125
+ const ngAddsToApply = packagesToInstall
126
+ .map((packageName) => ({ packageName, ngAddCollection: getNgAddSchema(packageName, context) }))
127
+ .filter(({ packageName, ngAddCollection }) => {
128
+ if (!ngAddCollection) {
129
+ context.logger.info(`No ng-add schematic found for: '${packageName}'. Skipping ng add for: ${packageName}${versions[packageName] ? ' with version: ' + versions[packageName] : ''}`);
130
+ }
131
+ return !!ngAddCollection;
132
+ })
133
+ .map(({ packageName, ngAddCollection }) => (0, schematics_1.externalSchematic)(packageName, 'ng-add', getOptions(ngAddCollection)));
134
+ return (0, schematics_1.chain)(ngAddsToApply);
135
+ }
136
+ ]);
137
+ }
138
+ exports.ngAddPackages = ngAddPackages;
139
+ /**
140
+ * Look for the peer dependencies and run ng add on the package requested version
141
+ * @param packages list of the name of the packages needed
142
+ * @param packageJsonPath path to package json that needs the peer to be resolved
143
+ * @param type how to install the dependency (dev, peer for a library or default for an application)
144
+ * @param options
145
+ * @param parentPackageInfo for logging purposes
146
+ */
147
+ function ngAddPeerDependencyPackages(packages, packageJsonPath, type = dependencies_1.NodeDependencyType.Default, options, parentPackageInfo) {
148
+ if (!packages.length) {
149
+ return schematics_1.noop;
150
+ }
151
+ const dependencies = (0, index_1.getNodeDependencyList)((0, index_1.getExternalDependenciesVersionRange)(packages, packageJsonPath), type);
152
+ return ngAddPackages(dependencies.map(({ name }) => name), {
153
+ ...options,
154
+ skipConfirmation: true,
155
+ version: dependencies.map(({ version }) => version),
156
+ parentPackageInfo,
157
+ dependencyType: type,
158
+ workingDirectory: options.workingDirectory
159
+ });
160
+ }
161
+ exports.ngAddPeerDependencyPackages = ngAddPeerDependencyPackages;
162
+ //# sourceMappingURL=ng-add.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-add.helpers.js","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/ng-add.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Rule } from '@angular-devkit/schematics';
2
+ import type { PackageJson } from 'type-fest';
3
+ import type { SchematicOptionObject } from '../../interfaces/index';
4
+ /**
5
+ * Register the given package in the Angular CLI schematics
6
+ * @param packageJson PackageJson of the project containing the collection to add to the project
7
+ * @param angularJsonFile Path to the Angular.json file. Will use the workspace root's angular.json if not specified
8
+ */
9
+ export declare function registerPackageCollectionSchematics(packageJson: PackageJson, angularJsonFile?: string): Rule;
10
+ /**
11
+ * Setup schematics default params in angular.json
12
+ * @param schematicsDefaultParams default params to setup by schematic
13
+ * @param overrideValue Define if the given value should override the one already defined in the workspace
14
+ * @param angularJsonFile Path to the Angular.json file. Will use the workspace root's angular.json if not specified
15
+ */
16
+ export declare function setupSchematicsDefaultParams(schematicsDefaultParams: Record<string, SchematicOptionObject>, overrideValue?: boolean, angularJsonFile?: string): Rule;
17
+ //# sourceMappingURL=schematics-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematics-register.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/schematics-register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAIpE;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAY5G;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,aAAa,UAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAgClK"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupSchematicsDefaultParams = exports.registerPackageCollectionSchematics = void 0;
4
+ const utility_1 = require("../../utility");
5
+ /**
6
+ * Register the given package in the Angular CLI schematics
7
+ * @param packageJson PackageJson of the project containing the collection to add to the project
8
+ * @param angularJsonFile Path to the Angular.json file. Will use the workspace root's angular.json if not specified
9
+ */
10
+ function registerPackageCollectionSchematics(packageJson, angularJsonFile) {
11
+ return (tree, context) => {
12
+ if (!packageJson.name) {
13
+ return tree;
14
+ }
15
+ const workspace = (0, utility_1.getWorkspaceConfig)(tree, angularJsonFile);
16
+ if (!workspace) {
17
+ context.logger.error('No workspace found');
18
+ return tree;
19
+ }
20
+ return (0, utility_1.writeAngularJson)(tree, (0, utility_1.registerCollectionSchematics)(workspace, packageJson.name), angularJsonFile);
21
+ };
22
+ }
23
+ exports.registerPackageCollectionSchematics = registerPackageCollectionSchematics;
24
+ /**
25
+ * Setup schematics default params in angular.json
26
+ * @param schematicsDefaultParams default params to setup by schematic
27
+ * @param overrideValue Define if the given value should override the one already defined in the workspace
28
+ * @param angularJsonFile Path to the Angular.json file. Will use the workspace root's angular.json if not specified
29
+ */
30
+ function setupSchematicsDefaultParams(schematicsDefaultParams, overrideValue = false, angularJsonFile) {
31
+ return (tree, context) => {
32
+ const workspace = (0, utility_1.getWorkspaceConfig)(tree, angularJsonFile);
33
+ if (!workspace) {
34
+ context.logger.error('No workspace found');
35
+ return tree;
36
+ }
37
+ workspace.schematics ||= {};
38
+ Object.entries(schematicsDefaultParams).forEach(([schematicName, defaultParams]) => {
39
+ workspace.schematics[schematicName] = overrideValue ? {
40
+ ...workspace.schematics[schematicName],
41
+ ...defaultParams
42
+ } : {
43
+ ...defaultParams,
44
+ ...workspace.schematics[schematicName]
45
+ };
46
+ });
47
+ Object.values(workspace.projects).forEach((project) => {
48
+ Object.entries(schematicsDefaultParams).forEach(([schematicName, defaultParams]) => {
49
+ if (project.schematics?.[schematicName]) {
50
+ project.schematics[schematicName] = overrideValue ? {
51
+ ...project.schematics[schematicName],
52
+ ...defaultParams
53
+ } : {
54
+ ...defaultParams,
55
+ ...project.schematics[schematicName]
56
+ };
57
+ }
58
+ });
59
+ });
60
+ return (0, utility_1.writeAngularJson)(tree, workspace, angularJsonFile);
61
+ };
62
+ }
63
+ exports.setupSchematicsDefaultParams = setupSchematicsDefaultParams;
64
+ //# sourceMappingURL=schematics-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematics-register.js","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/schematics-register.ts"],"names":[],"mappings":";;;AAGA,2CAAmG;AAGnG;;;;GAIG;AACH,SAAgB,mCAAmC,CAAC,WAAwB,EAAE,eAAwB;IACpG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,4BAAkB,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAA,0BAAgB,EAAC,IAAI,EAAE,IAAA,sCAA4B,EAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;IAC5G,CAAC,CAAC;AACJ,CAAC;AAZD,kFAYC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAC,uBAA8D,EAAE,aAAa,GAAG,KAAK,EAAE,eAAwB;IAC1J,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,IAAA,4BAAkB,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,CAAC,UAAU,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE;YACjF,SAAS,CAAC,UAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;gBACrD,GAAG,SAAS,CAAC,UAAW,CAAC,aAAa,CAAC;gBACvC,GAAG,aAAa;aACjB,CAAC,CAAC,CAAC;gBACF,GAAG,aAAa;gBAChB,GAAG,SAAS,CAAC,UAAW,CAAC,aAAa,CAAC;aACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE;gBACjF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;wBAClD,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;wBACpC,GAAG,aAAa;qBACjB,CAAC,CAAC,CAAC;wBACF,GAAG,aAAa;wBAChB,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;qBACrC,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAA,0BAAgB,EAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAhCD,oEAgCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/remove-packages/index.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,cAAc,CAAC,gBAA0B,EAAE,eAAe,GAAG,eAAe;IAC1F,OAAO,CAAC,IAAU,EAAE,QAA0B,EAAE,EAAE;QAEhD,MAAM,UAAU,GAAG,CAAC,MAA0C,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAA+B,EAAE,EAAE;YACnH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACrC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;aACvB;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YAChC,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpF,WAAW,CAAC,YAAY,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7F,WAAW,CAAC,eAAe,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnG,WAAW,CAAC,gBAAgB,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAErG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACvE;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAtBD,wCAsBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/remove-packages/index.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,cAAc,CAAC,gBAA0B,EAAE,eAAe,GAAG,eAAe;IAC1F,OAAO,CAAC,IAAU,EAAE,QAA0B,EAAE,EAAE;QAEhD,MAAM,UAAU,GAAG,CAAC,MAA0C,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAA+B,EAAE,EAAE;YACnH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YACxB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpF,WAAW,CAAC,YAAY,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7F,WAAW,CAAC,eAAe,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnG,WAAW,CAAC,gBAAgB,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAErG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAtBD,wCAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-imports-with-scope.js","sourceRoot":"","sources":["../../../../src/rule-factories/update-imports/update-imports-with-scope.ts"],"names":[],"mappings":";;;AACA,+CAAyG;AACzG,iDAAiF;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,KAAa,EAAE,cAAc,GAAG,cAAc,EAAE,kBAA8C,oCAAqB,EAAE,QAAQ,GAAG,KAAK;IACrK,OAAO,CAAC,IAAU,EAAE,QAA0B,EAAE,EAAE;QAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,qCAA6B,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,2CAAmC,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzH,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBAC1B,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC3D,OAAO,GAAG,SAAS,cAAc,QAAQ,KAAK,MAAM,qBAAqB,EAAE,CAAC;gBAC5E,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC7B,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,wBAAwB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,8BAA8B,EAAE,GAAG,CAAC,CAAC;oBACtI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"update-imports-with-scope.js","sourceRoot":"","sources":["../../../../src/rule-factories/update-imports/update-imports-with-scope.ts"],"names":[],"mappings":";;;AACA,+CAAyG;AACzG,iDAAiF;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,KAAa,EAAE,cAAc,GAAG,cAAc,EAAE,kBAA8C,oCAAqB,EAAE,QAAQ,GAAG,KAAK;IACrK,OAAO,CAAC,IAAU,EAAE,QAA0B,EAAE,EAAE;QAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,qCAA6B,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,2CAAmC,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzH,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC3D,OAAO,GAAG,SAAS,cAAc,QAAQ,KAAK,MAAM,qBAAqB,EAAE,CAAC;gBAC5E,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC7B,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,wBAAwB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,8BAA8B,EAAE,GAAG,CAAC,CAAC;oBACtI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAnBD,8CAmBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-ts-imports.js","sourceRoot":"","sources":["../../../../src/rule-factories/update-imports/update-ts-imports.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AACjC,+CAA8I;AAE9I;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,aAA6B,EAAE,EAAE,kBAA0C,EAAE,EAAE,QAAQ,GAAG,KAAK;IAE3H,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,qCAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,2CAAmC,EAAC,IAAI,CAAC,CAAC;QAE/G,6BAA6B;QAC7B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/F,gEAAgE;QAChE,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1G,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,IAAI,EACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnB,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;YACF,qBAAqB,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACnJ,CAAC,CAAC,CAAC;QAEH,IAAI,qBAAqB,GAAG,CAAC,EAAE;YAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,qBAAqB,yEAAyE,CAAC,CAAC;SACxK;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA5BD,sCA4BC"}
1
+ {"version":3,"file":"update-ts-imports.js","sourceRoot":"","sources":["../../../../src/rule-factories/update-imports/update-ts-imports.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AACjC,+CAA8I;AAE9I;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,aAA6B,EAAE,EAAE,kBAA0C,EAAE,EAAE,QAAQ,GAAG,KAAK;IAE3H,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,qCAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,2CAAmC,EAAC,IAAI,CAAC,CAAC;QAE/G,6BAA6B;QAC7B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/F,gEAAgE;QAChE,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1G,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,IAAI,EACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnB,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;YACF,qBAAqB,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACnJ,CAAC,CAAC,CAAC;QAEH,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,qBAAqB,yEAAyE,CAAC,CAAC;QACzK,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA5BD,sCA4BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/vscode-extensions/index.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAAC,eAAyB,EAAQ,EAAE;IAC1E,MAAM,aAAa,GAAG,0BAA0B,CAAC;IAEjD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,aAAa,0BAA0B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrG;aAAM;YACL,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAkC,CAAC;YACjF,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,aAAa,0BAA0B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtG;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,wBAAwB,4BAenC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/vscode-extensions/index.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAAC,eAAyB,EAAQ,EAAE;IAC1E,MAAM,aAAa,GAAG,0BAA0B,CAAC;IAEjD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,aAAa,0BAA0B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAkC,CAAC;YACjF,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,aAAa,0BAA0B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,wBAAwB,4BAenC"}
@@ -1,8 +1,12 @@
1
- import type { Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
1
+ import type { Rule } from '@angular-devkit/schematics';
2
+ import { type SupportedPackageManagers } from '../utility/package-manager-runner';
2
3
  /**
3
4
  * Install the Otter packages
4
- * @param tree
5
- * @param context
5
+ * @deprecated use {@link setupDependencies} instead, will be removed in V11
6
+ * @param options
7
+ * @param options.packageManager
6
8
  */
7
- export declare function install(tree: Tree, context: SchematicContext): Promise<Rule>;
9
+ export declare function install(options?: {
10
+ packageManager?: SupportedPackageManagers;
11
+ }): Rule;
8
12
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/rules/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAK/E;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/rules/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAqB,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAErG;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE;IAAC,cAAc,CAAC,EAAE,wBAAwB,CAAA;CAAC,GAAG,IAAI,CAOnF"}
@@ -6,15 +6,17 @@ const rxjs_1 = require("rxjs");
6
6
  const package_manager_runner_1 = require("../utility/package-manager-runner");
7
7
  /**
8
8
  * Install the Otter packages
9
- * @param tree
10
- * @param context
9
+ * @deprecated use {@link setupDependencies} instead, will be removed in V11
10
+ * @param options
11
+ * @param options.packageManager
11
12
  */
12
- async function install(tree, context) {
13
- const packageManager = (0, package_manager_runner_1.getPackageManager)();
14
- context.logger.info('Running application install');
15
- context.addTask(new tasks_1.NodePackageInstallTask({ packageManager }));
16
- await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
17
- return () => tree;
13
+ function install(options) {
14
+ return async (_, context) => {
15
+ const packageManager = options?.packageManager || (0, package_manager_runner_1.getPackageManager)();
16
+ context.logger.info('Running application install');
17
+ context.addTask(new tasks_1.NodePackageInstallTask({ packageManager }));
18
+ await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
19
+ };
18
20
  }
19
21
  exports.install = install;
20
22
  //# sourceMappingURL=install.js.map