@barefootjs/jsx 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/parsed-expr-emitter.d.ts +14 -1
- package/dist/adapters/parsed-expr-emitter.d.ts.map +1 -1
- package/dist/expression-parser.d.ts +137 -0
- package/dist/expression-parser.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +335 -5
- package/dist/ir-to-client-js/collect-elements.d.ts.map +1 -1
- package/dist/ir-to-client-js/plan/build-static-array-child-init.d.ts +4 -0
- package/dist/ir-to-client-js/plan/build-static-array-child-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/plan/static-array-child-init.d.ts +46 -2
- package/dist/ir-to-client-js/plan/static-array-child-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/stringify/static-array-child-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/types.d.ts +8 -1
- package/dist/ir-to-client-js/types.d.ts.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/__snapshots__/doc-examples.test.ts.snap +7 -7
- package/src/__tests__/child-components-in-map.test.ts +84 -0
- package/src/__tests__/client-js-generation.test.ts +51 -0
- package/src/__tests__/compiler-stress-1244.test.ts +43 -0
- package/src/__tests__/expression-parser.test.ts +109 -1
- package/src/__tests__/foreach-client-only.test.ts +80 -0
- package/src/__tests__/ir-async.test.ts +64 -0
- package/src/__tests__/ir-dynamic-tag.test.ts +104 -0
- package/src/__tests__/ir-reduce-op.test.ts +51 -0
- package/src/__tests__/reduce-op.test.ts +201 -0
- package/src/adapters/parsed-expr-emitter.ts +43 -1
- package/src/expression-parser.ts +570 -4
- package/src/index.ts +1 -1
- package/src/ir-to-client-js/collect-elements.ts +27 -4
- package/src/ir-to-client-js/plan/build-static-array-child-init.ts +55 -1
- package/src/ir-to-client-js/plan/static-array-child-init.ts +47 -1
- package/src/ir-to-client-js/stringify/static-array-child-init.ts +69 -0
- package/src/ir-to-client-js/types.ts +8 -1
- package/src/jsx-to-ir.ts +69 -0
- package/src/types.ts +9 -0
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@barefootjs/jsx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "JSX compiler for BarefootJS - transforms JSX to server HTML + client JS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"directory": "packages/jsx"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@barefootjs/shared": "0.
|
|
56
|
+
"@barefootjs/shared": "0.7.0"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@barefootjs/client": ">=0.2.0",
|
|
@@ -4092,7 +4092,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
|
|
|
4092
4092
|
export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
|
|
4093
4093
|
`;
|
|
4094
4094
|
|
|
4095
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4095
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L71 — (no label) 1`] = `
|
|
4096
4096
|
"import { $t, __bfText, createComponent, createEffect, escapeText, hydrate } from '@barefootjs/client/runtime'
|
|
4097
4097
|
|
|
4098
4098
|
|
|
@@ -4114,7 +4114,7 @@ hydrate('Greeting', { init: initGreeting, template: (_p) => \`<p bf="s1">Hello,
|
|
|
4114
4114
|
export function Greeting(_p, __bfKey) { return createComponent('Greeting', _p, __bfKey) }"
|
|
4115
4115
|
`;
|
|
4116
4116
|
|
|
4117
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4117
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L95 — (no label) 1`] = `
|
|
4118
4118
|
"import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate } from '@barefootjs/client/runtime'
|
|
4119
4119
|
|
|
4120
4120
|
|
|
@@ -4144,7 +4144,7 @@ hydrate('Counter', { init: initCounter, template: (_p) => \`<div><span bf="s1">C
|
|
|
4144
4144
|
export function Counter(_p, __bfKey) { return createComponent('Counter', _p, __bfKey) }"
|
|
4145
4145
|
`;
|
|
4146
4146
|
|
|
4147
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4147
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L168 — (no label) 1`] = `
|
|
4148
4148
|
"import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate, mapArray } from '@barefootjs/client/runtime'
|
|
4149
4149
|
|
|
4150
4150
|
export function initTodoItem(__scope, _p = {}) {
|
|
@@ -4211,7 +4211,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
|
|
|
4211
4211
|
export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
|
|
4212
4212
|
`;
|
|
4213
4213
|
|
|
4214
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4214
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L180 — (no label) 1`] = `
|
|
4215
4215
|
"import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate, mapArray } from '@barefootjs/client/runtime'
|
|
4216
4216
|
|
|
4217
4217
|
export function initTodoItem(__scope, _p = {}) {
|
|
@@ -4278,7 +4278,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
|
|
|
4278
4278
|
export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
|
|
4279
4279
|
`;
|
|
4280
4280
|
|
|
4281
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4281
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L194 — (no label) 1`] = `
|
|
4282
4282
|
"import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate } from '@barefootjs/client/runtime'
|
|
4283
4283
|
|
|
4284
4284
|
export function initTodoItem(__scope, _p = {}) {
|
|
@@ -4349,7 +4349,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
|
|
|
4349
4349
|
export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
|
|
4350
4350
|
`;
|
|
4351
4351
|
|
|
4352
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4352
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L236 — (no label) 1`] = `
|
|
4353
4353
|
"import { $, createComponent, hydrate, initChild, mapArray, renderChild } from '@barefootjs/client/runtime'
|
|
4354
4354
|
import '/* @bf-child:TodoItem */'
|
|
4355
4355
|
|
|
@@ -4373,7 +4373,7 @@ hydrate('TodoList', { init: initTodoList, template: (_p) => \`<ul bf="s1"><!--bf
|
|
|
4373
4373
|
export function TodoList(_p, __bfKey) { return createComponent('TodoList', _p, __bfKey) }"
|
|
4374
4374
|
`;
|
|
4375
4375
|
|
|
4376
|
-
exports[`docs/core/adapters/go-template-adapter.md doc-examples
|
|
4376
|
+
exports[`docs/core/adapters/go-template-adapter.md doc-examples L260 — (no label) 1`] = `
|
|
4377
4377
|
"import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate, insert } from '@barefootjs/client/runtime'
|
|
4378
4378
|
|
|
4379
4379
|
export function initTodoItem(__scope, _p = {}) {
|
|
@@ -1181,4 +1181,88 @@ describe('child components inside .map() (#344)', () => {
|
|
|
1181
1181
|
expect(content).toContain('const __compEl =')
|
|
1182
1182
|
expect(content).not.toContain('__compEl0')
|
|
1183
1183
|
})
|
|
1184
|
+
|
|
1185
|
+
describe('nested .map() inside a component-rooted loop item (#1725)', () => {
|
|
1186
|
+
// The outer loop item root is a *component* (a passthrough wrapper like
|
|
1187
|
+
// `SelectGroup`), not an element. Its JSX children contain a nested
|
|
1188
|
+
// `.map()` of components. The parent init emitted `initChild` for the
|
|
1189
|
+
// outer wrapper but never descended into its children to init the inner
|
|
1190
|
+
// loop's components — they rendered from SSR but never hydrated (silent).
|
|
1191
|
+
test('emits initChild for the inner-loop component (component wrapper)', () => {
|
|
1192
|
+
const source = `
|
|
1193
|
+
'use client'
|
|
1194
|
+
|
|
1195
|
+
export function Repro() {
|
|
1196
|
+
const GROUPS = [
|
|
1197
|
+
{ id: 'a', items: [{ id: 'a1', label: 'A1' }] },
|
|
1198
|
+
{ id: 'b', items: [{ id: 'b1', label: 'B1' }] },
|
|
1199
|
+
]
|
|
1200
|
+
return (
|
|
1201
|
+
<div>
|
|
1202
|
+
{GROUPS.map(group => (
|
|
1203
|
+
<Group key={group.id}>
|
|
1204
|
+
{group.items.map(it => (
|
|
1205
|
+
<Item key={it.id} label={it.label} />
|
|
1206
|
+
))}
|
|
1207
|
+
</Group>
|
|
1208
|
+
))}
|
|
1209
|
+
</div>
|
|
1210
|
+
)
|
|
1211
|
+
}
|
|
1212
|
+
`
|
|
1213
|
+
const result = compileJSX(source, 'Repro.tsx', { adapter })
|
|
1214
|
+
expect(result.errors).toHaveLength(0)
|
|
1215
|
+
|
|
1216
|
+
const content = result.files.find(f => f.type === 'clientJs')!.content
|
|
1217
|
+
// Both the outer wrapper and the inner-loop component must init.
|
|
1218
|
+
expect(content).toContain("initChild('Group'")
|
|
1219
|
+
expect(content).toContain("initChild('Item'")
|
|
1220
|
+
// The inner component's props read the inner loop param.
|
|
1221
|
+
expect(content).toContain('return it.label')
|
|
1222
|
+
// Document-order zip shape — a flat cursor over the queried scopes
|
|
1223
|
+
// pairs each with its data item across the nested forEach. This shape
|
|
1224
|
+
// is fragment-root safe (no per-group wrapper element to index).
|
|
1225
|
+
expect(content).toContain('qsaChildScopes')
|
|
1226
|
+
expect(content).toMatch(/__compScopes\[__ci\+\+\]/)
|
|
1227
|
+
// No element-offset addressing (`__outerEl = ...children[...]`) — that
|
|
1228
|
+
// would break for a fragment-rooted passthrough.
|
|
1229
|
+
expect(content).not.toContain('__outerEl')
|
|
1230
|
+
})
|
|
1231
|
+
|
|
1232
|
+
test('multiple inner components each get their own document-order cursor', () => {
|
|
1233
|
+
const source = `
|
|
1234
|
+
'use client'
|
|
1235
|
+
|
|
1236
|
+
export function Repro() {
|
|
1237
|
+
const GROUPS = [{ id: 'a', items: [{ id: 'a1', label: 'A1' }] }]
|
|
1238
|
+
return (
|
|
1239
|
+
<div>
|
|
1240
|
+
{GROUPS.map(group => (
|
|
1241
|
+
<Group key={group.id}>
|
|
1242
|
+
{group.items.map(it => (
|
|
1243
|
+
<>
|
|
1244
|
+
<Item key={it.id} label={it.label} />
|
|
1245
|
+
<Badge text={it.label} />
|
|
1246
|
+
</>
|
|
1247
|
+
))}
|
|
1248
|
+
</Group>
|
|
1249
|
+
))}
|
|
1250
|
+
</div>
|
|
1251
|
+
)
|
|
1252
|
+
}
|
|
1253
|
+
`
|
|
1254
|
+
const result = compileJSX(source, 'Repro.tsx', { adapter })
|
|
1255
|
+
expect(result.errors).toHaveLength(0)
|
|
1256
|
+
|
|
1257
|
+
const content = result.files.find(f => f.type === 'clientJs')!.content
|
|
1258
|
+
expect(content).toContain("initChild('Item'")
|
|
1259
|
+
expect(content).toContain("initChild('Badge'")
|
|
1260
|
+
// Distinct scope arrays + cursors so each comp consumes its own
|
|
1261
|
+
// document-order stream (no `const __compEl` redeclaration, #1664).
|
|
1262
|
+
expect(content).toContain('__compScopes0')
|
|
1263
|
+
expect(content).toContain('__compScopes1')
|
|
1264
|
+
expect(content).toMatch(/__ci0\+\+/)
|
|
1265
|
+
expect(content).toMatch(/__ci1\+\+/)
|
|
1266
|
+
})
|
|
1267
|
+
})
|
|
1184
1268
|
})
|
|
@@ -2051,6 +2051,57 @@ describe('Client JS generation', () => {
|
|
|
2051
2051
|
expect(content).toContain('applyRestAttrs')
|
|
2052
2052
|
})
|
|
2053
2053
|
|
|
2054
|
+
test('applyRestAttrs excludes destructured event handlers + consumed props (#1467)', () => {
|
|
2055
|
+
// Regression: the runtime hands applyRestAttrs the FULL props object
|
|
2056
|
+
// and filters by source key, so the exclude list must be the
|
|
2057
|
+
// destructured param names (the JS rest-exclusion set) — NOT the
|
|
2058
|
+
// element's HTML attr names. When a component destructures event
|
|
2059
|
+
// handlers and wires them separately while also spreading `...props`,
|
|
2060
|
+
// omitting them from the exclude list double-binds the handlers
|
|
2061
|
+
// (fires twice) and re-emits consumed props (e.g. `error`) as raw
|
|
2062
|
+
// attributes.
|
|
2063
|
+
const source = `
|
|
2064
|
+
'use client'
|
|
2065
|
+
interface FieldProps {
|
|
2066
|
+
error?: boolean
|
|
2067
|
+
describedBy?: string
|
|
2068
|
+
onInput?: (e: Event) => void
|
|
2069
|
+
[key: string]: unknown
|
|
2070
|
+
}
|
|
2071
|
+
export function Field({
|
|
2072
|
+
error = false,
|
|
2073
|
+
describedBy,
|
|
2074
|
+
onInput = () => {},
|
|
2075
|
+
...props
|
|
2076
|
+
}: FieldProps) {
|
|
2077
|
+
return (
|
|
2078
|
+
<input
|
|
2079
|
+
aria-invalid={error || undefined}
|
|
2080
|
+
onInput={onInput}
|
|
2081
|
+
{...props}
|
|
2082
|
+
/>
|
|
2083
|
+
)
|
|
2084
|
+
}
|
|
2085
|
+
`
|
|
2086
|
+
const result = compileJSX(source, 'Field.tsx', { adapter })
|
|
2087
|
+
expect(result.errors).toHaveLength(0)
|
|
2088
|
+
const content = result.files.find(f => f.type === 'clientJs')!.content
|
|
2089
|
+
|
|
2090
|
+
const call = content.match(/applyRestAttrs\([^)]*\[([^\]]*)\]\)/)
|
|
2091
|
+
expect(call).not.toBeNull()
|
|
2092
|
+
const excluded = call![1]
|
|
2093
|
+
.split(',')
|
|
2094
|
+
.map(s => s.trim().replace(/^["']|["']$/g, ''))
|
|
2095
|
+
|
|
2096
|
+
// Destructured handler + consumed props must be excluded by SOURCE KEY
|
|
2097
|
+
// so applyRestAttrs neither re-binds the event nor re-emits them. The
|
|
2098
|
+
// old behaviour keyed only on HTML attr names (`aria-invalid`) and so
|
|
2099
|
+
// never excluded the source key `error` — these three were missing.
|
|
2100
|
+
expect(excluded).toContain('onInput')
|
|
2101
|
+
expect(excluded).toContain('error')
|
|
2102
|
+
expect(excluded).toContain('describedBy')
|
|
2103
|
+
})
|
|
2104
|
+
|
|
2054
2105
|
test('multi-component file: stateless icons in conditional rendering produce renderChild + hydrate', () => {
|
|
2055
2106
|
const source = `
|
|
2056
2107
|
'use client'
|
|
@@ -1069,6 +1069,49 @@ describe('.map() inside <Async> — loop body wired after async chunk lands', ()
|
|
|
1069
1069
|
})
|
|
1070
1070
|
})
|
|
1071
1071
|
|
|
1072
|
+
describe('<Async> body error path — sync throw + async reject (#1375)', () => {
|
|
1073
|
+
// Whether the body throws synchronously or rejects asynchronously is a
|
|
1074
|
+
// runtime property the compiler can't see. The Layer 1 contract is that
|
|
1075
|
+
// neither shape degrades the boundary's compile output: a throwing /
|
|
1076
|
+
// rejecting body still produces a well-formed `<Async>` boundary with the
|
|
1077
|
+
// fallback preserved, so the adapter has something to fall back to.
|
|
1078
|
+
//
|
|
1079
|
+
// The boundary's fallback is wired into an error-catching boundary by the
|
|
1080
|
+
// adapter: the Hono `renderAsync` emit (see
|
|
1081
|
+
// `packages/adapter-hono/src/__tests__/async-error-boundary.test.ts`) and
|
|
1082
|
+
// the runtime `BfAsync` component (see
|
|
1083
|
+
// `packages/adapter-hono/src/__tests__/async.test.tsx`) both wrap the body
|
|
1084
|
+
// in `ErrorBoundary`. The browser-level behaviour (fallback rendered,
|
|
1085
|
+
// reset-signal re-mount, throw-during-cleanup) is covered by the Layer 6
|
|
1086
|
+
// stubs in `site/ui/e2e/stress-1244.spec.ts`.
|
|
1087
|
+
|
|
1088
|
+
test('synchronously-throwing body component compiles to a clean boundary', () => {
|
|
1089
|
+
const src = `
|
|
1090
|
+
export function Demo() {
|
|
1091
|
+
return (
|
|
1092
|
+
<Async fallback={<p>Fallback</p>}>
|
|
1093
|
+
<Throws />
|
|
1094
|
+
</Async>
|
|
1095
|
+
)
|
|
1096
|
+
}
|
|
1097
|
+
`
|
|
1098
|
+
expectNoFatalErrors(compile(src, 'Demo.tsx'))
|
|
1099
|
+
})
|
|
1100
|
+
|
|
1101
|
+
test('async (Promise-returning) body component compiles to a clean boundary', () => {
|
|
1102
|
+
const src = `
|
|
1103
|
+
export function Demo() {
|
|
1104
|
+
return (
|
|
1105
|
+
<Async fallback={<Skeleton />}>
|
|
1106
|
+
<SlowData />
|
|
1107
|
+
</Async>
|
|
1108
|
+
)
|
|
1109
|
+
}
|
|
1110
|
+
`
|
|
1111
|
+
expectNoFatalErrors(compile(src, 'Demo.tsx'))
|
|
1112
|
+
})
|
|
1113
|
+
})
|
|
1114
|
+
|
|
1072
1115
|
describe('createPortal inside .map() — per-item portal owner tracking', () => {
|
|
1073
1116
|
test('one portal created per loop item', () => {
|
|
1074
1117
|
const src = `
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, test, expect } from 'bun:test'
|
|
2
2
|
import ts from 'typescript'
|
|
3
|
-
import { parseExpression, isSupported, exprToString, parseBlockBody } from '../expression-parser'
|
|
3
|
+
import { parseExpression, isSupported, exprToString, stringifyParsedExpr, parseBlockBody } from '../expression-parser'
|
|
4
4
|
import { collectAllTypeRanges, reconstructWithoutTypes } from '../strip-types'
|
|
5
5
|
|
|
6
6
|
describe('expression-parser', () => {
|
|
@@ -1512,3 +1512,111 @@ describe('expression-parser — array-method full-arity lowering (#1448)', () =>
|
|
|
1512
1512
|
})
|
|
1513
1513
|
}
|
|
1514
1514
|
})
|
|
1515
|
+
|
|
1516
|
+
describe('expression-parser — .flat(depth?) lowering (#1448 Tier C)', () => {
|
|
1517
|
+
// Depth literals normalise into a structured `flatDepth` at parse time.
|
|
1518
|
+
const depths: Array<[string, string, number | 'infinity']> = [
|
|
1519
|
+
['.flat() → depth 1', 'arr.flat()', 1],
|
|
1520
|
+
['.flat(2) → depth 2', 'arr.flat(2)', 2],
|
|
1521
|
+
['.flat(Infinity) → "infinity"', 'arr.flat(Infinity)', 'infinity'],
|
|
1522
|
+
['.flat(0) → depth 0 (shallow copy)', 'arr.flat(0)', 0],
|
|
1523
|
+
['.flat(-1) → normalised to 0 (JS clamps)', 'arr.flat(-1)', 0],
|
|
1524
|
+
['.flat(1.9) → truncated to 1', 'arr.flat(1.9)', 1],
|
|
1525
|
+
]
|
|
1526
|
+
for (const [label, expr, expected] of depths) {
|
|
1527
|
+
test(label, () => {
|
|
1528
|
+
const result = parseExpression(expr)
|
|
1529
|
+
expect(result.kind).toBe('array-method')
|
|
1530
|
+
if (result.kind === 'array-method' && result.method === 'flat') {
|
|
1531
|
+
expect(result.flatDepth).toBe(expected)
|
|
1532
|
+
} else {
|
|
1533
|
+
throw new Error(`expected a flat array-method, got ${result.kind}`)
|
|
1534
|
+
}
|
|
1535
|
+
})
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
test('non-literal depth refuses (must be resolvable at template time)', () => {
|
|
1539
|
+
const result = parseExpression('arr.flat(n)')
|
|
1540
|
+
expect(result.kind).toBe('unsupported')
|
|
1541
|
+
if (result.kind === 'unsupported') {
|
|
1542
|
+
// Wrong remedy `@client` must not be suggested (doesn't work in
|
|
1543
|
+
// attribute / condition position).
|
|
1544
|
+
expect(result.reason).not.toContain('@client')
|
|
1545
|
+
expect(result.reason).toContain('literal')
|
|
1546
|
+
}
|
|
1547
|
+
})
|
|
1548
|
+
|
|
1549
|
+
// exprToString (diagnostics / debug output) must preserve the normalised
|
|
1550
|
+
// depth, not collapse every form to `.flat()`.
|
|
1551
|
+
test('exprToString round-trips the normalised depth', () => {
|
|
1552
|
+
expect(exprToString(parseExpression('arr.flat()'))).toBe('arr.flat()')
|
|
1553
|
+
expect(exprToString(parseExpression('arr.flat(2)'))).toBe('arr.flat(2)')
|
|
1554
|
+
expect(exprToString(parseExpression('arr.flat(Infinity)'))).toBe('arr.flat(Infinity)')
|
|
1555
|
+
expect(exprToString(parseExpression('arr.flat(0)'))).toBe('arr.flat(0)')
|
|
1556
|
+
})
|
|
1557
|
+
})
|
|
1558
|
+
|
|
1559
|
+
describe('expression-parser — .flatMap(fn) projection (#1448 Tier C)', () => {
|
|
1560
|
+
// Accepted catalogue: self, single field, and array-literal tuples of
|
|
1561
|
+
// self / field leaves.
|
|
1562
|
+
type Proj = { kind: 'self' } | { kind: 'field'; field: string } | { kind: 'tuple'; elements: unknown[] }
|
|
1563
|
+
const accepted: Array<[string, string, Proj]> = [
|
|
1564
|
+
['self (i => i)', 'arr.flatMap(i => i)', { kind: 'self' }],
|
|
1565
|
+
['field (i => i.tags)', 'arr.flatMap(i => i.tags)', { kind: 'field', field: 'tags' }],
|
|
1566
|
+
['single-return block body', 'arr.flatMap(i => { return i.tags })', { kind: 'field', field: 'tags' }],
|
|
1567
|
+
['tuple of fields', 'arr.flatMap(i => [i.a, i.b])', { kind: 'tuple', elements: [{ kind: 'field', field: 'a' }, { kind: 'field', field: 'b' }] }],
|
|
1568
|
+
['tuple self + field', 'arr.flatMap(i => [i, i.tags])', { kind: 'tuple', elements: [{ kind: 'self' }, { kind: 'field', field: 'tags' }] }],
|
|
1569
|
+
]
|
|
1570
|
+
for (const [label, expr, projection] of accepted) {
|
|
1571
|
+
test(`${label} — lowers to a flatMap array-method`, () => {
|
|
1572
|
+
const result = parseExpression(expr)
|
|
1573
|
+
expect(result.kind).toBe('array-method')
|
|
1574
|
+
if (result.kind === 'array-method' && result.method === 'flatMap') {
|
|
1575
|
+
expect(result.flatMapOp.projection).toEqual(projection)
|
|
1576
|
+
} else {
|
|
1577
|
+
throw new Error(`expected a flatMap array-method, got ${result.kind}`)
|
|
1578
|
+
}
|
|
1579
|
+
})
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
// Out of catalogue → refused (BF101 + @client hint).
|
|
1583
|
+
const refused = [
|
|
1584
|
+
['deep field access', 'arr.flatMap(i => i.a.b)'],
|
|
1585
|
+
['index/array callback params', 'arr.flatMap((i, idx) => i.tags)'],
|
|
1586
|
+
// Tuple with a non-leaf element (arithmetic / literal / deep access).
|
|
1587
|
+
['tuple with arithmetic element', 'arr.flatMap(i => [i.a, i.b + 1])'],
|
|
1588
|
+
['tuple with literal element', 'arr.flatMap(i => [i.a, "x"])'],
|
|
1589
|
+
['tuple with deep access', 'arr.flatMap(i => [i.a, i.b.c])'],
|
|
1590
|
+
['tuple with spread', 'arr.flatMap(i => [...i.a])'],
|
|
1591
|
+
// Empty tuple is a degenerate no-op — refused so emitters never
|
|
1592
|
+
// produce a zero-arg `flat_map_tuple` call.
|
|
1593
|
+
['empty tuple', 'arr.flatMap(i => [])'],
|
|
1594
|
+
// Wrong-arity forms are intercepted by the same arm (not the generic
|
|
1595
|
+
// "flatMap has no template lowering" gate) so the reason stays tailored.
|
|
1596
|
+
['2-arg flatMap(fn, thisArg)', 'arr.flatMap(i => i.tags, ctx)'],
|
|
1597
|
+
]
|
|
1598
|
+
for (const [label, expr] of refused) {
|
|
1599
|
+
test(`${label} — refuses`, () => {
|
|
1600
|
+
const result = parseExpression(expr)
|
|
1601
|
+
expect(result.kind).toBe('unsupported')
|
|
1602
|
+
if (result.kind === 'unsupported') {
|
|
1603
|
+
expect(result.reason).toContain('flatMap shape not supported')
|
|
1604
|
+
}
|
|
1605
|
+
})
|
|
1606
|
+
}
|
|
1607
|
+
|
|
1608
|
+
test('exprToString / stringify round-trip the callback', () => {
|
|
1609
|
+
// Scalar projections, plus the array-literal tuple — the round-trip
|
|
1610
|
+
// relies on the callback `raw`, so a regression in raw capture would
|
|
1611
|
+
// surface here for every projection shape.
|
|
1612
|
+
for (const src of [
|
|
1613
|
+
'arr.flatMap(i => i.tags)',
|
|
1614
|
+
'arr.flatMap(t => t)',
|
|
1615
|
+
'arr.flatMap(i => [i.a, i.b])',
|
|
1616
|
+
'arr.flatMap(i => [i, i.tags])',
|
|
1617
|
+
]) {
|
|
1618
|
+
expect(exprToString(parseExpression(src))).toBe(src)
|
|
1619
|
+
expect(stringifyParsedExpr(parseExpression(src))).toBe(src)
|
|
1620
|
+
}
|
|
1621
|
+
})
|
|
1622
|
+
})
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `.forEach()` is client-callback-only (#1448 Tier C / Tier D-class).
|
|
3
|
+
*
|
|
4
|
+
* `.forEach()` returns `undefined`, so it has no template-position meaning
|
|
5
|
+
* and is never a lowering target. This pins the two halves of that contract:
|
|
6
|
+
*
|
|
7
|
+
* 1. In **template position** the support gate refuses it (the template
|
|
8
|
+
* adapters surface this as BF101 via `isSupported`), with a dedicated
|
|
9
|
+
* reason that explains the `undefined` return — not the generic
|
|
10
|
+
* `/* @client */` escape-hatch hint.
|
|
11
|
+
* 2. Inside an **event handler / `createEffect` callback** it is client JS
|
|
12
|
+
* and passes straight through to the emitted runtime untouched — this is
|
|
13
|
+
* the only valid use.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { describe, test, expect } from 'bun:test'
|
|
17
|
+
import { parseExpression, isSupported } from '../expression-parser'
|
|
18
|
+
import { compileJSX } from '../compiler'
|
|
19
|
+
import { TestAdapter } from '../adapters/test-adapter'
|
|
20
|
+
|
|
21
|
+
const adapter = new TestAdapter()
|
|
22
|
+
|
|
23
|
+
describe('.forEach() — template position is refused (#1448)', () => {
|
|
24
|
+
test('isSupported reports forEach as unsupported', () => {
|
|
25
|
+
const support = isSupported(parseExpression('items().forEach(t => t.x)'))
|
|
26
|
+
expect(support.supported).toBe(false)
|
|
27
|
+
expect(support.level).toBe('L5_UNSUPPORTED')
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
test('refusal reason explains the undefined return and points to the valid uses', () => {
|
|
31
|
+
const support = isSupported(parseExpression('items().forEach(t => t.x)'))
|
|
32
|
+
expect(support.supported).toBe(false)
|
|
33
|
+
if (support.supported) return
|
|
34
|
+
// Dedicated forEach message that steers to .map(...) / createEffect —
|
|
35
|
+
// not the generic refusal, which offers the /* @client */ escape hatch.
|
|
36
|
+
expect(support.reason).toContain('returns undefined')
|
|
37
|
+
expect(support.reason).toContain('createEffect')
|
|
38
|
+
expect(support.reason).toContain('.map(')
|
|
39
|
+
expect(support.reason).not.toContain('/* @client */')
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
test('a bare-identifier receiver is refused too (not just signal getters)', () => {
|
|
43
|
+
const support = isSupported(parseExpression('list.forEach(x => x)'))
|
|
44
|
+
expect(support.supported).toBe(false)
|
|
45
|
+
expect(support.level).toBe('L5_UNSUPPORTED')
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
describe('.forEach() — client-callback use passes through (#1448)', () => {
|
|
50
|
+
// forEach inside an event handler and a createEffect callback is client JS;
|
|
51
|
+
// it must reach the emitted runtime verbatim with no compile error.
|
|
52
|
+
const source = `
|
|
53
|
+
'use client'
|
|
54
|
+
import { createSignal, createEffect } from '@barefootjs/client'
|
|
55
|
+
|
|
56
|
+
export function C() {
|
|
57
|
+
const [items, setItems] = createSignal<any[]>([])
|
|
58
|
+
const handle = () => { items().forEach(t => console.log(t)) }
|
|
59
|
+
createEffect(() => { items().forEach(t => t) })
|
|
60
|
+
return <button onClick={handle}>go</button>
|
|
61
|
+
}
|
|
62
|
+
`
|
|
63
|
+
|
|
64
|
+
test('no compile errors for forEach in callbacks', () => {
|
|
65
|
+
const result = compileJSX(source, 'C.tsx', { adapter })
|
|
66
|
+
expect(result.errors).toHaveLength(0)
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
test('forEach reaches the emitted client JS verbatim', () => {
|
|
70
|
+
const result = compileJSX(source, 'C.tsx', { adapter })
|
|
71
|
+
const client = result.files.find(f => f.path.endsWith('.client.js'))
|
|
72
|
+
expect(client).toBeDefined()
|
|
73
|
+
// Target the user's own `items().forEach(...)` calls specifically — a bare
|
|
74
|
+
// `/forEach/g` count would also catch any `forEach` the client-code
|
|
75
|
+
// generator emits for loop / hydration infrastructure, making this flaky.
|
|
76
|
+
// Both the handler call and the createEffect call must survive verbatim.
|
|
77
|
+
const occurrences = client!.content.match(/items\(\)\.forEach\(/g) ?? []
|
|
78
|
+
expect(occurrences.length).toBe(2)
|
|
79
|
+
})
|
|
80
|
+
})
|
|
@@ -147,6 +147,70 @@ describe('<Async> streaming boundary', () => {
|
|
|
147
147
|
}
|
|
148
148
|
})
|
|
149
149
|
|
|
150
|
+
// -------------------------------------------------------------------------
|
|
151
|
+
// #1375 — body throw, sync + async error paths.
|
|
152
|
+
//
|
|
153
|
+
// Whether the body throws (sync) or rejects (async) is a *runtime* property
|
|
154
|
+
// the compiler can't observe. What Layer 1 can lock in is the structural
|
|
155
|
+
// prerequisite for the runtime fallback to fire: the boundary keeps a
|
|
156
|
+
// fallback distinct from its children, with an assigned id, even when the
|
|
157
|
+
// body is a component that will throw / reject at render time. The adapter
|
|
158
|
+
// then wires that fallback into an error-catching boundary (`ErrorBoundary`
|
|
159
|
+
// for Hono — see the adapter `renderAsync` test and
|
|
160
|
+
// `packages/adapter-hono/src/async.tsx`).
|
|
161
|
+
// -------------------------------------------------------------------------
|
|
162
|
+
|
|
163
|
+
test('body component that throws at render keeps fallback + child wired on the boundary', () => {
|
|
164
|
+
const source = `
|
|
165
|
+
export function Page() {
|
|
166
|
+
return (
|
|
167
|
+
<Async fallback={<p>Fallback</p>}>
|
|
168
|
+
<Throws />
|
|
169
|
+
</Async>
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
`
|
|
173
|
+
|
|
174
|
+
const ctx = analyzeComponent(source, 'Page.tsx')
|
|
175
|
+
const ir = jsxToIR(ctx)
|
|
176
|
+
|
|
177
|
+
expect(ctx.errors.filter(e => e.severity === 'error')).toEqual([])
|
|
178
|
+
|
|
179
|
+
const asyncNode = ir as IRAsync
|
|
180
|
+
expect(asyncNode.type).toBe('async')
|
|
181
|
+
expect(asyncNode.id).toBe('a0')
|
|
182
|
+
// Fallback is preserved and distinct from the (throwing) body.
|
|
183
|
+
expect(asyncNode.fallback.type).toBe('element')
|
|
184
|
+
if (asyncNode.fallback.type === 'element') {
|
|
185
|
+
expect(asyncNode.fallback.tag).toBe('p')
|
|
186
|
+
}
|
|
187
|
+
expect(asyncNode.children.length).toBe(1)
|
|
188
|
+
expect(asyncNode.children[0].type).toBe('component')
|
|
189
|
+
})
|
|
190
|
+
|
|
191
|
+
test('async (Promise-returning) body component keeps the boundary intact', () => {
|
|
192
|
+
const source = `
|
|
193
|
+
export function Page() {
|
|
194
|
+
return (
|
|
195
|
+
<Async fallback={<Skeleton />}>
|
|
196
|
+
<SlowData />
|
|
197
|
+
</Async>
|
|
198
|
+
)
|
|
199
|
+
}
|
|
200
|
+
`
|
|
201
|
+
|
|
202
|
+
const ctx = analyzeComponent(source, 'Page.tsx')
|
|
203
|
+
const ir = jsxToIR(ctx)
|
|
204
|
+
|
|
205
|
+
expect(ctx.errors.filter(e => e.severity === 'error')).toEqual([])
|
|
206
|
+
|
|
207
|
+
const asyncNode = ir as IRAsync
|
|
208
|
+
expect(asyncNode.type).toBe('async')
|
|
209
|
+
expect(asyncNode.fallback.type).toBe('component')
|
|
210
|
+
expect(asyncNode.children.length).toBe(1)
|
|
211
|
+
expect(asyncNode.children[0].type).toBe('component')
|
|
212
|
+
})
|
|
213
|
+
|
|
150
214
|
test('compileJSX surfaces BF046 in errors without crashing on multi-child stub', () => {
|
|
151
215
|
// Multi-child + root pins the scope-metadata path: a transparent stub
|
|
152
216
|
// would suppress needsScopeComment and leak ctx.isRoot to only the first
|