@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.
- package/dist/conformance-pins.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/package.json +3 -3
- package/src/conformance-pins.ts +43 -0
|
@@ -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,
|
|
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.
|
|
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.
|
|
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.
|
|
64
|
+
"@barefootjs/jsx": "0.26.4",
|
|
65
65
|
"typescript": "^5.0.0"
|
|
66
66
|
}
|
|
67
67
|
}
|
package/src/conformance-pins.ts
CHANGED
|
@@ -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
|