@seniorsistemas/angular-components 19.9.2 → 19.9.3
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 +99 -13
- package/esm2022/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.mjs +4 -3
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +45 -34
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +44 -33
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fieldset/README.md +77 -15
- package/fieldset/lib/fieldset/fieldset.component.d.ts +28 -14
- package/package.json +13 -13
- package/schematics/collection.json +26 -1
- package/schematics/migrations/migrate-dynamic-form-v19/index.js +15 -34
- package/schematics/migrations/migrate-dynamic-form-v19/index.js.map +1 -1
- package/schematics/migrations/migrate-fieldset-body-template/index.d.ts +2 -0
- package/schematics/migrations/migrate-fieldset-body-template/index.js +421 -0
- package/schematics/migrations/migrate-fieldset-body-template/index.js.map +1 -0
- package/schematics/migrations/migrate-steps-to-stepper/index.js +1 -19
- package/schematics/migrations/migrate-steps-to-stepper/index.js.map +1 -1
- package/schematics/migrations.json +5 -0
- package/schematics/utils/ast-utils.d.ts +33 -1
- package/schematics/utils/ast-utils.js +175 -4
- package/schematics/utils/ast-utils.js.map +1 -1
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.migrate = migrate;
|
|
4
4
|
const ts = require("typescript");
|
|
5
5
|
const ast_utils_1 = require("../../utils/ast-utils");
|
|
6
|
-
const html_utils_1 = require("../../utils/html-utils");
|
|
7
6
|
const STEPS_MODULE = '@seniorsistemas/angular-components/steps';
|
|
8
7
|
const STEPPER_MODULE = '@seniorsistemas/angular-components/stepper';
|
|
9
8
|
// v18 name -> v19 name. Names absent from this map keep their original name (Step, StepState, StepSelectionEvent).
|
|
@@ -74,7 +73,7 @@ function migrateTypeScript(tree, path, context) {
|
|
|
74
73
|
}
|
|
75
74
|
for (const name of IMPORT_ORDER) {
|
|
76
75
|
if (neededImports.has(name)) {
|
|
77
|
-
updated = ensureNamedImport(updated, name, STEPPER_MODULE);
|
|
76
|
+
updated = (0, ast_utils_1.ensureNamedImport)(updated, name, STEPPER_MODULE);
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
79
|
if (neededImports.has('StepperComponent')) {
|
|
@@ -84,21 +83,4 @@ function migrateTypeScript(tree, path, context) {
|
|
|
84
83
|
tree.overwrite(path, updated);
|
|
85
84
|
}
|
|
86
85
|
}
|
|
87
|
-
// ─── Import merging helpers (mirrors migrate-dynamic-form-v19 / migrate-p-editor) ─────────────
|
|
88
|
-
function isSymbolImportedFrom(content, symbolName, fromModule) {
|
|
89
|
-
const regex = new RegExp(`import\\s*\\{[^}]*\\b${symbolName}\\b[^}]*\\}\\s*from\\s*['"]${(0, html_utils_1.escapeRegex)(fromModule)}['"]`);
|
|
90
|
-
return regex.test(content);
|
|
91
|
-
}
|
|
92
|
-
function ensureNamedImport(content, symbolName, fromModule) {
|
|
93
|
-
if (isSymbolImportedFrom(content, symbolName, fromModule))
|
|
94
|
-
return content;
|
|
95
|
-
const existingImportRegex = new RegExp(`(import\\s*\\{)([^}]*)(\\}\\s*from\\s*['"]${(0, html_utils_1.escapeRegex)(fromModule)}['"])`);
|
|
96
|
-
const match = existingImportRegex.exec(content);
|
|
97
|
-
if (match) {
|
|
98
|
-
const newNames = match[2].trimEnd();
|
|
99
|
-
const separator = newNames.endsWith(',') ? ' ' : ', ';
|
|
100
|
-
return content.replace(match[0], `${match[1]}${newNames}${separator}${symbolName}${match[3]}`);
|
|
101
|
-
}
|
|
102
|
-
return (0, ast_utils_1.insertImportStatement)(content, symbolName, fromModule);
|
|
103
|
-
}
|
|
104
86
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/angular-components/schematics/migrations/migrate-steps-to-stepper/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/angular-components/schematics/migrations/migrate-steps-to-stepper/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
"version": "19.6.0",
|
|
26
26
|
"description": "Migra p-editor (PrimeNG/Quill) para s-editor (@seniorsistemas/angular-components): renomeia tag e eventos, remove atributos sem equivalente, limpa configs legadas do DynamicForm e atualiza dependências do package.json",
|
|
27
27
|
"factory": "./migrations/migrate-p-editor/index#migrate"
|
|
28
|
+
},
|
|
29
|
+
"migration-v19-9-3-fieldset-body-template": {
|
|
30
|
+
"version": "19.9.3",
|
|
31
|
+
"description": "Envolve o conteúdo projetado do s-fieldset em <ng-template sTemplate=\"body\">, mantendo templates de slot como sTemplate=\"header\" fora do body, e garante o TemplateDirective no escopo do componente (standalone ou via NgModule)",
|
|
32
|
+
"factory": "./migrations/migrate-fieldset-body-template/index#migrate"
|
|
28
33
|
}
|
|
29
34
|
}
|
|
30
35
|
}
|
|
@@ -15,10 +15,32 @@ export declare function buildRemoveNamedImportsChanges(sourceFile: ts.SourceFile
|
|
|
15
15
|
removedNames: string[];
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* Inserts `import { name } from 'fromModule';` after the last existing import
|
|
18
|
+
* Inserts `import { name } from 'fromModule';` on its own line after the last existing import
|
|
19
|
+
* statement, preserving the file's line ending and without introducing a blank line.
|
|
19
20
|
* If no imports exist, prepends to the file.
|
|
20
21
|
*/
|
|
21
22
|
export declare function insertImportStatement(content: string, name: string, fromModule: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* True when `symbolName` is already imported from `fromModule` (exact module specifier).
|
|
25
|
+
*/
|
|
26
|
+
export declare function isSymbolImportedFrom(content: string, symbolName: string, fromModule: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Adds `symbolName` to the existing import statement for `fromModule`, or creates the statement.
|
|
29
|
+
* No-op when the symbol is already imported from that module.
|
|
30
|
+
*/
|
|
31
|
+
export declare function ensureNamedImport(content: string, symbolName: string, fromModule: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Bare identifier names listed in a decorator metadata array (`imports`, `exports`, `declarations`).
|
|
34
|
+
* Call expressions such as `RouterModule.forRoot(...)` or `PermissionsModule.forChild(...)` are
|
|
35
|
+
* reduced to their leftmost identifier (`RouterModule`, `PermissionsModule`).
|
|
36
|
+
*/
|
|
37
|
+
export declare function getMetadataArrayNames(sourceFile: ts.SourceFile, metadata: ts.ObjectLiteralExpression, propName: string): string[];
|
|
38
|
+
/** String literal value of a decorator metadata property (e.g. `templateUrl`). */
|
|
39
|
+
export declare function getMetadataStringProperty(sourceFile: ts.SourceFile, metadata: ts.ObjectLiteralExpression, propName: string): string | undefined;
|
|
40
|
+
/** `true`/`false` value of a decorator metadata property (e.g. `standalone`). */
|
|
41
|
+
export declare function getMetadataBooleanProperty(sourceFile: ts.SourceFile, metadata: ts.ObjectLiteralExpression, propName: string): boolean | undefined;
|
|
42
|
+
/** `true` when the metadata object declares `propName` at all, regardless of its value. */
|
|
43
|
+
export declare function hasMetadataProperty(sourceFile: ts.SourceFile, metadata: ts.ObjectLiteralExpression, propName: string): boolean;
|
|
22
44
|
/**
|
|
23
45
|
* Standalone components/directives/pipes can only appear in an @NgModule's `exports` if they
|
|
24
46
|
* are also present in that module's `imports` (the Angular compiler rejects export-only entries,
|
|
@@ -29,9 +51,19 @@ export declare function ensureExportedSymbolIsImported(content: string, symbolNa
|
|
|
29
51
|
export declare const ngModule: {
|
|
30
52
|
replaceInImports(sourceFile: ts.SourceFile, remove: string[], add: string): AstChange[];
|
|
31
53
|
replaceInExports(sourceFile: ts.SourceFile, remove: string[], add: string): AstChange[];
|
|
54
|
+
addToImports(sourceFile: ts.SourceFile, add: string, className?: string): AstChange[];
|
|
55
|
+
find(sourceFile: ts.SourceFile): {
|
|
56
|
+
classDeclaration: ts.ClassDeclaration;
|
|
57
|
+
metadata: ts.ObjectLiteralExpression;
|
|
58
|
+
}[];
|
|
32
59
|
};
|
|
33
60
|
export declare const ngComponent: {
|
|
34
61
|
replaceInImports(sourceFile: ts.SourceFile, remove: string[], add: string): AstChange[];
|
|
62
|
+
addToImports(sourceFile: ts.SourceFile, add: string, className?: string): AstChange[];
|
|
63
|
+
find(sourceFile: ts.SourceFile): {
|
|
64
|
+
classDeclaration: ts.ClassDeclaration;
|
|
65
|
+
metadata: ts.ObjectLiteralExpression;
|
|
66
|
+
}[];
|
|
35
67
|
};
|
|
36
68
|
/**
|
|
37
69
|
* Replaces bare identifiers inside ANY array literal in the file (NgModule imports/exports,
|
|
@@ -4,10 +4,17 @@ exports.ngComponent = exports.ngModule = void 0;
|
|
|
4
4
|
exports.applyChanges = applyChanges;
|
|
5
5
|
exports.buildRemoveNamedImportsChanges = buildRemoveNamedImportsChanges;
|
|
6
6
|
exports.insertImportStatement = insertImportStatement;
|
|
7
|
+
exports.isSymbolImportedFrom = isSymbolImportedFrom;
|
|
8
|
+
exports.ensureNamedImport = ensureNamedImport;
|
|
9
|
+
exports.getMetadataArrayNames = getMetadataArrayNames;
|
|
10
|
+
exports.getMetadataStringProperty = getMetadataStringProperty;
|
|
11
|
+
exports.getMetadataBooleanProperty = getMetadataBooleanProperty;
|
|
12
|
+
exports.hasMetadataProperty = hasMetadataProperty;
|
|
7
13
|
exports.ensureExportedSymbolIsImported = ensureExportedSymbolIsImported;
|
|
8
14
|
exports.replaceIdentifierInArrayLiterals = replaceIdentifierInArrayLiterals;
|
|
9
15
|
exports.buildRemoveObjectPropertyChange = buildRemoveObjectPropertyChange;
|
|
10
16
|
const ts = require("typescript");
|
|
17
|
+
const html_utils_1 = require("./html-utils");
|
|
11
18
|
function applyChanges(content, changes) {
|
|
12
19
|
const sorted = [...changes].sort((a, b) => b.start - a.start);
|
|
13
20
|
let result = content;
|
|
@@ -53,7 +60,8 @@ function buildRemoveNamedImportsChanges(sourceFile, names, fromModulePattern) {
|
|
|
53
60
|
return { changes, removedNames };
|
|
54
61
|
}
|
|
55
62
|
/**
|
|
56
|
-
* Inserts `import { name } from 'fromModule';` after the last existing import
|
|
63
|
+
* Inserts `import { name } from 'fromModule';` on its own line after the last existing import
|
|
64
|
+
* statement, preserving the file's line ending and without introducing a blank line.
|
|
57
65
|
* If no imports exist, prepends to the file.
|
|
58
66
|
*/
|
|
59
67
|
function insertImportStatement(content, name, fromModule) {
|
|
@@ -64,10 +72,161 @@ function insertImportStatement(content, name, fromModule) {
|
|
|
64
72
|
lastEnd = node.getEnd();
|
|
65
73
|
}
|
|
66
74
|
});
|
|
67
|
-
const
|
|
75
|
+
const eol = content.includes('\r\n') ? '\r\n' : '\n';
|
|
76
|
+
const statement = `import { ${name} } from '${fromModule}';`;
|
|
68
77
|
if (lastEnd === -1)
|
|
69
|
-
return statement
|
|
70
|
-
|
|
78
|
+
return `${statement}${eol}${content}`;
|
|
79
|
+
// Insert after the newline that terminates the last import so the surrounding blank lines
|
|
80
|
+
// (or the lack of them) are left untouched.
|
|
81
|
+
const trailingNewline = /^\r?\n/.exec(content.slice(lastEnd));
|
|
82
|
+
const insertAt = lastEnd + (trailingNewline ? trailingNewline[0].length : 0);
|
|
83
|
+
const prefix = trailingNewline ? '' : eol;
|
|
84
|
+
const suffix = trailingNewline ? eol : '';
|
|
85
|
+
return content.slice(0, insertAt) + prefix + statement + suffix + content.slice(insertAt);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* True when `symbolName` is already imported from `fromModule` (exact module specifier).
|
|
89
|
+
*/
|
|
90
|
+
function isSymbolImportedFrom(content, symbolName, fromModule) {
|
|
91
|
+
const regex = new RegExp(`import\\s*\\{[^}]*\\b${symbolName}\\b[^}]*\\}\\s*from\\s*['"]${(0, html_utils_1.escapeRegex)(fromModule)}['"]`);
|
|
92
|
+
return regex.test(content);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Adds `symbolName` to the existing import statement for `fromModule`, or creates the statement.
|
|
96
|
+
* No-op when the symbol is already imported from that module.
|
|
97
|
+
*/
|
|
98
|
+
function ensureNamedImport(content, symbolName, fromModule) {
|
|
99
|
+
if (isSymbolImportedFrom(content, symbolName, fromModule))
|
|
100
|
+
return content;
|
|
101
|
+
const existingImportRegex = new RegExp(`(import\\s*\\{)([^}]*)(\\}\\s*from\\s*['"]${(0, html_utils_1.escapeRegex)(fromModule)}['"])`);
|
|
102
|
+
const match = existingImportRegex.exec(content);
|
|
103
|
+
if (match) {
|
|
104
|
+
// Keep whatever whitespace sat before the closing brace so `{ A, B }` does not become `{ A, B}`
|
|
105
|
+
const trailing = /\s*$/.exec(match[2])?.[0] ?? '';
|
|
106
|
+
const names = match[2].slice(0, match[2].length - trailing.length);
|
|
107
|
+
const separator = names.endsWith(',') ? ' ' : ', ';
|
|
108
|
+
return content.replace(match[0], `${match[1]}${names}${separator}${symbolName}${trailing || ' '}${match[3]}`);
|
|
109
|
+
}
|
|
110
|
+
return insertImportStatement(content, symbolName, fromModule);
|
|
111
|
+
}
|
|
112
|
+
/** Leading whitespace of the line containing `pos`. */
|
|
113
|
+
function getLineIndent(content, pos) {
|
|
114
|
+
const lineStart = content.lastIndexOf('\n', pos - 1) + 1;
|
|
115
|
+
const match = /^[ \t]*/.exec(content.slice(lineStart, pos));
|
|
116
|
+
return match ? match[0] : '';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Appends an entry to an array/object literal **preserving the original formatting** — unlike
|
|
120
|
+
* `buildReplaceDecoratorPropertyArray`, which collapses the literal onto a single line. Multi-line
|
|
121
|
+
* literals get the new entry on its own line with the same indentation as the previous entry.
|
|
122
|
+
*/
|
|
123
|
+
function buildAppendToLiteralChange(content, literal, items, text, emptyReplacement) {
|
|
124
|
+
if (items.length === 0) {
|
|
125
|
+
return [{ start: literal.getStart(), end: literal.getEnd(), replacement: emptyReplacement }];
|
|
126
|
+
}
|
|
127
|
+
const last = items[items.length - 1];
|
|
128
|
+
// Text between the last entry and the literal's closing bracket/brace
|
|
129
|
+
const tail = content.slice(last.getEnd(), literal.getEnd() - 1);
|
|
130
|
+
const commaIndex = tail.indexOf(',');
|
|
131
|
+
const hasTrailingComma = commaIndex !== -1;
|
|
132
|
+
const insertAt = hasTrailingComma ? last.getEnd() + commaIndex + 1 : last.getEnd();
|
|
133
|
+
if (!content.slice(literal.getStart(), literal.getEnd()).includes('\n')) {
|
|
134
|
+
return [{ start: insertAt, end: insertAt, replacement: `${hasTrailingComma ? ' ' : ', '}${text}` }];
|
|
135
|
+
}
|
|
136
|
+
const eol = content.includes('\r\n') ? '\r\n' : '\n';
|
|
137
|
+
const indent = getLineIndent(content, last.getStart());
|
|
138
|
+
const replacement = hasTrailingComma
|
|
139
|
+
? `${eol}${indent}${text},`
|
|
140
|
+
: `,${eol}${indent}${text}`;
|
|
141
|
+
return [{ start: insertAt, end: insertAt, replacement }];
|
|
142
|
+
}
|
|
143
|
+
function findDecoratorMetadata(sourceFile, decoratorName) {
|
|
144
|
+
const result = [];
|
|
145
|
+
ts.forEachChild(sourceFile, (node) => {
|
|
146
|
+
if (!ts.isClassDeclaration(node))
|
|
147
|
+
return;
|
|
148
|
+
for (const decorator of ts.getDecorators(node) ?? []) {
|
|
149
|
+
if (!ts.isCallExpression(decorator.expression))
|
|
150
|
+
continue;
|
|
151
|
+
if (decorator.expression.expression.getText(sourceFile) !== decoratorName)
|
|
152
|
+
continue;
|
|
153
|
+
const [arg] = decorator.expression.arguments;
|
|
154
|
+
if (!arg || !ts.isObjectLiteralExpression(arg))
|
|
155
|
+
continue;
|
|
156
|
+
result.push({ classDeclaration: node, metadata: arg });
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
function getMetadataProperty(sourceFile, metadata, propName) {
|
|
162
|
+
return metadata.properties.find((p) => ts.isPropertyAssignment(p) && p.name.getText(sourceFile) === propName);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Bare identifier names listed in a decorator metadata array (`imports`, `exports`, `declarations`).
|
|
166
|
+
* Call expressions such as `RouterModule.forRoot(...)` or `PermissionsModule.forChild(...)` are
|
|
167
|
+
* reduced to their leftmost identifier (`RouterModule`, `PermissionsModule`).
|
|
168
|
+
*/
|
|
169
|
+
function getMetadataArrayNames(sourceFile, metadata, propName) {
|
|
170
|
+
const prop = getMetadataProperty(sourceFile, metadata, propName);
|
|
171
|
+
if (!prop || !ts.isArrayLiteralExpression(prop.initializer))
|
|
172
|
+
return [];
|
|
173
|
+
return prop.initializer.elements
|
|
174
|
+
.map((element) => {
|
|
175
|
+
let node = element;
|
|
176
|
+
while (ts.isCallExpression(node))
|
|
177
|
+
node = node.expression;
|
|
178
|
+
while (ts.isPropertyAccessExpression(node))
|
|
179
|
+
node = node.expression;
|
|
180
|
+
return ts.isIdentifier(node) ? node.text : '';
|
|
181
|
+
})
|
|
182
|
+
.filter((name) => name.length > 0);
|
|
183
|
+
}
|
|
184
|
+
/** String literal value of a decorator metadata property (e.g. `templateUrl`). */
|
|
185
|
+
function getMetadataStringProperty(sourceFile, metadata, propName) {
|
|
186
|
+
const prop = getMetadataProperty(sourceFile, metadata, propName);
|
|
187
|
+
if (!prop || !ts.isStringLiteralLike(prop.initializer))
|
|
188
|
+
return undefined;
|
|
189
|
+
return prop.initializer.text;
|
|
190
|
+
}
|
|
191
|
+
/** `true`/`false` value of a decorator metadata property (e.g. `standalone`). */
|
|
192
|
+
function getMetadataBooleanProperty(sourceFile, metadata, propName) {
|
|
193
|
+
const prop = getMetadataProperty(sourceFile, metadata, propName);
|
|
194
|
+
if (!prop)
|
|
195
|
+
return undefined;
|
|
196
|
+
if (prop.initializer.kind === ts.SyntaxKind.TrueKeyword)
|
|
197
|
+
return true;
|
|
198
|
+
if (prop.initializer.kind === ts.SyntaxKind.FalseKeyword)
|
|
199
|
+
return false;
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
/** `true` when the metadata object declares `propName` at all, regardless of its value. */
|
|
203
|
+
function hasMetadataProperty(sourceFile, metadata, propName) {
|
|
204
|
+
return getMetadataProperty(sourceFile, metadata, propName) !== undefined;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Adds `add` to the `arrayProp` array of every `decoratorName` decorator whose metadata is attached
|
|
208
|
+
* to a class named `className`. Creates the array property when it does not exist yet. Formatting of
|
|
209
|
+
* the existing literal is preserved.
|
|
210
|
+
*/
|
|
211
|
+
function buildAddToDecoratorPropertyArray(sourceFile, decoratorName, arrayProp, className, add) {
|
|
212
|
+
const content = sourceFile.getFullText();
|
|
213
|
+
const changes = [];
|
|
214
|
+
for (const { classDeclaration, metadata } of findDecoratorMetadata(sourceFile, decoratorName)) {
|
|
215
|
+
if (className && classDeclaration.name?.text !== className)
|
|
216
|
+
continue;
|
|
217
|
+
const prop = getMetadataProperty(sourceFile, metadata, arrayProp);
|
|
218
|
+
if (prop && ts.isArrayLiteralExpression(prop.initializer)) {
|
|
219
|
+
const alreadyPresent = prop.initializer.elements.some((el) => ts.isIdentifier(el) && el.text === add);
|
|
220
|
+
if (alreadyPresent)
|
|
221
|
+
continue;
|
|
222
|
+
changes.push(...buildAppendToLiteralChange(content, prop.initializer, prop.initializer.elements, add, `[${add}]`));
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
if (prop)
|
|
226
|
+
continue; // `imports: SOME_CONST` — cannot be edited safely
|
|
227
|
+
changes.push(...buildAppendToLiteralChange(content, metadata, metadata.properties, `${arrayProp}: [${add}]`, `{ ${arrayProp}: [${add}] }`));
|
|
228
|
+
}
|
|
229
|
+
return changes;
|
|
71
230
|
}
|
|
72
231
|
function buildReplaceDecoratorPropertyArray(sourceFile, decoratorName, arrayProp, remove, add) {
|
|
73
232
|
const changes = [];
|
|
@@ -162,11 +321,23 @@ exports.ngModule = {
|
|
|
162
321
|
replaceInExports(sourceFile, remove, add) {
|
|
163
322
|
return buildReplaceDecoratorPropertyArray(sourceFile, 'NgModule', 'exports', remove, add);
|
|
164
323
|
},
|
|
324
|
+
addToImports(sourceFile, add, className) {
|
|
325
|
+
return buildAddToDecoratorPropertyArray(sourceFile, 'NgModule', 'imports', className, add);
|
|
326
|
+
},
|
|
327
|
+
find(sourceFile) {
|
|
328
|
+
return findDecoratorMetadata(sourceFile, 'NgModule');
|
|
329
|
+
},
|
|
165
330
|
};
|
|
166
331
|
exports.ngComponent = {
|
|
167
332
|
replaceInImports(sourceFile, remove, add) {
|
|
168
333
|
return buildReplaceDecoratorPropertyArray(sourceFile, 'Component', 'imports', remove, add);
|
|
169
334
|
},
|
|
335
|
+
addToImports(sourceFile, add, className) {
|
|
336
|
+
return buildAddToDecoratorPropertyArray(sourceFile, 'Component', 'imports', className, add);
|
|
337
|
+
},
|
|
338
|
+
find(sourceFile) {
|
|
339
|
+
return findDecoratorMetadata(sourceFile, 'Component');
|
|
340
|
+
},
|
|
170
341
|
};
|
|
171
342
|
/**
|
|
172
343
|
* Replaces bare identifiers inside ANY array literal in the file (NgModule imports/exports,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../projects/angular-components/schematics/utils/ast-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../projects/angular-components/schematics/utils/ast-utils.ts"],"names":[],"mappings":"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"}
|