@eui/core 22.0.0-alpha.3 → 22.0.0-alpha.5
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/CHANGELOG.md +171 -0
- package/docs/changelog.html +239 -0
- package/docs/interfaces/Edit-2.html +1 -1
- package/docs/interfaces/Edit-3.html +1 -1
- package/docs/interfaces/Edit-4.html +395 -0
- package/docs/interfaces/MigrateResult.html +356 -0
- package/docs/interfaces/Schema-10.html +1 -1
- package/docs/interfaces/Schema-11.html +1 -1
- package/docs/interfaces/Schema-12.html +1 -1
- package/docs/interfaces/Schema-13.html +1 -1
- package/docs/interfaces/Schema-15.html +1 -1
- package/docs/interfaces/Schema-16.html +1 -1
- package/docs/interfaces/Schema-17.html +1 -1
- package/docs/interfaces/Schema-18.html +1 -1
- package/docs/interfaces/Schema-20.html +1 -1
- package/docs/interfaces/Schema-21.html +1 -1
- package/docs/interfaces/Schema-22.html +368 -0
- package/docs/interfaces/Schema-5.html +1 -1
- package/docs/interfaces/Schema-6.html +1 -1
- package/docs/interfaces/Schema-8.html +1 -1
- package/docs/js/menu-wc.js +9 -0
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/documentation.json +2195 -323
- package/docs/llms.txt +162 -95
- package/docs/miscellaneous/functions.html +2137 -696
- package/docs/miscellaneous/variables.html +417 -10
- package/docs/overview.html +1 -1
- package/docs/properties.html +1 -1
- package/package.json +2 -2
- package/schematics/collection.json +5 -0
- package/schematics/migrate-all/index.js +1 -0
- package/schematics/migrate-all/index.js.map +1 -1
- package/schematics/migrate-to-signals/index.d.ts +24 -0
- package/schematics/migrate-to-signals/index.js +514 -0
- package/schematics/migrate-to-signals/index.js.map +1 -0
- package/schematics/migrate-to-signals/signal-map.d.ts +17 -0
- package/schematics/migrate-to-signals/signal-map.js +354 -0
- package/schematics/migrate-to-signals/signal-map.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/migrate-all/index.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/migrate-all/index.ts"],"names":[],"mappings":";;AASA,gCA2BC;AApCD,2DAAoE;AASpE,SAAgB,UAAU,CAAC,OAAyB;IAClD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;IAEhF,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sBAAS,EAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5D,IAAA,sBAAS,EAAC,kBAAkB,EAAE,IAAI,CAAC;QACnC,IAAA,sBAAS,EAAC,uBAAuB,EAAE,IAAI,CAAC;QACxC,IAAA,sBAAS,EAAC,mBAAmB,EAAE,IAAI,CAAC;QACpC,IAAA,sBAAS,EAAC,6BAA6B,EAAE,IAAI,CAAC;QAC9C,IAAA,sBAAS,EAAC,qBAAqB,EAAE,IAAI,CAAC;QACtC,IAAA,sBAAS,EAAC,yBAAyB,EAAE,IAAI,CAAC;QAC1C,IAAA,sBAAS,EAAC,sBAAsB,EAAE,IAAI,CAAC;QACvC,IAAA,sBAAS,EAAC,sBAAsB,EAAE,IAAI,CAAC;QACvC,IAAA,sBAAS,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrC,IAAA,sBAAS,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrC,IAAA,sBAAS,EAAC,+BAA+B,EAAE,IAAI,CAAC;QAChD,IAAA,sBAAS,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrC,IAAA,sBAAS,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrC,IAAA,sBAAS,EAAC,0BAA0B,EAAE,IAAI,CAAC;QAC3C,IAAA,sBAAS,EAAC,mBAAmB,EAAE,IAAI,CAAC;QACpC,IAAA,sBAAS,EAAC,uBAAuB,EAAE,IAAI,CAAC;QACxC,IAAA,sBAAS,EAAC,kBAAkB,EAAE,IAAI,CAAC;QACnC,IAAA,sBAAS,EAAC,qBAAqB,EAAE,IAAI,CAAC;QACtC,IAAA,sBAAS,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrC,IAAA,sBAAS,EAAC,iBAAiB,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK,EAAE,CAAC;QACxF,IAAA,sBAAS,EAAC,6BAA6B,EAAE,IAAI,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
interface Schema {
|
|
3
|
+
path?: string;
|
|
4
|
+
dryRun?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Migrates consumer code that accesses EUI component instances programmatically.
|
|
8
|
+
*
|
|
9
|
+
* When EUI migrated @Input() → input(), @ViewChild() → viewChild(), and
|
|
10
|
+
* @ContentChild() → contentChild(), properties that were plain class fields
|
|
11
|
+
* became signal getters. Consumers who access them via @ViewChild need to
|
|
12
|
+
* change `comp.prop` to `comp.prop()`.
|
|
13
|
+
*
|
|
14
|
+
* This schematic:
|
|
15
|
+
* 1. Finds @ViewChild / @ContentChild fields typed as EUI component classes
|
|
16
|
+
* 2. Resolves untyped @ViewChild('refName') by reading the component template
|
|
17
|
+
* and matching #refName to an EUI element tag/selector
|
|
18
|
+
* 3. Tracks which local variable names hold EUI component references (incl. aliases)
|
|
19
|
+
* 4. Rewrites property accesses on those references: `ref.prop` → `ref.prop()`
|
|
20
|
+
* (only for properties listed in the signal map)
|
|
21
|
+
* 5. Does NOT touch template bindings — those are unaffected by signal migrations
|
|
22
|
+
*/
|
|
23
|
+
export declare function migrateToSignals(options?: Schema): Rule;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.migrateToSignals = migrateToSignals;
|
|
37
|
+
const compiler_1 = require("@angular/compiler");
|
|
38
|
+
const ts = __importStar(require("typescript"));
|
|
39
|
+
const dry_run_1 = require("../utils/dry-run");
|
|
40
|
+
const signal_map_1 = require("./signal-map");
|
|
41
|
+
/**
|
|
42
|
+
* Migrates consumer code that accesses EUI component instances programmatically.
|
|
43
|
+
*
|
|
44
|
+
* When EUI migrated @Input() → input(), @ViewChild() → viewChild(), and
|
|
45
|
+
* @ContentChild() → contentChild(), properties that were plain class fields
|
|
46
|
+
* became signal getters. Consumers who access them via @ViewChild need to
|
|
47
|
+
* change `comp.prop` to `comp.prop()`.
|
|
48
|
+
*
|
|
49
|
+
* This schematic:
|
|
50
|
+
* 1. Finds @ViewChild / @ContentChild fields typed as EUI component classes
|
|
51
|
+
* 2. Resolves untyped @ViewChild('refName') by reading the component template
|
|
52
|
+
* and matching #refName to an EUI element tag/selector
|
|
53
|
+
* 3. Tracks which local variable names hold EUI component references (incl. aliases)
|
|
54
|
+
* 4. Rewrites property accesses on those references: `ref.prop` → `ref.prop()`
|
|
55
|
+
* (only for properties listed in the signal map)
|
|
56
|
+
* 5. Does NOT touch template bindings — those are unaffected by signal migrations
|
|
57
|
+
*/
|
|
58
|
+
function migrateToSignals(options = {}) {
|
|
59
|
+
return (tree, context) => {
|
|
60
|
+
const scanPath = options.path ? '/' + options.path.replace(/^\.?\//, '').replace(/\/$/, '') : '';
|
|
61
|
+
let fileCount = 0;
|
|
62
|
+
let propCount = 0;
|
|
63
|
+
visitDir(tree.getDir(scanPath || '/'), (path) => {
|
|
64
|
+
if (!path.endsWith('.ts'))
|
|
65
|
+
return;
|
|
66
|
+
// Skip spec files — test code may use different patterns
|
|
67
|
+
if (path.endsWith('.spec.ts'))
|
|
68
|
+
return;
|
|
69
|
+
const buffer = tree.read(path);
|
|
70
|
+
if (!buffer)
|
|
71
|
+
return;
|
|
72
|
+
const original = buffer.toString('utf-8');
|
|
73
|
+
// Fast bail: file must mention at least one EUI class name or have
|
|
74
|
+
// ViewChild/ContentChild with string refs (which might reference EUI elements)
|
|
75
|
+
if (!hasEuiReference(original) && !hasStringRefQuery(original))
|
|
76
|
+
return;
|
|
77
|
+
const result = migrateTypeScript(original, path, tree, context);
|
|
78
|
+
if (result.source !== original) {
|
|
79
|
+
if (options.dryRun) {
|
|
80
|
+
(0, dry_run_1.logDryRun)(context, `Would migrate ${result.editCount} signal property access(es) in ${path}`);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
tree.overwrite(path, result.source);
|
|
84
|
+
}
|
|
85
|
+
fileCount++;
|
|
86
|
+
propCount += result.editCount;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
context.logger.info(`Migrated ${propCount} property access(es) to signal getters in ${fileCount} file(s).`);
|
|
90
|
+
if (options.dryRun) {
|
|
91
|
+
(0, dry_run_1.logDryRunNote)(context);
|
|
92
|
+
}
|
|
93
|
+
return tree;
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** Quick check: does the file reference any EUI class name from the signal map? */
|
|
97
|
+
function hasEuiReference(source) {
|
|
98
|
+
for (const className of Object.keys(signal_map_1.EUI_SIGNAL_MAP)) {
|
|
99
|
+
if (source.includes(className))
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
/** Quick check: does the file have @ViewChild('...') or @ContentChild('...') with string refs? */
|
|
105
|
+
function hasStringRefQuery(source) {
|
|
106
|
+
return /(@ViewChild|@ContentChild|@ViewChildren|@ContentChildren)\s*\(\s*['"]/.test(source);
|
|
107
|
+
}
|
|
108
|
+
function migrateTypeScript(source, filePath, tree, context) {
|
|
109
|
+
const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
110
|
+
const edits = [];
|
|
111
|
+
// Phase 0: Build template ref map (#refName → EUI class name) from the component's template
|
|
112
|
+
const templateRefMap = buildTemplateRefMap(sourceFile, source, filePath, tree);
|
|
113
|
+
// Phase 1: Collect all variables/properties typed as EUI classes
|
|
114
|
+
const euiRefs = collectEuiReferences(sourceFile, source, templateRefMap);
|
|
115
|
+
if (euiRefs.size === 0) {
|
|
116
|
+
return { source, editCount: 0 };
|
|
117
|
+
}
|
|
118
|
+
// Phase 2: Find property accesses on those references and rewrite signal props
|
|
119
|
+
const visitNode = (node) => {
|
|
120
|
+
// Match: ref.prop (PropertyAccessExpression)
|
|
121
|
+
if (ts.isPropertyAccessExpression(node)) {
|
|
122
|
+
const rewrite = tryRewritePropertyAccess(node, euiRefs, sourceFile, source);
|
|
123
|
+
if (rewrite) {
|
|
124
|
+
edits.push(rewrite);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
ts.forEachChild(node, visitNode);
|
|
128
|
+
};
|
|
129
|
+
ts.forEachChild(sourceFile, visitNode);
|
|
130
|
+
if (edits.length === 0) {
|
|
131
|
+
return { source, editCount: 0 };
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
source: applyEdits(source, edits),
|
|
135
|
+
editCount: edits.length,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Scans the source file for class properties or variables typed as EUI component classes.
|
|
140
|
+
* Returns a map: localName → Set of signal property names.
|
|
141
|
+
*
|
|
142
|
+
* Handles:
|
|
143
|
+
* @ViewChild(EuiXxxComponent) name: EuiXxxComponent;
|
|
144
|
+
* @ViewChild(EuiXxxComponent) name!: EuiXxxComponent;
|
|
145
|
+
* @ViewChild('ref') name: EuiXxxComponent;
|
|
146
|
+
* @ContentChild(EuiXxxComponent) name: EuiXxxComponent;
|
|
147
|
+
* @ViewChild('ref') name: ElementRef; (resolved via template #ref → EUI selector)
|
|
148
|
+
* someVar: EuiXxxComponent; (typed class field, even without decorator)
|
|
149
|
+
* const alias = this.viewChildRef; (alias tracking)
|
|
150
|
+
*/
|
|
151
|
+
function collectEuiReferences(sourceFile, source, templateRefMap) {
|
|
152
|
+
const refs = new Map();
|
|
153
|
+
// Pass 1: collect directly-typed references
|
|
154
|
+
const visitDirect = (node) => {
|
|
155
|
+
// Class property declarations
|
|
156
|
+
if (ts.isPropertyDeclaration(node) && node.name && ts.isIdentifier(node.name)) {
|
|
157
|
+
const euiClass = resolveEuiClassName(node, sourceFile, templateRefMap);
|
|
158
|
+
if (euiClass && signal_map_1.EUI_SIGNAL_MAP[euiClass]) {
|
|
159
|
+
refs.set(node.name.text, signal_map_1.EUI_SIGNAL_MAP[euiClass]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Variable declarations (const x: EuiXxxComponent = ...)
|
|
163
|
+
if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name)) {
|
|
164
|
+
const typeName = getTypeAnnotationName(node.type);
|
|
165
|
+
if (typeName && signal_map_1.EUI_SIGNAL_MAP[typeName]) {
|
|
166
|
+
refs.set(node.name.text, signal_map_1.EUI_SIGNAL_MAP[typeName]);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Parameter declarations (method(ref: EuiXxxComponent))
|
|
170
|
+
if (ts.isParameter(node) && ts.isIdentifier(node.name)) {
|
|
171
|
+
const typeName = getTypeAnnotationName(node.type);
|
|
172
|
+
if (typeName && signal_map_1.EUI_SIGNAL_MAP[typeName]) {
|
|
173
|
+
refs.set(node.name.text, signal_map_1.EUI_SIGNAL_MAP[typeName]);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
ts.forEachChild(node, visitDirect);
|
|
177
|
+
};
|
|
178
|
+
ts.forEachChild(sourceFile, visitDirect);
|
|
179
|
+
// Pass 2: track aliases — variables assigned from already-tracked references
|
|
180
|
+
// e.g. const alias = this.viewChildRef; or const alias = someParam;
|
|
181
|
+
const visitAlias = (node) => {
|
|
182
|
+
if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name) && node.initializer) {
|
|
183
|
+
// Skip if already tracked (has explicit type annotation)
|
|
184
|
+
if (refs.has(node.name.text)) {
|
|
185
|
+
ts.forEachChild(node, visitAlias);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const aliasedRef = resolveRefName(node.initializer);
|
|
189
|
+
if (aliasedRef && refs.has(aliasedRef)) {
|
|
190
|
+
refs.set(node.name.text, refs.get(aliasedRef));
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
ts.forEachChild(node, visitAlias);
|
|
194
|
+
};
|
|
195
|
+
ts.forEachChild(sourceFile, visitAlias);
|
|
196
|
+
return refs;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Resolves the EUI class name from a property declaration.
|
|
200
|
+
* Checks: type annotation → decorator class argument → template ref map.
|
|
201
|
+
*/
|
|
202
|
+
function resolveEuiClassName(node, sourceFile, templateRefMap) {
|
|
203
|
+
// Check type annotation first
|
|
204
|
+
const typeName = getTypeAnnotationName(node.type);
|
|
205
|
+
if (typeName && signal_map_1.EUI_SIGNAL_MAP[typeName]) {
|
|
206
|
+
return typeName;
|
|
207
|
+
}
|
|
208
|
+
// Check generic type argument: ElementRef<EuiXxxComponent>
|
|
209
|
+
if (node.type && ts.isTypeReferenceNode(node.type) && node.type.typeArguments?.length) {
|
|
210
|
+
const genericArg = getTypeAnnotationName(node.type.typeArguments[0]);
|
|
211
|
+
if (genericArg && signal_map_1.EUI_SIGNAL_MAP[genericArg]) {
|
|
212
|
+
return genericArg;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// Check decorator arguments: @ViewChild(EuiXxxComponent) or @ViewChild('refName')
|
|
216
|
+
if (node.modifiers) {
|
|
217
|
+
for (const modifier of node.modifiers) {
|
|
218
|
+
if (!ts.isDecorator(modifier))
|
|
219
|
+
continue;
|
|
220
|
+
if (!ts.isCallExpression(modifier.expression))
|
|
221
|
+
continue;
|
|
222
|
+
const decoratorName = getDecoratorName(modifier.expression);
|
|
223
|
+
if (!decoratorName)
|
|
224
|
+
continue;
|
|
225
|
+
if (!['ViewChild', 'ViewChildren', 'ContentChild', 'ContentChildren'].includes(decoratorName))
|
|
226
|
+
continue;
|
|
227
|
+
const args = modifier.expression.arguments;
|
|
228
|
+
if (args.length > 0) {
|
|
229
|
+
const firstArg = args[0];
|
|
230
|
+
// @ViewChild(EuiXxxComponent) — class reference
|
|
231
|
+
if (ts.isIdentifier(firstArg) && signal_map_1.EUI_SIGNAL_MAP[firstArg.text]) {
|
|
232
|
+
return firstArg.text;
|
|
233
|
+
}
|
|
234
|
+
// @ViewChild('refName') — string template ref, resolve via template
|
|
235
|
+
if (ts.isStringLiteralLike(firstArg)) {
|
|
236
|
+
const refName = firstArg.text;
|
|
237
|
+
const euiClass = templateRefMap.get(refName);
|
|
238
|
+
if (euiClass && signal_map_1.EUI_SIGNAL_MAP[euiClass]) {
|
|
239
|
+
return euiClass;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
function getDecoratorName(callExpr) {
|
|
248
|
+
if (ts.isIdentifier(callExpr.expression)) {
|
|
249
|
+
return callExpr.expression.text;
|
|
250
|
+
}
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
function getTypeAnnotationName(typeNode) {
|
|
254
|
+
if (!typeNode)
|
|
255
|
+
return null;
|
|
256
|
+
if (ts.isTypeReferenceNode(typeNode) && ts.isIdentifier(typeNode.typeName)) {
|
|
257
|
+
return typeNode.typeName.text;
|
|
258
|
+
}
|
|
259
|
+
return null;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Checks if a property access `ref.prop` should be rewritten to `ref.prop()`.
|
|
263
|
+
*
|
|
264
|
+
* We rewrite if:
|
|
265
|
+
* - `ref` is tracked in euiRefs
|
|
266
|
+
* - `prop` is in the signal set for that EUI class
|
|
267
|
+
* - The access is NOT already a call expression (not `ref.prop()` or `ref.prop(args)`)
|
|
268
|
+
* - The access is NOT a write target (not `ref.prop = value`)
|
|
269
|
+
* - The access is NOT a template binding argument (those are unaffected)
|
|
270
|
+
*/
|
|
271
|
+
function tryRewritePropertyAccess(node, euiRefs, sourceFile, source) {
|
|
272
|
+
const propName = node.name.text;
|
|
273
|
+
// Resolve the reference name — handle `this.ref.prop` and `ref.prop`
|
|
274
|
+
const refName = resolveRefName(node.expression);
|
|
275
|
+
if (!refName)
|
|
276
|
+
return null;
|
|
277
|
+
const signalProps = euiRefs.get(refName);
|
|
278
|
+
if (!signalProps || !signalProps.has(propName))
|
|
279
|
+
return null;
|
|
280
|
+
// Skip if parent is already a call expression on this property: ref.prop(...)
|
|
281
|
+
if (ts.isCallExpression(node.parent) && node.parent.expression === node) {
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
// Skip if this is the left side of an assignment: ref.prop = value
|
|
285
|
+
if (ts.isBinaryExpression(node.parent) &&
|
|
286
|
+
node.parent.operatorToken.kind === ts.SyntaxKind.EqualsToken &&
|
|
287
|
+
node.parent.left === node) {
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
// Skip if this is a compound assignment: ref.prop += value, ref.prop &&= value, etc.
|
|
291
|
+
if (ts.isBinaryExpression(node.parent) && isAssignmentOperator(node.parent.operatorToken.kind) && node.parent.left === node) {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
// Skip if this is used with delete: delete ref.prop
|
|
295
|
+
if (ts.isDeleteExpression(node.parent) && node.parent.expression === node) {
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
// Skip if inside a typeof: typeof ref.prop
|
|
299
|
+
if (ts.isTypeOfExpression(node.parent) && node.parent.expression === node) {
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
// Skip property access chains that go deeper: ref.prop.something → ref.prop().something
|
|
303
|
+
// This IS correct — we still want to add ()
|
|
304
|
+
// Rewrite: insert () after the property name
|
|
305
|
+
const end = node.name.getEnd();
|
|
306
|
+
return {
|
|
307
|
+
start: end,
|
|
308
|
+
end: end,
|
|
309
|
+
replacement: '()',
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function isAssignmentOperator(kind) {
|
|
313
|
+
return kind >= ts.SyntaxKind.FirstAssignment && kind <= ts.SyntaxKind.LastAssignment;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Resolves a reference name from an expression.
|
|
317
|
+
* Handles: `ref`, `this.ref`, `this._ref`
|
|
318
|
+
*/
|
|
319
|
+
function resolveRefName(expr) {
|
|
320
|
+
// Direct identifier: ref.prop
|
|
321
|
+
if (ts.isIdentifier(expr)) {
|
|
322
|
+
return expr.text;
|
|
323
|
+
}
|
|
324
|
+
// this.ref.prop
|
|
325
|
+
if (ts.isPropertyAccessExpression(expr) && expr.expression.kind === ts.SyntaxKind.ThisKeyword) {
|
|
326
|
+
return expr.name.text;
|
|
327
|
+
}
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
// ---------------------------------------------------------------------------
|
|
331
|
+
// Template ref resolution
|
|
332
|
+
// ---------------------------------------------------------------------------
|
|
333
|
+
/**
|
|
334
|
+
* Builds a map of template reference variable names (#ref) to EUI class names.
|
|
335
|
+
*
|
|
336
|
+
* Parses the component's template (inline or external) and finds elements like:
|
|
337
|
+
* <eui-alert #myAlert> → myAlert → EuiAlertComponent
|
|
338
|
+
* <input euiAutocomplete #ac> → ac → EuiAutocompleteComponent
|
|
339
|
+
*
|
|
340
|
+
* Returns Map<refName, euiClassName>.
|
|
341
|
+
*/
|
|
342
|
+
function buildTemplateRefMap(sourceFile, source, filePath, tree) {
|
|
343
|
+
const refMap = new Map();
|
|
344
|
+
// Find @Component decorator
|
|
345
|
+
const componentMeta = findComponentMetadata(sourceFile, source);
|
|
346
|
+
if (!componentMeta)
|
|
347
|
+
return refMap;
|
|
348
|
+
let templateSource = null;
|
|
349
|
+
if (componentMeta.inlineTemplate !== null) {
|
|
350
|
+
templateSource = componentMeta.inlineTemplate;
|
|
351
|
+
}
|
|
352
|
+
else if (componentMeta.templateUrl) {
|
|
353
|
+
// Resolve templateUrl relative to the TS file
|
|
354
|
+
const dir = filePath.substring(0, filePath.lastIndexOf('/'));
|
|
355
|
+
const templatePath = `${dir}/${componentMeta.templateUrl}`;
|
|
356
|
+
const buffer = tree.read(templatePath);
|
|
357
|
+
if (buffer) {
|
|
358
|
+
templateSource = buffer.toString('utf-8');
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
if (!templateSource)
|
|
362
|
+
return refMap;
|
|
363
|
+
// Parse the template and collect #refs
|
|
364
|
+
try {
|
|
365
|
+
const parsed = (0, compiler_1.parseTemplate)(templateSource, '', { preserveWhitespaces: true });
|
|
366
|
+
collectTemplateRefs(parsed.nodes, refMap);
|
|
367
|
+
}
|
|
368
|
+
catch {
|
|
369
|
+
// Template parse failure — silently skip (might be malformed or use third-party syntax)
|
|
370
|
+
}
|
|
371
|
+
return refMap;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Extracts @Component metadata: templateUrl or inline template content.
|
|
375
|
+
*/
|
|
376
|
+
function findComponentMetadata(sourceFile, source) {
|
|
377
|
+
let result = null;
|
|
378
|
+
const visit = (node) => {
|
|
379
|
+
if (result)
|
|
380
|
+
return;
|
|
381
|
+
if (ts.isDecorator(node) && ts.isCallExpression(node.expression)) {
|
|
382
|
+
const name = getDecoratorName(node.expression);
|
|
383
|
+
if (name !== 'Component') {
|
|
384
|
+
ts.forEachChild(node, visit);
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const args = node.expression.arguments;
|
|
388
|
+
if (args.length === 0 || !ts.isObjectLiteralExpression(args[0])) {
|
|
389
|
+
ts.forEachChild(node, visit);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
const meta = {
|
|
393
|
+
templateUrl: null,
|
|
394
|
+
inlineTemplate: null,
|
|
395
|
+
};
|
|
396
|
+
for (const prop of args[0].properties) {
|
|
397
|
+
if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name))
|
|
398
|
+
continue;
|
|
399
|
+
if (prop.name.text === 'templateUrl') {
|
|
400
|
+
const init = unwrapExpression(prop.initializer);
|
|
401
|
+
if (ts.isStringLiteralLike(init)) {
|
|
402
|
+
meta.templateUrl = init.text;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
if (prop.name.text === 'template') {
|
|
406
|
+
const init = unwrapExpression(prop.initializer);
|
|
407
|
+
if (ts.isStringLiteralLike(init)) {
|
|
408
|
+
meta.inlineTemplate = init.text;
|
|
409
|
+
}
|
|
410
|
+
else if (ts.isNoSubstitutionTemplateLiteral(init)) {
|
|
411
|
+
meta.inlineTemplate = init.text;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
result = meta;
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
ts.forEachChild(node, visit);
|
|
419
|
+
};
|
|
420
|
+
ts.forEachChild(sourceFile, visit);
|
|
421
|
+
return result;
|
|
422
|
+
}
|
|
423
|
+
function unwrapExpression(expression) {
|
|
424
|
+
let current = expression;
|
|
425
|
+
while (ts.isParenthesizedExpression(current))
|
|
426
|
+
current = current.expression;
|
|
427
|
+
return current;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Recursively walks template AST nodes, collecting #refName → EUI class name mappings.
|
|
431
|
+
*
|
|
432
|
+
* For each element with a template reference (#ref), we try to resolve its EUI class:
|
|
433
|
+
* 1. Match element tag name against EUI_SELECTOR_TO_CLASS (e.g. 'eui-alert' → EuiAlertComponent)
|
|
434
|
+
* 2. Match element attributes against attribute selectors (e.g. [euiAutocomplete] → EuiAutocompleteComponent)
|
|
435
|
+
*/
|
|
436
|
+
function collectTemplateRefs(nodes, refMap) {
|
|
437
|
+
for (const node of nodes) {
|
|
438
|
+
if (node instanceof compiler_1.TmplAstElement) {
|
|
439
|
+
if (node.references && node.references.length > 0) {
|
|
440
|
+
const euiClass = resolveElementToEuiClass(node);
|
|
441
|
+
if (euiClass) {
|
|
442
|
+
for (const ref of node.references) {
|
|
443
|
+
refMap.set(ref.name, euiClass);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
collectTemplateRefs(node.children, refMap);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Given a template element, resolves it to an EUI class name by checking:
|
|
453
|
+
* 1. Tag name: <eui-alert> → look up 'eui-alert' in EUI_SELECTOR_TO_CLASS
|
|
454
|
+
* 2. Attribute selectors: <input euiAutocomplete> → look up 'input[euiAutocomplete]' or '[euiAutocomplete]'
|
|
455
|
+
*/
|
|
456
|
+
function resolveElementToEuiClass(element) {
|
|
457
|
+
const tag = element.name;
|
|
458
|
+
// Direct tag match: eui-alert, eui-dialog, etc.
|
|
459
|
+
if (signal_map_1.EUI_SELECTOR_TO_CLASS[tag]) {
|
|
460
|
+
return signal_map_1.EUI_SELECTOR_TO_CLASS[tag];
|
|
461
|
+
}
|
|
462
|
+
// Attribute selector match: check all attributes against known patterns
|
|
463
|
+
const allAttrNames = [
|
|
464
|
+
...element.attributes.map((a) => a.name),
|
|
465
|
+
...element.inputs.map((i) => i.name),
|
|
466
|
+
];
|
|
467
|
+
for (const attrName of allAttrNames) {
|
|
468
|
+
// Try tag[attr] pattern first (e.g. 'button[euiButton]', 'input[euiAutocomplete]')
|
|
469
|
+
const tagAttrSelector = `${tag}[${attrName}]`;
|
|
470
|
+
if (signal_map_1.EUI_SELECTOR_TO_CLASS[tagAttrSelector]) {
|
|
471
|
+
return signal_map_1.EUI_SELECTOR_TO_CLASS[tagAttrSelector];
|
|
472
|
+
}
|
|
473
|
+
// Try [attr] pattern (e.g. '[euiTooltip]', '[euiLoading]')
|
|
474
|
+
const attrSelector = `[${attrName}]`;
|
|
475
|
+
if (signal_map_1.EUI_SELECTOR_TO_CLASS[attrSelector]) {
|
|
476
|
+
return signal_map_1.EUI_SELECTOR_TO_CLASS[attrSelector];
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
return null;
|
|
480
|
+
}
|
|
481
|
+
// ---------------------------------------------------------------------------
|
|
482
|
+
// Edit helpers
|
|
483
|
+
// ---------------------------------------------------------------------------
|
|
484
|
+
function applyEdits(source, edits) {
|
|
485
|
+
const unique = deduplicateEdits(edits);
|
|
486
|
+
let result = source;
|
|
487
|
+
for (const edit of unique.sort((a, b) => b.start - a.start)) {
|
|
488
|
+
result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);
|
|
489
|
+
}
|
|
490
|
+
return result;
|
|
491
|
+
}
|
|
492
|
+
function deduplicateEdits(edits) {
|
|
493
|
+
const seen = new Map();
|
|
494
|
+
for (const edit of edits) {
|
|
495
|
+
const key = `${edit.start}:${edit.end}`;
|
|
496
|
+
seen.set(key, edit);
|
|
497
|
+
}
|
|
498
|
+
return Array.from(seen.values());
|
|
499
|
+
}
|
|
500
|
+
function visitDir(dir, callback) {
|
|
501
|
+
for (const file of dir.subfiles) {
|
|
502
|
+
if (file.endsWith('.d.ts'))
|
|
503
|
+
continue;
|
|
504
|
+
if (!file.endsWith('.ts'))
|
|
505
|
+
continue;
|
|
506
|
+
callback(`${dir.path}/${file}`);
|
|
507
|
+
}
|
|
508
|
+
for (const sub of dir.subdirs) {
|
|
509
|
+
if (sub === 'node_modules' || sub === 'dist')
|
|
510
|
+
continue;
|
|
511
|
+
visitDir(dir.dir(sub), callback);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/migrate-to-signals/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated map of EUI component classes whose @Input/@ViewChild/@ContentChild
|
|
3
|
+
* properties became signal-based in next/22.x.
|
|
4
|
+
*
|
|
5
|
+
* Key: class name (e.g. 'EuiButtonComponent')
|
|
6
|
+
* Value: set of property names that are now signals
|
|
7
|
+
*
|
|
8
|
+
* Generated by comparing develop <-> next/22.x branches.
|
|
9
|
+
* Test/mock/stub components are excluded.
|
|
10
|
+
*/
|
|
11
|
+
export declare const EUI_SIGNAL_MAP: Record<string, ReadonlySet<string>>;
|
|
12
|
+
/**
|
|
13
|
+
* Map of component/directive selectors to their class names.
|
|
14
|
+
* Used to resolve @ViewChild('selector') to the correct class in EUI_SIGNAL_MAP.
|
|
15
|
+
* Ambiguous selectors (shared by multiple classes) are excluded.
|
|
16
|
+
*/
|
|
17
|
+
export declare const EUI_SELECTOR_TO_CLASS: Record<string, string>;
|