@po-ui/ng-components 21.33.0 → 22.0.0-next.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.
Files changed (164) hide show
  1. package/README.md +2 -2
  2. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs → po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs} +7 -6
  3. package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs.map +1 -0
  4. package/fesm2022/po-ui-ng-components.mjs +2866 -3250
  5. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  6. package/lib/components/index.d.ts +0 -1
  7. package/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.d.ts +4 -0
  8. package/lib/components/po-accordion/po-accordion.module.d.ts +0 -38
  9. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +1 -0
  10. package/lib/components/po-field/po-search-ai/po-search-ai-base.component.d.ts +0 -4
  11. package/lib/components/po-listbox/po-listbox-base.component.d.ts +1 -1
  12. package/lib/components/po-navbar/po-navbar.component.d.ts +2 -3
  13. package/lib/components/po-navbar/po-navbar.module.d.ts +0 -38
  14. package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +0 -39
  15. package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +5 -13
  16. package/lib/components/po-slide/po-slide.component.d.ts +2 -3
  17. package/lib/components/po-slide/po-slide.module.d.ts +0 -37
  18. package/lib/components/po-stepper/po-stepper.component.d.ts +0 -1
  19. package/lib/components/po-table/po-table.component.d.ts +1 -1
  20. package/lib/components/po-tree-view/po-tree-view.module.d.ts +1 -0
  21. package/lib/components/po-widget/po-widget-base.component.d.ts +0 -1
  22. package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +3 -8
  23. package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +0 -1
  24. package/lib/services/po-component-injector/po-component-injector.service.d.ts +12 -5
  25. package/lib/utils/util.d.ts +0 -13
  26. package/package.json +13 -15
  27. package/po-ui-ng-components-22.0.0-next.0.tgz +0 -0
  28. package/schematics/collection.json +0 -20
  29. package/schematics/migrations.json +5 -0
  30. package/schematics/ng-add/index.js +1 -1
  31. package/schematics/ng-add/setup-project.d.ts +1 -0
  32. package/schematics/ng-add/setup-project.js +95 -0
  33. package/schematics/ng-add/setup-project.js.map +1 -1
  34. package/schematics/ng-generate/sidemenu/files/__appFileName__.spec.ts.template +35 -0
  35. package/schematics/ng-generate/sidemenu/files/{app.ts.template → __appFileName__.ts.template} +3 -3
  36. package/schematics/ng-generate/sidemenu/files-standalone/{app.spec.ts.template → __appFileName__.spec.ts.template} +4 -4
  37. package/schematics/ng-generate/sidemenu/files-standalone/{app.ts.template → __appFileName__.ts.template} +3 -3
  38. package/schematics/ng-generate/sidemenu/index.js +9 -3
  39. package/schematics/ng-generate/sidemenu/index.js.map +1 -1
  40. package/schematics/ng-generate/sidemenu/schema.d.ts +9 -0
  41. package/schematics/ng-generate/sidemenu/schema.json +5 -0
  42. package/schematics/ng-update/v14/index.js +1 -1
  43. package/schematics/ng-update/v15/index.js +1 -1
  44. package/schematics/ng-update/v16/index.js +1 -1
  45. package/schematics/ng-update/v17/index.js +1 -1
  46. package/schematics/ng-update/v18/index.js +3 -3
  47. package/schematics/ng-update/v18/index.js.map +1 -1
  48. package/schematics/ng-update/v19/index.js +3 -3
  49. package/schematics/ng-update/v19/index.js.map +1 -1
  50. package/schematics/ng-update/v2/index.js +1 -1
  51. package/schematics/ng-update/v20/index.js +3 -3
  52. package/schematics/ng-update/v20/index.js.map +1 -1
  53. package/schematics/ng-update/v21/index.js +1 -1
  54. package/schematics/ng-update/v22/changes.d.ts +29 -0
  55. package/schematics/ng-update/v22/changes.js +44 -0
  56. package/schematics/ng-update/v22/changes.js.map +1 -0
  57. package/schematics/ng-update/v22/gauge-html-migration.d.ts +35 -0
  58. package/schematics/ng-update/v22/gauge-html-migration.js +308 -0
  59. package/schematics/ng-update/v22/gauge-html-migration.js.map +1 -0
  60. package/schematics/ng-update/v22/gauge-manual-test/all-cases.component.html +723 -0
  61. package/schematics/ng-update/v22/gauge-property-map.d.ts +53 -0
  62. package/schematics/ng-update/v22/gauge-property-map.js +298 -0
  63. package/schematics/ng-update/v22/gauge-property-map.js.map +1 -0
  64. package/schematics/ng-update/v22/gauge-ts-migration.d.ts +41 -0
  65. package/schematics/ng-update/v22/gauge-ts-migration.js +326 -0
  66. package/schematics/ng-update/v22/gauge-ts-migration.js.map +1 -0
  67. package/schematics/ng-update/v22/index.d.ts +39 -0
  68. package/schematics/ng-update/v22/index.js +253 -0
  69. package/schematics/ng-update/v22/index.js.map +1 -0
  70. package/schematics/ng-update/v22/migration-report.d.ts +48 -0
  71. package/schematics/ng-update/v22/migration-report.js +50 -0
  72. package/schematics/ng-update/v22/migration-report.js.map +1 -0
  73. package/schematics/ng-update/v3/index.js +1 -1
  74. package/schematics/ng-update/v4/index.js +1 -1
  75. package/schematics/ng-update/v5/index.js +1 -1
  76. package/schematics/ng-update/v6/index.js +1 -1
  77. package/schematics/package.json +3 -0
  78. package/types/po-ui-ng-components.d.ts +40 -490
  79. package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs.map +0 -1
  80. package/lib/components/po-gauge/index.d.ts +0 -4
  81. package/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.d.ts +0 -19
  82. package/lib/components/po-gauge/interfaces/po-gauge-options.interface.d.ts +0 -69
  83. package/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.d.ts +0 -44
  84. package/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.d.ts +0 -15
  85. package/lib/components/po-gauge/po-gauge-base.component.d.ts +0 -133
  86. package/lib/components/po-gauge/po-gauge-default-values.constant.d.ts +0 -5
  87. package/lib/components/po-gauge/po-gauge.component.d.ts +0 -30
  88. package/lib/components/po-gauge/po-gauge.module.d.ts +0 -6
  89. package/po-ui-ng-components-21.33.0.tgz +0 -0
  90. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  91. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
  92. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
  93. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -19
  94. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  95. package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
  96. package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
  97. package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -23
  98. package/schematics/ng-generate/po-page-default/index.d.ts +0 -4
  99. package/schematics/ng-generate/po-page-default/index.js +0 -13
  100. package/schematics/ng-generate/po-page-default/index.js.map +0 -1
  101. package/schematics/ng-generate/po-page-default/schema.d.ts +0 -3
  102. package/schematics/ng-generate/po-page-default/schema.js +0 -3
  103. package/schematics/ng-generate/po-page-default/schema.js.map +0 -1
  104. package/schematics/ng-generate/po-page-default/schema.json +0 -67
  105. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  106. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  107. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  108. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
  109. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
  110. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  111. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  112. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  113. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
  114. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
  115. package/schematics/ng-generate/po-page-detail/index.d.ts +0 -4
  116. package/schematics/ng-generate/po-page-detail/index.js +0 -13
  117. package/schematics/ng-generate/po-page-detail/index.js.map +0 -1
  118. package/schematics/ng-generate/po-page-detail/schema.d.ts +0 -3
  119. package/schematics/ng-generate/po-page-detail/schema.js +0 -3
  120. package/schematics/ng-generate/po-page-detail/schema.js.map +0 -1
  121. package/schematics/ng-generate/po-page-detail/schema.json +0 -67
  122. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  123. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  124. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  125. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
  126. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
  127. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  128. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  129. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  130. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  131. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
  132. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
  133. package/schematics/ng-generate/po-page-edit/index.d.ts +0 -4
  134. package/schematics/ng-generate/po-page-edit/index.js +0 -13
  135. package/schematics/ng-generate/po-page-edit/index.js.map +0 -1
  136. package/schematics/ng-generate/po-page-edit/schema.d.ts +0 -3
  137. package/schematics/ng-generate/po-page-edit/schema.js +0 -3
  138. package/schematics/ng-generate/po-page-edit/schema.js.map +0 -1
  139. package/schematics/ng-generate/po-page-edit/schema.json +0 -67
  140. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  141. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  142. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
  143. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -37
  144. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -34
  145. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  146. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  147. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  148. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
  149. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -36
  150. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -42
  151. package/schematics/ng-generate/po-page-list/index.d.ts +0 -7
  152. package/schematics/ng-generate/po-page-list/index.js +0 -16
  153. package/schematics/ng-generate/po-page-list/index.js.map +0 -1
  154. package/schematics/ng-generate/po-page-list/schema.d.ts +0 -5
  155. package/schematics/ng-generate/po-page-list/schema.js +0 -3
  156. package/schematics/ng-generate/po-page-list/schema.js.map +0 -1
  157. package/schematics/ng-generate/po-page-list/schema.json +0 -78
  158. package/schematics/ng-generate/sidemenu/files/app.__style__.template +0 -0
  159. package/schematics/ng-generate/sidemenu/files/app.spec.ts.template +0 -33
  160. package/schematics/ng-generate/sidemenu/files-standalone/app.__style__.template +0 -0
  161. /package/schematics/ng-generate/{po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files/__appFileName__.__style__.template} +0 -0
  162. /package/schematics/ng-generate/sidemenu/files/{app.html.template → __appFileName__.html.template} +0 -0
  163. /package/schematics/ng-generate/{po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files-standalone/__appFileName__.__style__.template} +0 -0
  164. /package/schematics/ng-generate/sidemenu/files-standalone/{app.html.template → __appFileName__.html.template} +0 -0
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migrateTypeScriptContent = migrateTypeScriptContent;
4
+ const tslib_1 = require("tslib");
5
+ const ts = tslib_1.__importStar(require("typescript"));
6
+ const changes_1 = require("./changes");
7
+ /**
8
+ * Transforma referências ao `po-gauge` em referências equivalentes ao
9
+ * `po-chart` em um arquivo TypeScript.
10
+ *
11
+ * Comportamento (Req. 4.1–4.4, 4.6, 5.1–5.3):
12
+ * - Localiza `ImportDeclaration` de `@po-ui/ng-components` que contenham
13
+ * símbolos gauge e substitui os símbolos com equivalente conhecido
14
+ * (`gaugeSymbolMap`), preservando os demais símbolos do mesmo import.
15
+ * - Atualiza as referências desses símbolos no restante do arquivo
16
+ * (`declarations`/`imports`/`exports` de `@NgModule` e `imports` de
17
+ * componentes standalone / configuração da aplicação).
18
+ * - Se um símbolo gauge importado NÃO possui equivalente
19
+ * (`gaugeSymbolsWithoutEquivalent`), o arquivo é mantido inalterado e um
20
+ * `MigrationWarning` é registrado (Req. 4.4).
21
+ * - Deduplica símbolos-alvo já importados, evitando imports/itens duplicados
22
+ * (idempotência, Req. 7.4).
23
+ * - Preserva indentação, quebras de linha e a ordenação das importações não
24
+ * relacionadas ao gauge (Req. 4.6).
25
+ *
26
+ * @param source Conteúdo original do arquivo `.ts`.
27
+ * @param isStandalone Indica se o projeto é standalone (mantido por contrato de
28
+ * interface; a transformação de referências é a mesma para ambas as
29
+ * arquiteturas).
30
+ */
31
+ function migrateTypeScriptContent(source, isStandalone) {
32
+ var _a, _b;
33
+ void isStandalone;
34
+ const warnings = [];
35
+ const sourceFile = ts.createSourceFile('file.ts', source, ts.ScriptTarget.Latest, /* setParentNodes */ true);
36
+ const poUiImports = collectPoUiImports(sourceFile);
37
+ if (poUiImports.length === 0) {
38
+ return { content: source, changed: false, warnings };
39
+ }
40
+ const gaugeSpecifiers = [];
41
+ const withoutEquivalent = [];
42
+ const allImportedNames = new Set();
43
+ for (const decl of poUiImports) {
44
+ const named = getNamedImports(decl);
45
+ if (!named) {
46
+ continue;
47
+ }
48
+ for (const element of named.elements) {
49
+ const importedName = ((_a = element.propertyName) !== null && _a !== void 0 ? _a : element.name).text;
50
+ const localName = element.name.text;
51
+ allImportedNames.add(localName);
52
+ if (Object.prototype.hasOwnProperty.call(changes_1.gaugeSymbolMap, importedName)) {
53
+ gaugeSpecifiers.push({
54
+ specifier: element,
55
+ importedName,
56
+ localName,
57
+ aliased: element.propertyName !== undefined,
58
+ namedImports: named,
59
+ decl
60
+ });
61
+ }
62
+ else if (changes_1.gaugeSymbolsWithoutEquivalent.includes(importedName)) {
63
+ withoutEquivalent.push(element);
64
+ }
65
+ }
66
+ }
67
+ // Req. 4.4 — símbolo gauge sem equivalente: mantém o arquivo inalterado e
68
+ // registra advertência para revisão manual.
69
+ if (withoutEquivalent.length > 0) {
70
+ for (const element of withoutEquivalent) {
71
+ const importedName = ((_b = element.propertyName) !== null && _b !== void 0 ? _b : element.name).text;
72
+ warnings.push({
73
+ filePath: '',
74
+ line: lineOf(sourceFile, element),
75
+ reason: `O símbolo "${importedName}" do po-gauge não possui equivalente no po-chart. ` +
76
+ `Revise manualmente este arquivo antes de removê-lo.`
77
+ });
78
+ }
79
+ return { content: source, changed: false, warnings };
80
+ }
81
+ if (gaugeSpecifiers.length === 0) {
82
+ return { content: source, changed: false, warnings };
83
+ }
84
+ const edits = [];
85
+ // Nomes locais (sem alias) que serão substituídos por seu equivalente nas
86
+ // referências ao longo do arquivo.
87
+ const referenceRenameMap = new Map();
88
+ buildImportEdits(sourceFile, gaugeSpecifiers, allImportedNames, referenceRenameMap, edits);
89
+ buildReferenceEdits(sourceFile, poUiImports, referenceRenameMap, edits);
90
+ if (edits.length === 0) {
91
+ return { content: source, changed: false, warnings };
92
+ }
93
+ const content = applyEdits(source, edits);
94
+ return { content, changed: content !== source, warnings };
95
+ }
96
+ /** Coleta as `ImportDeclaration` cujo módulo é `@po-ui/ng-components`. */
97
+ function collectPoUiImports(sourceFile) {
98
+ const imports = [];
99
+ for (const statement of sourceFile.statements) {
100
+ if (ts.isImportDeclaration(statement) &&
101
+ ts.isStringLiteral(statement.moduleSpecifier) &&
102
+ statement.moduleSpecifier.text === changes_1.PO_UI_PACKAGE) {
103
+ imports.push(statement);
104
+ }
105
+ }
106
+ return imports;
107
+ }
108
+ /** Retorna os `NamedImports` de uma declaração, quando existirem. */
109
+ function getNamedImports(decl) {
110
+ var _a;
111
+ const bindings = (_a = decl.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings;
112
+ return bindings && ts.isNamedImports(bindings) ? bindings : undefined;
113
+ }
114
+ /**
115
+ * Gera as edições sobre as declarações de importação, renomeando ou removendo
116
+ * (deduplicando) os símbolos gauge, e alimenta o mapa de renomeação de
117
+ * referências.
118
+ */
119
+ function buildImportEdits(sourceFile, gaugeSpecifiers, allImportedNames, referenceRenameMap, edits) {
120
+ var _a;
121
+ // Alvos já presentes como símbolos importados que NÃO são símbolos gauge.
122
+ const gaugeLocalNames = new Set(gaugeSpecifiers.map(info => info.localName));
123
+ const presentTargets = new Set();
124
+ allImportedNames.forEach(name => {
125
+ if (!gaugeLocalNames.has(name)) {
126
+ presentTargets.add(name);
127
+ }
128
+ });
129
+ // Índice: declaração -> símbolos gauge que serão removidos (dedup).
130
+ const removedByDecl = new Map();
131
+ const declSpecifierEdits = [];
132
+ for (const info of gaugeSpecifiers) {
133
+ const target = changes_1.gaugeSymbolMap[info.importedName];
134
+ if (info.aliased) {
135
+ // Import com alias: renomeia apenas o nome importado, preservando o alias
136
+ // local. As referências (que usam o alias) permanecem inalteradas.
137
+ declSpecifierEdits.push({ info, remove: false, target });
138
+ continue;
139
+ }
140
+ // Referências ao símbolo gauge passam a apontar para o equivalente.
141
+ referenceRenameMap.set(info.localName, target);
142
+ // Dedup: se o alvo já é importado, remove o símbolo gauge em vez de renomear.
143
+ const alreadyPresent = presentTargets.has(target);
144
+ if (alreadyPresent) {
145
+ declSpecifierEdits.push({ info, remove: true, target });
146
+ const set = (_a = removedByDecl.get(info.decl)) !== null && _a !== void 0 ? _a : new Set();
147
+ set.add(info.specifier);
148
+ removedByDecl.set(info.decl, set);
149
+ }
150
+ else {
151
+ declSpecifierEdits.push({ info, remove: false, target });
152
+ presentTargets.add(target);
153
+ }
154
+ }
155
+ // Declarações cujos elementos serão TODOS removidos são apagadas por inteiro.
156
+ const fullyRemovedDecls = new Set();
157
+ removedByDecl.forEach((removedSet, decl) => {
158
+ const named = getNamedImports(decl);
159
+ if (named && named.elements.every(element => removedSet.has(element))) {
160
+ fullyRemovedDecls.add(decl);
161
+ }
162
+ });
163
+ for (const decl of fullyRemovedDecls) {
164
+ edits.push(removeDeclarationEdit(sourceFile, decl));
165
+ }
166
+ for (const { info, remove, target } of declSpecifierEdits) {
167
+ if (fullyRemovedDecls.has(info.decl)) {
168
+ continue;
169
+ }
170
+ if (remove) {
171
+ edits.push(removeSpecifierEdit(sourceFile, info.namedImports, info.specifier));
172
+ }
173
+ else if (info.aliased && info.specifier.propertyName) {
174
+ edits.push({
175
+ start: info.specifier.propertyName.getStart(sourceFile),
176
+ end: info.specifier.propertyName.getEnd(),
177
+ text: target
178
+ });
179
+ }
180
+ else {
181
+ edits.push({
182
+ start: info.specifier.name.getStart(sourceFile),
183
+ end: info.specifier.name.getEnd(),
184
+ text: target
185
+ });
186
+ }
187
+ }
188
+ }
189
+ /**
190
+ * Gera as edições sobre as referências dos símbolos gauge no corpo do arquivo
191
+ * (fora das declarações de importação), com deduplicação dentro de arrays.
192
+ */
193
+ function buildReferenceEdits(sourceFile, poUiImports, referenceRenameMap, edits) {
194
+ if (referenceRenameMap.size === 0) {
195
+ return;
196
+ }
197
+ const importRanges = poUiImports.map(decl => ({ start: decl.getStart(sourceFile), end: decl.getEnd() }));
198
+ // Rastreia os alvos já presentes/emitidos por array, para evitar duplicatas
199
+ // em listas como `declarations`/`imports`/`exports`.
200
+ const emittedTargetsByArray = new Map();
201
+ const visit = (node) => {
202
+ var _a;
203
+ if (ts.isIdentifier(node) && referenceRenameMap.has(node.text) && !isWithinRanges(node, sourceFile, importRanges)) {
204
+ if (isRenameableReference(node)) {
205
+ // O `!` é necessário sob strictNullChecks (build de schematics): a
206
+ // condição do `if` acima garante que a chave existe no mapa, mas o
207
+ // compilador nao relaciona Map.has() com Map.get(), entao get() ainda
208
+ // e `string | undefined`. A regra @typescript-eslint/no-unnecessary-
209
+ // type-assertion gera um falso positivo aqui.
210
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
211
+ const target = referenceRenameMap.get(node.text);
212
+ const array = getContainingArrayElement(node);
213
+ if (array) {
214
+ const emitted = (_a = emittedTargetsByArray.get(array)) !== null && _a !== void 0 ? _a : collectExistingArrayNames(array, referenceRenameMap);
215
+ emittedTargetsByArray.set(array, emitted);
216
+ if (emitted.has(target)) {
217
+ // Alvo já presente no array: remove o elemento gauge (dedup).
218
+ edits.push(removeArrayElementEdit(sourceFile, array, node));
219
+ return;
220
+ }
221
+ emitted.add(target);
222
+ }
223
+ edits.push({ start: node.getStart(sourceFile), end: node.getEnd(), text: target });
224
+ }
225
+ return;
226
+ }
227
+ ts.forEachChild(node, visit);
228
+ };
229
+ visit(sourceFile);
230
+ }
231
+ /** Verifica se o identificador é uma referência renomeável (não é chave/propriedade). */
232
+ function isRenameableReference(node) {
233
+ const parent = node.parent;
234
+ if (!parent) {
235
+ return true;
236
+ }
237
+ // `obj.PoGaugeModule` — não é referência ao símbolo importado.
238
+ if (ts.isPropertyAccessExpression(parent) && parent.name === node) {
239
+ return false;
240
+ }
241
+ // `{ PoGaugeModule: ... }` — chave de objeto, não é referência.
242
+ if (ts.isPropertyAssignment(parent) && parent.name === node) {
243
+ return false;
244
+ }
245
+ // `PoGaugeModule.prop` como qualificador de tipo.
246
+ if (ts.isQualifiedName(parent) && parent.right === node) {
247
+ return false;
248
+ }
249
+ return true;
250
+ }
251
+ /** Retorna o `ArrayLiteralExpression` do qual o nó é elemento direto, se houver. */
252
+ function getContainingArrayElement(node) {
253
+ const parent = node.parent;
254
+ if (parent && ts.isArrayLiteralExpression(parent) && parent.elements.indexOf(node) !== -1) {
255
+ return parent;
256
+ }
257
+ return undefined;
258
+ }
259
+ /** Coleta os nomes já existentes em um array, mapeando símbolos gauge para seus alvos. */
260
+ function collectExistingArrayNames(array, referenceRenameMap) {
261
+ const names = new Set();
262
+ for (const element of array.elements) {
263
+ // Nomes que não são gauge já contam como presentes com seu próprio nome.
264
+ if (ts.isIdentifier(element) && !referenceRenameMap.has(element.text)) {
265
+ names.add(element.text);
266
+ }
267
+ }
268
+ return names;
269
+ }
270
+ /** Indica se um nó está contido em alguma das faixas informadas. */
271
+ function isWithinRanges(node, sourceFile, ranges) {
272
+ const start = node.getStart(sourceFile);
273
+ return ranges.some(range => start >= range.start && start < range.end);
274
+ }
275
+ /** Cria uma edição que remove um `ImportSpecifier`, cuidando das vírgulas. */
276
+ function removeSpecifierEdit(sourceFile, named, element) {
277
+ const elements = named.elements;
278
+ const index = elements.indexOf(element);
279
+ if (index < elements.length - 1) {
280
+ // Remove do início do elemento até o início do próximo (inclui a vírgula).
281
+ return { start: element.getStart(sourceFile), end: elements[index + 1].getStart(sourceFile), text: '' };
282
+ }
283
+ // Último elemento: remove do fim do elemento anterior (inclui a vírgula).
284
+ return { start: elements[index - 1].getEnd(), end: element.getEnd(), text: '' };
285
+ }
286
+ /** Cria uma edição que remove um elemento de array, cuidando das vírgulas. */
287
+ function removeArrayElementEdit(sourceFile, array, element) {
288
+ const elements = array.elements;
289
+ const index = elements.indexOf(element);
290
+ if (index < elements.length - 1) {
291
+ return { start: element.getStart(sourceFile), end: elements[index + 1].getStart(sourceFile), text: '' };
292
+ }
293
+ if (index > 0) {
294
+ return { start: elements[index - 1].getEnd(), end: element.getEnd(), text: '' };
295
+ }
296
+ // Único elemento do array.
297
+ return { start: element.getStart(sourceFile), end: element.getEnd(), text: '' };
298
+ }
299
+ /** Cria uma edição que remove uma `ImportDeclaration` inteira, incluindo a quebra de linha. */
300
+ function removeDeclarationEdit(sourceFile, decl) {
301
+ const start = decl.getStart(sourceFile);
302
+ let end = decl.getEnd();
303
+ const text = sourceFile.getFullText();
304
+ // Consome uma eventual quebra de linha subsequente para não deixar linha vazia.
305
+ if (text[end] === '\r' && text[end + 1] === '\n') {
306
+ end += 2;
307
+ }
308
+ else if (text[end] === '\n' || text[end] === '\r') {
309
+ end += 1;
310
+ }
311
+ return { start, end, text: '' };
312
+ }
313
+ /** Número da linha (1-indexado) em que o nó inicia. */
314
+ function lineOf(sourceFile, node) {
315
+ return sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile)).line + 1;
316
+ }
317
+ /** Aplica as edições sobre o conteúdo, do fim para o início, preservando offsets. */
318
+ function applyEdits(source, edits) {
319
+ const ordered = [...edits].sort((a, b) => b.start - a.start);
320
+ let result = source;
321
+ for (const edit of ordered) {
322
+ result = result.slice(0, edit.start) + edit.text + result.slice(edit.end);
323
+ }
324
+ return result;
325
+ }
326
+ //# sourceMappingURL=gauge-ts-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gauge-ts-migration.js","sourceRoot":"","sources":["../../../../../projects/ui/schematics/ng-update/v22/gauge-ts-migration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { Rule, Tree } from '@angular-devkit/schematics';
2
+ /**
3
+ * Extrai o `major` declarado para o `@angular/core` no `package.json` do
4
+ * `Projeto_Consumidor`.
5
+ *
6
+ * Retorna `null` quando o `package.json` não existe, não é um JSON válido, a
7
+ * dependência não está declarada ou o range não permite inferir um `major`
8
+ * (por exemplo `*`, `latest` ou um caminho `file:`). Nesses casos a migração
9
+ * prossegue, para não bloquear cenários legítimos como monorepos que resolvem
10
+ * o Angular por outro meio.
11
+ */
12
+ export declare function getAngularMajor(tree: Tree): number | null;
13
+ /**
14
+ * Ponto de entrada da `migration-v22`.
15
+ *
16
+ * Não realiza perguntas interativas: `readline` dentro do `ng update` provoca
17
+ * deadlock quando o `stdin` é um TTY. Em vez de perguntar, a checagem do
18
+ * pré-requisito do Angular é feita de forma determinística a partir do
19
+ * `package.json` do `Projeto_Consumidor`.
20
+ */
21
+ export default function (): Rule;
22
+ /**
23
+ * Regra adicionada à `chain` do `migration-v22` responsável por localizar e
24
+ * transformar os usos do componente removido `po-gauge` para `po-chart` com
25
+ * `p-type="gauge"`.
26
+ *
27
+ * Comportamento (Req. 1.1, 1.2, 1.3, 1.4):
28
+ * - Obtém a configuração do workspace via `getWorkspaceConfigGracefully`.
29
+ * - Se a configuração não pôde ser obtida, registra erro e encerra sem alterar
30
+ * nenhum arquivo.
31
+ * - Se não há nenhum projeto definido, registra aviso e encerra sem alterar
32
+ * nenhum arquivo.
33
+ * - Caso contrário, itera por todos os `Projeto_Consumidor`, delegando a
34
+ * migração de cada projeto para `migrateProject`, e ao final apresenta o
35
+ * `Resumo_Migracao` (Req. 6.4, 9.1).
36
+ *
37
+ * Observação: a composição desta regra na `chain` é realizada na task 8.1.
38
+ */
39
+ export declare function gaugeMigrationRule(): Rule;
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAngularMajor = getAngularMajor;
4
+ exports.default = default_1;
5
+ exports.gaugeMigrationRule = gaugeMigrationRule;
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
8
+ const package_config_1 = require("@po-ui/ng-schematics/package-config");
9
+ const project_1 = require("@po-ui/ng-schematics/project");
10
+ const ng_ast_utils_1 = require("@schematics/angular/utility/ng-ast-utils");
11
+ const changes_1 = require("./changes");
12
+ const gauge_html_migration_1 = require("./gauge-html-migration");
13
+ const gauge_ts_migration_1 = require("./gauge-ts-migration");
14
+ const migration_report_1 = require("./migration-report");
15
+ /** Versão mínima do Angular exigida pela v22 do `@po-ui/ng-components`. */
16
+ const MINIMUM_ANGULAR_MAJOR = 22;
17
+ /**
18
+ * Extrai o `major` declarado para o `@angular/core` no `package.json` do
19
+ * `Projeto_Consumidor`.
20
+ *
21
+ * Retorna `null` quando o `package.json` não existe, não é um JSON válido, a
22
+ * dependência não está declarada ou o range não permite inferir um `major`
23
+ * (por exemplo `*`, `latest` ou um caminho `file:`). Nesses casos a migração
24
+ * prossegue, para não bloquear cenários legítimos como monorepos que resolvem
25
+ * o Angular por outro meio.
26
+ */
27
+ function getAngularMajor(tree) {
28
+ var _a, _b, _c;
29
+ const buffer = tree.read('package.json');
30
+ if (!buffer) {
31
+ return null;
32
+ }
33
+ try {
34
+ const json = JSON.parse(buffer.toString('utf-8'));
35
+ const range = (_b = (_a = json === null || json === void 0 ? void 0 : json.dependencies) === null || _a === void 0 ? void 0 : _a['@angular/core']) !== null && _b !== void 0 ? _b : (_c = json === null || json === void 0 ? void 0 : json.devDependencies) === null || _c === void 0 ? void 0 : _c['@angular/core'];
36
+ if (!range) {
37
+ return null;
38
+ }
39
+ const match = /(\d+)\./.exec(range);
40
+ return match ? Number(match[1]) : null;
41
+ }
42
+ catch (_d) {
43
+ return null;
44
+ }
45
+ }
46
+ /**
47
+ * Ponto de entrada da `migration-v22`.
48
+ *
49
+ * Não realiza perguntas interativas: `readline` dentro do `ng update` provoca
50
+ * deadlock quando o `stdin` é um TTY. Em vez de perguntar, a checagem do
51
+ * pré-requisito do Angular é feita de forma determinística a partir do
52
+ * `package.json` do `Projeto_Consumidor`.
53
+ */
54
+ function default_1() {
55
+ return (tree, context) => {
56
+ const logger = context.logger;
57
+ const angularMajor = getAngularMajor(tree);
58
+ if (angularMajor !== null && angularMajor < MINIMUM_ANGULAR_MAJOR) {
59
+ logger.error(`A v22 do @po-ui/ng-components exige o Angular ${MINIMUM_ANGULAR_MAJOR}, mas o projeto declara ` +
60
+ `o Angular ${angularMajor}. Nenhum arquivo foi alterado.\n` +
61
+ `Atualize o Angular primeiro:\n` +
62
+ ` ng update @angular/core@${MINIMUM_ANGULAR_MAJOR} @angular/cli@${MINIMUM_ANGULAR_MAJOR}\n` +
63
+ `Consulte o guia oficial: https://angular.dev/update-guide`);
64
+ return tree;
65
+ }
66
+ return (0, schematics_1.chain)([
67
+ (0, package_config_1.updatePackageJson)('22.0.0-next.0', changes_1.updateDepedenciesVersion), // Req 8.1
68
+ gaugeMigrationRule(), // Req 8.2 (após versões, antes da instalação)
69
+ postUpdate() // Req 8.3 (NodePackageInstallTask)
70
+ ]);
71
+ };
72
+ }
73
+ /**
74
+ * Regra adicionada à `chain` do `migration-v22` responsável por localizar e
75
+ * transformar os usos do componente removido `po-gauge` para `po-chart` com
76
+ * `p-type="gauge"`.
77
+ *
78
+ * Comportamento (Req. 1.1, 1.2, 1.3, 1.4):
79
+ * - Obtém a configuração do workspace via `getWorkspaceConfigGracefully`.
80
+ * - Se a configuração não pôde ser obtida, registra erro e encerra sem alterar
81
+ * nenhum arquivo.
82
+ * - Se não há nenhum projeto definido, registra aviso e encerra sem alterar
83
+ * nenhum arquivo.
84
+ * - Caso contrário, itera por todos os `Projeto_Consumidor`, delegando a
85
+ * migração de cada projeto para `migrateProject`, e ao final apresenta o
86
+ * `Resumo_Migracao` (Req. 6.4, 9.1).
87
+ *
88
+ * Observação: a composição desta regra na `chain` é realizada na task 8.1.
89
+ */
90
+ function gaugeMigrationRule() {
91
+ return (tree, context) => {
92
+ var _a;
93
+ const logger = context.logger;
94
+ const workspace = (0, project_1.getWorkspaceConfigGracefully)(tree);
95
+ if (!workspace) {
96
+ // Req. 1.2 — falha ao obter a configuração do workspace
97
+ logger.error('Não foi possível obter a configuração do workspace. Nenhum arquivo foi alterado.');
98
+ return tree;
99
+ }
100
+ const projectNames = Object.keys((_a = workspace.projects) !== null && _a !== void 0 ? _a : {});
101
+ if (projectNames.length === 0) {
102
+ // Req. 1.3 — nenhum projeto definido no workspace
103
+ logger.info('Nenhum projeto encontrado no workspace. Nenhum arquivo foi alterado.');
104
+ return tree;
105
+ }
106
+ const report = (0, migration_report_1.createMigrationReport)();
107
+ // Req. 1.4 — itera por todos os projetos do workspace
108
+ for (const projectName of projectNames) {
109
+ migrateProject(tree, workspace, projectName, report, logger);
110
+ }
111
+ // Req. 6.4 / 9.1 — apresenta o Resumo_Migracao ao final da execução
112
+ (0, migration_report_1.printMigrationSummary)(report, logger);
113
+ return tree;
114
+ };
115
+ }
116
+ /**
117
+ * Migração por projeto (`Projeto_Consumidor`).
118
+ *
119
+ * Comportamento (Req. 1.6, 1.7, 1.8, 5.4, 5.5, 5.6):
120
+ * - Resolve a pasta de entrada (`lib` para `library`, `app` para `application`)
121
+ * e monta `sourceDir = ${sourceRoot}/${entryFolder}`, seguindo o mesmo padrão
122
+ * de `v20`/`v21`.
123
+ * - Se o diretório-fonte não existe ou está vazio, registra aviso identificando
124
+ * o projeto e prossegue para o próximo, sem encerrar a execução (Req. 1.6).
125
+ * - Resolve o `mainFile` via `getProjectMainFile` e determina a arquitetura com
126
+ * `isStandaloneApp` (Req. 5.4). Se o `mainFile` não pode ser localizado/lido,
127
+ * interrompe a migração deste projeto com erro (Req. 5.5). Se a arquitetura
128
+ * não pode ser determinada, idem, com mensagem específica (Req. 5.6). Em
129
+ * ambos os casos os arquivos do projeto permanecem inalterados.
130
+ * - Dispara a varredura recursiva (`scanDirectory`).
131
+ */
132
+ function migrateProject(tree, workspace, projectName, report, logger) {
133
+ var _a, _b;
134
+ const project = (0, project_1.getProjectFromWorkspace)(workspace, projectName);
135
+ if (!project) {
136
+ return;
137
+ }
138
+ // Req. 1.7 / 1.8 — pasta de entrada conforme o tipo do projeto.
139
+ const projectType = project.projectType === 'library' ? 'library' : 'application';
140
+ const entryFolder = projectType === 'library' ? 'lib' : 'app';
141
+ const sourceDir = `${project.sourceRoot}/${entryFolder}`;
142
+ // Req. 1.6 — diretório-fonte inexistente ou vazio: avisa e segue adiante.
143
+ const directory = tree.getDir(sourceDir);
144
+ if (directory.subfiles.length === 0 && directory.subdirs.length === 0) {
145
+ logger.warn(`[po-gauge] Projeto "${projectName}": o diretório-fonte "${sourceDir}" não existe ou está vazio. ` +
146
+ `Nenhum arquivo foi alterado neste projeto.`);
147
+ return;
148
+ }
149
+ // Req. 5.4 / 5.5 — localizar o arquivo de entrada principal (main).
150
+ let mainFile;
151
+ try {
152
+ mainFile = (0, project_1.getProjectMainFile)(project);
153
+ }
154
+ catch (error) {
155
+ logger.error(`[po-gauge] Projeto "${projectName}": não foi possível localizar o arquivo de entrada principal ` +
156
+ `(main) a partir do angular.json. Nenhum arquivo foi alterado neste projeto. ` +
157
+ `Detalhe: ${(_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error}`);
158
+ return;
159
+ }
160
+ if (!mainFile || !tree.exists(mainFile)) {
161
+ logger.error(`[po-gauge] Projeto "${projectName}": o arquivo de entrada principal (main) não foi encontrado ou ` +
162
+ `não pôde ser lido. Nenhum arquivo foi alterado neste projeto.`);
163
+ return;
164
+ }
165
+ // Req. 5.4 / 5.6 — determinar a arquitetura (NgModule x standalone).
166
+ let isStandalone;
167
+ try {
168
+ isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(tree, mainFile);
169
+ }
170
+ catch (error) {
171
+ logger.error(`[po-gauge] Projeto "${projectName}": não foi possível determinar a arquitetura do projeto ` +
172
+ `(NgModule ou standalone) a partir de "${mainFile}". Nenhum arquivo foi alterado neste projeto. ` +
173
+ `Detalhe: ${(_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : error}`);
174
+ return;
175
+ }
176
+ const ctx = {
177
+ projectName,
178
+ projectType,
179
+ sourceDir,
180
+ isStandalone
181
+ };
182
+ // Dispara a varredura recursiva dos arquivos `.html`/`.ts` do projeto.
183
+ scanDirectory(tree, sourceDir, ctx, report, logger);
184
+ }
185
+ /**
186
+ * Varredura recursiva do diretório-fonte de um `Projeto_Consumidor`.
187
+ *
188
+ * Comportamento (Req. 1.4, 1.5, 2.8, 4.6, 7.3, 7.5, 9.1):
189
+ * - Percorre recursivamente todos os subdiretórios sem limite de profundidade,
190
+ * reaproveitando o padrão de `v20`/`v21` (`tree.getDir(...)` com
191
+ * `subfiles`/`subdirs`) (Req. 1.4).
192
+ * - Processa apenas arquivos com extensão `.html` ou `.ts` (comparação
193
+ * case-insensitive); demais arquivos são ignorados sem alteração (Req. 1.5).
194
+ * - Para cada arquivo processado incrementa `report.filesScanned`, lê o
195
+ * conteúdo via `tree.read` e delega às transformações puras
196
+ * (`migrateHtmlContent` para `.html`, `migrateTypeScriptContent` para `.ts`).
197
+ * - Preenche o campo `filePath` das advertências com o caminho relativo do
198
+ * arquivo (as funções puras o deixam vazio) e as acumula em `report.warnings`
199
+ * (Req. 9.1).
200
+ * - Escreve com `tree.overwrite` somente quando o conteúdo transformado difere
201
+ * do original (Req. 2.8, 4.6, 7.3), incrementando `report.filesChanged`.
202
+ * - Em caso de exceção na escrita, preserva o arquivo original (sem aplicar
203
+ * alterações parciais) e registra erro identificando o arquivo, sem
204
+ * incrementar `report.filesChanged` (Req. 7.5).
205
+ */
206
+ function scanDirectory(tree, dirPath, ctx, report, logger) {
207
+ const directory = tree.getDir(dirPath);
208
+ // Req. 1.5 — processa apenas arquivos `.html`/`.ts` (case-insensitive).
209
+ directory.subfiles.forEach((file) => {
210
+ var _a;
211
+ const lowerName = file.toLowerCase();
212
+ const isHtml = lowerName.endsWith('.html');
213
+ const isTs = lowerName.endsWith('.ts');
214
+ if (!isHtml && !isTs) {
215
+ return;
216
+ }
217
+ const filePath = `${directory.path}/${file}`;
218
+ const buffer = tree.read(filePath);
219
+ if (!buffer) {
220
+ return;
221
+ }
222
+ const original = buffer.toString('utf-8');
223
+ // Req. 9.1 — contabiliza cada arquivo `.html`/`.ts` analisado.
224
+ report.filesScanned++;
225
+ const result = isHtml ? (0, gauge_html_migration_1.migrateHtmlContent)(original) : (0, gauge_ts_migration_1.migrateTypeScriptContent)(original, ctx.isStandalone);
226
+ // Preenche o `filePath` (deixado vazio pelas funções puras) e acumula.
227
+ result.warnings.forEach((warning) => {
228
+ report.warnings.push(Object.assign(Object.assign({}, warning), { filePath }));
229
+ });
230
+ // Req. 2.8 / 4.6 / 7.3 — escreve somente quando o conteúdo efetivamente mudou.
231
+ if (result.content !== original) {
232
+ try {
233
+ tree.overwrite(filePath, result.content);
234
+ report.filesChanged++;
235
+ }
236
+ catch (error) {
237
+ // Req. 7.5 — falha na escrita: preserva o original e registra o erro.
238
+ logger.error(`[po-gauge] Falha ao gravar o arquivo "${filePath}". O conteúdo original foi preservado ` +
239
+ `(nenhuma alteração parcial foi aplicada). Detalhe: ${(_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error}`);
240
+ }
241
+ }
242
+ });
243
+ // Req. 1.4 — varredura recursiva dos subdiretórios, sem limite de profundidade.
244
+ directory.subdirs.forEach((subdir) => {
245
+ scanDirectory(tree, `${directory.path}/${subdir}`, ctx, report, logger);
246
+ });
247
+ }
248
+ function postUpdate() {
249
+ return (_, context) => {
250
+ context.addTask(new tasks_1.NodePackageInstallTask());
251
+ };
252
+ }
253
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/ui/schematics/ng-update/v22/index.ts"],"names":[],"mappings":"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"}