@analogjs/vite-plugin-angular 2.5.2 → 2.5.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -22,6 +22,35 @@ function getCallApi(call) {
|
|
|
22
22
|
}
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Read a string-literal `alias` value out of an OXC ObjectExpression.
|
|
27
|
+
* Returns null when the arg isn't an object literal, has no alias, or
|
|
28
|
+
* the alias value isn't a static string. Shorthand `{alias}` is skipped
|
|
29
|
+
* because the identifier wouldn't be in scope when the propDecorators
|
|
30
|
+
* static block is evaluated at class top level.
|
|
31
|
+
*/
|
|
32
|
+
function extractAlias(optArg) {
|
|
33
|
+
if (!optArg || optArg.type !== 'ObjectExpression')
|
|
34
|
+
return null;
|
|
35
|
+
for (const p of optArg.properties || []) {
|
|
36
|
+
if (p.type !== 'ObjectProperty' && p.type !== 'Property')
|
|
37
|
+
continue;
|
|
38
|
+
if (p.shorthand)
|
|
39
|
+
continue;
|
|
40
|
+
const pKey = p.key?.name || p.key?.value;
|
|
41
|
+
if (pKey !== 'alias')
|
|
42
|
+
continue;
|
|
43
|
+
const v = p.value;
|
|
44
|
+
if (v?.type === 'StringLiteral')
|
|
45
|
+
return v.value;
|
|
46
|
+
if (v?.type === 'Literal' && typeof v.value === 'string')
|
|
47
|
+
return v.value;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
function escapeStringLiteral(s) {
|
|
52
|
+
return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
|
|
53
|
+
}
|
|
25
54
|
/**
|
|
26
55
|
* Build ctorParameters for constructor DI in JIT format:
|
|
27
56
|
* [{ type: ServiceA }, { type: ServiceB, decorators: [{type: Optional}] }]
|
|
@@ -108,6 +137,7 @@ export function buildPropDecorators(classNode, sourceCode) {
|
|
|
108
137
|
if (!memberName)
|
|
109
138
|
continue;
|
|
110
139
|
// Check for field decorators (@Input, @Output, @ViewChild, etc.)
|
|
140
|
+
const explicitDecoratorNames = new Set();
|
|
111
141
|
const decorators = member.decorators || [];
|
|
112
142
|
for (const dec of decorators) {
|
|
113
143
|
const expr = dec.expression;
|
|
@@ -116,6 +146,7 @@ export function buildPropDecorators(classNode, sourceCode) {
|
|
|
116
146
|
const decName = expr.callee?.name;
|
|
117
147
|
if (!decName || !FIELD_DECORATORS.has(decName))
|
|
118
148
|
continue;
|
|
149
|
+
explicitDecoratorNames.add(decName);
|
|
119
150
|
if (!props[memberName])
|
|
120
151
|
props[memberName] = [];
|
|
121
152
|
const args = expr.arguments || [];
|
|
@@ -126,7 +157,10 @@ export function buildPropDecorators(classNode, sourceCode) {
|
|
|
126
157
|
props[memberName].push(`{type: ${decName}}`);
|
|
127
158
|
}
|
|
128
159
|
}
|
|
129
|
-
// Signal API downleveling
|
|
160
|
+
// Signal API downleveling. Skip when a matching explicit decorator
|
|
161
|
+
// is already on the field — Angular's transform bails in that case
|
|
162
|
+
// (input_function.ts, model_function.ts, output_function.ts,
|
|
163
|
+
// query_functions.ts) to avoid duplicate metadata entries.
|
|
130
164
|
if (member.type === 'PropertyDefinition' &&
|
|
131
165
|
member.value?.type === 'CallExpression') {
|
|
132
166
|
const signalCall = getCallApi(member.value);
|
|
@@ -134,20 +168,51 @@ export function buildPropDecorators(classNode, sourceCode) {
|
|
|
134
168
|
continue;
|
|
135
169
|
const { api, required } = signalCall;
|
|
136
170
|
const args = member.value.arguments || [];
|
|
171
|
+
const hasInput = explicitDecoratorNames.has('Input');
|
|
172
|
+
const hasOutput = explicitDecoratorNames.has('Output');
|
|
173
|
+
const hasQuery = explicitDecoratorNames.has('ViewChild') ||
|
|
174
|
+
explicitDecoratorNames.has('ViewChildren') ||
|
|
175
|
+
explicitDecoratorNames.has('ContentChild') ||
|
|
176
|
+
explicitDecoratorNames.has('ContentChildren');
|
|
177
|
+
if (api === 'input' && hasInput)
|
|
178
|
+
continue;
|
|
179
|
+
if (api === 'model' && (hasInput || hasOutput))
|
|
180
|
+
continue;
|
|
181
|
+
if ((api === 'output' || api === 'outputFromObservable') && hasOutput) {
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if ((api === 'viewChild' ||
|
|
185
|
+
api === 'viewChildren' ||
|
|
186
|
+
api === 'contentChild' ||
|
|
187
|
+
api === 'contentChildren') &&
|
|
188
|
+
hasQuery) {
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
137
191
|
if (api === 'input') {
|
|
138
192
|
if (!props[memberName])
|
|
139
193
|
props[memberName] = [];
|
|
140
|
-
// Preserve
|
|
194
|
+
// Preserve original options from the input() call and overlay
|
|
195
|
+
// isSignal/required. `transform` is dropped: the input signal
|
|
196
|
+
// already applies it internally, so forwarding it to the
|
|
197
|
+
// decorator would make Angular's runtime JIT wrap it a second
|
|
198
|
+
// time via the directive metadata's transformFunction slot.
|
|
199
|
+
// Shorthand props ({alias}) are skipped — the identifier
|
|
200
|
+
// wouldn't be in scope when the propDecorators block runs at
|
|
201
|
+
// class top level.
|
|
141
202
|
const optArg = required ? args[0] : args[1];
|
|
142
203
|
const optParts = [];
|
|
143
204
|
if (optArg?.type === 'ObjectExpression') {
|
|
144
205
|
for (const p of optArg.properties || []) {
|
|
145
206
|
if (p.type !== 'ObjectProperty' && p.type !== 'Property')
|
|
146
207
|
continue;
|
|
208
|
+
if (p.shorthand)
|
|
209
|
+
continue;
|
|
147
210
|
const pKey = p.key?.name || p.key?.value;
|
|
148
|
-
|
|
149
|
-
|
|
211
|
+
if (pKey === 'isSignal' ||
|
|
212
|
+
pKey === 'required' ||
|
|
213
|
+
pKey === 'transform') {
|
|
150
214
|
continue;
|
|
215
|
+
}
|
|
151
216
|
optParts.push(sourceCode.slice(p.start, p.end));
|
|
152
217
|
}
|
|
153
218
|
}
|
|
@@ -155,60 +220,61 @@ export function buildPropDecorators(classNode, sourceCode) {
|
|
|
155
220
|
props[memberName].push(`{type: Input, args: [{${optParts.join(', ')}}]}`);
|
|
156
221
|
}
|
|
157
222
|
else if (api === 'model') {
|
|
223
|
+
// Both Input and Output must live on the SAME propDecorators key
|
|
224
|
+
// (the class field name). Angular's JIT facade indexes outputs by
|
|
225
|
+
// classPropertyName and reads `instance[classPropertyName]` for
|
|
226
|
+
// the EventEmitter — for a model that's the signal itself, which
|
|
227
|
+
// exposes the emitter via [SIGNAL]. Splitting Output onto a
|
|
228
|
+
// synthetic `<name>Change` key would point at a field that does
|
|
229
|
+
// not exist on the class, breaking two-way bindings.
|
|
158
230
|
if (!props[memberName])
|
|
159
231
|
props[memberName] = [];
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
props[changeName].push(`{type: Output, args: ['${changeName}']}`);
|
|
232
|
+
const optArg = required ? args[0] : args[1];
|
|
233
|
+
const alias = extractAlias(optArg);
|
|
234
|
+
const bindingName = alias ?? memberName;
|
|
235
|
+
props[memberName].push(`{type: Input, args: [{isSignal: true, alias: '${escapeStringLiteral(bindingName)}', required: ${required}}]}`);
|
|
236
|
+
props[memberName].push(`{type: Output, args: ['${escapeStringLiteral(bindingName + 'Change')}']}`);
|
|
166
237
|
}
|
|
167
238
|
else if (api === 'output' || api === 'outputFromObservable') {
|
|
168
239
|
if (!props[memberName])
|
|
169
240
|
props[memberName] = [];
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
const optArg = args[0];
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
(p.key?.name || p.key?.value) === 'alias') {
|
|
177
|
-
if (p.value?.type === 'StringLiteral' ||
|
|
178
|
-
(p.value?.type === 'Literal' &&
|
|
179
|
-
typeof p.value.value === 'string')) {
|
|
180
|
-
alias = p.value.value;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
if (alias) {
|
|
186
|
-
props[memberName].push(`{type: Output, args: ['${alias}']}`);
|
|
241
|
+
// outputFromObservable(observable, options) — options is args[1].
|
|
242
|
+
// output(options) — options is args[0].
|
|
243
|
+
const optArg = api === 'outputFromObservable' ? args[1] : args[0];
|
|
244
|
+
const alias = extractAlias(optArg);
|
|
245
|
+
if (alias !== null) {
|
|
246
|
+
props[memberName].push(`{type: Output, args: ['${escapeStringLiteral(alias)}']}`);
|
|
187
247
|
}
|
|
188
248
|
else {
|
|
189
249
|
props[memberName].push(`{type: Output}`);
|
|
190
250
|
}
|
|
191
251
|
}
|
|
192
|
-
else if (api === 'viewChild' ||
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
if (args.length > 0) {
|
|
197
|
-
props[memberName].push(`{type: ${queryType}, args: [${sourceCode.slice(args[0].start, args[0].end)}]}`);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
props[memberName].push(`{type: ${queryType}}`);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
else if (api === 'contentChild' || api === 'contentChildren') {
|
|
252
|
+
else if (api === 'viewChild' ||
|
|
253
|
+
api === 'viewChildren' ||
|
|
254
|
+
api === 'contentChild' ||
|
|
255
|
+
api === 'contentChildren') {
|
|
204
256
|
if (!props[memberName])
|
|
205
257
|
props[memberName] = [];
|
|
206
|
-
const queryType = api === '
|
|
258
|
+
const queryType = api === 'viewChildren'
|
|
259
|
+
? 'ViewChildren'
|
|
260
|
+
: api === 'viewChild'
|
|
261
|
+
? 'ViewChild'
|
|
262
|
+
: api === 'contentChildren'
|
|
263
|
+
? 'ContentChildren'
|
|
264
|
+
: 'ContentChild';
|
|
265
|
+
// Signal queries need `isSignal: true` so the runtime JIT compiler
|
|
266
|
+
// wires them through the signal query infrastructure rather than
|
|
267
|
+
// treating them as plain @ViewChild/@ContentChild assignments.
|
|
268
|
+
// Mirrors Angular's own JIT transform in
|
|
269
|
+
// compiler-cli/.../initializer_api_transforms/query_functions.ts.
|
|
207
270
|
if (args.length > 0) {
|
|
208
|
-
|
|
271
|
+
const opts = args.length > 1
|
|
272
|
+
? `{...${sourceCode.slice(args[1].start, args[1].end)}, isSignal: true}`
|
|
273
|
+
: `{isSignal: true}`;
|
|
274
|
+
props[memberName].push(`{type: ${queryType}, args: [${sourceCode.slice(args[0].start, args[0].end)}, ${opts}]}`);
|
|
209
275
|
}
|
|
210
276
|
else {
|
|
211
|
-
props[memberName].push(`{type: ${queryType}}`);
|
|
277
|
+
props[memberName].push(`{type: ${queryType}, args: [undefined, {isSignal: true}]}`);
|
|
212
278
|
}
|
|
213
279
|
}
|
|
214
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jit-metadata.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/compiler/jit-metadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"jit-metadata.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/compiler/jit-metadata.ts"],"names":[],"mappings":"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"}
|