@barefootjs/go-template 0.31.8 → 0.31.10
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/dist/adapter/go-template-adapter.d.ts +71 -0
- package/dist/adapter/go-template-adapter.d.ts.map +1 -1
- package/dist/adapter/index.js +97 -15
- package/dist/adapter/lib/compile-state.d.ts +43 -1
- package/dist/adapter/lib/compile-state.d.ts.map +1 -1
- package/dist/adapter/props/prop-types.d.ts +25 -2
- package/dist/adapter/props/prop-types.d.ts.map +1 -1
- package/dist/adapter/type/type-codegen.d.ts.map +1 -1
- package/dist/index.js +99 -16
- package/dist/render-divergences.d.ts +8 -0
- package/dist/render-divergences.d.ts.map +1 -1
- package/dist/test-render.d.ts.map +1 -1
- package/dist/vite.js +160 -17
- package/package.json +5 -5
- package/src/__tests__/go-template-adapter.test.ts +276 -16
- package/src/adapter/go-template-adapter.ts +249 -11
- package/src/adapter/lib/compile-state.ts +50 -0
- package/src/adapter/props/prop-types.ts +36 -8
- package/src/adapter/type/type-codegen.ts +19 -2
- package/src/render-divergences.ts +31 -5
- package/src/test-render.ts +273 -52
|
@@ -482,6 +482,12 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
482
482
|
* needs a real field to bake into, or the whole literal defers to nil); a
|
|
483
483
|
* dedup guard drops a later key that sanitizes to a Go name already taken
|
|
484
484
|
* (rare, but two fields can't share one Go identifier).
|
|
485
|
+
*
|
|
486
|
+
* Accepts anything carrying a `PropertyInfo[]` — a `TypeDefinition` (a
|
|
487
|
+
* user-named type) OR a bare `TypeInfo` of `kind: 'object'` (an anonymous
|
|
488
|
+
* type `emitSynthPropStructs` is synthesizing a struct for, #2674) — so
|
|
489
|
+
* both the named-type struct emitter and the anonymous-type synthesis
|
|
490
|
+
* pre-pass share one field-derivation path.
|
|
485
491
|
*/
|
|
486
492
|
private structFieldsFor;
|
|
487
493
|
/**
|
|
@@ -545,6 +551,63 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
545
551
|
private emitStaticBodyWrappers;
|
|
546
552
|
private emitDynamicBodyWrappers;
|
|
547
553
|
private buildLocalTypeTables;
|
|
554
|
+
/**
|
|
555
|
+
* #2674 Plan A: synthesize a deterministically-named, json-tagged struct
|
|
556
|
+
* for every ANONYMOUS (`kind: 'object'`) type reachable from the
|
|
557
|
+
* component's type surface, so `typeInfoToGo`'s `'object'` case (consulted
|
|
558
|
+
* by `emitLocalTypeStructs`/`generateInputStruct` right after this runs)
|
|
559
|
+
* resolves a real struct instead of falling to `map[string]interface{}` —
|
|
560
|
+
* the map `bakeInlineObjectAsGoMap` (`parsed-literal-to-go.ts`) bakes with
|
|
561
|
+
* DELIBERATELY PascalCased keys for `html/template`'s exact-case
|
|
562
|
+
* `MapIndex` (#2087/#1487), which `BfPropsAttr`'s `json.Marshal` then
|
|
563
|
+
* ships verbatim — the source of the hydration-payload Go-casing leak
|
|
564
|
+
* this pass closes.
|
|
565
|
+
*
|
|
566
|
+
* Two independent walk roots, because a NAMED type reference
|
|
567
|
+
* (`{kind:'interface', raw:'Row'}`) carries no inline `properties` — only
|
|
568
|
+
* `ir.metadata.typeDefinitions` has `Row`'s own property list:
|
|
569
|
+
*
|
|
570
|
+
* 1. Every user `TypeDefinition`'s properties (closes a nested anonymous
|
|
571
|
+
* property inside a named type — `type Row = { id: string; user: {
|
|
572
|
+
* name: string } }` → `Row.user`). MUST run before
|
|
573
|
+
* `emitLocalTypeStructs`: `Row`'s own struct-field computation
|
|
574
|
+
* (`typeDefinitionToGo` → `structFieldsFor` → `typeInfoToGo`) needs
|
|
575
|
+
* the synthesized name for its `user` field already registered.
|
|
576
|
+
* 2. Every props param's own `TypeInfo` tree (closes an inline
|
|
577
|
+
* array-element type with no backing `TypeDefinition` at all —
|
|
578
|
+
* `items: { id: number; tags: string[] }[]`).
|
|
579
|
+
*
|
|
580
|
+
* Naming is deterministic on STRUCTURAL POSITION (matching
|
|
581
|
+
* `synthesizeStructFromSignal`'s `<component><Getter>Item` convention, not
|
|
582
|
+
* shape/content — two anonymous types shaped identically at different
|
|
583
|
+
* positions get different names, and the same position always yields the
|
|
584
|
+
* same name run-to-run): an array-element object gets
|
|
585
|
+
* `<parent><Prop>Item`; a direct nested object property gets
|
|
586
|
+
* `<parent><Prop>`. `<parent>` is the enclosing struct's OWN Go name for a
|
|
587
|
+
* walk-root-1 type (or the newly-synthesized name of an enclosing
|
|
588
|
+
* anonymous type, for a doubly-nested object — `RowUserAddress`), or
|
|
589
|
+
* `componentName` for a walk-root-2 (top-level props) type — threaded
|
|
590
|
+
* through the recursion so nesting chains correctly regardless of which
|
|
591
|
+
* root reached it.
|
|
592
|
+
*
|
|
593
|
+
* A synthesized name colliding with an EXISTING local type (rare: two
|
|
594
|
+
* structurally-unrelated anonymous types resolving to the same
|
|
595
|
+
* deterministic name) skips synthesis for that ONE type — and its own
|
|
596
|
+
* subtree, since there is no struct to attach nested field names to —
|
|
597
|
+
* gracefully, not as a regression: `typeInfoToGo` keeps returning the
|
|
598
|
+
* pre-#2674 map fallback for exactly that type, so the corpus never
|
|
599
|
+
* breaks, it just doesn't graduate for that one shape (see the
|
|
600
|
+
* `synthObjectStructNames` docstring on `CompileState`).
|
|
601
|
+
*
|
|
602
|
+
* A synthesized struct is ALSO pushed onto `ctx.state.currentTypeDefinitions`
|
|
603
|
+
* as a `TypeDefinition` (empty `definition`, a dummy `loc` — never
|
|
604
|
+
* rendered or used for diagnostics, only looked up by name) so
|
|
605
|
+
* `parsed-literal-to-go.ts`'s `structPropertyType` — which resolves a
|
|
606
|
+
* struct literal's nested-property TYPE by struct name against that same
|
|
607
|
+
* list — finds a synthesized parent's properties exactly like it finds a
|
|
608
|
+
* real named type's, with no separate lookup path to keep in sync.
|
|
609
|
+
*/
|
|
610
|
+
private emitSynthPropStructs;
|
|
548
611
|
private emitLocalTypeStructs;
|
|
549
612
|
private emitSynthStructs;
|
|
550
613
|
private resolveNestedLoopItemTypes;
|
|
@@ -653,6 +716,14 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
653
716
|
* the type's Go zero value (no-op).
|
|
654
717
|
*/
|
|
655
718
|
private collectPropFallbackVars;
|
|
719
|
+
/**
|
|
720
|
+
* Resolve a signal's initializer through the SSR seed plan's const-hop
|
|
721
|
+
* inlining (#2685) before prop-fallback extraction — see
|
|
722
|
+
* {@link resolveSignalParsedThroughSeedPlan} (shared with
|
|
723
|
+
* `collectNullishConsumedPropNames`'s signal-seed loop, the single door
|
|
724
|
+
* both consumers of this resolution go through).
|
|
725
|
+
*/
|
|
726
|
+
private resolvedSignalParsed;
|
|
656
727
|
/**
|
|
657
728
|
* Parse a signal-time initial value of the form `props.X ?? <literal>` —
|
|
658
729
|
* or, for destructured components, `x ?? <literal>` — into the source prop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -358,8 +358,13 @@ class CompileState {
|
|
|
358
358
|
localTypeAliases = new Map;
|
|
359
359
|
localStructFields = new Map;
|
|
360
360
|
synthStructTypes = new Map;
|
|
361
|
+
synthObjectStructNames = new Map;
|
|
361
362
|
needsStringsImport = false;
|
|
362
363
|
}
|
|
364
|
+
function resolveSignalParsedThroughSeedPlan(state, signal) {
|
|
365
|
+
const step = state.ssrSeedPlan.steps.find((s) => s.kind === "derived" && s.origin === "signal" && s.name === signal.getter);
|
|
366
|
+
return step?.kind === "derived" ? step.parsed : signal.parsed;
|
|
367
|
+
}
|
|
363
368
|
|
|
364
369
|
// src/adapter/analysis/component-tree.ts
|
|
365
370
|
function hasClientInteractivity(ir) {
|
|
@@ -1024,8 +1029,10 @@ function typeInfoToGo(ctx, _typeInfo, defaultValue, preParsed) {
|
|
|
1024
1029
|
return `[]${typeInfoToGo(ctx, typeInfo.elementType)}`;
|
|
1025
1030
|
}
|
|
1026
1031
|
return "[]interface{}";
|
|
1027
|
-
case "object":
|
|
1028
|
-
|
|
1032
|
+
case "object": {
|
|
1033
|
+
const synthName = ctx.state.synthObjectStructNames.get(typeInfo);
|
|
1034
|
+
return synthName ?? "map[string]interface{}";
|
|
1035
|
+
}
|
|
1029
1036
|
case "interface":
|
|
1030
1037
|
if (typeInfo.raw && (ctx.state.localStructFields.has(typeInfo.raw) || ctx.state.localTypeAliases.has(typeInfo.raw))) {
|
|
1031
1038
|
return typeInfo.raw;
|
|
@@ -2583,11 +2590,11 @@ function buildPropTypeOverrides(ctx, ir) {
|
|
|
2583
2590
|
if (!param)
|
|
2584
2591
|
continue;
|
|
2585
2592
|
const propGoType = typeInfoToGo(ctx, param.type, param.defaultValue, param.parsed);
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2593
|
+
const signalGoType = typeInfoToGo(ctx, signal.type, signal.initialValue, signal.parsed);
|
|
2594
|
+
if (signalGoType.includes("interface{}"))
|
|
2595
|
+
continue;
|
|
2596
|
+
if (propGoType.includes("interface{}") || signalGoType !== propGoType) {
|
|
2597
|
+
overrides.set(propName, signalGoType);
|
|
2591
2598
|
}
|
|
2592
2599
|
}
|
|
2593
2600
|
}
|
|
@@ -2670,7 +2677,7 @@ function collectNullishConsumedPropNames(ctx, ir) {
|
|
|
2670
2677
|
};
|
|
2671
2678
|
walk(ir.root);
|
|
2672
2679
|
for (const signal of ir.metadata.signals) {
|
|
2673
|
-
const match = ctx.extractPropFallback(signal.initialValue, signal
|
|
2680
|
+
const match = ctx.extractPropFallback(signal.initialValue, resolveSignalParsedThroughSeedPlan(ctx.state, signal));
|
|
2674
2681
|
if (!match || !optionalParams.has(match.propName))
|
|
2675
2682
|
continue;
|
|
2676
2683
|
const f = match.goFallback;
|
|
@@ -2818,6 +2825,11 @@ function collectStringValueNames(ir) {
|
|
|
2818
2825
|
}
|
|
2819
2826
|
|
|
2820
2827
|
// src/adapter/go-template-adapter.ts
|
|
2828
|
+
var SYNTH_TYPE_LOC = {
|
|
2829
|
+
file: "<synthesized>",
|
|
2830
|
+
start: { line: 0, column: 0 },
|
|
2831
|
+
end: { line: 0, column: 0 }
|
|
2832
|
+
};
|
|
2821
2833
|
var STRING_METHODS = new Set([
|
|
2822
2834
|
"replace",
|
|
2823
2835
|
"trim",
|
|
@@ -3179,6 +3191,7 @@ ${scriptRegistrations}${templateBody}
|
|
|
3179
3191
|
const lines = [];
|
|
3180
3192
|
const componentName = ir.metadata.componentName;
|
|
3181
3193
|
this.buildLocalTypeTables(ir, componentName);
|
|
3194
|
+
this.emitSynthPropStructs(lines, ir, componentName);
|
|
3182
3195
|
this.emitLocalTypeStructs(lines, ir, componentName);
|
|
3183
3196
|
this.emitSynthStructs(lines, ir, componentName);
|
|
3184
3197
|
const nestedComponents = findNestedComponents(ir.root);
|
|
@@ -3682,7 +3695,7 @@ ${goFields.join(`
|
|
|
3682
3695
|
const fieldName = capitalizeFieldName(signal.getter);
|
|
3683
3696
|
if (propFieldNames.has(fieldName))
|
|
3684
3697
|
continue;
|
|
3685
|
-
const fallbackMatch = this.extractPropFallback(signal.initialValue, signal
|
|
3698
|
+
const fallbackMatch = this.extractPropFallback(signal.initialValue, this.resolvedSignalParsed(signal));
|
|
3686
3699
|
const hoisted = fallbackMatch ? propFallbackVars.get(fallbackMatch.propName) : undefined;
|
|
3687
3700
|
if (hoisted) {
|
|
3688
3701
|
lines.push(` ${fieldName}: ${hoisted.varName},`);
|
|
@@ -4038,6 +4051,65 @@ ${goFields.join(`
|
|
|
4038
4051
|
}
|
|
4039
4052
|
}
|
|
4040
4053
|
}
|
|
4054
|
+
emitSynthPropStructs(lines, ir, componentName) {
|
|
4055
|
+
this.state.synthObjectStructNames = new Map;
|
|
4056
|
+
this.state.currentTypeDefinitions = [...this.state.currentTypeDefinitions];
|
|
4057
|
+
const visitObject = (typeInfo, desiredName) => {
|
|
4058
|
+
if (this.state.synthObjectStructNames.has(typeInfo))
|
|
4059
|
+
return;
|
|
4060
|
+
if (this.state.localTypeNames.has(desiredName))
|
|
4061
|
+
return;
|
|
4062
|
+
this.state.localTypeNames.add(desiredName);
|
|
4063
|
+
this.state.synthObjectStructNames.set(typeInfo, desiredName);
|
|
4064
|
+
for (const prop of typeInfo.properties ?? []) {
|
|
4065
|
+
visit(prop.type, desiredName, prop.name);
|
|
4066
|
+
}
|
|
4067
|
+
const fields = this.structFieldsFor(typeInfo);
|
|
4068
|
+
this.state.localStructFields.set(desiredName, new Map(fields.map((f) => [f.tsName, f.goName])));
|
|
4069
|
+
this.state.currentTypeDefinitions.push({
|
|
4070
|
+
kind: "type",
|
|
4071
|
+
name: desiredName,
|
|
4072
|
+
definition: "",
|
|
4073
|
+
properties: typeInfo.properties ?? [],
|
|
4074
|
+
loc: SYNTH_TYPE_LOC
|
|
4075
|
+
});
|
|
4076
|
+
const goFields = fields.map((f) => ` ${f.goName} ${f.goType} \`json:"${this.toJsonTag(f.tsName)}"\``);
|
|
4077
|
+
lines.push(`// ${desiredName} is a synthesised type for an anonymous object type (#2674).`);
|
|
4078
|
+
lines.push(`type ${desiredName} struct {
|
|
4079
|
+
${goFields.join(`
|
|
4080
|
+
`)}
|
|
4081
|
+
}`);
|
|
4082
|
+
lines.push("");
|
|
4083
|
+
};
|
|
4084
|
+
const visitArrayElem = (elemType, parentName, propName) => {
|
|
4085
|
+
if (!elemType)
|
|
4086
|
+
return;
|
|
4087
|
+
if (elemType.kind === "array") {
|
|
4088
|
+
visitArrayElem(elemType.elementType, parentName, propName);
|
|
4089
|
+
} else if (elemType.kind === "object") {
|
|
4090
|
+
visitObject(elemType, `${parentName}${goFieldNameForKey(propName)}Item`);
|
|
4091
|
+
}
|
|
4092
|
+
};
|
|
4093
|
+
const visit = (typeInfo, parentName, propName) => {
|
|
4094
|
+
if (typeInfo.kind === "array") {
|
|
4095
|
+
visitArrayElem(typeInfo.elementType, parentName, propName);
|
|
4096
|
+
} else if (typeInfo.kind === "object") {
|
|
4097
|
+
visitObject(typeInfo, `${parentName}${goFieldNameForKey(propName)}`);
|
|
4098
|
+
}
|
|
4099
|
+
};
|
|
4100
|
+
for (const td of ir.metadata.typeDefinitions) {
|
|
4101
|
+
if (td.name === "Props" || td.name === `${componentName}Props`)
|
|
4102
|
+
continue;
|
|
4103
|
+
if (td.name.endsWith("Props"))
|
|
4104
|
+
continue;
|
|
4105
|
+
for (const prop of td.properties ?? []) {
|
|
4106
|
+
visit(prop.type, td.name, prop.name);
|
|
4107
|
+
}
|
|
4108
|
+
}
|
|
4109
|
+
for (const param of ir.metadata.propsParams) {
|
|
4110
|
+
visit(param.type, componentName, param.name);
|
|
4111
|
+
}
|
|
4112
|
+
}
|
|
4041
4113
|
emitLocalTypeStructs(lines, ir, componentName) {
|
|
4042
4114
|
for (const td of ir.metadata.typeDefinitions) {
|
|
4043
4115
|
if (td.name === "Props" || td.name === `${componentName}Props`)
|
|
@@ -4121,7 +4193,7 @@ ${goFields.join(`
|
|
|
4121
4193
|
emitPropsStructHeader(lines, ir, propsTypeName, componentName) {
|
|
4122
4194
|
lines.push(`// ${propsTypeName} is the props type for the ${componentName} component.`);
|
|
4123
4195
|
lines.push(`type ${propsTypeName} struct {`);
|
|
4124
|
-
lines.push('\tScopeID string `json:"
|
|
4196
|
+
lines.push('\tScopeID string `json:"-"`');
|
|
4125
4197
|
lines.push('\tBfIsRoot bool `json:"-"`');
|
|
4126
4198
|
lines.push('\tBfIsChild bool `json:"-"`');
|
|
4127
4199
|
lines.push('\tBfParent string `json:"-"`');
|
|
@@ -4151,7 +4223,7 @@ ${goFields.join(`
|
|
|
4151
4223
|
const fieldName = capitalizeFieldName(signal.getter);
|
|
4152
4224
|
if (propFieldNames.has(fieldName))
|
|
4153
4225
|
continue;
|
|
4154
|
-
const jsonTag =
|
|
4226
|
+
const jsonTag = "-";
|
|
4155
4227
|
const synthType = this.state.synthStructTypes.get(signal.getter);
|
|
4156
4228
|
if (synthType) {
|
|
4157
4229
|
lines.push(` ${fieldName} ${typeInfoToGo(this.emitCtx, synthType)} \`json:"${jsonTag}"\``);
|
|
@@ -4183,7 +4255,7 @@ ${goFields.join(`
|
|
|
4183
4255
|
const fieldName = capitalizeFieldName(memo.name);
|
|
4184
4256
|
if (propFieldNames.has(fieldName))
|
|
4185
4257
|
continue;
|
|
4186
|
-
const jsonTag =
|
|
4258
|
+
const jsonTag = "-";
|
|
4187
4259
|
const goType = this.inferMemoType(memo, ir.metadata.signals, propsParamMap);
|
|
4188
4260
|
lines.push(` ${fieldName} ${goType} \`json:"${jsonTag}"\``);
|
|
4189
4261
|
}
|
|
@@ -4203,15 +4275,22 @@ ${goFields.join(`
|
|
|
4203
4275
|
...ir.metadata.memos.map((m) => capitalizeFieldName(m.name))
|
|
4204
4276
|
]);
|
|
4205
4277
|
for (const c of this.nonCollidingContextConsumers(takenProps)) {
|
|
4206
|
-
const jsonTag =
|
|
4278
|
+
const jsonTag = "-";
|
|
4207
4279
|
lines.push(` ${this.contextFieldName(c)} ${this.contextConsumerGoType(c)} \`json:"${jsonTag}"\``);
|
|
4208
4280
|
}
|
|
4281
|
+
const propDrivingFieldNames = new Set;
|
|
4282
|
+
for (const p of ir.metadata.propsParams) {
|
|
4283
|
+
propDrivingFieldNames.add(capitalizeFieldName(p.name));
|
|
4284
|
+
propDrivingFieldNames.add(capitalizeFieldName(p.sourceName ?? p.name));
|
|
4285
|
+
}
|
|
4209
4286
|
for (const nested of nestedComponents) {
|
|
4210
4287
|
if (this.isOrphanedClientOnlyNested(nested))
|
|
4211
4288
|
continue;
|
|
4212
4289
|
const elemType = nested.bodyChildren?.length ? this.loopBodyWrapperName(componentName, nested) : `${nested.name}Props`;
|
|
4213
4290
|
if (nested.isDynamic && !nested.isPropDerived) {
|
|
4214
4291
|
lines.push(` ${nested.name}s []${elemType} \`json:"-"\``);
|
|
4292
|
+
} else if (nested.isDynamic && nested.isPropDerived && !propDrivingFieldNames.has(`${nested.name}s`)) {
|
|
4293
|
+
lines.push(` ${nested.name}s []${elemType} \`json:"-"\``);
|
|
4215
4294
|
} else {
|
|
4216
4295
|
const jsonTag = this.claimJsonTag(this.toJsonTag(`${nested.name.charAt(0).toLowerCase()}${nested.name.slice(1)}s`), takenJsonTags);
|
|
4217
4296
|
lines.push(` ${nested.name}s []${elemType} \`json:"${jsonTag}"\``);
|
|
@@ -4222,7 +4301,7 @@ ${goFields.join(`
|
|
|
4222
4301
|
lines.push(` ${child.fieldName} ${child.name}Props \`json:"-"\``);
|
|
4223
4302
|
}
|
|
4224
4303
|
for (const slot of spreadSlots) {
|
|
4225
|
-
const jsonTag =
|
|
4304
|
+
const jsonTag = "-";
|
|
4226
4305
|
lines.push(` ${slot.slotId} map[string]any \`json:"${jsonTag}"\``);
|
|
4227
4306
|
}
|
|
4228
4307
|
}
|
|
@@ -4535,7 +4614,7 @@ ${goFields.join(`
|
|
|
4535
4614
|
}
|
|
4536
4615
|
const propTypeOverrides = buildPropTypeOverrides(this.emitCtx, ir);
|
|
4537
4616
|
for (const signal of ir.metadata.signals) {
|
|
4538
|
-
const match = this.extractPropFallback(signal.initialValue, signal
|
|
4617
|
+
const match = this.extractPropFallback(signal.initialValue, this.resolvedSignalParsed(signal));
|
|
4539
4618
|
if (!match)
|
|
4540
4619
|
continue;
|
|
4541
4620
|
if (result.has(match.propName))
|
|
@@ -4579,6 +4658,9 @@ ${goFields.join(`
|
|
|
4579
4658
|
}
|
|
4580
4659
|
return result;
|
|
4581
4660
|
}
|
|
4661
|
+
resolvedSignalParsed(signal) {
|
|
4662
|
+
return resolveSignalParsedThroughSeedPlan(this.state, signal);
|
|
4663
|
+
}
|
|
4582
4664
|
extractPropFallback(initialValue, preParsed) {
|
|
4583
4665
|
const structural = preParsed ? this.extractPropFallbackFromParsed(preParsed) : null;
|
|
4584
4666
|
if (structural)
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* `GoTemplateAdapter` for the full migration story) — this file never held
|
|
14
14
|
* that stack itself, only described where it lived.
|
|
15
15
|
*/
|
|
16
|
-
import type { CompilerError, ContextConsumer, EnvSignalReader, IRMetadata, IRNode, LoweringMatcher, MemoInfo, SsrSeedPlan, TypeDefinition, TypeInfo } from '@barefootjs/jsx';
|
|
16
|
+
import type { CompilerError, ContextConsumer, EnvSignalReader, IRMetadata, IRNode, LoweringMatcher, MemoInfo, ParsedExpr, SsrSeedPlan, TypeDefinition, TypeInfo } from '@barefootjs/jsx';
|
|
17
17
|
export declare class CompileState {
|
|
18
18
|
componentName: string;
|
|
19
19
|
errors: CompilerError[];
|
|
@@ -195,8 +195,50 @@ export declare class CompileState {
|
|
|
195
195
|
* `[]SynthStruct` TypeInfo), populated during generateTypes.
|
|
196
196
|
*/
|
|
197
197
|
synthStructTypes: Map<string, TypeInfo>;
|
|
198
|
+
/**
|
|
199
|
+
* #2674 Plan A: ANONYMOUS (`kind: 'object'`) `TypeInfo` instance → the
|
|
200
|
+
* deterministically-named json-tagged struct `emitSynthPropStructs`
|
|
201
|
+
* synthesized for it, populated during generateTypes. Keyed by object
|
|
202
|
+
* IDENTITY, not name/shape: two anonymous object types at different
|
|
203
|
+
* structural positions (an inline array-element type vs. a nested
|
|
204
|
+
* property inside a named type) get different synthesized names even
|
|
205
|
+
* when shaped identically, so a content/shape key would wrongly unify
|
|
206
|
+
* them. `typeInfoToGo`'s `'object'` case consults this before falling
|
|
207
|
+
* back to `map[string]interface{}` — the map fallback stays reachable
|
|
208
|
+
* for the ONE case this pass declines: a synthesized name colliding with
|
|
209
|
+
* an existing local type (graceful, not a regression — see
|
|
210
|
+
* `emitSynthPropStructs`'s docstring).
|
|
211
|
+
*/
|
|
212
|
+
synthObjectStructNames: Map<TypeInfo, string>;
|
|
198
213
|
/** Set when a constructor-context lowering emits a `strings.` call, so
|
|
199
214
|
* `strings` is added to the generated types file's import block. */
|
|
200
215
|
needsStringsImport: boolean;
|
|
201
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Resolve a signal's initializer through the SSR seed plan's const-hop
|
|
219
|
+
* inlining (#2685, `resolveThroughLocalConsts` in
|
|
220
|
+
* `packages/jsx/src/ssr-seed-plan.ts`) before prop-fallback shape matching,
|
|
221
|
+
* so a component-scope `const` sitting between a `props.X` read and
|
|
222
|
+
* `createSignal` (`const mid = props.label; createSignal(mid ?? 'Default')`)
|
|
223
|
+
* doesn't hide the `props.X ?? <literal>` shape from
|
|
224
|
+
* `extractPropFallbackFromParsed` / `collectNullishConsumedPropNames`'s
|
|
225
|
+
* signal-seed loop — both need the SAME resolved tree (single door, not two
|
|
226
|
+
* divergent walks: a mismatch between them is exactly what let the field-type
|
|
227
|
+
* flip and the fallback-var construction disagree on nullish handling for
|
|
228
|
+
* the const-hop shape).
|
|
229
|
+
*
|
|
230
|
+
* Falls back to the signal's own `parsed` when the plan didn't classify this
|
|
231
|
+
* signal `derived` (opaque for an unrelated reason, e.g. a free identifier
|
|
232
|
+
* genuinely out of scope) — never invents a substitution the plan itself
|
|
233
|
+
* didn't make.
|
|
234
|
+
*
|
|
235
|
+
* `signal` takes the minimal structural shape (not the internal `SignalInfo`
|
|
236
|
+
* type, which `@barefootjs/jsx`'s public index doesn't export — the same
|
|
237
|
+
* inline-shape convention `memo-compute.ts`'s extracted helpers already use
|
|
238
|
+
* for signal params).
|
|
239
|
+
*/
|
|
240
|
+
export declare function resolveSignalParsedThroughSeedPlan(state: CompileState, signal: {
|
|
241
|
+
getter: string;
|
|
242
|
+
parsed?: ParsedExpr;
|
|
243
|
+
}): ParsedExpr | undefined;
|
|
202
244
|
//# sourceMappingURL=compile-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-state.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/compile-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile-state.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/compile-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,31 @@ import type { GoEmitContext } from '../emit-context.ts';
|
|
|
9
9
|
/**
|
|
10
10
|
* Build a map from prop name to a better Go type inferred from signals. When a
|
|
11
11
|
* signal is initialized from a prop (`createSignal(props.initial ?? 0)`), the
|
|
12
|
-
* signal's type annotation may be more specific than the prop's `TypeInfo`.
|
|
13
|
-
*
|
|
12
|
+
* signal's type annotation may be more specific than the prop's `TypeInfo`.
|
|
13
|
+
*
|
|
14
|
+
* Two trigger conditions, mirroring `emitPropsDataFields`'s identical
|
|
15
|
+
* signal-vs-prop reconciliation for the PROPS struct field (`generate - Go
|
|
16
|
+
* struct types` — "Let a specific signal type override a less-specific prop
|
|
17
|
+
* type in either direction"), so the Input/Props field type this override
|
|
18
|
+
* feeds (via `resolvePropGoType`) and the constructor's baked VALUE
|
|
19
|
+
* (`convertInitialValue`'s `extractPropNameFromInitialValue` prop-passthrough
|
|
20
|
+
* shortcut) never disagree about which type is authoritative:
|
|
21
|
+
*
|
|
22
|
+
* 1. A generic prop type (containing `interface{}`) — the historical case.
|
|
23
|
+
* 2. #2674: BOTH sides resolve to a CONCRETE type that DISAGREES — e.g. an
|
|
24
|
+
* inline array-element prop type (`initialTodos: Array<{ id, text,
|
|
25
|
+
* done }>`) now independently synthesizes its OWN named struct
|
|
26
|
+
* (`TodoAppInitialTodosItem`) rather than falling to `interface{}`, but
|
|
27
|
+
* a signal seeded from it via a shape-widening transform
|
|
28
|
+
* (`createSignal<Todo[]>((props.initialTodos ?? []).map(t => ({...t,
|
|
29
|
+
* editing: false})))`, `Todo` carrying an EXTRA `editing` field) still
|
|
30
|
+
* wants the signal's own `Todo` element type. Before #2674 this case
|
|
31
|
+
* was unreachable — every inline object/array prop type WAS
|
|
32
|
+
* `interface{}`-containing, so case 1 always fired — leaving the
|
|
33
|
+
* passthrough shortcut safe by accident (prop and signal Go types were
|
|
34
|
+
* always forced equal). Widening to case 2 restores that same
|
|
35
|
+
* equality now that a prop's own type can independently resolve to
|
|
36
|
+
* something concrete but narrower.
|
|
14
37
|
*/
|
|
15
38
|
export declare function buildPropTypeOverrides(ctx: GoEmitContext, ir: ComponentIR): Map<string, string>;
|
|
16
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/adapter/props/prop-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAA;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/adapter/props/prop-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAA;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuC/F;AAkDD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAiD,CAAA;AAEzG;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CA0EhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAkCtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CA+B7F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAmChG;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EACxC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAoDR;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CASzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-codegen.d.ts","sourceRoot":"","sources":["../../../src/adapter/type/type-codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAqBjE;AA4CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,QAAQ,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"type-codegen.d.ts","sourceRoot":"","sources":["../../../src/adapter/type/type-codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAqBjE;AA4CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,QAAQ,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,CA+ER;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3E;AAiBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWxD"}
|