@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.
Files changed (42) hide show
  1. package/dist/adapters/env-signal.d.ts +40 -0
  2. package/dist/adapters/env-signal.d.ts.map +1 -0
  3. package/dist/adapters/parsed-expr-emitter.d.ts +2 -1
  4. package/dist/adapters/parsed-expr-emitter.d.ts.map +1 -1
  5. package/dist/analyzer.d.ts.map +1 -1
  6. package/dist/augment-inherited-props.d.ts +42 -1
  7. package/dist/augment-inherited-props.d.ts.map +1 -1
  8. package/dist/builtins.d.ts +33 -0
  9. package/dist/builtins.d.ts.map +1 -0
  10. package/dist/compiler.d.ts.map +1 -1
  11. package/dist/errors.d.ts +1 -0
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/expression-parser.d.ts +48 -1
  14. package/dist/expression-parser.d.ts.map +1 -1
  15. package/dist/index.d.ts +8 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +392 -26
  18. package/dist/ir-to-client-js/imports.d.ts.map +1 -1
  19. package/dist/jsx-to-ir.d.ts.map +1 -1
  20. package/dist/ssr-defaults.d.ts.map +1 -1
  21. package/dist/types.d.ts +16 -0
  22. package/dist/types.d.ts.map +1 -1
  23. package/package.json +2 -2
  24. package/src/__tests__/compiler-stress-1244.test.ts +4 -2
  25. package/src/__tests__/expression-parser.test.ts +92 -1
  26. package/src/__tests__/ir-async.test.ts +8 -0
  27. package/src/__tests__/ir-builtin-import-scope.test.ts +188 -0
  28. package/src/__tests__/ir-region.test.ts +86 -0
  29. package/src/__tests__/ssr-defaults.test.ts +25 -0
  30. package/src/adapters/env-signal.ts +75 -0
  31. package/src/adapters/parsed-expr-emitter.ts +11 -0
  32. package/src/analyzer.ts +9 -0
  33. package/src/augment-inherited-props.ts +170 -2
  34. package/src/builtins.ts +63 -0
  35. package/src/compiler.ts +6 -2
  36. package/src/errors.ts +10 -0
  37. package/src/expression-parser.ts +156 -2
  38. package/src/index.ts +8 -2
  39. package/src/ir-to-client-js/imports.ts +5 -0
  40. package/src/jsx-to-ir.ts +189 -8
  41. package/src/ssr-defaults.ts +55 -17
  42. package/src/types.ts +16 -0
package/src/types.ts CHANGED
@@ -302,6 +302,13 @@ export interface IRElement {
302
302
  children: IRNode[]
303
303
  slotId: string | null
304
304
  needsScope: boolean
305
+ /**
306
+ * Page-lifecycle boundary id for an element lowered from `<Region>`
307
+ * (spec/router.md). Set only on region host elements; adapters emit it as
308
+ * `bf-region="<id>"`. Deterministic (`<file scope>:<index>`) so a layout's
309
+ * shared partial carries the same id across every page that composes it.
310
+ */
311
+ regionId?: string
305
312
  loc: SourceLocation
306
313
  }
307
314
 
@@ -1206,6 +1213,15 @@ export interface ImportSpecifier {
1206
1213
  alias: string | null
1207
1214
  isDefault: boolean
1208
1215
  isNamespace: boolean
1216
+ /**
1217
+ * Per-specifier type-only import (`import { type Foo } from '...'`). Distinct
1218
+ * from `ImportInfo.isTypeOnly` (the whole `import type { ... }` statement).
1219
+ * A type-only specifier introduces no runtime/value binding, so consumers
1220
+ * enforcing a value import (e.g. the `<Async>`/`<Region>` built-ins, #1915)
1221
+ * must ignore it. Absent/false for value specifiers and for default /
1222
+ * namespace imports (which cannot be per-specifier type-only).
1223
+ */
1224
+ isTypeOnly?: boolean
1209
1225
  }
1210
1226
 
1211
1227
  export interface FunctionInfo {