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