@o3r/schematics 9.2.0-alpha.4 → 9.2.0-alpha.41
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +27 -27
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +8 -6
- package/src/interfaces/angular-workspace.d.ts +8 -1
- package/src/interfaces/angular-workspace.d.ts.map +1 -1
- package/src/rule-factories/get-test-frameworks/index.d.ts +10 -0
- package/src/rule-factories/get-test-frameworks/index.d.ts.map +1 -0
- package/src/rule-factories/get-test-frameworks/index.js +35 -0
- package/src/rule-factories/get-test-frameworks/index.js.map +1 -0
- package/src/rule-factories/index.d.ts +1 -0
- package/src/rule-factories/index.d.ts.map +1 -1
- package/src/rule-factories/index.js +1 -0
- package/src/rule-factories/index.js.map +1 -1
- package/src/rule-factories/ng-add/index.d.ts.map +1 -1
- package/src/rule-factories/ng-add/index.js +38 -47
- package/src/rule-factories/ng-add/index.js.map +1 -1
package/package.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "@o3r/schematics",
|
3
|
-
"version": "9.2.0-alpha.
|
3
|
+
"version": "9.2.0-alpha.41",
|
4
4
|
"description": "Schematics module of the Otter framework",
|
5
|
-
"main": "./src/
|
5
|
+
"main": "./src/public_api.js",
|
6
6
|
"keywords": [
|
7
7
|
"schematics",
|
8
8
|
"otter"
|
@@ -17,11 +17,11 @@
|
|
17
17
|
"build:builders": "tsc -b tsconfig.builders.json --pretty && yarn generate-cjs-manifest"
|
18
18
|
},
|
19
19
|
"peerDependencies": {
|
20
|
-
"@angular-devkit/architect": "~0.
|
21
|
-
"@angular-devkit/core": "~16.
|
22
|
-
"@angular-devkit/schematics": "~16.
|
23
|
-
"@angular/cli": "~16.
|
24
|
-
"@schematics/angular": "~16.
|
20
|
+
"@angular-devkit/architect": "~0.1602.0",
|
21
|
+
"@angular-devkit/core": "~16.2.0",
|
22
|
+
"@angular-devkit/schematics": "~16.2.0",
|
23
|
+
"@angular/cli": "~16.2.0",
|
24
|
+
"@schematics/angular": "~16.2.0",
|
25
25
|
"rxjs": "^7.8.1",
|
26
26
|
"typescript": "~5.1.6"
|
27
27
|
},
|
@@ -41,27 +41,27 @@
|
|
41
41
|
"tslib": "^2.5.3"
|
42
42
|
},
|
43
43
|
"devDependencies": {
|
44
|
-
"@angular-devkit/build-angular": "~16.
|
45
|
-
"@angular-devkit/core": "~16.
|
46
|
-
"@angular-devkit/schematics": "~16.
|
44
|
+
"@angular-devkit/build-angular": "~16.2.0",
|
45
|
+
"@angular-devkit/core": "~16.2.0",
|
46
|
+
"@angular-devkit/schematics": "~16.2.0",
|
47
47
|
"@angular-eslint/eslint-plugin": "~16.1.0",
|
48
|
-
"@angular/cli": "~16.
|
49
|
-
"@angular/common": "~16.
|
50
|
-
"@angular/compiler": "~16.
|
51
|
-
"@angular/compiler-cli": "~16.
|
52
|
-
"@angular/core": "~16.
|
53
|
-
"@angular/platform-browser": "~16.
|
54
|
-
"@angular/platform-browser-dynamic": "~16.
|
48
|
+
"@angular/cli": "~16.2.0",
|
49
|
+
"@angular/common": "~16.2.0",
|
50
|
+
"@angular/compiler": "~16.2.0",
|
51
|
+
"@angular/compiler-cli": "~16.2.0",
|
52
|
+
"@angular/core": "~16.2.0",
|
53
|
+
"@angular/platform-browser": "~16.2.0",
|
54
|
+
"@angular/platform-browser-dynamic": "~16.2.0",
|
55
55
|
"@babel/core": "~7.22.0",
|
56
56
|
"@babel/preset-typescript": "~7.22.0",
|
57
57
|
"@compodoc/compodoc": "^1.1.19",
|
58
|
-
"@nx/jest": "~16.
|
59
|
-
"@nx/js": "~16.
|
60
|
-
"@nx/linter": "~16.
|
61
|
-
"@o3r/build-helpers": "^9.2.0-alpha.
|
62
|
-
"@o3r/dev-tools": "^9.2.0-alpha.
|
63
|
-
"@o3r/eslint-plugin": "^9.2.0-alpha.
|
64
|
-
"@schematics/angular": "~16.
|
58
|
+
"@nx/jest": "~16.7.0",
|
59
|
+
"@nx/js": "~16.7.0",
|
60
|
+
"@nx/linter": "~16.7.0",
|
61
|
+
"@o3r/build-helpers": "^9.2.0-alpha.41",
|
62
|
+
"@o3r/dev-tools": "^9.2.0-alpha.41",
|
63
|
+
"@o3r/eslint-plugin": "^9.2.0-alpha.41",
|
64
|
+
"@schematics/angular": "~16.2.0",
|
65
65
|
"@types/jest": "~29.5.2",
|
66
66
|
"@types/node": "^18.0.0",
|
67
67
|
"@types/semver": "^7.3.13",
|
@@ -71,13 +71,13 @@
|
|
71
71
|
"eslint": "^8.42.0",
|
72
72
|
"eslint-import-resolver-node": "^0.3.4",
|
73
73
|
"eslint-plugin-jest": "~27.2.3",
|
74
|
-
"eslint-plugin-jsdoc": "~46.
|
74
|
+
"eslint-plugin-jsdoc": "~46.5.0",
|
75
75
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
76
76
|
"eslint-plugin-unicorn": "^47.0.0",
|
77
77
|
"jest": "~29.6.2",
|
78
78
|
"jest-junit": "~16.0.0",
|
79
79
|
"jsonschema": "~1.4.1",
|
80
|
-
"nx": "~16.
|
80
|
+
"nx": "~16.7.0",
|
81
81
|
"rxjs": "^7.8.1",
|
82
82
|
"ts-jest": "~29.1.1",
|
83
83
|
"type-fest": "^3.12.0",
|
@@ -88,7 +88,7 @@
|
|
88
88
|
"node": ">=16.0.0"
|
89
89
|
},
|
90
90
|
"schematics": "./collection.json",
|
91
|
-
"
|
91
|
+
"type": "commonjs",
|
92
92
|
"contributors": [
|
93
93
|
{
|
94
94
|
"name": "Yannick Adam",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AAO/E;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AAO/E;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAwB5B"}
|
@@ -16,17 +16,19 @@ function ngAdd() {
|
|
16
16
|
const treePackageJson = tree.readJson('./package.json');
|
17
17
|
const packageJsonContent = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf-8' }));
|
18
18
|
const getDependencyVersion = (dependency) => packageJsonContent?.dependencies?.[dependency] || packageJsonContent?.peerDependencies?.[dependency];
|
19
|
+
let packageName = '';
|
19
20
|
for (const dependency of schematicsDependencies) {
|
20
21
|
const version = getDependencyVersion(dependency);
|
21
22
|
context.logger.info(`Installing ${dependency}${version || ''}`);
|
22
23
|
treePackageJson.devDependencies = { ...treePackageJson.devDependencies, [dependency]: version };
|
23
|
-
|
24
|
-
hideOutput: false,
|
25
|
-
packageName: `${dependency}${version ? '@' + version : ''}`,
|
26
|
-
quiet: false
|
27
|
-
}));
|
28
|
-
await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
|
24
|
+
packageName = `${packageName} ${dependency}${version ? '@' + version : ''}`;
|
29
25
|
}
|
26
|
+
context.addTask(new schematics_1.AddDevInstall({
|
27
|
+
hideOutput: false,
|
28
|
+
packageName,
|
29
|
+
quiet: false
|
30
|
+
}));
|
31
|
+
await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
|
30
32
|
tree.overwrite('./package.json', JSON.stringify(treePackageJson));
|
31
33
|
return () => tree;
|
32
34
|
};
|
@@ -1,4 +1,8 @@
|
|
1
1
|
import type { Projects as NgWorkspaceProject, Schema as NgWorkspaceSchema, SchematicOptions } from '@angular/cli/lib/config/workspace-schema';
|
2
|
+
/**
|
3
|
+
* Type representing supported testing frameworks: 'jest' or 'jasmine'.
|
4
|
+
*/
|
5
|
+
export type AvailableTestFrameworks = 'jest' | 'jasmine';
|
2
6
|
export interface WorkspaceProjectI18n {
|
3
7
|
locales: Record<string, string>;
|
4
8
|
sourceLocale?: string;
|
@@ -49,7 +53,10 @@ export interface WorkspaceSchematics extends SchematicOptions {
|
|
49
53
|
'*:ng-add'?: {
|
50
54
|
enableMetadataExtract?: boolean;
|
51
55
|
};
|
52
|
-
'*:*'?: WorkspaceLayout
|
56
|
+
'*:*'?: WorkspaceLayout & {
|
57
|
+
/** in adition to the WorkspaceLayout, an optional testFramework attribute is available */
|
58
|
+
testFramework?: AvailableTestFrameworks;
|
59
|
+
};
|
53
60
|
}
|
54
61
|
export interface WorkspaceProject extends NgWorkspaceProject {
|
55
62
|
architect?: WorkspaceTool;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"angular-workspace.d.ts","sourceRoot":"","sources":["../../../src/interfaces/angular-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,IAAI,kBAAkB,EAC9B,MAAM,IAAI,iBAAiB,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,kBAAkB;IAClB,6BAA6B,CAAC,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,4BAA4B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE;QACX,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"angular-workspace.d.ts","sourceRoot":"","sources":["../../../src/interfaces/angular-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,IAAI,kBAAkB,EAC9B,MAAM,IAAI,iBAAiB,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,kBAAkB;IAClB,6BAA6B,CAAC,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,4BAA4B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE;QACX,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,eAAe,GAAG;QACxB,0FAA0F;QAC1F,aAAa,CAAC,EAAE,uBAAuB,CAAC;KACzC,CAAC;CACH;AACD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,EAAE;QACN,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACjC,CAAC;IACF,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import type { SchematicContext } from '@angular-devkit/schematics';
|
2
|
+
import type { AvailableTestFrameworks, WorkspaceSchema } from '../../interfaces';
|
3
|
+
/**
|
4
|
+
* Get the test framework
|
5
|
+
*
|
6
|
+
* @param workspaceOptions the workspace options
|
7
|
+
* @param context
|
8
|
+
*/
|
9
|
+
export declare function getTestFramework(workspaceOptions: WorkspaceSchema | null, context: SchematicContext): AvailableTestFrameworks | undefined;
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/get-test-frameworks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AASjF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,GAAG,SAAS,CAiBzI"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getTestFramework = void 0;
|
4
|
+
const utility_1 = require("../../utility");
|
5
|
+
const testPackageMaps = {
|
6
|
+
'jest': ['jest'],
|
7
|
+
'jasmine': ['jasmine-core']
|
8
|
+
};
|
9
|
+
/**
|
10
|
+
* Get the test framework
|
11
|
+
*
|
12
|
+
* @param workspaceOptions the workspace options
|
13
|
+
* @param context
|
14
|
+
*/
|
15
|
+
function getTestFramework(workspaceOptions, context) {
|
16
|
+
if (workspaceOptions) {
|
17
|
+
const testFramework = (0, utility_1.getSchematicOptions)(workspaceOptions, context)?.testFramework;
|
18
|
+
if (testFramework) {
|
19
|
+
return testFramework;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
return Object.entries(testPackageMaps)
|
23
|
+
.find(([_, deps]) => {
|
24
|
+
return deps.some((dep) => {
|
25
|
+
try {
|
26
|
+
return !!require.resolve(`${dep}/package.json`);
|
27
|
+
}
|
28
|
+
catch {
|
29
|
+
return false;
|
30
|
+
}
|
31
|
+
});
|
32
|
+
})?.[0];
|
33
|
+
}
|
34
|
+
exports.getTestFramework = getTestFramework;
|
35
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/get-test-frameworks/index.ts"],"names":[],"mappings":";;;AAEA,2CAAoD;AAGpD,MAAM,eAAe,GAA8C;IACjE,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE,CAAC,cAAc,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,gBAAwC,EAAE,OAAyB;IAClG,IAAI,gBAAgB,EAAE;QACpB,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC;QACpF,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAC;SACtB;KACF;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;SACnC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI;gBACF,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;aACjD;YAAC,MAAM;gBACN,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;AACvC,CAAC;AAjBD,4CAiBC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
export * from './add-imports/index';
|
2
2
|
export * from './eslint-fix/index';
|
3
3
|
export * from './interfaces';
|
4
|
+
export * from './get-test-frameworks/index';
|
4
5
|
export * from './check-packages-peers/index';
|
5
6
|
export * from './ng-add/index';
|
6
7
|
export * from './remove-packages/index';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rule-factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rule-factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./add-imports/index"), exports);
|
5
5
|
tslib_1.__exportStar(require("./eslint-fix/index"), exports);
|
6
6
|
tslib_1.__exportStar(require("./interfaces"), exports);
|
7
|
+
tslib_1.__exportStar(require("./get-test-frameworks/index"), exports);
|
7
8
|
tslib_1.__exportStar(require("./check-packages-peers/index"), exports);
|
8
9
|
tslib_1.__exportStar(require("./ng-add/index"), exports);
|
9
10
|
tslib_1.__exportStar(require("./remove-packages/index"), exports);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rule-factories/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,uDAA6B;AAC7B,uEAA6C;AAC7C,yDAA+B;AAC/B,kEAAwC;AACxC,iEAAuC;AACvC,oEAA0C"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rule-factories/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,uDAA6B;AAC7B,sEAA4C;AAC5C,uEAA6C;AAC7C,yDAA+B;AAC/B,kEAAwC;AACxC,iEAAuC;AACvC,oEAA0C"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAqC,MAAM,4BAA4B,CAAC;AAG/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,EAAE,eAAe,SAAkB,GAAG,IAAI,CAgFxH;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,gCAAiD,EAC5I,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,MAAM,QAezD;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ5G;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAsB3I"}
|
@@ -41,11 +41,34 @@ function ngAddPackages(packages, options, packageJsonPath = '/package.json') {
|
|
41
41
|
return accOptions;
|
42
42
|
}, {});
|
43
43
|
};
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
return async (tree, context) => {
|
45
|
+
const installedVersions = await Promise.all(packages.map((packageName) => getInstalledVersion(packageName)));
|
46
|
+
const packageManager = (0, index_1.getPackageManager)();
|
47
|
+
let installOptions = '';
|
48
|
+
if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev && packageManager === 'yarn') {
|
49
|
+
installOptions = ' --prefer-dev';
|
50
|
+
}
|
51
|
+
else if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
|
52
|
+
installOptions = ' -D';
|
53
|
+
}
|
54
|
+
else if (options?.dependencyType === dependencies_1.NodeDependencyType.Peer) {
|
55
|
+
installOptions = ' -P';
|
56
|
+
}
|
57
|
+
const packagesToInstall = packages.filter((_, index) => !installedVersions[index] || installedVersions[index] !== options?.version);
|
58
|
+
const packagesInput = packagesToInstall
|
59
|
+
.map((packageName) => `${packageName}${options?.version ? `@${options?.version}` : ''}`)
|
60
|
+
.join(' ');
|
61
|
+
context.addTask(new tasks_1.NodePackageInstallTask({
|
62
|
+
packageManager: packageManager,
|
63
|
+
packageName: `${packagesInput}${installOptions}`,
|
64
|
+
hideOutput: false,
|
65
|
+
quiet: false
|
66
|
+
}));
|
67
|
+
await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
|
68
|
+
// We need to update manually the package json in the tree as the tree will overwrite the project at the end of the ng add @o3r/core
|
69
|
+
const latestInstalledVersions = await Promise.all(packagesToInstall.map(async (packageName) => [packageName, await getInstalledVersion(packageName)]));
|
70
|
+
const packageJson = tree.readJson(packageJsonPath);
|
71
|
+
latestInstalledVersions.forEach(([packageName, latestInstalledVersion]) => {
|
49
72
|
if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
|
50
73
|
packageJson.devDependencies = { ...packageJson.devDependencies, [packageName]: latestInstalledVersion };
|
51
74
|
}
|
@@ -55,51 +78,19 @@ function ngAddPackages(packages, options, packageJsonPath = '/package.json') {
|
|
55
78
|
else {
|
56
79
|
packageJson.dependencies = { ...packageJson.dependencies, [packageName]: latestInstalledVersion };
|
57
80
|
}
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
const installedVersion = await getInstalledVersion(packageName);
|
65
|
-
context.logger.info(`installed version of ${packageName}: ${installedVersion || 'undefined'} | expected: ${options?.version || 'latest'} as ${options?.dependencyType?.toString() || ''}`);
|
66
|
-
if (!installedVersion || version !== installedVersion) {
|
67
|
-
context.logger.info(`Running ng add for: ${packageName}${options?.version ? ' with version: ' + options.version : ''}`);
|
68
|
-
const packageManager = (0, index_1.getPackageManager)();
|
69
|
-
let installOptions = '';
|
70
|
-
if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev && packageManager === 'yarn') {
|
71
|
-
installOptions = ' --prefer-dev';
|
72
|
-
}
|
73
|
-
else if (options?.dependencyType === dependencies_1.NodeDependencyType.Dev) {
|
74
|
-
installOptions = ' -D';
|
75
|
-
}
|
76
|
-
else if (options?.dependencyType === dependencies_1.NodeDependencyType.Peer) {
|
77
|
-
installOptions = ' -P';
|
78
|
-
}
|
79
|
-
context.addTask(new tasks_1.NodePackageInstallTask({
|
80
|
-
packageManager: packageManager,
|
81
|
-
packageName: packageName + (version ? `@${version}` : '') + installOptions,
|
82
|
-
hideOutput: false,
|
83
|
-
quiet: false
|
84
|
-
}));
|
85
|
-
await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
|
86
|
-
const ngAddCollection = getNgAddSchema(packageName, context);
|
87
|
-
if (ngAddCollection) {
|
88
|
-
const ngAddOptions = getOptions(ngAddCollection);
|
89
|
-
return () => (0, schematics_1.externalSchematic)(packageName, 'ng-add', ngAddOptions)(tree, context);
|
90
|
-
}
|
91
|
-
}
|
92
|
-
else {
|
81
|
+
});
|
82
|
+
tree.overwrite(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
83
|
+
const ngAddsToApply = packagesToInstall
|
84
|
+
.map((packageName) => ({ packageName, ngAddCollection: getNgAddSchema(packageName, context) }))
|
85
|
+
.filter(({ packageName, ngAddCollection }) => {
|
86
|
+
if (!ngAddCollection) {
|
93
87
|
context.logger.info(`Skipping ng add for: ${packageName}${options?.version ? ' with version: ' + options.version : ''}`);
|
94
88
|
}
|
95
|
-
return
|
96
|
-
}
|
89
|
+
return !!ngAddCollection;
|
90
|
+
})
|
91
|
+
.map(({ packageName, ngAddCollection }) => (0, schematics_1.externalSchematic)(packageName, 'ng-add', getOptions(ngAddCollection)));
|
92
|
+
return (0, schematics_1.chain)(ngAddsToApply);
|
97
93
|
};
|
98
|
-
const ngAddRulesToRun = (packages || []).map((packageName) => (0, schematics_1.chain)([
|
99
|
-
ngAddSinglePackage({ packageName, version: options?.version }),
|
100
|
-
checkTreePackageJsonConsistency(packageName)
|
101
|
-
]));
|
102
|
-
return (0, schematics_1.chain)(ngAddRulesToRun);
|
103
94
|
}
|
104
95
|
exports.ngAddPackages = ngAddPackages;
|
105
96
|
/**
|
@@ -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":"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"}
|