@barefootjs/jsx 0.14.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/env-signal.d.ts +40 -0
- package/dist/adapters/env-signal.d.ts.map +1 -0
- package/dist/adapters/parsed-expr-emitter.d.ts +2 -1
- package/dist/adapters/parsed-expr-emitter.d.ts.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/augment-inherited-props.d.ts +42 -1
- package/dist/augment-inherited-props.d.ts.map +1 -1
- package/dist/builtins.d.ts +33 -0
- package/dist/builtins.d.ts.map +1 -0
- package/dist/compiler.d.ts.map +1 -1
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/expression-parser.d.ts +48 -1
- package/dist/expression-parser.d.ts.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +392 -26
- package/dist/ir-to-client-js/imports.d.ts.map +1 -1
- package/dist/jsx-to-ir.d.ts.map +1 -1
- package/dist/ssr-defaults.d.ts.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/compiler-stress-1244.test.ts +4 -2
- package/src/__tests__/expression-parser.test.ts +92 -1
- package/src/__tests__/ir-async.test.ts +8 -0
- package/src/__tests__/ir-builtin-import-scope.test.ts +188 -0
- package/src/__tests__/ir-region.test.ts +86 -0
- package/src/__tests__/ssr-defaults.test.ts +25 -0
- package/src/adapters/env-signal.ts +75 -0
- package/src/adapters/parsed-expr-emitter.ts +11 -0
- package/src/analyzer.ts +9 -0
- package/src/augment-inherited-props.ts +170 -2
- package/src/builtins.ts +63 -0
- package/src/compiler.ts +6 -2
- package/src/errors.ts +10 -0
- package/src/expression-parser.ts +156 -2
- package/src/index.ts +8 -2
- package/src/ir-to-client-js/imports.ts +5 -0
- package/src/jsx-to-ir.ts +189 -8
- package/src/ssr-defaults.ts +55 -17
- package/src/types.ts +16 -0
package/dist/types.d.ts
CHANGED
|
@@ -182,6 +182,13 @@ export interface IRElement {
|
|
|
182
182
|
children: IRNode[];
|
|
183
183
|
slotId: string | null;
|
|
184
184
|
needsScope: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Page-lifecycle boundary id for an element lowered from `<Region>`
|
|
187
|
+
* (spec/router.md). Set only on region host elements; adapters emit it as
|
|
188
|
+
* `bf-region="<id>"`. Deterministic (`<file scope>:<index>`) so a layout's
|
|
189
|
+
* shared partial carries the same id across every page that composes it.
|
|
190
|
+
*/
|
|
191
|
+
regionId?: string;
|
|
185
192
|
loc: SourceLocation;
|
|
186
193
|
}
|
|
187
194
|
export interface IRText {
|
|
@@ -995,6 +1002,15 @@ export interface ImportSpecifier {
|
|
|
995
1002
|
alias: string | null;
|
|
996
1003
|
isDefault: boolean;
|
|
997
1004
|
isNamespace: boolean;
|
|
1005
|
+
/**
|
|
1006
|
+
* Per-specifier type-only import (`import { type Foo } from '...'`). Distinct
|
|
1007
|
+
* from `ImportInfo.isTypeOnly` (the whole `import type { ... }` statement).
|
|
1008
|
+
* A type-only specifier introduces no runtime/value binding, so consumers
|
|
1009
|
+
* enforcing a value import (e.g. the `<Async>`/`<Region>` built-ins, #1915)
|
|
1010
|
+
* must ignore it. Absent/false for value specifiers and for default /
|
|
1011
|
+
* namespace imports (which cannot be per-specifier type-only).
|
|
1012
|
+
*/
|
|
1013
|
+
isTypeOnly?: boolean;
|
|
998
1014
|
}
|
|
999
1015
|
export interface FunctionInfo {
|
|
1000
1016
|
name: string;
|
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.15.1",
|
|
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.15.1"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@barefootjs/client": ">=0.2.0",
|
|
@@ -1028,7 +1028,7 @@ describe('<Async> inside .map() — per-item streaming boundary', () => {
|
|
|
1028
1028
|
test('async boundary used inside a loop body', () => {
|
|
1029
1029
|
const src = `
|
|
1030
1030
|
'use client'
|
|
1031
|
-
import { createSignal } from '@barefootjs/client'
|
|
1031
|
+
import { createSignal, Async } from '@barefootjs/client'
|
|
1032
1032
|
function Card({ id }: { id: string }) { return <span>{id}</span> }
|
|
1033
1033
|
export function Demo() {
|
|
1034
1034
|
const [items, setItems] = createSignal<{ id: string }[]>([])
|
|
@@ -1053,7 +1053,7 @@ describe('.map() inside <Async> — loop body wired after async chunk lands', ()
|
|
|
1053
1053
|
test('map call inside an async boundary body', () => {
|
|
1054
1054
|
const src = `
|
|
1055
1055
|
'use client'
|
|
1056
|
-
import { createSignal } from '@barefootjs/client'
|
|
1056
|
+
import { createSignal, Async } from '@barefootjs/client'
|
|
1057
1057
|
export function Demo() {
|
|
1058
1058
|
const [items, setItems] = createSignal<{ id: string; label: string }[]>([])
|
|
1059
1059
|
return (
|
|
@@ -1087,6 +1087,7 @@ describe('<Async> body error path — sync throw + async reject (#1375)', () =>
|
|
|
1087
1087
|
|
|
1088
1088
|
test('synchronously-throwing body component compiles to a clean boundary', () => {
|
|
1089
1089
|
const src = `
|
|
1090
|
+
import { Async } from '@barefootjs/client'
|
|
1090
1091
|
export function Demo() {
|
|
1091
1092
|
return (
|
|
1092
1093
|
<Async fallback={<p>Fallback</p>}>
|
|
@@ -1100,6 +1101,7 @@ describe('<Async> body error path — sync throw + async reject (#1375)', () =>
|
|
|
1100
1101
|
|
|
1101
1102
|
test('async (Promise-returning) body component compiles to a clean boundary', () => {
|
|
1102
1103
|
const src = `
|
|
1104
|
+
import { Async } from '@barefootjs/client'
|
|
1103
1105
|
export function Demo() {
|
|
1104
1106
|
return (
|
|
1105
1107
|
<Async fallback={<Skeleton />}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, test, expect } from 'bun:test'
|
|
2
2
|
import ts from 'typescript'
|
|
3
|
-
import { parseExpression, isSupported, exprToString, stringifyParsedExpr, parseBlockBody, extractArrowBodyExpression, parseStyleObjectEntries } from '../expression-parser'
|
|
3
|
+
import { parseExpression, isSupported, exprToString, stringifyParsedExpr, parseBlockBody, extractArrowBodyExpression, parseStyleObjectEntries, parseProviderObjectLiteral } from '../expression-parser'
|
|
4
4
|
import { collectAllTypeRanges, reconstructWithoutTypes } from '../strip-types'
|
|
5
5
|
|
|
6
6
|
describe('expression-parser', () => {
|
|
@@ -1136,6 +1136,25 @@ describe('expression-parser', () => {
|
|
|
1136
1136
|
expect(result.level).toBe('L2')
|
|
1137
1137
|
})
|
|
1138
1138
|
|
|
1139
|
+
test('L2: variable element access (`arr[index]`) is supported (#1897)', () => {
|
|
1140
|
+
const expr = parseExpression('selected()[index]')
|
|
1141
|
+
expect(expr.kind).toBe('index-access')
|
|
1142
|
+
const result = isSupported(expr)
|
|
1143
|
+
expect(result.supported).toBe(true)
|
|
1144
|
+
expect(result.level).toBe('L2')
|
|
1145
|
+
})
|
|
1146
|
+
|
|
1147
|
+
test('arithmetic index (`arr[i + 1]`) is supported', () => {
|
|
1148
|
+
const expr = parseExpression('arr[i + 1]')
|
|
1149
|
+
expect(expr.kind).toBe('index-access')
|
|
1150
|
+
expect(isSupported(expr).supported).toBe(true)
|
|
1151
|
+
})
|
|
1152
|
+
|
|
1153
|
+
test('element access with an unsupported (arrow) index is refused', () => {
|
|
1154
|
+
const expr = parseExpression('rows[() => x]')
|
|
1155
|
+
expect(isSupported(expr).supported).toBe(false)
|
|
1156
|
+
})
|
|
1157
|
+
|
|
1139
1158
|
test('L2: .length is supported', () => {
|
|
1140
1159
|
const expr = parseExpression('items().length')
|
|
1141
1160
|
const result = isSupported(expr)
|
|
@@ -1461,6 +1480,8 @@ describe('expression-parser — array-method full-arity lowering (#1448)', () =>
|
|
|
1461
1480
|
['slice(start)', 'arr.slice(1)'],
|
|
1462
1481
|
['slice(start, end)', 'arr.slice(1, 2)'],
|
|
1463
1482
|
['trim()', 's.trim()'],
|
|
1483
|
+
['toFixed(digits)', 'n.toFixed(2)'],
|
|
1484
|
+
['toFixed() → default 0', 'n.toFixed()'],
|
|
1464
1485
|
// zero-arg defaults (every one of these escaping both its arm AND
|
|
1465
1486
|
// the guard is the footgun the relaxation must NOT reintroduce)
|
|
1466
1487
|
['join() → default ","', 'arr.join()'],
|
|
@@ -1650,6 +1671,76 @@ describe('extractArrowBodyExpression', () => {
|
|
|
1650
1671
|
})
|
|
1651
1672
|
})
|
|
1652
1673
|
|
|
1674
|
+
describe('parseProviderObjectLiteral', () => {
|
|
1675
|
+
test('classifies the composed-corpus provider shape (accordion/dialog)', () => {
|
|
1676
|
+
const members = parseProviderObjectLiteral(
|
|
1677
|
+
`{ open: () => props.open ?? false, onOpenChange: props.onOpenChange ?? (() => {}) }`,
|
|
1678
|
+
)
|
|
1679
|
+
expect(members).toEqual([
|
|
1680
|
+
{ name: 'open', kind: 'getter', body: 'props.open ?? false' },
|
|
1681
|
+
{ name: 'onOpenChange', kind: 'function' },
|
|
1682
|
+
])
|
|
1683
|
+
})
|
|
1684
|
+
|
|
1685
|
+
test('shorthand members lower as identifier expressions (command)', () => {
|
|
1686
|
+
const members = parseProviderObjectLiteral(
|
|
1687
|
+
`{ search, onSearchChange: setSearch, filter: filterFn() }`,
|
|
1688
|
+
)
|
|
1689
|
+
expect(members).toEqual([
|
|
1690
|
+
{ name: 'search', kind: 'expression', expr: 'search' },
|
|
1691
|
+
{ name: 'onSearchChange', kind: 'expression', expr: 'setSearch' },
|
|
1692
|
+
{ name: 'filter', kind: 'expression', expr: 'filterFn()' },
|
|
1693
|
+
])
|
|
1694
|
+
})
|
|
1695
|
+
|
|
1696
|
+
test('parameterised and block-bodied arrows are functions, not getters', () => {
|
|
1697
|
+
const members = parseProviderObjectLiteral(
|
|
1698
|
+
`{ registerItem: (el) => items.add(el), onSelect: (value) => { setValue(value) }, value: () => { return v } }`,
|
|
1699
|
+
)
|
|
1700
|
+
expect(members).toEqual([
|
|
1701
|
+
{ name: 'registerItem', kind: 'function' },
|
|
1702
|
+
{ name: 'onSelect', kind: 'function' },
|
|
1703
|
+
{ name: 'value', kind: 'function' },
|
|
1704
|
+
])
|
|
1705
|
+
})
|
|
1706
|
+
|
|
1707
|
+
test('?? / || fallback chains with a function operand are functions', () => {
|
|
1708
|
+
const members = parseProviderObjectLiteral(`{ a: f ?? (() => {}), b: g || fallbackFn }`)
|
|
1709
|
+
expect(members).toEqual([
|
|
1710
|
+
{ name: 'a', kind: 'function' },
|
|
1711
|
+
// `g || fallbackFn` — neither side is a function literal, so it
|
|
1712
|
+
// stays an expression (the parser can't see identifier types).
|
|
1713
|
+
{ name: 'b', kind: 'expression', expr: 'g || fallbackFn' },
|
|
1714
|
+
])
|
|
1715
|
+
})
|
|
1716
|
+
|
|
1717
|
+
test('string-literal keys keep their text', () => {
|
|
1718
|
+
expect(parseProviderObjectLiteral(`{ 'data-x': 1 }`)).toEqual([
|
|
1719
|
+
{ name: 'data-x', kind: 'expression', expr: '1' },
|
|
1720
|
+
])
|
|
1721
|
+
})
|
|
1722
|
+
|
|
1723
|
+
test('method members classify as functions, like block-bodied arrows', () => {
|
|
1724
|
+
expect(parseProviderObjectLiteral(`{ open() { return v }, count: 1 }`)).toEqual([
|
|
1725
|
+
{ name: 'open', kind: 'function' },
|
|
1726
|
+
{ name: 'count', kind: 'expression', expr: '1' },
|
|
1727
|
+
])
|
|
1728
|
+
})
|
|
1729
|
+
|
|
1730
|
+
test('returns null for spread entries, computed keys, and non-objects', () => {
|
|
1731
|
+
expect(parseProviderObjectLiteral(`{ ...rest }`)).toBeNull()
|
|
1732
|
+
expect(parseProviderObjectLiteral(`{ [key]: 1 }`)).toBeNull()
|
|
1733
|
+
expect(parseProviderObjectLiteral(`someValue`)).toBeNull()
|
|
1734
|
+
expect(parseProviderObjectLiteral(`[1, 2]`)).toBeNull()
|
|
1735
|
+
})
|
|
1736
|
+
|
|
1737
|
+
test('unwraps parentheses around the literal and member values', () => {
|
|
1738
|
+
expect(parseProviderObjectLiteral(`({ v: (() => (x)) })`)).toEqual([
|
|
1739
|
+
{ name: 'v', kind: 'getter', body: '(x)' },
|
|
1740
|
+
])
|
|
1741
|
+
})
|
|
1742
|
+
})
|
|
1743
|
+
|
|
1653
1744
|
describe('parseStyleObjectEntries', () => {
|
|
1654
1745
|
test('kebab-cases keys and splits literal vs expression values', () => {
|
|
1655
1746
|
expect(parseStyleObjectEntries("{ backgroundColor: color, padding: '8px' }")).toEqual([
|
|
@@ -11,6 +11,7 @@ const adapter = new TestAdapter()
|
|
|
11
11
|
describe('<Async> streaming boundary', () => {
|
|
12
12
|
test('transforms <Async> with fallback and children into IRAsync', () => {
|
|
13
13
|
const source = `
|
|
14
|
+
import { Async } from '@barefootjs/client'
|
|
14
15
|
export function ProductPage() {
|
|
15
16
|
return (
|
|
16
17
|
<div>
|
|
@@ -48,6 +49,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
48
49
|
|
|
49
50
|
test('assigns sequential IDs to multiple async boundaries', () => {
|
|
50
51
|
const source = `
|
|
52
|
+
import { Async } from '@barefootjs/client'
|
|
51
53
|
export function Dashboard() {
|
|
52
54
|
return (
|
|
53
55
|
<div>
|
|
@@ -76,6 +78,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
76
78
|
|
|
77
79
|
test('fallback can be a self-closing element', () => {
|
|
78
80
|
const source = `
|
|
81
|
+
import { Async } from '@barefootjs/client'
|
|
79
82
|
export function Page() {
|
|
80
83
|
return (
|
|
81
84
|
<Async fallback={<Skeleton />}>
|
|
@@ -98,6 +101,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
98
101
|
|
|
99
102
|
test('reports BF046 when fallback prop is missing and emits a fragment stub', () => {
|
|
100
103
|
const source = `
|
|
104
|
+
import { Async } from '@barefootjs/client'
|
|
101
105
|
export function Page() {
|
|
102
106
|
return (
|
|
103
107
|
<Async>
|
|
@@ -123,6 +127,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
123
127
|
|
|
124
128
|
test('reports BF046 when self-closing <Async /> is missing fallback', () => {
|
|
125
129
|
const source = `
|
|
130
|
+
import { Async } from '@barefootjs/client'
|
|
126
131
|
export function Page() {
|
|
127
132
|
return <Async />
|
|
128
133
|
}
|
|
@@ -162,6 +167,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
162
167
|
|
|
163
168
|
test('body component that throws at render keeps fallback + child wired on the boundary', () => {
|
|
164
169
|
const source = `
|
|
170
|
+
import { Async } from '@barefootjs/client'
|
|
165
171
|
export function Page() {
|
|
166
172
|
return (
|
|
167
173
|
<Async fallback={<p>Fallback</p>}>
|
|
@@ -190,6 +196,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
190
196
|
|
|
191
197
|
test('async (Promise-returning) body component keeps the boundary intact', () => {
|
|
192
198
|
const source = `
|
|
199
|
+
import { Async } from '@barefootjs/client'
|
|
193
200
|
export function Page() {
|
|
194
201
|
return (
|
|
195
202
|
<Async fallback={<Skeleton />}>
|
|
@@ -218,6 +225,7 @@ describe('<Async> streaming boundary', () => {
|
|
|
218
225
|
// and the BF046 diagnostic must reach result.errors so consumers can
|
|
219
226
|
// fail the build.
|
|
220
227
|
const source = `
|
|
228
|
+
import { Async } from '@barefootjs/client'
|
|
221
229
|
export function Page() {
|
|
222
230
|
return (
|
|
223
231
|
<Async>
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { describe, test, expect } from 'bun:test'
|
|
2
|
+
import { analyzeComponent } from '../analyzer'
|
|
3
|
+
import { jsxToIR } from '../jsx-to-ir'
|
|
4
|
+
import { ErrorCodes } from '../errors'
|
|
5
|
+
import { stripClientBuiltinImports } from '../builtins'
|
|
6
|
+
import type { IRAsync, IRElement, IRComponent, ImportInfo } from '../types'
|
|
7
|
+
|
|
8
|
+
// Import-scoped recognition for the compile-away built-ins `<Async>` /
|
|
9
|
+
// `<Region>` (#1915). The compiler recognises them by their
|
|
10
|
+
// `@barefootjs/client` import — never by a bare capitalized tag name — so a
|
|
11
|
+
// user's own component does not collide with the built-in, and the import is
|
|
12
|
+
// elided on emit.
|
|
13
|
+
|
|
14
|
+
function ir(source: string, path = 'Comp.tsx') {
|
|
15
|
+
const ctx = analyzeComponent(source, path)
|
|
16
|
+
return { ir: jsxToIR(ctx), ctx }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
describe('import-scoped recognition for <Async> / <Region>', () => {
|
|
20
|
+
test('<Async> imported from @barefootjs/client lowers to IRAsync', () => {
|
|
21
|
+
const { ir: root, ctx } = ir(`
|
|
22
|
+
import { Async } from '@barefootjs/client'
|
|
23
|
+
export function Page() {
|
|
24
|
+
return <div><Async fallback={<p>Loading</p>}><Body /></Async></div>
|
|
25
|
+
}
|
|
26
|
+
`)
|
|
27
|
+
expect(ctx.errors.filter(e => e.severity === 'error')).toEqual([])
|
|
28
|
+
const div = root as IRElement
|
|
29
|
+
const async = div.children.find(c => c.type === 'async') as IRAsync
|
|
30
|
+
expect(async?.type).toBe('async')
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
test('<Region> imported from @barefootjs/client lowers to a region element', () => {
|
|
34
|
+
const { ir: root } = ir(`
|
|
35
|
+
import { Region } from '@barefootjs/client'
|
|
36
|
+
export function Shell({ children }) {
|
|
37
|
+
return <div><Region>{children}</Region></div>
|
|
38
|
+
}
|
|
39
|
+
`)
|
|
40
|
+
const div = root as IRElement
|
|
41
|
+
const region = div.children.find(
|
|
42
|
+
(c): c is IRElement => c.type === 'element' && c.regionId !== undefined,
|
|
43
|
+
)
|
|
44
|
+
expect(region).toBeDefined()
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
test('aliased import `Async as Boundary` recognises <Boundary> as the built-in', () => {
|
|
48
|
+
const { ir: root } = ir(`
|
|
49
|
+
import { Async as Boundary } from '@barefootjs/client'
|
|
50
|
+
export function Page() {
|
|
51
|
+
return <Boundary fallback={<p>Loading</p>}><Body /></Boundary>
|
|
52
|
+
}
|
|
53
|
+
`)
|
|
54
|
+
expect((root as IRAsync).type).toBe('async')
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
test("a user's own <Async> (imported elsewhere) is NOT lowered and emits no diagnostic", () => {
|
|
58
|
+
const { ir: root, ctx } = ir(`
|
|
59
|
+
import { Async } from './my-async'
|
|
60
|
+
export function Page() {
|
|
61
|
+
return <div><Async fallback={<p>x</p>}><Body /></Async></div>
|
|
62
|
+
}
|
|
63
|
+
`)
|
|
64
|
+
expect(ctx.errors.find(e => e.code === ErrorCodes.BUILTIN_REQUIRES_IMPORT)).toBeUndefined()
|
|
65
|
+
const div = root as IRElement
|
|
66
|
+
expect(div.children.some(c => c.type === 'async')).toBe(false)
|
|
67
|
+
const comp = div.children.find((c): c is IRComponent => c.type === 'component')
|
|
68
|
+
expect(comp?.name).toBe('Async')
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
test('a locally declared Async component is NOT treated as the built-in', () => {
|
|
72
|
+
const { ir: root, ctx } = ir(`
|
|
73
|
+
function Async(props) { return <section>{props.children}</section> }
|
|
74
|
+
export function Page() {
|
|
75
|
+
return <Async fallback={<p>x</p>}><Body /></Async>
|
|
76
|
+
}
|
|
77
|
+
`)
|
|
78
|
+
expect(ctx.errors.find(e => e.code === ErrorCodes.BUILTIN_REQUIRES_IMPORT)).toBeUndefined()
|
|
79
|
+
expect((root as IRElement).type).not.toBe('async')
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
test('bare <Async> with no import and no binding reports BF054', () => {
|
|
83
|
+
const { ctx } = ir(`
|
|
84
|
+
export function Page() {
|
|
85
|
+
return <Async fallback={<p>Loading</p>}><Body /></Async>
|
|
86
|
+
}
|
|
87
|
+
`)
|
|
88
|
+
const err = ctx.errors.find(e => e.code === ErrorCodes.BUILTIN_REQUIRES_IMPORT)
|
|
89
|
+
expect(err).toBeDefined()
|
|
90
|
+
expect(err?.severity).toBe('error')
|
|
91
|
+
expect(err?.message).toContain('@barefootjs/client')
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
test('a type-only import does NOT scope the built-in and does not suppress BF054', () => {
|
|
95
|
+
// `import type { Async }` brings no value binding into scope — the design
|
|
96
|
+
// is import-value-required, so <Async> must still raise BF054.
|
|
97
|
+
const { ir: root, ctx } = ir(`
|
|
98
|
+
import type { Async } from '@barefootjs/client'
|
|
99
|
+
export function Page() {
|
|
100
|
+
return <Async fallback={<p>Loading</p>}><Body /></Async>
|
|
101
|
+
}
|
|
102
|
+
`)
|
|
103
|
+
expect((root as IRElement).type).not.toBe('async')
|
|
104
|
+
expect(ctx.errors.find(e => e.code === ErrorCodes.BUILTIN_REQUIRES_IMPORT)).toBeDefined()
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
test('a per-specifier type-only import (`import { type Async }`) does NOT scope the built-in', () => {
|
|
108
|
+
const { ir: root, ctx } = ir(`
|
|
109
|
+
import { type Async } from '@barefootjs/client'
|
|
110
|
+
export function Page() {
|
|
111
|
+
return <Async fallback={<p>Loading</p>}><Body /></Async>
|
|
112
|
+
}
|
|
113
|
+
`)
|
|
114
|
+
expect((root as IRElement).type).not.toBe('async')
|
|
115
|
+
expect(ctx.errors.find(e => e.code === ErrorCodes.BUILTIN_REQUIRES_IMPORT)).toBeDefined()
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
test('a value specifier alongside a type-only one is still recognised (`import { type Async, Region }`)', () => {
|
|
119
|
+
const { ir: root } = ir(`
|
|
120
|
+
import { type Async, Region } from '@barefootjs/client'
|
|
121
|
+
export function Shell({ children }) {
|
|
122
|
+
return <div><Region>{children}</Region></div>
|
|
123
|
+
}
|
|
124
|
+
`)
|
|
125
|
+
const div = root as IRElement
|
|
126
|
+
expect(div.children.some(c => c.type === 'element' && c.regionId !== undefined)).toBe(true)
|
|
127
|
+
})
|
|
128
|
+
|
|
129
|
+
test('bare <Region /> with no import reports BF054', () => {
|
|
130
|
+
const { ctx } = ir(`
|
|
131
|
+
export function Shell() {
|
|
132
|
+
return <Region />
|
|
133
|
+
}
|
|
134
|
+
`)
|
|
135
|
+
expect(ctx.errors.find(e => e.code === ErrorCodes.BUILTIN_REQUIRES_IMPORT)).toBeDefined()
|
|
136
|
+
})
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
describe('stripClientBuiltinImports (emit-time elision)', () => {
|
|
140
|
+
const loc = { file: 'x.tsx', line: 1, column: 1 }
|
|
141
|
+
const imp = (source: string, names: string[]): ImportInfo => ({
|
|
142
|
+
source,
|
|
143
|
+
isTypeOnly: false,
|
|
144
|
+
loc,
|
|
145
|
+
specifiers: names.map(n => ({ name: n, alias: null, isDefault: false, isNamespace: false })),
|
|
146
|
+
})
|
|
147
|
+
|
|
148
|
+
test('drops the @barefootjs/client import when it only carried built-ins', () => {
|
|
149
|
+
expect(stripClientBuiltinImports([imp('@barefootjs/client', ['Async', 'Region'])])).toEqual([])
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
test('keeps non-built-in specifiers and drops the built-ins', () => {
|
|
153
|
+
const out = stripClientBuiltinImports([imp('@barefootjs/client', ['createSignal', 'Async'])])
|
|
154
|
+
expect(out).toHaveLength(1)
|
|
155
|
+
expect(out[0].specifiers.map(s => s.name)).toEqual(['createSignal'])
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
test('leaves imports from other sources untouched', () => {
|
|
159
|
+
const other = imp('./my-async', ['Async'])
|
|
160
|
+
expect(stripClientBuiltinImports([other])).toEqual([other])
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
test('does NOT strip type-only imports (never a runtime phantom)', () => {
|
|
164
|
+
const typeOnly: ImportInfo = { ...imp('@barefootjs/client', ['Async', 'Region']), isTypeOnly: true }
|
|
165
|
+
expect(stripClientBuiltinImports([typeOnly])).toEqual([typeOnly])
|
|
166
|
+
})
|
|
167
|
+
|
|
168
|
+
test('preserves a side-effect import of @barefootjs/client', () => {
|
|
169
|
+
const sideEffect = imp('@barefootjs/client', [])
|
|
170
|
+
expect(stripClientBuiltinImports([sideEffect])).toEqual([sideEffect])
|
|
171
|
+
})
|
|
172
|
+
|
|
173
|
+
test('does NOT strip a per-specifier type-only built-in, but strips the value one', () => {
|
|
174
|
+
const mixed: ImportInfo = {
|
|
175
|
+
source: '@barefootjs/client',
|
|
176
|
+
isTypeOnly: false,
|
|
177
|
+
loc,
|
|
178
|
+
specifiers: [
|
|
179
|
+
{ name: 'Async', alias: null, isDefault: false, isNamespace: false, isTypeOnly: true },
|
|
180
|
+
{ name: 'Region', alias: null, isDefault: false, isNamespace: false, isTypeOnly: false },
|
|
181
|
+
],
|
|
182
|
+
}
|
|
183
|
+
const out = stripClientBuiltinImports([mixed])
|
|
184
|
+
expect(out).toHaveLength(1)
|
|
185
|
+
expect(out[0].specifiers.map(s => s.name)).toEqual(['Async'])
|
|
186
|
+
expect(out[0].specifiers[0].isTypeOnly).toBe(true)
|
|
187
|
+
})
|
|
188
|
+
})
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { describe, test, expect } from 'bun:test'
|
|
2
|
+
import { analyzeComponent } from '../analyzer'
|
|
3
|
+
import { jsxToIR } from '../jsx-to-ir'
|
|
4
|
+
import { compileJSX } from '../compiler'
|
|
5
|
+
import { HonoAdapter } from '../../../../packages/adapter-hono/src/adapter/hono-adapter'
|
|
6
|
+
import type { IRElement } from '../types'
|
|
7
|
+
|
|
8
|
+
const LAYOUT = `
|
|
9
|
+
import { Region } from '@barefootjs/client'
|
|
10
|
+
export function Layout({ title, children }) {
|
|
11
|
+
return (
|
|
12
|
+
<div>
|
|
13
|
+
<h1>{title}</h1>
|
|
14
|
+
<Region>{children}</Region>
|
|
15
|
+
</div>
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
`
|
|
19
|
+
|
|
20
|
+
function regionEl(source: string, path: string): IRElement {
|
|
21
|
+
const ir = jsxToIR(analyzeComponent(source, path))
|
|
22
|
+
const root = ir as IRElement
|
|
23
|
+
const region = root.children.find(
|
|
24
|
+
(c): c is IRElement => c.type === 'element' && c.regionId !== undefined,
|
|
25
|
+
)
|
|
26
|
+
if (!region) throw new Error('no region element found')
|
|
27
|
+
return region
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function markedTemplate(source: string, path: string): string {
|
|
31
|
+
const result = compileJSX(source, path, { adapter: new HonoAdapter() })
|
|
32
|
+
expect(result.errors).toHaveLength(0)
|
|
33
|
+
const marked = result.files.find(f => f.type === 'markedTemplate')
|
|
34
|
+
if (!marked) throw new Error('no markedTemplate emitted')
|
|
35
|
+
return marked.content
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
describe('<Region> page-lifecycle boundary', () => {
|
|
39
|
+
test('lowers <Region>{children}</Region> to a div carrying a regionId', () => {
|
|
40
|
+
const region = regionEl(LAYOUT, 'Layout.tsx')
|
|
41
|
+
expect(region.tag).toBe('div')
|
|
42
|
+
expect(region.regionId).toMatch(/^[0-9a-f]{8}:0$/)
|
|
43
|
+
// The children passed to the region are preserved inside it.
|
|
44
|
+
expect(region.children.length).toBeGreaterThan(0)
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
test('assigns sequential structural indices within a file', () => {
|
|
48
|
+
const source = `
|
|
49
|
+
import { Region } from '@barefootjs/client'
|
|
50
|
+
export function Split() {
|
|
51
|
+
return (
|
|
52
|
+
<div>
|
|
53
|
+
<Region><aside /></Region>
|
|
54
|
+
<Region><main /></Region>
|
|
55
|
+
</div>
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
`
|
|
59
|
+
const ir = jsxToIR(analyzeComponent(source, 'Split.tsx')) as IRElement
|
|
60
|
+
const ids = ir.children
|
|
61
|
+
.filter((c): c is IRElement => c.type === 'element' && c.regionId !== undefined)
|
|
62
|
+
.map(c => c.regionId)
|
|
63
|
+
expect(ids).toHaveLength(2)
|
|
64
|
+
expect(ids[0]).toMatch(/:0$/)
|
|
65
|
+
expect(ids[1]).toMatch(/:1$/)
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
test('Hono adapter emits bf-region on the boundary element', () => {
|
|
69
|
+
expect(markedTemplate(LAYOUT, 'Layout.tsx')).toMatch(/bf-region="[0-9a-f]{8}:0"/)
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
test('region id is deterministic across compiles (not per-run random)', () => {
|
|
73
|
+
// The load-bearing requirement: a layout compiled twice — as it would be
|
|
74
|
+
// when two different pages each compose it — must emit the *same* id, so
|
|
75
|
+
// the client router can match the same region across page documents.
|
|
76
|
+
const a = regionEl(LAYOUT, '/app/shell.tsx').regionId
|
|
77
|
+
const b = regionEl(LAYOUT, '/app/shell.tsx').regionId
|
|
78
|
+
expect(a).toBe(b)
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
test('region id differs across layout files (cross-file uniqueness)', () => {
|
|
82
|
+
const a = regionEl(LAYOUT, '/app/shell-a.tsx').regionId
|
|
83
|
+
const b = regionEl(LAYOUT, '/app/shell-b.tsx').regionId
|
|
84
|
+
expect(a).not.toBe(b)
|
|
85
|
+
})
|
|
86
|
+
})
|
|
@@ -99,6 +99,31 @@ describe('extractSsrDefaults', () => {
|
|
|
99
99
|
expect(defaults?.doubled).toEqual({ value: 10 })
|
|
100
100
|
})
|
|
101
101
|
|
|
102
|
+
test('block-body memo with an early-return guard folds to the default-state branch (#1897)', () => {
|
|
103
|
+
// The data-table `sortedData` shape: a `/* @client */`-guarded sort
|
|
104
|
+
// whose early return yields the unsorted module-const array when the
|
|
105
|
+
// sort-key signal is at its initial (null) value. The SSR default is
|
|
106
|
+
// that early-return array, not `null` — the `if (!key)` guard is
|
|
107
|
+
// taken because `sortKey()` resolves to its seeded `null` initial.
|
|
108
|
+
const metadata = metadataFor(`
|
|
109
|
+
'use client'
|
|
110
|
+
import { createSignal, createMemo } from '@barefootjs/client'
|
|
111
|
+
const rows = [{ id: 'a' }, { id: 'b' }]
|
|
112
|
+
function Table() {
|
|
113
|
+
const [sortKey, setSortKey] = createSignal<string | null>(null)
|
|
114
|
+
const sorted = createMemo(() => {
|
|
115
|
+
const key = sortKey()
|
|
116
|
+
if (!key) return rows
|
|
117
|
+
return /* @client */ [...rows].sort((a, b) => a.id < b.id ? -1 : 1)
|
|
118
|
+
})
|
|
119
|
+
return <ul>{sorted().map(r => <li>{r.id}</li>)}</ul>
|
|
120
|
+
}
|
|
121
|
+
`)
|
|
122
|
+
|
|
123
|
+
const defaults = extractSsrDefaults(metadata)
|
|
124
|
+
expect(defaults?.sorted).toEqual({ value: [{ id: 'a' }, { id: 'b' }] })
|
|
125
|
+
})
|
|
126
|
+
|
|
102
127
|
test('non-evaluable initials yield null (caller falls back at render time)', () => {
|
|
103
128
|
const metadata = metadataFor(`
|
|
104
129
|
'use client'
|