@barefootjs/xslate 0.26.2 → 0.26.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.
@@ -1 +1 @@
1
- {"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,eAmH7B,CAAA"}
1
+ {"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,eA8J7B,CAAA"}
package/dist/index.js CHANGED
@@ -189138,6 +189138,19 @@ Options:
189138
189138
  var xslateAdapter = new XslateAdapter;
189139
189139
  // src/conformance-pins.ts
189140
189140
  var conformancePins = {
189141
+ "filter-typeof-predicate": [{ code: "BF021", severity: "error" }],
189142
+ "map-preamble-branch-body": [{ code: "BF021", severity: "error" }],
189143
+ "map-array-builder-body": [{ code: "BF021", severity: "error" }],
189144
+ "map-array-builder-escaping": [{ code: "BF021", severity: "error" }],
189145
+ "fill-unsupported": [{ code: "BF101", severity: "error" }],
189146
+ "find-typeof-predicate": [{ code: "BF101", severity: "error" }],
189147
+ "some-typeof-predicate": [{ code: "BF101", severity: "error" }],
189148
+ "every-typeof-predicate": [{ code: "BF101", severity: "error" }],
189149
+ "reduce-typeof-body": [{ code: "BF101", severity: "error" }],
189150
+ "reduce-right-typeof-body": [{ code: "BF101", severity: "error" }],
189151
+ "flatmap-typeof-projection": [{ code: "BF101", severity: "error" }],
189152
+ "tag-cloud": [{ code: "BF021", severity: "error" }],
189153
+ "preamble-cells": [{ code: "BF021", severity: "error" }],
189141
189154
  "static-array-from-props": [
189142
189155
  { code: "BF101", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2321" }
189143
189156
  ],
@@ -1,5 +1,5 @@
1
1
  package BarefootJS::Backend::Xslate;
2
- our $VERSION = "0.26.0";
2
+ our $VERSION = "0.26.3";
3
3
  use strict;
4
4
  use warnings;
5
5
  use utf8;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barefootjs/xslate",
3
- "version": "0.26.2",
3
+ "version": "0.26.4",
4
4
  "description": "Text::Xslate (Kolon) adapter for BarefootJS — compiles IR to .tx templates and ships the Xslate rendering backend; runs under any PSGI/Plack app",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -55,14 +55,14 @@
55
55
  "directory": "packages/adapter-xslate"
56
56
  },
57
57
  "dependencies": {
58
- "@barefootjs/shared": "0.26.2"
58
+ "@barefootjs/shared": "0.26.4"
59
59
  },
60
60
  "peerDependencies": {
61
61
  "@barefootjs/jsx": ">=0.2.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@barefootjs/adapter-tests": "0.1.0",
65
- "@barefootjs/jsx": "0.26.2",
65
+ "@barefootjs/jsx": "0.26.4",
66
66
  "typescript": "^5.0.0"
67
67
  }
68
68
  }
@@ -9,6 +9,49 @@
9
9
  import type { ConformancePins } from '@barefootjs/jsx'
10
10
 
11
11
  export const conformancePins: ConformancePins = {
12
+ // Off-subset filter predicate (`typeof`) the compiler can't lower; a
13
+ // JS-runtime target runs it, a DSL adapter surfaces BF021 + `/* @client */`.
14
+ // See spec/callback-fidelity.md.
15
+ 'filter-typeof-predicate': [{ code: 'BF021', severity: 'error' }],
16
+ // A `.map()` body with a `const`/`let` preamble before its branches:
17
+ // a JS runtime folds it, a DSL adapter can't carry the loop-local into a
18
+ // conditional branch template, so it refuses with BF021 + `/* @client */`.
19
+ // See spec/callback-fidelity.md.
20
+ 'map-preamble-branch-body': [{ code: 'BF021', severity: 'error' }],
21
+ 'map-array-builder-body': [{ code: 'BF021', severity: 'error' }],
22
+ 'map-array-builder-escaping': [{ code: 'BF021', severity: 'error' }],
23
+ // `.fill(value)` mutates the receiver in place — no template lowering
24
+ // on any DSL adapter; a JS-runtime target runs it, a DSL adapter
25
+ // surfaces BF101 + `/* @client */`. See spec/callback-fidelity.md.
26
+ 'fill-unsupported': [{ code: 'BF101', severity: 'error' }],
27
+ // Off-subset `.find()` / `.some()` / `.every()` predicate (`typeof`) the
28
+ // compiler can't lower; a JS-runtime target runs it, a DSL adapter
29
+ // surfaces BF101 + `/* @client */`. See spec/callback-fidelity.md.
30
+ 'find-typeof-predicate': [{ code: 'BF101', severity: 'error' }],
31
+ 'some-typeof-predicate': [{ code: 'BF101', severity: 'error' }],
32
+ 'every-typeof-predicate': [{ code: 'BF101', severity: 'error' }],
33
+ // Off-subset `.reduce()` / `.reduceRight()` body / `.flatMap()`
34
+ // projection (`typeof`) the compiler can't lower; a JS-runtime target
35
+ // runs it, a DSL adapter surfaces BF101 + `/* @client */`.
36
+ // See spec/callback-fidelity.md.
37
+ 'reduce-typeof-body': [{ code: 'BF101', severity: 'error' }],
38
+ 'reduce-right-typeof-body': [{ code: 'BF101', severity: 'error' }],
39
+ 'flatmap-typeof-projection': [{ code: 'BF101', severity: 'error' }],
40
+ // JSX-returning `.flatMap()` body carried as structured segments — i.e.
41
+ // one with STATEMENTS (early returns, consts): a JS runtime executes it
42
+ // verbatim; a DSL template runtime can't, so it refuses with BF021 +
43
+ // `/* @client */` (pre-gate this emitted an empty loop body — silent
44
+ // divergence). A pure PROJECTION body (`flatMap(it => it.tags.map(...))`,
45
+ // e.g. the `flatmap-expression-body` fixture) is NOT pinned: it lowers to
46
+ // neutral nested-loop IR this adapter templatizes natively.
47
+ // See spec/callback-fidelity.md.
48
+ 'tag-cloud': [{ code: 'BF021', severity: 'error' }],
49
+ // A keyed `.map()` row body whose preamble builds a JSX leaf from item
50
+ // state (`cells.push(<td>{stateLabel}</td>)`) embedded as `{cells}` — the
51
+ // Stage 3 array-builder carrier, jsRuntime-only: a JS runtime runs it
52
+ // verbatim (and patches the region on same-key updates, #2389), a DSL
53
+ // adapter refuses with BF021 + `/* @client */`. See spec/callback-fidelity.md.
54
+ 'preamble-cells': [{ code: 'BF021', severity: 'error' }],
12
55
  // `todo-app` / `todo-app-ssr` no longer pinned (#2205) — the conformance
13
56
  // harness now passes `siblingTemplatesRegistered: true` for fixtures with
14
57
  // sibling `components`, matching `bf build`'s real semantics, so the