@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.
- package/README.md +2 -1
- package/package.json +8 -8
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +28 -27
- package/src/modules/modules.display.rule.js.map +1 -1
- package/src/modules/modules.helpers.js.map +1 -1
- package/src/rule-factories/add-imports/index.js.map +1 -1
- package/src/rule-factories/check-packages-peers/index.js.map +1 -1
- package/src/rule-factories/dev-tools/devtools-registration.js.map +1 -1
- package/src/rule-factories/eslint-fix/index.js.map +1 -1
- package/src/rule-factories/get-test-frameworks/index.js.map +1 -1
- package/src/rule-factories/ng-add/dependencies.d.ts +78 -0
- package/src/rule-factories/ng-add/dependencies.d.ts.map +1 -0
- package/src/rule-factories/ng-add/dependencies.js +156 -0
- package/src/rule-factories/ng-add/dependencies.js.map +1 -0
- package/src/rule-factories/ng-add/index.d.ts +3 -36
- package/src/rule-factories/ng-add/index.d.ts.map +1 -1
- package/src/rule-factories/ng-add/index.js +4 -218
- package/src/rule-factories/ng-add/index.js.map +1 -1
- package/src/rule-factories/ng-add/ng-add.helpers.d.ts +22 -0
- package/src/rule-factories/ng-add/ng-add.helpers.d.ts.map +1 -0
- package/src/rule-factories/ng-add/ng-add.helpers.js +162 -0
- package/src/rule-factories/ng-add/ng-add.helpers.js.map +1 -0
- package/src/rule-factories/ng-add/schematics-register.d.ts +17 -0
- package/src/rule-factories/ng-add/schematics-register.d.ts.map +1 -0
- package/src/rule-factories/ng-add/schematics-register.js +64 -0
- package/src/rule-factories/ng-add/schematics-register.js.map +1 -0
- package/src/rule-factories/remove-packages/index.js.map +1 -1
- package/src/rule-factories/update-imports/update-imports-with-scope.js.map +1 -1
- package/src/rule-factories/update-imports/update-ts-imports.js.map +1 -1
- package/src/rule-factories/vscode-extensions/index.js.map +1 -1
- package/src/rules/install.d.ts +8 -4
- package/src/rules/install.d.ts.map +1 -1
- package/src/rules/install.js +10 -8
- package/src/rules/install.js.map +1 -1
- package/src/tasks/ng-add/index.d.ts +1 -0
- package/src/tasks/ng-add/index.d.ts.map +1 -1
- package/src/tasks/ng-add/index.js +1 -0
- package/src/tasks/ng-add/index.js.map +1 -1
- package/src/tasks/package-manager/add-dev-dependency.d.ts +1 -0
- package/src/tasks/package-manager/add-dev-dependency.d.ts.map +1 -1
- package/src/tasks/package-manager/add-dev-dependency.js +1 -0
- package/src/tasks/package-manager/add-dev-dependency.js.map +1 -1
- package/src/utility/ast.js.map +1 -1
- package/src/utility/builder.js.map +1 -1
- package/src/utility/collection.d.ts.map +1 -1
- package/src/utility/collection.js +1 -1
- package/src/utility/collection.js.map +1 -1
- package/src/utility/component.js.map +1 -1
- package/src/utility/dependencies.js +1 -1
- package/src/utility/dependencies.js.map +1 -1
- package/src/utility/environment.js.map +1 -1
- package/src/utility/file-info.js.map +1 -1
- package/src/utility/generation.js.map +1 -1
- package/src/utility/gitignore.js.map +1 -1
- package/src/utility/loaders.d.ts +6 -1
- package/src/utility/loaders.d.ts.map +1 -1
- package/src/utility/loaders.js +10 -2
- package/src/utility/loaders.js.map +1 -1
- package/src/utility/matching-peers.d.ts.map +1 -1
- package/src/utility/matching-peers.js +1 -1
- package/src/utility/matching-peers.js.map +1 -1
- package/src/utility/modules.js.map +1 -1
- package/src/utility/monorepo.js.map +1 -1
- package/src/utility/package-manager-runner.js.map +1 -1
- package/src/utility/package-version.js.map +1 -1
- package/src/utility/routes.js.map +1 -1
- package/src/utility/sub-entry.js.map +1 -1
- package/src/utility/template-property.helper.js.map +1 -1
- package/src/utility/update-imports.js.map +1 -1
- package/src/utility/update-pipes.js.map +1 -1
- package/src/utility/wrapper.d.ts.map +1 -1
- package/src/utility/wrapper.js +48 -3
- 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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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":";;;AAAA,
|
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;
|
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;
|
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;
|
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;
|
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"}
|
package/src/rules/install.d.ts
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
-
import type { Rule
|
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
|
-
* @
|
5
|
-
* @param
|
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(
|
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,
|
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"}
|
package/src/rules/install.js
CHANGED
@@ -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
|
-
* @
|
10
|
-
* @param
|
9
|
+
* @deprecated use {@link setupDependencies} instead, will be removed in V11
|
10
|
+
* @param options
|
11
|
+
* @param options.packageManager
|
11
12
|
*/
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|