@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.
@@ -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":"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"}
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 statement.
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 statement.
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 statement = `import { ${name} } from '${fromModule}';\n`;
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 + content;
70
- return content.slice(0, lastEnd) + '\n' + statement + content.slice(lastEnd);
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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"}