@barefootjs/hono 0.19.1 → 0.21.0
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/adapter/hono-adapter.d.ts +7 -4
- package/dist/adapter/hono-adapter.d.ts.map +1 -1
- package/dist/adapter/index.js +1 -1
- package/dist/build.js +1 -1
- package/dist/conformance-pins.d.ts +8 -5
- package/dist/conformance-pins.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/package.json +1 -1
- package/src/adapter/hono-adapter.ts +8 -5
- package/src/conformance-pins.ts +11 -6
|
@@ -117,11 +117,14 @@ export declare class HonoAdapter extends JsxAdapter implements IRNodeEmitter<Hon
|
|
|
117
117
|
}): string;
|
|
118
118
|
private renderFragment;
|
|
119
119
|
/**
|
|
120
|
-
* Wrap `body` in a fragment-rooted scope comment.
|
|
121
|
-
* Shape (matches `hydrate.ts::hydrateCommentScope`):
|
|
122
|
-
* root: <!--bf-scope:<scopeId>|<propsJson>-->
|
|
123
|
-
* child: <!--bf-scope:<scopeId>|h=<host>|m=<slot>|<propsJson>-->
|
|
120
|
+
* Wrap `body` in a fragment-rooted scope comment pair.
|
|
121
|
+
* Shape (matches `hydrate.ts::hydrateCommentScope` / `scope.ts::getCommentScopeBoundary`):
|
|
122
|
+
* root: <!--bf-scope:<scopeId>|<propsJson>-->…<!--bf-/scope:<scopeId>-->
|
|
123
|
+
* child: <!--bf-scope:<scopeId>|h=<host>|m=<slot>|<propsJson>-->…<!--bf-/scope:<scopeId>-->
|
|
124
124
|
* `<scopeId>` stays at the front so child detection can anchor on `|h=`.
|
|
125
|
+
* The end marker bounds the scope's sibling range — without it, queries
|
|
126
|
+
* from the fragment scope leak onto later siblings owned by the parent
|
|
127
|
+
* (#2289).
|
|
125
128
|
*/
|
|
126
129
|
private wrapWithScopeComment;
|
|
127
130
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/hono-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hono-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/hono-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -576,7 +576,7 @@ export default ${this.componentName}` : "";
|
|
|
576
576
|
wrapWithScopeComment(body) {
|
|
577
577
|
const hostExpr = '${__bfParent ? `|h=${__bfParent}|m=${__bfMount}` : ""}';
|
|
578
578
|
const propsExpr = this.currentComponentHasProps ? '${__bfPropsJson ? `|${__bfPropsJson}` : ""}' : "";
|
|
579
|
-
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}</>`;
|
|
579
|
+
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}{bfComment(\`/scope:\${__scopeId}\`)}</>`;
|
|
580
580
|
}
|
|
581
581
|
elementAttrEmitter = {
|
|
582
582
|
emitLiteral: (value, name) => `${name}="${escapeHtml(value.value)}"`,
|
package/dist/build.js
CHANGED
|
@@ -576,7 +576,7 @@ export default ${this.componentName}` : "";
|
|
|
576
576
|
wrapWithScopeComment(body) {
|
|
577
577
|
const hostExpr = '${__bfParent ? `|h=${__bfParent}|m=${__bfMount}` : ""}';
|
|
578
578
|
const propsExpr = this.currentComponentHasProps ? '${__bfPropsJson ? `|${__bfPropsJson}` : ""}' : "";
|
|
579
|
-
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}</>`;
|
|
579
|
+
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}{bfComment(\`/scope:\${__scopeId}\`)}</>`;
|
|
580
580
|
}
|
|
581
581
|
elementAttrEmitter = {
|
|
582
582
|
emitLiteral: (value, name) => `${name}="${escapeHtml(value.value)}"`,
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Per-fixture build-time contracts for shapes the Hono adapter
|
|
3
3
|
* intentionally refuses to lower. Hono's SSR runtime is JS — its
|
|
4
|
-
* `acceptsTemplateCall` is broad enough to cover every
|
|
5
|
-
* so this
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* `acceptsTemplateCall` is broad enough to cover every adapter-specific
|
|
5
|
+
* lowering gap, so this package's only pin is the one refusal that is
|
|
6
|
+
* NOT adapter-specific: a method call on a host rich-typed prop (Date,
|
|
7
|
+
* Map, …) with no catalogued lowering refuses with BF021 at the
|
|
8
|
+
* compiler layer (`checkRichTypeMethodCalls`), ahead of and independent
|
|
9
|
+
* of `adapter.generate()` — even Hono's native JS evaluation never sees
|
|
10
|
+
* the call (#2273). Consumed by this package's own conformance test (as
|
|
11
|
+
* `expectedDiagnostics`) and by `bf compat` (issue-URL attribution).
|
|
9
12
|
*/
|
|
10
13
|
import type { ConformancePins } from '@barefootjs/jsx';
|
|
11
14
|
export declare const conformancePins: ConformancePins;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,eAE7B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -576,7 +576,7 @@ export default ${this.componentName}` : "";
|
|
|
576
576
|
wrapWithScopeComment(body) {
|
|
577
577
|
const hostExpr = '${__bfParent ? `|h=${__bfParent}|m=${__bfMount}` : ""}';
|
|
578
578
|
const propsExpr = this.currentComponentHasProps ? '${__bfPropsJson ? `|${__bfPropsJson}` : ""}' : "";
|
|
579
|
-
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}</>`;
|
|
579
|
+
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}{bfComment(\`/scope:\${__scopeId}\`)}</>`;
|
|
580
580
|
}
|
|
581
581
|
elementAttrEmitter = {
|
|
582
582
|
emitLiteral: (value, name) => `${name}="${escapeHtml(value.value)}"`,
|
|
@@ -671,7 +671,9 @@ export default ${this.componentName}` : "";
|
|
|
671
671
|
}
|
|
672
672
|
var honoAdapter = new HonoAdapter;
|
|
673
673
|
// src/conformance-pins.ts
|
|
674
|
-
var conformancePins = {
|
|
674
|
+
var conformancePins = {
|
|
675
|
+
"date-method-uncatalogued": [{ code: "BF021", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2274" }]
|
|
676
|
+
};
|
|
675
677
|
export {
|
|
676
678
|
honoAdapter,
|
|
677
679
|
conformancePins,
|
package/package.json
CHANGED
|
@@ -1078,18 +1078,21 @@ export class HonoAdapter extends JsxAdapter implements IRNodeEmitter<HonoRenderC
|
|
|
1078
1078
|
}
|
|
1079
1079
|
|
|
1080
1080
|
/**
|
|
1081
|
-
* Wrap `body` in a fragment-rooted scope comment.
|
|
1082
|
-
* Shape (matches `hydrate.ts::hydrateCommentScope`):
|
|
1083
|
-
* root: <!--bf-scope:<scopeId>|<propsJson>-->
|
|
1084
|
-
* child: <!--bf-scope:<scopeId>|h=<host>|m=<slot>|<propsJson>-->
|
|
1081
|
+
* Wrap `body` in a fragment-rooted scope comment pair.
|
|
1082
|
+
* Shape (matches `hydrate.ts::hydrateCommentScope` / `scope.ts::getCommentScopeBoundary`):
|
|
1083
|
+
* root: <!--bf-scope:<scopeId>|<propsJson>-->…<!--bf-/scope:<scopeId>-->
|
|
1084
|
+
* child: <!--bf-scope:<scopeId>|h=<host>|m=<slot>|<propsJson>-->…<!--bf-/scope:<scopeId>-->
|
|
1085
1085
|
* `<scopeId>` stays at the front so child detection can anchor on `|h=`.
|
|
1086
|
+
* The end marker bounds the scope's sibling range — without it, queries
|
|
1087
|
+
* from the fragment scope leak onto later siblings owned by the parent
|
|
1088
|
+
* (#2289).
|
|
1086
1089
|
*/
|
|
1087
1090
|
private wrapWithScopeComment(body: string): string {
|
|
1088
1091
|
const hostExpr = '${__bfParent ? `|h=${__bfParent}|m=${__bfMount}` : ""}'
|
|
1089
1092
|
const propsExpr = this.currentComponentHasProps
|
|
1090
1093
|
? '${__bfPropsJson ? `|${__bfPropsJson}` : ""}'
|
|
1091
1094
|
: ''
|
|
1092
|
-
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}</>`
|
|
1095
|
+
return `<>{bfComment(\`scope:\${__scopeId}${hostExpr}${propsExpr}\`)}${body}{bfComment(\`/scope:\${__scopeId}\`)}</>`
|
|
1093
1096
|
}
|
|
1094
1097
|
|
|
1095
1098
|
// ===========================================================================
|
package/src/conformance-pins.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Per-fixture build-time contracts for shapes the Hono adapter
|
|
3
3
|
* intentionally refuses to lower. Hono's SSR runtime is JS — its
|
|
4
|
-
* `acceptsTemplateCall` is broad enough to cover every
|
|
5
|
-
* so this
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* `acceptsTemplateCall` is broad enough to cover every adapter-specific
|
|
5
|
+
* lowering gap, so this package's only pin is the one refusal that is
|
|
6
|
+
* NOT adapter-specific: a method call on a host rich-typed prop (Date,
|
|
7
|
+
* Map, …) with no catalogued lowering refuses with BF021 at the
|
|
8
|
+
* compiler layer (`checkRichTypeMethodCalls`), ahead of and independent
|
|
9
|
+
* of `adapter.generate()` — even Hono's native JS evaluation never sees
|
|
10
|
+
* the call (#2273). Consumed by this package's own conformance test (as
|
|
11
|
+
* `expectedDiagnostics`) and by `bf compat` (issue-URL attribution).
|
|
9
12
|
*/
|
|
10
13
|
|
|
11
14
|
import type { ConformancePins } from '@barefootjs/jsx'
|
|
12
15
|
|
|
13
|
-
export const conformancePins: ConformancePins = {
|
|
16
|
+
export const conformancePins: ConformancePins = {
|
|
17
|
+
'date-method-uncatalogued': [{ code: 'BF021', severity: 'error', issue: 'https://github.com/piconic-ai/barefootjs/issues/2274' }],
|
|
18
|
+
}
|