@barefootjs/go-template 0.33.2 → 0.33.4
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 +20 -15
- package/dist/adapter/go-template-adapter.d.ts.map +1 -1
- package/dist/adapter/index.js +53 -55
- package/dist/adapter/lib/compile-state.d.ts +1 -4
- package/dist/adapter/lib/compile-state.d.ts.map +1 -1
- package/dist/conformance-pins.d.ts.map +1 -1
- package/dist/index.js +64 -58
- package/dist/render-divergences.d.ts +10 -0
- package/dist/render-divergences.d.ts.map +1 -1
- package/dist/vite.js +132 -122
- package/package.json +5 -5
- package/src/__tests__/go-template-adapter.test.ts +9 -6
- package/src/adapter/go-template-adapter.ts +140 -63
- package/src/adapter/lib/compile-state.ts +0 -5
- package/src/conformance-pins.ts +17 -0
- package/src/render-divergences.ts +16 -2
- package/dist/adapter/lib/ir-scope.d.ts +0 -13
- package/dist/adapter/lib/ir-scope.d.ts.map +0 -1
- package/src/adapter/lib/ir-scope.ts +0 -31
|
@@ -87,15 +87,6 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
87
87
|
* everywhere except the accessor lookup itself.
|
|
88
88
|
*/
|
|
89
89
|
private scope;
|
|
90
|
-
/**
|
|
91
|
-
* Stack of `IRLoop.depth` values (innermost last), pushed/popped around
|
|
92
|
-
* `renderChildren(loop.children)` in `renderLoop`. `renderAttributes`
|
|
93
|
-
* reads the top of this stack to derive the `key` → `data-key`/
|
|
94
|
-
* `data-key-N` suffix — the depth is IR-computed (jsx-to-ir.ts), not
|
|
95
|
-
* re-derived here; this stack only threads that value down to the
|
|
96
|
-
* loop body's root element (#2168 nested-loop-outer-binding).
|
|
97
|
-
*/
|
|
98
|
-
private loopKeyDepthStack;
|
|
99
90
|
/**
|
|
100
91
|
* Per-loop: true when the body renders the bare range value (scalar-item
|
|
101
92
|
* inline-literal loop), so the `bf_tmpl` companion is fed `.BfLoopItem` (the
|
|
@@ -684,11 +675,6 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
684
675
|
* every node is plain text; otherwise null.
|
|
685
676
|
*/
|
|
686
677
|
private extractTextChildren;
|
|
687
|
-
/**
|
|
688
|
-
* Pull the IR nodes out of a `children={<…/>}` attribute (a `jsx-children`
|
|
689
|
-
* prop value). Empty when the component takes no such prop.
|
|
690
|
-
*/
|
|
691
|
-
private jsxChildrenPropNodes;
|
|
692
678
|
private extractHtmlChildren;
|
|
693
679
|
/**
|
|
694
680
|
* Build a Go string-concat expression for hoisted-JSX children whose root
|
|
@@ -710,7 +696,8 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
710
696
|
*
|
|
711
697
|
* `ctx.isRoot` leaks into a JSX-valued prop's subtree, so such a fragment
|
|
712
698
|
* is already tagged `needsScopeComment` as if it were a component root —
|
|
713
|
-
* which is why `
|
|
699
|
+
* which is why a relay `element.keyAttr` (#2753; `carriesDataKey` before
|
|
700
|
+
* it) reaches this path at all.
|
|
714
701
|
*/
|
|
715
702
|
private bakingStaticChildren;
|
|
716
703
|
private extractScopedHtmlChildren;
|
|
@@ -1367,6 +1354,24 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
1367
1354
|
* value.
|
|
1368
1355
|
*/
|
|
1369
1356
|
private queueDynamicChildrenDefine;
|
|
1357
|
+
/**
|
|
1358
|
+
* #2703/B2: extend `queueDynamicChildrenDefine`'s companion-define delivery
|
|
1359
|
+
* from the reserved `children` slot to NAMED jsx-children props (any
|
|
1360
|
+
* JSX-valued prop other than `children`, e.g. `header={<strong>Title</strong>}`).
|
|
1361
|
+
* A named prop whose value can't be baked into a static Go string by
|
|
1362
|
+
* `emitStaticChildInstances`'s bake chain (`extractTextChildren` /
|
|
1363
|
+
* `extractHtmlChildren` / `extractScopedHtmlChildren`, all null) is queued
|
|
1364
|
+
* here instead, the same way; the caller composes the result into
|
|
1365
|
+
* `bf_with_props` + `bf_tmpl` at the STATIC (non-loop) call site — the one
|
|
1366
|
+
* shape `emitStaticChildInstances` bakes for at all (a component nested in
|
|
1367
|
+
* a loop row never reaches `collectStaticChildInstances`).
|
|
1368
|
+
*
|
|
1369
|
+
* Returns the flat `"FieldName" (bf_tmpl "name" .) ...` argument list ready
|
|
1370
|
+
* to splice into `bf_with_props`, or null when no named prop needs it —
|
|
1371
|
+
* batches every prop that needs dynamic delivery into ONE `bf_with_props`
|
|
1372
|
+
* call rather than nesting one per prop.
|
|
1373
|
+
*/
|
|
1374
|
+
private queueDynamicPropDefine;
|
|
1370
1375
|
/**
|
|
1371
1376
|
* Queue a companion define for a loop body component's JSX children. Like
|
|
1372
1377
|
* `queueDynamicChildrenDefine` but temporarily exits the `inLoop` context so
|
|
@@ -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
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
BindingScope
|
|
32
32
|
} from "@barefootjs/jsx";
|
|
33
33
|
import { findInterpolationEnd } from "@barefootjs/jsx/scanner";
|
|
34
|
-
import { BF_REGION, escapeHtml } from "@barefootjs/shared";
|
|
34
|
+
import { BF_REGION, escapeHtml, resolveJsxChildrenProp } from "@barefootjs/shared";
|
|
35
35
|
|
|
36
36
|
// src/adapter/lib/go-naming.ts
|
|
37
37
|
var GO_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
@@ -285,31 +285,6 @@ function goLiteral(value) {
|
|
|
285
285
|
return `"${value}"`;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
// src/adapter/lib/ir-scope.ts
|
|
289
|
-
function collectRootScopeNodes(node) {
|
|
290
|
-
const out = new Set;
|
|
291
|
-
const visit = (n) => {
|
|
292
|
-
if (!n)
|
|
293
|
-
return;
|
|
294
|
-
if (n.type === "element") {
|
|
295
|
-
out.add(n);
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
if (n.type === "if-statement") {
|
|
299
|
-
const s = n;
|
|
300
|
-
visit(s.consequent);
|
|
301
|
-
visit(s.alternate);
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
if (n.type === "fragment") {
|
|
305
|
-
for (const c of n.children)
|
|
306
|
-
visit(c);
|
|
307
|
-
}
|
|
308
|
-
};
|
|
309
|
-
visit(node);
|
|
310
|
-
return out;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
288
|
// src/adapter/lib/constants.ts
|
|
314
289
|
var GO_TEMPLATE_PRIMITIVES = {
|
|
315
290
|
"JSON.stringify": { arity: 1, emit: (args) => `bf_json ${wrapGoArg(args[0])}` },
|
|
@@ -351,7 +326,6 @@ class CompileState {
|
|
|
351
326
|
textConsumedPropNames = new Set;
|
|
352
327
|
presenceCheckedPropNames = new Set;
|
|
353
328
|
stringValueNames = new Set;
|
|
354
|
-
rootScopeNodes = new Set;
|
|
355
329
|
memoBackedLoopSlice = new Map;
|
|
356
330
|
usesHtmlTemplate = false;
|
|
357
331
|
usesFmt = false;
|
|
@@ -2924,7 +2898,6 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2924
2898
|
inLoop = false;
|
|
2925
2899
|
bakedStaticChildLoopCache = new Map;
|
|
2926
2900
|
scope = BindingScope.EMPTY;
|
|
2927
|
-
loopKeyDepthStack = [];
|
|
2928
2901
|
loopScalarItemStack = [];
|
|
2929
2902
|
loopWrapperStack = [];
|
|
2930
2903
|
loopVarRefCount = new Map;
|
|
@@ -2991,7 +2964,6 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2991
2964
|
const hasInteractivity = hasClientInteractivity(ir);
|
|
2992
2965
|
const isRootComponent = ir.root.type === "component";
|
|
2993
2966
|
const isIfStatement = ir.root.type === "if-statement";
|
|
2994
|
-
this.state.rootScopeNodes = collectRootScopeNodes(ir.root);
|
|
2995
2967
|
this.state.memoBackedLoopSlice = new Map;
|
|
2996
2968
|
for (const nested of findNestedComponents(ir.root)) {
|
|
2997
2969
|
const memoName = this.extractMemoNameFromLoopArray(nested.loopArray);
|
|
@@ -4430,13 +4402,6 @@ ${goFields.join(`
|
|
|
4430
4402
|
}
|
|
4431
4403
|
return out;
|
|
4432
4404
|
}
|
|
4433
|
-
jsxChildrenPropNodes(props) {
|
|
4434
|
-
for (const p of props) {
|
|
4435
|
-
if (p.value.kind === "jsx-children")
|
|
4436
|
-
return p.value.children;
|
|
4437
|
-
}
|
|
4438
|
-
return [];
|
|
4439
|
-
}
|
|
4440
4405
|
extractHtmlChildren(children) {
|
|
4441
4406
|
if (children.length === 0)
|
|
4442
4407
|
return null;
|
|
@@ -4480,7 +4445,7 @@ ${goFields.join(`
|
|
|
4480
4445
|
}
|
|
4481
4446
|
if (comp.name !== "Portal" && !inLoop && comp.slotId) {
|
|
4482
4447
|
const suffix = slotIdToFieldSuffix(comp.slotId);
|
|
4483
|
-
const effectiveChildren = comp.children.length > 0 ? comp.children :
|
|
4448
|
+
const effectiveChildren = comp.children.length > 0 ? comp.children : resolveJsxChildrenProp(comp.props);
|
|
4484
4449
|
result.push({
|
|
4485
4450
|
name: comp.name,
|
|
4486
4451
|
slotId: comp.slotId,
|
|
@@ -4921,8 +4886,14 @@ ${goFields.join(`
|
|
|
4921
4886
|
if (element.needsScope) {
|
|
4922
4887
|
hydrationAttrs += ` ${this.renderScopeMarker(".ScopeID")}`;
|
|
4923
4888
|
}
|
|
4924
|
-
if (
|
|
4925
|
-
|
|
4889
|
+
if (element.keyAttr) {
|
|
4890
|
+
if (element.keyAttr.value !== undefined) {
|
|
4891
|
+
const lowered = emitAttrValue({ kind: "expression", expr: element.keyAttr.value }, this.elementAttrEmitter, element.keyAttr.name);
|
|
4892
|
+
if (lowered)
|
|
4893
|
+
hydrationAttrs += ` ${lowered}`;
|
|
4894
|
+
} else if (!this.bakingStaticChildren) {
|
|
4895
|
+
hydrationAttrs += `{{if .BfDataKey}} data-key="{{.BfDataKey}}"{{end}}`;
|
|
4896
|
+
}
|
|
4926
4897
|
}
|
|
4927
4898
|
if (element.slotId) {
|
|
4928
4899
|
hydrationAttrs += ` ${this.renderSlotMarker(element.slotId)}`;
|
|
@@ -6500,10 +6471,8 @@ ${goFields.join(`
|
|
|
6500
6471
|
}
|
|
6501
6472
|
this.loopScalarItemStack.push(this.scalarLiteralLoopGoType(loop.arrayParsed, loop.itemType) !== null);
|
|
6502
6473
|
this.loopWrapperStack.push(!!loop.childComponent);
|
|
6503
|
-
this.loopKeyDepthStack.push(loop.depth);
|
|
6504
6474
|
const preambleAssignments = (loop.preamble?.declarations ?? []).map((d) => `{{$${d.name} := ${this.renderParsedExpr(d.valueParsed)}}}`).join("");
|
|
6505
6475
|
const children = this.renderChildren(loop.children);
|
|
6506
|
-
this.loopKeyDepthStack.pop();
|
|
6507
6476
|
this.loopWrapperStack.pop();
|
|
6508
6477
|
this.loopScalarItemStack.pop();
|
|
6509
6478
|
const itemMarker = this.loopItemMarker(loop);
|
|
@@ -6544,7 +6513,6 @@ ${goFields.join(`
|
|
|
6544
6513
|
const wasInLoopOuter = this.inLoop;
|
|
6545
6514
|
this.inLoop = true;
|
|
6546
6515
|
this.loopWrapperStack.push(false);
|
|
6547
|
-
this.loopKeyDepthStack.push(loop.depth);
|
|
6548
6516
|
this.loopScalarItemStack.push(this.scalarLiteralLoopGoType(loop.arrayParsed, loop.itemType) !== null);
|
|
6549
6517
|
const prevScope = this.scope;
|
|
6550
6518
|
this.scope = prevScope.enterLoopRow(loop);
|
|
@@ -6569,21 +6537,20 @@ ${goFields.join(`
|
|
|
6569
6537
|
}
|
|
6570
6538
|
this.scope = prevScope;
|
|
6571
6539
|
this.loopScalarItemStack.pop();
|
|
6572
|
-
this.loopKeyDepthStack.pop();
|
|
6573
6540
|
this.loopWrapperStack.pop();
|
|
6574
6541
|
this.inLoop = wasInLoopOuter;
|
|
6575
6542
|
return `{{bfComment "loop:${loop.markerId}"}}${body}{{bfComment "/loop:${loop.markerId}"}}`;
|
|
6576
6543
|
}
|
|
6577
6544
|
loopItemMarker(loop) {
|
|
6578
6545
|
if (loop.bodyIsMultiRoot)
|
|
6579
|
-
return `{{bfComment "
|
|
6546
|
+
return `{{bfComment "loop-i"}}`;
|
|
6580
6547
|
if (loop.bodyIsItemConditional && loop.key) {
|
|
6581
6548
|
return `{{bfComment (printf "loop-i:%v" ${this.convertExpressionToGo(loop.key)})}}`;
|
|
6582
6549
|
}
|
|
6583
6550
|
return "";
|
|
6584
6551
|
}
|
|
6585
6552
|
queueDynamicChildrenDefine(comp) {
|
|
6586
|
-
const effectiveChildren = comp.children.length > 0 ? comp.children :
|
|
6553
|
+
const effectiveChildren = comp.children.length > 0 ? comp.children : resolveJsxChildrenProp(comp.props);
|
|
6587
6554
|
if (effectiveChildren.length === 0)
|
|
6588
6555
|
return null;
|
|
6589
6556
|
if (this.extractTextChildren(effectiveChildren) !== null)
|
|
@@ -6601,8 +6568,42 @@ ${goFields.join(`
|
|
|
6601
6568
|
}
|
|
6602
6569
|
return name;
|
|
6603
6570
|
}
|
|
6571
|
+
queueDynamicPropDefine(comp) {
|
|
6572
|
+
const args = [];
|
|
6573
|
+
const childShape = this.childComponentShapes.get(comp.name);
|
|
6574
|
+
for (const prop of comp.props) {
|
|
6575
|
+
if (prop.value.kind !== "jsx-children" || prop.name === "children")
|
|
6576
|
+
continue;
|
|
6577
|
+
const children = prop.value.children;
|
|
6578
|
+
if (this.extractTextChildren(children) !== null)
|
|
6579
|
+
continue;
|
|
6580
|
+
if (this.extractHtmlChildren(children) !== null)
|
|
6581
|
+
continue;
|
|
6582
|
+
if (this.extractScopedHtmlChildren(children) !== null)
|
|
6583
|
+
continue;
|
|
6584
|
+
if (childShape?.restBagField && !childShape.paramNames.has(prop.name)) {
|
|
6585
|
+
this.state.errors.push({
|
|
6586
|
+
code: "BF101",
|
|
6587
|
+
severity: "error",
|
|
6588
|
+
message: `JSX-valued prop '${prop.name}' on <${comp.name}> is dynamic and routes into the child's rest-bag prop ('${childShape.restBagField}') rather than a declared field — there is no named Go struct field for 'bf_with_props' to target`,
|
|
6589
|
+
loc: prop.loc
|
|
6590
|
+
});
|
|
6591
|
+
continue;
|
|
6592
|
+
}
|
|
6593
|
+
const name = `${this.state.componentName}__prop_${prop.name}_${comp.slotId}`;
|
|
6594
|
+
if (!this.state.pendingChildrenDefines.some((d) => d.name === name)) {
|
|
6595
|
+
this.state.pendingChildrenDefines.push({
|
|
6596
|
+
name,
|
|
6597
|
+
content: this.renderChildren(children)
|
|
6598
|
+
});
|
|
6599
|
+
}
|
|
6600
|
+
const fieldName = this.childPropFieldNames.get(comp.name)?.get(prop.name) ?? capitalizeFieldName(prop.name);
|
|
6601
|
+
args.push(`${JSON.stringify(fieldName)} (bf_tmpl ${JSON.stringify(name)} .)`);
|
|
6602
|
+
}
|
|
6603
|
+
return args.length > 0 ? args.join(" ") : null;
|
|
6604
|
+
}
|
|
6604
6605
|
queueLoopBodyChildrenDefine(comp) {
|
|
6605
|
-
const effectiveChildren = comp.children.length > 0 ? comp.children :
|
|
6606
|
+
const effectiveChildren = comp.children.length > 0 ? comp.children : resolveJsxChildrenProp(comp.props);
|
|
6606
6607
|
if (effectiveChildren.length === 0)
|
|
6607
6608
|
return null;
|
|
6608
6609
|
if (this.extractTextChildren(effectiveChildren) !== null)
|
|
@@ -6648,7 +6649,9 @@ ${goFields.join(`
|
|
|
6648
6649
|
} else if (comp.slotId) {
|
|
6649
6650
|
const suffix = slotIdToFieldSuffix(comp.slotId);
|
|
6650
6651
|
const childrenDefine = this.queueDynamicChildrenDefine(comp);
|
|
6651
|
-
|
|
6652
|
+
const propArgs = this.queueDynamicPropDefine(comp);
|
|
6653
|
+
const base = propArgs ? `(bf_with_props .${comp.name}${suffix} ${propArgs})` : `.${comp.name}${suffix}`;
|
|
6654
|
+
templateCall = childrenDefine ? `{{template "${comp.name}" (bf_with_children ${base} (bf_tmpl "${childrenDefine}" .))}}` : `{{template "${comp.name}" ${base}}}`;
|
|
6652
6655
|
} else {
|
|
6653
6656
|
templateCall = `{{template "${comp.name}" .${comp.name}}}`;
|
|
6654
6657
|
}
|
|
@@ -6775,14 +6778,9 @@ ${children}`;
|
|
|
6775
6778
|
continue;
|
|
6776
6779
|
if (isDangerousInnerHtmlAttr(attr))
|
|
6777
6780
|
continue;
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
else if (attr.name === "key") {
|
|
6782
|
-
const depth = this.loopKeyDepthStack.at(-1) ?? 0;
|
|
6783
|
-
attrName = depth > 0 ? `data-key-${depth}` : "data-key";
|
|
6784
|
-
} else
|
|
6785
|
-
attrName = attr.name;
|
|
6781
|
+
if (attr.name === "key")
|
|
6782
|
+
continue;
|
|
6783
|
+
const attrName = attr.name === "className" ? "class" : attr.name;
|
|
6786
6784
|
const lowered = emitAttrValue(attr.value, this.elementAttrEmitter, attrName);
|
|
6787
6785
|
if (lowered)
|
|
6788
6786
|
parts.push(lowered);
|
|
@@ -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,
|
|
16
|
+
import type { CompilerError, ContextConsumer, EnvSignalReader, IRMetadata, LoweringMatcher, MemoInfo, ParsedExpr, SsrSeedPlan, TypeDefinition, TypeInfo } from '@barefootjs/jsx';
|
|
17
17
|
export declare class CompileState {
|
|
18
18
|
componentName: string;
|
|
19
19
|
errors: CompilerError[];
|
|
@@ -167,9 +167,6 @@ export declare class CompileState {
|
|
|
167
167
|
* addition — see `collectStringValueNames` (`props/prop-classes.ts`).
|
|
168
168
|
*/
|
|
169
169
|
stringValueNames: Set<string>;
|
|
170
|
-
/** Component root scope element(s) — each carries `data-key` for a keyed loop
|
|
171
|
-
* item. */
|
|
172
|
-
rootScopeNodes: Set<IRNode>;
|
|
173
170
|
/** Array-memo name → the handler-filled loop slice field its `.map()` feeds
|
|
174
171
|
* (e.g. `visible` → `PostListItems`). Lets `<memo>().length` lower to the
|
|
175
172
|
* slice's length instead of a nil/unset memo field. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-state.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/compile-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"compile-state.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/compile-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,eAmE7B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
BindingScope
|
|
32
32
|
} from "@barefootjs/jsx";
|
|
33
33
|
import { findInterpolationEnd } from "@barefootjs/jsx/scanner";
|
|
34
|
-
import { BF_REGION, escapeHtml } from "@barefootjs/shared";
|
|
34
|
+
import { BF_REGION, escapeHtml, resolveJsxChildrenProp } from "@barefootjs/shared";
|
|
35
35
|
|
|
36
36
|
// src/adapter/lib/go-naming.ts
|
|
37
37
|
var GO_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
@@ -285,31 +285,6 @@ function goLiteral(value) {
|
|
|
285
285
|
return `"${value}"`;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
// src/adapter/lib/ir-scope.ts
|
|
289
|
-
function collectRootScopeNodes(node) {
|
|
290
|
-
const out = new Set;
|
|
291
|
-
const visit = (n) => {
|
|
292
|
-
if (!n)
|
|
293
|
-
return;
|
|
294
|
-
if (n.type === "element") {
|
|
295
|
-
out.add(n);
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
if (n.type === "if-statement") {
|
|
299
|
-
const s = n;
|
|
300
|
-
visit(s.consequent);
|
|
301
|
-
visit(s.alternate);
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
if (n.type === "fragment") {
|
|
305
|
-
for (const c of n.children)
|
|
306
|
-
visit(c);
|
|
307
|
-
}
|
|
308
|
-
};
|
|
309
|
-
visit(node);
|
|
310
|
-
return out;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
288
|
// src/adapter/lib/constants.ts
|
|
314
289
|
var GO_TEMPLATE_PRIMITIVES = {
|
|
315
290
|
"JSON.stringify": { arity: 1, emit: (args) => `bf_json ${wrapGoArg(args[0])}` },
|
|
@@ -351,7 +326,6 @@ class CompileState {
|
|
|
351
326
|
textConsumedPropNames = new Set;
|
|
352
327
|
presenceCheckedPropNames = new Set;
|
|
353
328
|
stringValueNames = new Set;
|
|
354
|
-
rootScopeNodes = new Set;
|
|
355
329
|
memoBackedLoopSlice = new Map;
|
|
356
330
|
usesHtmlTemplate = false;
|
|
357
331
|
usesFmt = false;
|
|
@@ -2924,7 +2898,6 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2924
2898
|
inLoop = false;
|
|
2925
2899
|
bakedStaticChildLoopCache = new Map;
|
|
2926
2900
|
scope = BindingScope.EMPTY;
|
|
2927
|
-
loopKeyDepthStack = [];
|
|
2928
2901
|
loopScalarItemStack = [];
|
|
2929
2902
|
loopWrapperStack = [];
|
|
2930
2903
|
loopVarRefCount = new Map;
|
|
@@ -2991,7 +2964,6 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2991
2964
|
const hasInteractivity = hasClientInteractivity(ir);
|
|
2992
2965
|
const isRootComponent = ir.root.type === "component";
|
|
2993
2966
|
const isIfStatement = ir.root.type === "if-statement";
|
|
2994
|
-
this.state.rootScopeNodes = collectRootScopeNodes(ir.root);
|
|
2995
2967
|
this.state.memoBackedLoopSlice = new Map;
|
|
2996
2968
|
for (const nested of findNestedComponents(ir.root)) {
|
|
2997
2969
|
const memoName = this.extractMemoNameFromLoopArray(nested.loopArray);
|
|
@@ -4430,13 +4402,6 @@ ${goFields.join(`
|
|
|
4430
4402
|
}
|
|
4431
4403
|
return out;
|
|
4432
4404
|
}
|
|
4433
|
-
jsxChildrenPropNodes(props) {
|
|
4434
|
-
for (const p of props) {
|
|
4435
|
-
if (p.value.kind === "jsx-children")
|
|
4436
|
-
return p.value.children;
|
|
4437
|
-
}
|
|
4438
|
-
return [];
|
|
4439
|
-
}
|
|
4440
4405
|
extractHtmlChildren(children) {
|
|
4441
4406
|
if (children.length === 0)
|
|
4442
4407
|
return null;
|
|
@@ -4480,7 +4445,7 @@ ${goFields.join(`
|
|
|
4480
4445
|
}
|
|
4481
4446
|
if (comp.name !== "Portal" && !inLoop && comp.slotId) {
|
|
4482
4447
|
const suffix = slotIdToFieldSuffix(comp.slotId);
|
|
4483
|
-
const effectiveChildren = comp.children.length > 0 ? comp.children :
|
|
4448
|
+
const effectiveChildren = comp.children.length > 0 ? comp.children : resolveJsxChildrenProp(comp.props);
|
|
4484
4449
|
result.push({
|
|
4485
4450
|
name: comp.name,
|
|
4486
4451
|
slotId: comp.slotId,
|
|
@@ -4921,8 +4886,14 @@ ${goFields.join(`
|
|
|
4921
4886
|
if (element.needsScope) {
|
|
4922
4887
|
hydrationAttrs += ` ${this.renderScopeMarker(".ScopeID")}`;
|
|
4923
4888
|
}
|
|
4924
|
-
if (
|
|
4925
|
-
|
|
4889
|
+
if (element.keyAttr) {
|
|
4890
|
+
if (element.keyAttr.value !== undefined) {
|
|
4891
|
+
const lowered = emitAttrValue({ kind: "expression", expr: element.keyAttr.value }, this.elementAttrEmitter, element.keyAttr.name);
|
|
4892
|
+
if (lowered)
|
|
4893
|
+
hydrationAttrs += ` ${lowered}`;
|
|
4894
|
+
} else if (!this.bakingStaticChildren) {
|
|
4895
|
+
hydrationAttrs += `{{if .BfDataKey}} data-key="{{.BfDataKey}}"{{end}}`;
|
|
4896
|
+
}
|
|
4926
4897
|
}
|
|
4927
4898
|
if (element.slotId) {
|
|
4928
4899
|
hydrationAttrs += ` ${this.renderSlotMarker(element.slotId)}`;
|
|
@@ -6500,10 +6471,8 @@ ${goFields.join(`
|
|
|
6500
6471
|
}
|
|
6501
6472
|
this.loopScalarItemStack.push(this.scalarLiteralLoopGoType(loop.arrayParsed, loop.itemType) !== null);
|
|
6502
6473
|
this.loopWrapperStack.push(!!loop.childComponent);
|
|
6503
|
-
this.loopKeyDepthStack.push(loop.depth);
|
|
6504
6474
|
const preambleAssignments = (loop.preamble?.declarations ?? []).map((d) => `{{$${d.name} := ${this.renderParsedExpr(d.valueParsed)}}}`).join("");
|
|
6505
6475
|
const children = this.renderChildren(loop.children);
|
|
6506
|
-
this.loopKeyDepthStack.pop();
|
|
6507
6476
|
this.loopWrapperStack.pop();
|
|
6508
6477
|
this.loopScalarItemStack.pop();
|
|
6509
6478
|
const itemMarker = this.loopItemMarker(loop);
|
|
@@ -6544,7 +6513,6 @@ ${goFields.join(`
|
|
|
6544
6513
|
const wasInLoopOuter = this.inLoop;
|
|
6545
6514
|
this.inLoop = true;
|
|
6546
6515
|
this.loopWrapperStack.push(false);
|
|
6547
|
-
this.loopKeyDepthStack.push(loop.depth);
|
|
6548
6516
|
this.loopScalarItemStack.push(this.scalarLiteralLoopGoType(loop.arrayParsed, loop.itemType) !== null);
|
|
6549
6517
|
const prevScope = this.scope;
|
|
6550
6518
|
this.scope = prevScope.enterLoopRow(loop);
|
|
@@ -6569,21 +6537,20 @@ ${goFields.join(`
|
|
|
6569
6537
|
}
|
|
6570
6538
|
this.scope = prevScope;
|
|
6571
6539
|
this.loopScalarItemStack.pop();
|
|
6572
|
-
this.loopKeyDepthStack.pop();
|
|
6573
6540
|
this.loopWrapperStack.pop();
|
|
6574
6541
|
this.inLoop = wasInLoopOuter;
|
|
6575
6542
|
return `{{bfComment "loop:${loop.markerId}"}}${body}{{bfComment "/loop:${loop.markerId}"}}`;
|
|
6576
6543
|
}
|
|
6577
6544
|
loopItemMarker(loop) {
|
|
6578
6545
|
if (loop.bodyIsMultiRoot)
|
|
6579
|
-
return `{{bfComment "
|
|
6546
|
+
return `{{bfComment "loop-i"}}`;
|
|
6580
6547
|
if (loop.bodyIsItemConditional && loop.key) {
|
|
6581
6548
|
return `{{bfComment (printf "loop-i:%v" ${this.convertExpressionToGo(loop.key)})}}`;
|
|
6582
6549
|
}
|
|
6583
6550
|
return "";
|
|
6584
6551
|
}
|
|
6585
6552
|
queueDynamicChildrenDefine(comp) {
|
|
6586
|
-
const effectiveChildren = comp.children.length > 0 ? comp.children :
|
|
6553
|
+
const effectiveChildren = comp.children.length > 0 ? comp.children : resolveJsxChildrenProp(comp.props);
|
|
6587
6554
|
if (effectiveChildren.length === 0)
|
|
6588
6555
|
return null;
|
|
6589
6556
|
if (this.extractTextChildren(effectiveChildren) !== null)
|
|
@@ -6601,8 +6568,42 @@ ${goFields.join(`
|
|
|
6601
6568
|
}
|
|
6602
6569
|
return name;
|
|
6603
6570
|
}
|
|
6571
|
+
queueDynamicPropDefine(comp) {
|
|
6572
|
+
const args = [];
|
|
6573
|
+
const childShape = this.childComponentShapes.get(comp.name);
|
|
6574
|
+
for (const prop of comp.props) {
|
|
6575
|
+
if (prop.value.kind !== "jsx-children" || prop.name === "children")
|
|
6576
|
+
continue;
|
|
6577
|
+
const children = prop.value.children;
|
|
6578
|
+
if (this.extractTextChildren(children) !== null)
|
|
6579
|
+
continue;
|
|
6580
|
+
if (this.extractHtmlChildren(children) !== null)
|
|
6581
|
+
continue;
|
|
6582
|
+
if (this.extractScopedHtmlChildren(children) !== null)
|
|
6583
|
+
continue;
|
|
6584
|
+
if (childShape?.restBagField && !childShape.paramNames.has(prop.name)) {
|
|
6585
|
+
this.state.errors.push({
|
|
6586
|
+
code: "BF101",
|
|
6587
|
+
severity: "error",
|
|
6588
|
+
message: `JSX-valued prop '${prop.name}' on <${comp.name}> is dynamic and routes into the child's rest-bag prop ('${childShape.restBagField}') rather than a declared field — there is no named Go struct field for 'bf_with_props' to target`,
|
|
6589
|
+
loc: prop.loc
|
|
6590
|
+
});
|
|
6591
|
+
continue;
|
|
6592
|
+
}
|
|
6593
|
+
const name = `${this.state.componentName}__prop_${prop.name}_${comp.slotId}`;
|
|
6594
|
+
if (!this.state.pendingChildrenDefines.some((d) => d.name === name)) {
|
|
6595
|
+
this.state.pendingChildrenDefines.push({
|
|
6596
|
+
name,
|
|
6597
|
+
content: this.renderChildren(children)
|
|
6598
|
+
});
|
|
6599
|
+
}
|
|
6600
|
+
const fieldName = this.childPropFieldNames.get(comp.name)?.get(prop.name) ?? capitalizeFieldName(prop.name);
|
|
6601
|
+
args.push(`${JSON.stringify(fieldName)} (bf_tmpl ${JSON.stringify(name)} .)`);
|
|
6602
|
+
}
|
|
6603
|
+
return args.length > 0 ? args.join(" ") : null;
|
|
6604
|
+
}
|
|
6604
6605
|
queueLoopBodyChildrenDefine(comp) {
|
|
6605
|
-
const effectiveChildren = comp.children.length > 0 ? comp.children :
|
|
6606
|
+
const effectiveChildren = comp.children.length > 0 ? comp.children : resolveJsxChildrenProp(comp.props);
|
|
6606
6607
|
if (effectiveChildren.length === 0)
|
|
6607
6608
|
return null;
|
|
6608
6609
|
if (this.extractTextChildren(effectiveChildren) !== null)
|
|
@@ -6648,7 +6649,9 @@ ${goFields.join(`
|
|
|
6648
6649
|
} else if (comp.slotId) {
|
|
6649
6650
|
const suffix = slotIdToFieldSuffix(comp.slotId);
|
|
6650
6651
|
const childrenDefine = this.queueDynamicChildrenDefine(comp);
|
|
6651
|
-
|
|
6652
|
+
const propArgs = this.queueDynamicPropDefine(comp);
|
|
6653
|
+
const base = propArgs ? `(bf_with_props .${comp.name}${suffix} ${propArgs})` : `.${comp.name}${suffix}`;
|
|
6654
|
+
templateCall = childrenDefine ? `{{template "${comp.name}" (bf_with_children ${base} (bf_tmpl "${childrenDefine}" .))}}` : `{{template "${comp.name}" ${base}}}`;
|
|
6652
6655
|
} else {
|
|
6653
6656
|
templateCall = `{{template "${comp.name}" .${comp.name}}}`;
|
|
6654
6657
|
}
|
|
@@ -6775,14 +6778,9 @@ ${children}`;
|
|
|
6775
6778
|
continue;
|
|
6776
6779
|
if (isDangerousInnerHtmlAttr(attr))
|
|
6777
6780
|
continue;
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
else if (attr.name === "key") {
|
|
6782
|
-
const depth = this.loopKeyDepthStack.at(-1) ?? 0;
|
|
6783
|
-
attrName = depth > 0 ? `data-key-${depth}` : "data-key";
|
|
6784
|
-
} else
|
|
6785
|
-
attrName = attr.name;
|
|
6781
|
+
if (attr.name === "key")
|
|
6782
|
+
continue;
|
|
6783
|
+
const attrName = attr.name === "className" ? "class" : attr.name;
|
|
6786
6784
|
const lowered = emitAttrValue(attr.value, this.elementAttrEmitter, attrName);
|
|
6787
6785
|
if (lowered)
|
|
6788
6786
|
parts.push(lowered);
|
|
@@ -6914,12 +6912,20 @@ var conformancePins = {
|
|
|
6914
6912
|
"date-method-uncatalogued": [{ code: "BF021", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2356" }],
|
|
6915
6913
|
"rich-prop-client-read": [{ code: "BF049", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2648" }],
|
|
6916
6914
|
"jsx-element-prop-ternary": [{ code: "BF021", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2667" }],
|
|
6917
|
-
"jsx-element-prop-array": [{ code: "BF021", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2667" }]
|
|
6915
|
+
"jsx-element-prop-array": [{ code: "BF021", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2667" }],
|
|
6916
|
+
"jsx-element-prop-rest-bag-dynamic": [{
|
|
6917
|
+
code: "BF101",
|
|
6918
|
+
severity: "error",
|
|
6919
|
+
issue: "https://github.com/piconic-ai/barefootjs/issues/2805",
|
|
6920
|
+
unescapable: { issue: "https://github.com/piconic-ai/barefootjs/issues/2805" }
|
|
6921
|
+
}]
|
|
6918
6922
|
};
|
|
6919
6923
|
// src/render-divergences.ts
|
|
6920
6924
|
var renderDivergences = {
|
|
6921
|
-
"
|
|
6922
|
-
"signal-object-spread-init": "PRE-EXISTING, unrelated to the #2696 Step 2 spread work this fixture pins: a `derived`-classified signal/memo whose value is an OBJECT literal has no live-template-expression lowering on Go — unlike the other six template-stash backends (e.g. minijinja emits `{% set merged = dict(base, done=true) %}`), Go always bakes an object-typed signal/memo field into Go SOURCE at `NewXxxProps` constructor time (`convertInitialValue`/`parsedLiteralToGo`), and that baker is STATIC-only (identifier/call/member operands defer, `parsed-literal-to-go.ts`'s own docstring) — it cannot reference a live prop at all. Reproduced identically with the spread REMOVED (`createSignal({ id: base.id, done: true })`), confirming the gap predates and is independent of spread: the signal seeds `nil` and every field read (`.Merged.ID`/`.Merged.Done`) reads the Go zero value regardless of `initialTodos`. Graduate by teaching the baker to emit prop-referencing Go expressions (https://github.com/piconic-ai/barefootjs/issues/2700)."
|
|
6925
|
+
"children-passthrough-renamed": "A `children` prop destructured under a different name (`const { children: kids } = props`) does not reach the SSR template on Go, tracked as https://github.com/piconic-ai/barefootjs/issues/2788. The same fixture also fails on Mojolicious, where the mechanism IS isolated: the `.html.ep` interpolates the LOCAL alias (`$kids`) while the stash defines only the caller-facing `children`, so the Perl render dies inside `Mojo::Template::process`. Go's own failure mode has NOT been read — `go` is not reachable from the local test process (the conformance case prints \"go command not found\" and skips), so this entry is declared from the CI failure on #2787 alone, not from a local reproduction. Whoever graduates this should read Go's actual output first rather than assume it shares Mojo's mechanism. Same alias family as `aliased-destructured-prop` (`{ n: count }`), whose Go half graduated in #2525 — worth checking whether the reserved `children` slot bypasses that fix or never had it. `children-passthrough-renamed` asserts the CORRECT (Hono-generated) output, so deleting this entry is the graduation.",
|
|
6926
|
+
"signal-object-spread-init": "PRE-EXISTING, unrelated to the #2696 Step 2 spread work this fixture pins: a `derived`-classified signal/memo whose value is an OBJECT literal has no live-template-expression lowering on Go — unlike the other six template-stash backends (e.g. minijinja emits `{% set merged = dict(base, done=true) %}`), Go always bakes an object-typed signal/memo field into Go SOURCE at `NewXxxProps` constructor time (`convertInitialValue`/`parsedLiteralToGo`), and that baker is STATIC-only (identifier/call/member operands defer, `parsed-literal-to-go.ts`'s own docstring) — it cannot reference a live prop at all. Reproduced identically with the spread REMOVED (`createSignal({ id: base.id, done: true })`), confirming the gap predates and is independent of spread: the signal seeds `nil` and every field read (`.Merged.ID`/`.Merged.Done`) reads the Go zero value regardless of `initialTodos`. Graduate by teaching the baker to emit prop-referencing Go expressions (https://github.com/piconic-ai/barefootjs/issues/2700).",
|
|
6927
|
+
"textarea-row-breakout": "A signal seeded from a bare identifier referencing a MODULE-LEVEL const (`const PAYLOAD = '...'; createSignal(PAYLOAD)`) bakes to `nil` in the generated `New<Component>Props` constructor instead of the const's literal value: `convertInitialValue` (`value-lowering.ts`) only resolves a direct prop reference or a literal expression for a bare identifier, and the analyzer types this signal `{ kind: 'unknown' }`, so every typed branch falls through to the final `nil` fallback. `resolveModuleStringConst` exists on the adapter for exactly this resolution (used by `template-interp.ts` for live template expressions) but isn't wired into this signal-baking path. Unrelated to what this fixture exists to cover (#2765's loop-row textarea-escaping fix, verified correct here) — every other adapter renders the fixture's controlled `<textarea>` correctly. Tracked at https://github.com/piconic-ai/barefootjs/issues/2794; graduate by wiring `resolveModuleStringConst` into `convertInitialValue`'s bare-identifier case.",
|
|
6928
|
+
"nested-loop-ref-const": "A signal-backed object array whose elements have a NESTED array-of-objects field (`children: [{...}]`, producing this fixture's depth-2 `.map()`) bakes to `nil` in `New<Component>Props`, leaving the whole `{{range .Items}}` body empty on real Go — `synthesizeStructFromSignal` (`go-template-adapter.ts`) only synthesizes a struct when EVERY property value is a scalar literal (`scalarParsedGoType`), so a `children` array property aborts synthesis for the entire signal; `parsedLiteralToGo` then has no named struct to bake an object-literal element against and falls through to `nil`. Reproduced identically with #2750's fix reverted, confirming this predates and is independent of #2750 (which only touches client-JS reachability, never SSR baking) — every other adapter (confirmed: Hono) renders the nested loop correctly. Tracked at https://github.com/piconic-ai/barefootjs/issues/2800; graduate by teaching `synthesizeStructFromSignal` to recursively synthesize a nested struct for an array-valued property instead of bailing to `null`."
|
|
6923
6929
|
};
|
|
6924
6930
|
export {
|
|
6925
6931
|
renderDivergences,
|
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
* the same way it already seeded a signal-backed dynamic one: the adapter's
|
|
14
14
|
* own `emission` was never the bug, only this harness's route-handler
|
|
15
15
|
* stand-in was missing the prop-derived case.)
|
|
16
|
+
*
|
|
17
|
+
* (#2703's `jsx-element-prop-fragment-conditional` divergence graduated by
|
|
18
|
+
* reclassification, not a lowering fix: the underlying gap — a named
|
|
19
|
+
* jsx-children prop whose value can't be baked into a static Go string
|
|
20
|
+
* silently got no field at all, no diagnostic — is now a loud `BF101`
|
|
21
|
+
* refusal (see `conformance-pins.ts`) instead of a silent wrong render.
|
|
22
|
+
* "Compiles clean but renders divergent" no longer describes this fixture on
|
|
23
|
+
* Go, so it moved off this table. Dynamic delivery for named jsx-children
|
|
24
|
+
* props (the actual capability gap) is tracked separately at
|
|
25
|
+
* https://github.com/piconic-ai/barefootjs/issues/2703.)
|
|
16
26
|
*/
|
|
17
27
|
import type { RenderDivergences } from '@barefootjs/jsx';
|
|
18
28
|
export declare const renderDivergences: RenderDivergences;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-divergences.d.ts","sourceRoot":"","sources":["../src/render-divergences.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"render-divergences.d.ts","sourceRoot":"","sources":["../src/render-divergences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,eAAO,MAAM,iBAAiB,EAAE,iBAS/B,CAAA"}
|