@o3r/schematics 8.2.0-alpha.44 → 8.2.0-alpha.46
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/package.json +4 -4
- package/src/rule-factories/ng-add/index.d.ts.map +1 -1
- package/src/rule-factories/ng-add/index.js +3 -0
- package/src/rule-factories/ng-add/index.js.map +1 -1
- package/src/utility/modules.d.ts +51 -1
- package/src/utility/modules.d.ts.map +1 -1
- package/src/utility/modules.js +101 -1
- package/src/utility/modules.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/schematics",
|
|
3
|
-
"version": "8.2.0-alpha.
|
|
3
|
+
"version": "8.2.0-alpha.46",
|
|
4
4
|
"description": "Schematics module of the Otter framework",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@o3r/dev-tools": "^8.2.0-alpha.
|
|
31
|
+
"@o3r/dev-tools": "^8.2.0-alpha.46",
|
|
32
32
|
"comment-json": "^4.1.0",
|
|
33
33
|
"globby": "^11.1.0",
|
|
34
34
|
"minimatch": "^6.1.6",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"@nrwl/jest": "~15.9.0",
|
|
52
52
|
"@nrwl/js": "~15.9.0",
|
|
53
53
|
"@nrwl/linter": "~15.9.0",
|
|
54
|
-
"@o3r/build-helpers": "^8.2.0-alpha.
|
|
55
|
-
"@o3r/eslint-plugin": "^8.2.0-alpha.
|
|
54
|
+
"@o3r/build-helpers": "^8.2.0-alpha.46",
|
|
55
|
+
"@o3r/eslint-plugin": "^8.2.0-alpha.46",
|
|
56
56
|
"@schematics/angular": "~15.2.0",
|
|
57
57
|
"@types/jest": "~28.1.2",
|
|
58
58
|
"@types/node": "^17.0.45",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,mBAAmB,CAAC;AAE9E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,mBAAmB,CAAC;AAE9E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAuBrF"}
|
|
@@ -27,6 +27,9 @@ function ngAddPackages(packages, options) {
|
|
|
27
27
|
context.logger.info(`Running ng add for: ${packageName}${options?.version ? ' with version: ' + options.version : ''}`);
|
|
28
28
|
context.addTask(new index_1.NodePackageNgAddTask(packageName, options));
|
|
29
29
|
}
|
|
30
|
+
else {
|
|
31
|
+
context.logger.info(`Skipping ng add for: ${packageName}${options?.version ? ' with version: ' + options.version : ''}`);
|
|
32
|
+
}
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
return () => tree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":";;;AACA,6CAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,QAAkB,EAAE,OAA6B;IAC7E,MAAM,mBAAmB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;;QACxD,IAAI;YACF,OAAO,CAAC,YAAa,GAAG,WAAW,eAAe,4CAAC,CAAC,CAAC,OAAO,CAAC;SAC9D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;IACH,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,iBAAiB,IAAI,EAAE,4DAA4D,CAAC,CAAC;YACtH,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE;gBAClC,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,CAAC,gBAAgB,IAAI,OAAO,EAAE,OAAO,KAAK,gBAAgB,EAAE;oBAC9D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxH,OAAO,CAAC,OAAO,CAAC,IAAI,4BAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;iBACjE;aACF;SACF;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rule-factories/ng-add/index.ts"],"names":[],"mappings":";;;AACA,6CAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,QAAkB,EAAE,OAA6B;IAC7E,MAAM,mBAAmB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;;QACxD,IAAI;YACF,OAAO,CAAC,YAAa,GAAG,WAAW,eAAe,4CAAC,CAAC,CAAC,OAAO,CAAC;SAC9D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;IACH,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,iBAAiB,IAAI,EAAE,4DAA4D,CAAC,CAAC;YACtH,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE;gBAClC,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,CAAC,gBAAgB,IAAI,OAAO,EAAE,OAAO,KAAK,gBAAgB,EAAE;oBAC9D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxH,OAAO,CAAC,OAAO,CAAC,IAAI,4BAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;iBACjE;qBAAM;oBACL,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,WAAW,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC1H;aACF;SACF;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAvBD,sCAuBC"}
|
package/src/utility/modules.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SchematicContext, Tree } from '@angular-devkit/schematics';
|
|
1
|
+
import { SchematicContext, Tree, UpdateRecorder } from '@angular-devkit/schematics';
|
|
2
|
+
import * as ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
|
|
2
3
|
/**
|
|
3
4
|
* Get the path to the app.module.ts
|
|
4
5
|
*
|
|
@@ -20,4 +21,53 @@ export declare function getMainFilePath(tree: Tree, context: SchematicContext):
|
|
|
20
21
|
* @param tree
|
|
21
22
|
*/
|
|
22
23
|
export declare function isApplicationThatUsesRouterModule(tree: Tree): boolean | "" | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Add import to the main module
|
|
26
|
+
*
|
|
27
|
+
* @param name
|
|
28
|
+
* @param file
|
|
29
|
+
* @param sourceFile
|
|
30
|
+
* @param sourceFileContent
|
|
31
|
+
* @param context
|
|
32
|
+
* @param moduleFilePath
|
|
33
|
+
* @param moduleIndex
|
|
34
|
+
* @param recorder
|
|
35
|
+
* @param moduleFunction
|
|
36
|
+
* @param override
|
|
37
|
+
*/
|
|
38
|
+
export declare function addImportToModuleFile(name: string, file: string, sourceFile: ts.SourceFile, sourceFileContent: string, context: SchematicContext, recorder: UpdateRecorder, moduleFilePath: string, moduleIndex: number, moduleFunction?: string, override?: boolean): UpdateRecorder;
|
|
39
|
+
/**
|
|
40
|
+
* Insert import on top of the main module file
|
|
41
|
+
*
|
|
42
|
+
* @param name
|
|
43
|
+
* @param file
|
|
44
|
+
* @param sourceFile
|
|
45
|
+
* @param recorder
|
|
46
|
+
* @param moduleFilePath
|
|
47
|
+
* @param isDefault
|
|
48
|
+
*/
|
|
49
|
+
export declare function insertImportToModuleFile(name: string, file: string, sourceFile: ts.SourceFile, recorder: UpdateRecorder, moduleFilePath: string, isDefault?: boolean): UpdateRecorder;
|
|
50
|
+
/**
|
|
51
|
+
* Add providers to the main module
|
|
52
|
+
*
|
|
53
|
+
* @param name
|
|
54
|
+
* @param file
|
|
55
|
+
* @param sourceFile
|
|
56
|
+
* @param sourceFileContent
|
|
57
|
+
* @param context
|
|
58
|
+
* @param recorder
|
|
59
|
+
* @param moduleFilePath
|
|
60
|
+
* @param moduleIndex
|
|
61
|
+
* @param customProvider
|
|
62
|
+
*/
|
|
63
|
+
export declare function addProviderToModuleFile(name: string, file: string, sourceFile: ts.SourceFile, sourceFileContent: string, context: SchematicContext, recorder: UpdateRecorder, moduleFilePath: string, moduleIndex: number, customProvider?: string): UpdateRecorder;
|
|
64
|
+
/**
|
|
65
|
+
* Add custom code before the module definition
|
|
66
|
+
*
|
|
67
|
+
* @param line
|
|
68
|
+
* @param file
|
|
69
|
+
* @param recorder
|
|
70
|
+
* @param moduleIndex
|
|
71
|
+
*/
|
|
72
|
+
export declare function insertBeforeModule(line: string, file: string, recorder: UpdateRecorder, moduleIndex: number): UpdateRecorder;
|
|
23
73
|
//# sourceMappingURL=modules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAuB,IAAI,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;AACvG,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;AAcrG;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,sBA0DzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,sBAUpE;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,IAAI,4BAU3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EACrI,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,kBAoB3H;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,kBAMpK;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EACrI,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,kBAY3G;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAK3G"}
|
package/src/utility/modules.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isApplicationThatUsesRouterModule = exports.getMainFilePath = exports.getAppModuleFilePath = void 0;
|
|
3
|
+
exports.insertBeforeModule = exports.addProviderToModuleFile = exports.insertImportToModuleFile = exports.addImportToModuleFile = exports.isApplicationThatUsesRouterModule = exports.getMainFilePath = exports.getAppModuleFilePath = void 0;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const ts = require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript");
|
|
6
6
|
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
7
|
+
const change_1 = require("@schematics/angular/utility/change");
|
|
7
8
|
const fs = require("node:fs");
|
|
8
9
|
const globby_1 = require("globby");
|
|
9
10
|
const path = require("node:path");
|
|
@@ -98,4 +99,103 @@ function isApplicationThatUsesRouterModule(tree) {
|
|
|
98
99
|
});
|
|
99
100
|
}
|
|
100
101
|
exports.isApplicationThatUsesRouterModule = isApplicationThatUsesRouterModule;
|
|
102
|
+
/**
|
|
103
|
+
* Add import to the main module
|
|
104
|
+
*
|
|
105
|
+
* @param name
|
|
106
|
+
* @param file
|
|
107
|
+
* @param sourceFile
|
|
108
|
+
* @param sourceFileContent
|
|
109
|
+
* @param context
|
|
110
|
+
* @param moduleFilePath
|
|
111
|
+
* @param moduleIndex
|
|
112
|
+
* @param recorder
|
|
113
|
+
* @param moduleFunction
|
|
114
|
+
* @param override
|
|
115
|
+
*/
|
|
116
|
+
function addImportToModuleFile(name, file, sourceFile, sourceFileContent, context, recorder, moduleFilePath, moduleIndex, moduleFunction, override = false) {
|
|
117
|
+
const importMatch = sourceFileContent.slice(moduleIndex).match(new RegExp(`(${name})(\\.[a-zA-Z\\s\\n]+\\()?(,\\n?)?`));
|
|
118
|
+
if (!!importMatch && !override) {
|
|
119
|
+
context.logger.warn(`Skipped ${name} (already imported)`);
|
|
120
|
+
return recorder;
|
|
121
|
+
}
|
|
122
|
+
else if (importMatch?.[2]) {
|
|
123
|
+
context.logger.warn(`Skipped ${name}${moduleFunction || ''} (already imported with method). Cannot override automatically`);
|
|
124
|
+
return recorder;
|
|
125
|
+
}
|
|
126
|
+
else if (override && (0, ast_utils_1.isImported)(sourceFile, name, file) && !!importMatch && !Number.isNaN(importMatch.index)) {
|
|
127
|
+
recorder = recorder.remove(moduleIndex + importMatch.index, importMatch[0].length);
|
|
128
|
+
recorder = recorder.insertLeft(moduleIndex + importMatch.index, moduleIndex + importMatch.index > moduleIndex ? name + moduleFunction + (importMatch[3] || '') : name);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
(0, ast_utils_1.addImportToModule)(sourceFile, moduleFilePath, name, file)
|
|
132
|
+
.forEach((change) => {
|
|
133
|
+
if (change instanceof change_1.InsertChange) {
|
|
134
|
+
recorder = recorder.insertLeft(change.pos, moduleFunction && change.pos > moduleIndex ? change.toAdd.replace(name, name + moduleFunction) : change.toAdd);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return recorder;
|
|
139
|
+
}
|
|
140
|
+
exports.addImportToModuleFile = addImportToModuleFile;
|
|
141
|
+
/**
|
|
142
|
+
* Insert import on top of the main module file
|
|
143
|
+
*
|
|
144
|
+
* @param name
|
|
145
|
+
* @param file
|
|
146
|
+
* @param sourceFile
|
|
147
|
+
* @param recorder
|
|
148
|
+
* @param moduleFilePath
|
|
149
|
+
* @param isDefault
|
|
150
|
+
*/
|
|
151
|
+
function insertImportToModuleFile(name, file, sourceFile, recorder, moduleFilePath, isDefault) {
|
|
152
|
+
const importChange = (0, ast_utils_1.insertImport)(sourceFile, moduleFilePath, name, file, isDefault);
|
|
153
|
+
if (importChange instanceof change_1.InsertChange) {
|
|
154
|
+
return recorder.insertLeft(importChange.pos, importChange.toAdd);
|
|
155
|
+
}
|
|
156
|
+
return recorder;
|
|
157
|
+
}
|
|
158
|
+
exports.insertImportToModuleFile = insertImportToModuleFile;
|
|
159
|
+
/**
|
|
160
|
+
* Add providers to the main module
|
|
161
|
+
*
|
|
162
|
+
* @param name
|
|
163
|
+
* @param file
|
|
164
|
+
* @param sourceFile
|
|
165
|
+
* @param sourceFileContent
|
|
166
|
+
* @param context
|
|
167
|
+
* @param recorder
|
|
168
|
+
* @param moduleFilePath
|
|
169
|
+
* @param moduleIndex
|
|
170
|
+
* @param customProvider
|
|
171
|
+
*/
|
|
172
|
+
function addProviderToModuleFile(name, file, sourceFile, sourceFileContent, context, recorder, moduleFilePath, moduleIndex, customProvider) {
|
|
173
|
+
if (new RegExp(name).test(sourceFileContent.substr(moduleIndex))) {
|
|
174
|
+
context.logger.warn(`Skipped ${name} (already provided)`);
|
|
175
|
+
return recorder;
|
|
176
|
+
}
|
|
177
|
+
(0, ast_utils_1.addProviderToModule)(sourceFile, moduleFilePath, name, file)
|
|
178
|
+
.forEach((change) => {
|
|
179
|
+
if (change instanceof change_1.InsertChange) {
|
|
180
|
+
recorder = recorder.insertLeft(change.pos, customProvider && change.pos > moduleIndex ? change.toAdd.replace(name, customProvider) : change.toAdd);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
return recorder;
|
|
184
|
+
}
|
|
185
|
+
exports.addProviderToModuleFile = addProviderToModuleFile;
|
|
186
|
+
/**
|
|
187
|
+
* Add custom code before the module definition
|
|
188
|
+
*
|
|
189
|
+
* @param line
|
|
190
|
+
* @param file
|
|
191
|
+
* @param recorder
|
|
192
|
+
* @param moduleIndex
|
|
193
|
+
*/
|
|
194
|
+
function insertBeforeModule(line, file, recorder, moduleIndex) {
|
|
195
|
+
if (file.indexOf(line.replace(/[\r\n ]*/g, '')) === -1) {
|
|
196
|
+
return recorder.insertLeft(moduleIndex - 1, `${line}\n\n`);
|
|
197
|
+
}
|
|
198
|
+
return recorder;
|
|
199
|
+
}
|
|
200
|
+
exports.insertBeforeModule = insertBeforeModule;
|
|
101
201
|
//# sourceMappingURL=modules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"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"}
|