@barefootjs/jsx 0.9.2 → 0.9.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/adapters/attr-value-emitter.d.ts +1 -1
- package/dist/adapters/attr-value-emitter.d.ts.map +1 -1
- package/dist/adapters/interface.d.ts +1 -1
- package/dist/adapters/interface.d.ts.map +1 -1
- package/dist/adapters/ir-node-emitter.d.ts +1 -1
- package/dist/adapters/ir-node-emitter.d.ts.map +1 -1
- package/dist/adapters/jsx-adapter.d.ts +2 -2
- package/dist/adapters/jsx-adapter.d.ts.map +1 -1
- package/dist/adapters/parsed-expr-emitter.d.ts +1 -1
- package/dist/adapters/parsed-expr-emitter.d.ts.map +1 -1
- package/dist/adapters/template-imports.d.ts +1 -1
- package/dist/adapters/template-imports.d.ts.map +1 -1
- package/dist/adapters/test-adapter.d.ts +3 -3
- package/dist/adapters/test-adapter.d.ts.map +1 -1
- package/dist/analyzer-context.d.ts +2 -2
- package/dist/analyzer-context.d.ts.map +1 -1
- package/dist/analyzer.d.ts +2 -2
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/augment-inherited-props.d.ts +1 -1
- package/dist/augment-inherited-props.d.ts.map +1 -1
- package/dist/compiler.d.ts +3 -3
- package/dist/compiler.d.ts.map +1 -1
- package/dist/css-layer-prefixer.d.ts +1 -1
- package/dist/css-layer-prefixer.d.ts.map +1 -1
- package/dist/debug.d.ts +3 -3
- package/dist/debug.d.ts.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/expression-parser.d.ts +12 -0
- package/dist/expression-parser.d.ts.map +1 -1
- package/dist/free-refs.d.ts +1 -1
- package/dist/free-refs.d.ts.map +1 -1
- package/dist/index.d.ts +42 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/ir-to-client-js/build-references.d.ts +2 -2
- package/dist/ir-to-client-js/build-references.d.ts.map +1 -1
- package/dist/ir-to-client-js/child-components.d.ts +2 -2
- package/dist/ir-to-client-js/child-components.d.ts.map +1 -1
- package/dist/ir-to-client-js/collect-elements.d.ts +4 -4
- package/dist/ir-to-client-js/collect-elements.d.ts.map +1 -1
- package/dist/ir-to-client-js/compute-inlinability.d.ts +4 -4
- package/dist/ir-to-client-js/compute-inlinability.d.ts.map +1 -1
- package/dist/ir-to-client-js/compute-prop-usage.d.ts +2 -2
- package/dist/ir-to-client-js/compute-prop-usage.d.ts.map +1 -1
- package/dist/ir-to-client-js/compute-scope.d.ts +2 -2
- package/dist/ir-to-client-js/compute-scope.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/branch-loop.d.ts +3 -3
- package/dist/ir-to-client-js/control-flow/plan/branch-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-branch-loop.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/build-branch-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-component-loop.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/build-component-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-composite-loop.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/build-composite-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-event-delegation.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/build-event-delegation.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-inner-loop.d.ts +3 -3
- package/dist/ir-to-client-js/control-flow/plan/build-inner-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-insert.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/build-insert.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-loop-child-arm.d.ts +3 -3
- package/dist/ir-to-client-js/control-flow/plan/build-loop-child-arm.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-loop.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/build-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/build-reactive-effects.d.ts +3 -3
- package/dist/ir-to-client-js/control-flow/plan/build-reactive-effects.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/event-delegation.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/plan/event-delegation.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/inner-loop.d.ts +3 -3
- package/dist/ir-to-client-js/control-flow/plan/inner-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/insert.d.ts +3 -3
- package/dist/ir-to-client-js/control-flow/plan/insert.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/loop-child-arm.d.ts +4 -4
- package/dist/ir-to-client-js/control-flow/plan/loop-child-arm.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/loop.d.ts +4 -4
- package/dist/ir-to-client-js/control-flow/plan/loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/reactive-effects.d.ts +2 -2
- package/dist/ir-to-client-js/control-flow/plan/reactive-effects.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/plan/types.d.ts +7 -7
- package/dist/ir-to-client-js/control-flow/plan/types.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/shared.d.ts +5 -5
- package/dist/ir-to-client-js/control-flow/shared.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/branch-loop.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/branch-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/component-loop.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/component-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/composite-loop.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/composite-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/event-delegation.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/event-delegation.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/inner-loop.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/inner-loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/insert.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/insert.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/loop-child-arm.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/loop-child-arm.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/loop.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/loop.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/reactive-effects.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow/stringify/reactive-effects.d.ts.map +1 -1
- package/dist/ir-to-client-js/control-flow.d.ts +1 -1
- package/dist/ir-to-client-js/control-flow.d.ts.map +1 -1
- package/dist/ir-to-client-js/csr-substitute.d.ts +1 -1
- package/dist/ir-to-client-js/csr-substitute.d.ts.map +1 -1
- package/dist/ir-to-client-js/declaration-sort.d.ts +1 -1
- package/dist/ir-to-client-js/declaration-sort.d.ts.map +1 -1
- package/dist/ir-to-client-js/element-refs.d.ts +1 -1
- package/dist/ir-to-client-js/element-refs.d.ts.map +1 -1
- package/dist/ir-to-client-js/emit-module-level.d.ts +1 -1
- package/dist/ir-to-client-js/emit-module-level.d.ts.map +1 -1
- package/dist/ir-to-client-js/emit-reactive.d.ts +2 -2
- package/dist/ir-to-client-js/emit-reactive.d.ts.map +1 -1
- package/dist/ir-to-client-js/emit-registration.d.ts +2 -2
- package/dist/ir-to-client-js/emit-registration.d.ts.map +1 -1
- package/dist/ir-to-client-js/generate-init.d.ts +2 -2
- package/dist/ir-to-client-js/generate-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/html-template.d.ts +4 -4
- package/dist/ir-to-client-js/html-template.d.ts.map +1 -1
- package/dist/ir-to-client-js/imports.d.ts +1 -1
- package/dist/ir-to-client-js/imports.d.ts.map +1 -1
- package/dist/ir-to-client-js/index.d.ts +3 -3
- package/dist/ir-to-client-js/index.d.ts.map +1 -1
- package/dist/ir-to-client-js/init-declarations.d.ts +2 -2
- package/dist/ir-to-client-js/init-declarations.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/conditional-slot-ids.d.ts +1 -1
- package/dist/ir-to-client-js/phases/conditional-slot-ids.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/effects-and-on-mounts.d.ts +1 -1
- package/dist/ir-to-client-js/phases/effects-and-on-mounts.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/event-handlers.d.ts +1 -1
- package/dist/ir-to-client-js/phases/event-handlers.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/init-statements.d.ts +1 -1
- package/dist/ir-to-client-js/phases/init-statements.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/props-event-handlers.d.ts +1 -1
- package/dist/ir-to-client-js/phases/props-event-handlers.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/props-extraction.d.ts +2 -2
- package/dist/ir-to-client-js/phases/props-extraction.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/provider-and-child-inits.d.ts +1 -1
- package/dist/ir-to-client-js/phases/provider-and-child-inits.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/ref-callbacks.d.ts +1 -1
- package/dist/ir-to-client-js/phases/ref-callbacks.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/rest-attr-applications.d.ts +1 -1
- package/dist/ir-to-client-js/phases/rest-attr-applications.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases/static-array-child-inits.d.ts +1 -1
- package/dist/ir-to-client-js/phases/static-array-child-inits.d.ts.map +1 -1
- package/dist/ir-to-client-js/phases.d.ts +3 -3
- package/dist/ir-to-client-js/phases.d.ts.map +1 -1
- package/dist/ir-to-client-js/plan/build-declaration-emit.d.ts +5 -5
- package/dist/ir-to-client-js/plan/build-declaration-emit.d.ts.map +1 -1
- package/dist/ir-to-client-js/plan/build-static-array-child-init.d.ts +2 -2
- package/dist/ir-to-client-js/plan/build-static-array-child-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/plan/static-array-child-init.d.ts +1 -1
- package/dist/ir-to-client-js/plan/static-array-child-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/prop-handling.d.ts +2 -2
- package/dist/ir-to-client-js/prop-handling.d.ts.map +1 -1
- package/dist/ir-to-client-js/reactivity.d.ts +2 -2
- package/dist/ir-to-client-js/reactivity.d.ts.map +1 -1
- package/dist/ir-to-client-js/source-map.d.ts +2 -2
- package/dist/ir-to-client-js/source-map.d.ts.map +1 -1
- package/dist/ir-to-client-js/stringify/declaration-emit.d.ts +1 -1
- package/dist/ir-to-client-js/stringify/declaration-emit.d.ts.map +1 -1
- package/dist/ir-to-client-js/stringify/static-array-child-init.d.ts +1 -1
- package/dist/ir-to-client-js/stringify/static-array-child-init.d.ts.map +1 -1
- package/dist/ir-to-client-js/types.d.ts +7 -7
- package/dist/ir-to-client-js/types.d.ts.map +1 -1
- package/dist/ir-to-client-js/utils.d.ts +2 -2
- package/dist/ir-to-client-js/utils.d.ts.map +1 -1
- package/dist/ir-to-client-js/walk-prop-accesses.d.ts +1 -1
- package/dist/ir-to-client-js/walk-prop-accesses.d.ts.map +1 -1
- package/dist/ir-to-client-js/walker.d.ts +1 -1
- package/dist/ir-to-client-js/walker.d.ts.map +1 -1
- package/dist/jsx-to-ir.d.ts +2 -2
- package/dist/jsx-to-ir.d.ts.map +1 -1
- package/dist/module-exports.d.ts +1 -1
- package/dist/module-exports.d.ts.map +1 -1
- package/dist/preprocess-inline-jsx-callbacks.d.ts +1 -1
- package/dist/preprocess-inline-jsx-callbacks.d.ts.map +1 -1
- package/dist/relocate.d.ts +3 -3
- package/dist/relocate.d.ts.map +1 -1
- package/dist/ssr-defaults.d.ts +1 -1
- package/dist/ssr-defaults.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/expression-parser.test.ts +30 -1
- package/src/adapters/attr-value-emitter.ts +1 -1
- package/src/adapters/interface.ts +1 -1
- package/src/adapters/ir-node-emitter.ts +1 -1
- package/src/adapters/jsx-adapter.ts +3 -3
- package/src/adapters/parsed-expr-emitter.ts +1 -1
- package/src/adapters/template-imports.ts +1 -1
- package/src/adapters/test-adapter.ts +5 -5
- package/src/analyzer-context.ts +2 -2
- package/src/analyzer.ts +8 -8
- package/src/augment-inherited-props.ts +2 -2
- package/src/compiler.ts +12 -12
- package/src/css-layer-prefixer.ts +1 -1
- package/src/debug.ts +7 -7
- package/src/errors.ts +2 -2
- package/src/expression-parser.ts +27 -0
- package/src/free-refs.ts +4 -4
- package/src/index.ts +42 -42
- package/src/ir-to-client-js/build-references.ts +6 -6
- package/src/ir-to-client-js/child-components.ts +2 -2
- package/src/ir-to-client-js/collect-elements.ts +14 -14
- package/src/ir-to-client-js/compute-inlinability.ts +10 -10
- package/src/ir-to-client-js/compute-prop-usage.ts +3 -3
- package/src/ir-to-client-js/compute-scope.ts +3 -3
- package/src/ir-to-client-js/control-flow/plan/branch-loop.ts +3 -3
- package/src/ir-to-client-js/control-flow/plan/build-branch-loop.ts +7 -7
- package/src/ir-to-client-js/control-flow/plan/build-component-loop.ts +6 -6
- package/src/ir-to-client-js/control-flow/plan/build-composite-loop.ts +7 -7
- package/src/ir-to-client-js/control-flow/plan/build-event-delegation.ts +3 -3
- package/src/ir-to-client-js/control-flow/plan/build-inner-loop.ts +8 -8
- package/src/ir-to-client-js/control-flow/plan/build-insert.ts +4 -4
- package/src/ir-to-client-js/control-flow/plan/build-loop-child-arm.ts +7 -7
- package/src/ir-to-client-js/control-flow/plan/build-loop.ts +7 -7
- package/src/ir-to-client-js/control-flow/plan/build-reactive-effects.ts +8 -8
- package/src/ir-to-client-js/control-flow/plan/event-delegation.ts +1 -1
- package/src/ir-to-client-js/control-flow/plan/inner-loop.ts +3 -3
- package/src/ir-to-client-js/control-flow/plan/insert.ts +3 -3
- package/src/ir-to-client-js/control-flow/plan/loop-child-arm.ts +4 -4
- package/src/ir-to-client-js/control-flow/plan/loop.ts +4 -4
- package/src/ir-to-client-js/control-flow/plan/reactive-effects.ts +2 -2
- package/src/ir-to-client-js/control-flow/plan/types.ts +7 -7
- package/src/ir-to-client-js/control-flow/shared.ts +8 -8
- package/src/ir-to-client-js/control-flow/stringify/branch-loop.ts +6 -6
- package/src/ir-to-client-js/control-flow/stringify/component-loop.ts +3 -3
- package/src/ir-to-client-js/control-flow/stringify/composite-loop.ts +6 -6
- package/src/ir-to-client-js/control-flow/stringify/event-delegation.ts +2 -2
- package/src/ir-to-client-js/control-flow/stringify/event-listener.ts +1 -1
- package/src/ir-to-client-js/control-flow/stringify/inner-loop.ts +6 -6
- package/src/ir-to-client-js/control-flow/stringify/insert.ts +6 -6
- package/src/ir-to-client-js/control-flow/stringify/loop-child-arm.ts +6 -6
- package/src/ir-to-client-js/control-flow/stringify/loop.ts +7 -7
- package/src/ir-to-client-js/control-flow/stringify/reactive-effects.ts +5 -5
- package/src/ir-to-client-js/control-flow/stringify/template-parse.ts +1 -1
- package/src/ir-to-client-js/control-flow.ts +7 -7
- package/src/ir-to-client-js/csr-substitute.ts +3 -3
- package/src/ir-to-client-js/declaration-sort.ts +2 -2
- package/src/ir-to-client-js/element-refs.ts +3 -3
- package/src/ir-to-client-js/emit-module-level.ts +2 -2
- package/src/ir-to-client-js/emit-reactive.ts +5 -5
- package/src/ir-to-client-js/emit-registration.ts +6 -6
- package/src/ir-to-client-js/generate-init.ts +14 -14
- package/src/ir-to-client-js/html-template.ts +11 -11
- package/src/ir-to-client-js/imports.ts +1 -1
- package/src/ir-to-client-js/index.ts +15 -15
- package/src/ir-to-client-js/init-declarations.ts +8 -8
- package/src/ir-to-client-js/phases/conditional-slot-ids.ts +1 -1
- package/src/ir-to-client-js/phases/effects-and-on-mounts.ts +1 -1
- package/src/ir-to-client-js/phases/event-handlers.ts +2 -2
- package/src/ir-to-client-js/phases/init-statements.ts +1 -1
- package/src/ir-to-client-js/phases/props-event-handlers.ts +2 -2
- package/src/ir-to-client-js/phases/props-extraction.ts +4 -4
- package/src/ir-to-client-js/phases/provider-and-child-inits.ts +3 -3
- package/src/ir-to-client-js/phases/ref-callbacks.ts +2 -2
- package/src/ir-to-client-js/phases/rest-attr-applications.ts +2 -2
- package/src/ir-to-client-js/phases/static-array-child-inits.ts +3 -3
- package/src/ir-to-client-js/phases.ts +18 -18
- package/src/ir-to-client-js/plan/build-declaration-emit.ts +6 -6
- package/src/ir-to-client-js/plan/build-static-array-child-init.ts +7 -7
- package/src/ir-to-client-js/plan/static-array-child-init.ts +1 -1
- package/src/ir-to-client-js/prop-handling.ts +2 -2
- package/src/ir-to-client-js/reactivity.ts +5 -5
- package/src/ir-to-client-js/rewrite-props-object.ts +1 -1
- package/src/ir-to-client-js/source-map.ts +4 -4
- package/src/ir-to-client-js/stringify/declaration-emit.ts +1 -1
- package/src/ir-to-client-js/stringify/static-array-child-init.ts +2 -2
- package/src/ir-to-client-js/types.ts +6 -6
- package/src/ir-to-client-js/utils.ts +4 -4
- package/src/ir-to-client-js/walk-prop-accesses.ts +2 -2
- package/src/ir-to-client-js/walker.ts +1 -1
- package/src/jsx-runtime/index.d.ts +27 -2
- package/src/jsx-to-ir.ts +9 -9
- package/src/module-exports.ts +1 -1
- package/src/preprocess-inline-jsx-callbacks.ts +2 -2
- package/src/prop-rewrite.ts +2 -2
- package/src/reactivity-checker.ts +1 -1
- package/src/relocate.ts +5 -5
- package/src/shared-program.ts +1 -1
- package/src/ssr-defaults.ts +1 -1
- package/src/types.ts +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* No external dependencies — VLQ encoding is implemented inline.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { SourceLocation } from '../types'
|
|
9
|
+
import type { SourceLocation } from '../types.ts'
|
|
10
10
|
|
|
11
11
|
// =============================================================================
|
|
12
12
|
// VLQ Base64 Encoding
|
|
@@ -217,7 +217,7 @@ export class MappedCodeBuilder {
|
|
|
217
217
|
*/
|
|
218
218
|
export function buildSourceMapFromIR(
|
|
219
219
|
generatedCode: string,
|
|
220
|
-
ir: import('../types').ComponentIR,
|
|
220
|
+
ir: import('../types.ts').ComponentIR,
|
|
221
221
|
generatedFileName: string,
|
|
222
222
|
): SourceMapV3 {
|
|
223
223
|
const gen = new SourceMapGenerator(generatedFileName)
|
|
@@ -280,7 +280,7 @@ export function buildSourceMapFromIR(
|
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
/** Find the source file path from the IR (first available SourceLocation). */
|
|
283
|
-
function findSourceFile(ir: import('../types').ComponentIR): string | null {
|
|
283
|
+
function findSourceFile(ir: import('../types.ts').ComponentIR): string | null {
|
|
284
284
|
if (ir.root.loc?.file) return ir.root.loc.file
|
|
285
285
|
for (const s of ir.metadata.signals) {
|
|
286
286
|
if (s.loc?.file) return s.loc.file
|
|
@@ -307,7 +307,7 @@ function indentOf(line: string): number {
|
|
|
307
307
|
/** Map event handlers from IR tree to generated code lines. */
|
|
308
308
|
function mapEventHandlers(
|
|
309
309
|
lines: string[],
|
|
310
|
-
node: import('../types').IRNode,
|
|
310
|
+
node: import('../types.ts').IRNode,
|
|
311
311
|
gen: SourceMapGenerator,
|
|
312
312
|
): void {
|
|
313
313
|
if (node.type === 'element') {
|
|
@@ -56,8 +56,8 @@ import type {
|
|
|
56
56
|
SingleCompInitPlan,
|
|
57
57
|
StaticArrayChildInitPlan,
|
|
58
58
|
StaticArrayChildInitsPlan,
|
|
59
|
-
} from '../plan/static-array-child-init'
|
|
60
|
-
import { nameForRegistryRef } from '../component-scope'
|
|
59
|
+
} from '../plan/static-array-child-init.ts'
|
|
60
|
+
import { nameForRegistryRef } from '../component-scope.ts'
|
|
61
61
|
|
|
62
62
|
export function stringifyStaticArrayChildInits(
|
|
63
63
|
lines: string[],
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type {
|
|
6
6
|
TemplatePrimitiveRegistry,
|
|
7
7
|
TemplateCallAcceptor,
|
|
8
|
-
} from '../adapters/interface'
|
|
8
|
+
} from '../adapters/interface.ts'
|
|
9
9
|
import type {
|
|
10
10
|
AttrMeta,
|
|
11
11
|
IREvent,
|
|
@@ -19,8 +19,8 @@ import type {
|
|
|
19
19
|
ConstantInfo,
|
|
20
20
|
ParamInfo,
|
|
21
21
|
CompilerError,
|
|
22
|
-
} from '../types'
|
|
23
|
-
import type { CsrInlinabilityMap } from './csr-substitute'
|
|
22
|
+
} from '../types.ts'
|
|
23
|
+
import type { CsrInlinabilityMap } from './csr-substitute.ts'
|
|
24
24
|
|
|
25
25
|
export interface ClientJsContext {
|
|
26
26
|
componentName: string
|
|
@@ -218,7 +218,7 @@ export interface LoopCore {
|
|
|
218
218
|
* signal accessor instead of a once-captured local. Absent for
|
|
219
219
|
* simple-name callbacks.
|
|
220
220
|
*/
|
|
221
|
-
paramBindings?: readonly import('../types').LoopParamBinding[]
|
|
221
|
+
paramBindings?: readonly import('../types.ts').LoopParamBinding[]
|
|
222
222
|
/**
|
|
223
223
|
* Unique id for this loop's `<!--bf-loop:<id>--> ... <!--bf-/loop:<id>-->`
|
|
224
224
|
* marker pair, threaded from `IRLoop.markerId`. Each `mapArray()` /
|
|
@@ -393,7 +393,7 @@ export interface NestedLoop extends LoopCore {
|
|
|
393
393
|
/** Whether the inner array references the outer loop param (needs reactive mapArray) */
|
|
394
394
|
refsOuterParam?: boolean
|
|
395
395
|
/** Child components inside inner loop items (for initChild/createComponent) */
|
|
396
|
-
childComponents?: import('../types').IRLoopChildComponent[]
|
|
396
|
+
childComponents?: import('../types.ts').IRLoopChildComponent[]
|
|
397
397
|
/** True when this loop is inside a conditional branch (handled by insert() bindEvents instead) */
|
|
398
398
|
insideConditional?: boolean
|
|
399
399
|
/** Offset of this loop's items past its preceding container siblings (#1693). */
|
|
@@ -452,7 +452,7 @@ export interface LoopChildBranchSummary {
|
|
|
452
452
|
* carry raw `props` + `children` — `propsExpr` is built by the emitter
|
|
453
453
|
* inside the loop's mapArray callback where the loop param is in scope.
|
|
454
454
|
*/
|
|
455
|
-
childComponents: Array<{ name: string; slotId: string | null; props: import('../types').IRProp[]; children: import('../types').IRNode[] }>
|
|
455
|
+
childComponents: Array<{ name: string; slotId: string | null; props: import('../types.ts').IRProp[]; children: import('../types.ts').IRNode[] }>
|
|
456
456
|
/** Inner loops inside the branch that need mapArray setup. */
|
|
457
457
|
innerLoops?: NestedLoop[]
|
|
458
458
|
/** Nested conditionals inside the branch (recursive — Path A, #830). */
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import ts from 'typescript'
|
|
7
|
-
import type { AttrValue, IRTemplatePart, LoopParamBinding, FreeReference, IRNode } from '../types'
|
|
8
|
-
import type { TopLevelLoop, BranchLoop, LoopOffset } from './types'
|
|
9
|
-
import { buildLoopChainExpr } from '../loop-chain'
|
|
7
|
+
import type { AttrValue, IRTemplatePart, LoopParamBinding, FreeReference, IRNode } from '../types.ts'
|
|
8
|
+
import type { TopLevelLoop, BranchLoop, LoopOffset } from './types.ts'
|
|
9
|
+
import { buildLoopChainExpr } from '../loop-chain.ts'
|
|
10
10
|
import {
|
|
11
11
|
iterateJsTokens,
|
|
12
12
|
isIdentifierLikeToken,
|
|
13
13
|
isTriviaKind,
|
|
14
14
|
replaceInExprContexts,
|
|
15
|
-
} from '../scanner/js-scanner'
|
|
15
|
+
} from '../scanner/js-scanner.ts'
|
|
16
16
|
import {
|
|
17
17
|
BF_KEY as DATA_KEY,
|
|
18
18
|
BF_KEY_PREFIX as DATA_KEY_PREFIX,
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import ts from 'typescript'
|
|
22
|
-
import type { PropAccessKind } from '../types'
|
|
23
|
-
import { extractTemplateExpressions } from './identifiers'
|
|
22
|
+
import type { PropAccessKind } from '../types.ts'
|
|
23
|
+
import { extractTemplateExpressions } from './identifiers.ts'
|
|
24
24
|
|
|
25
25
|
/** Map from prop name → set of access kinds observed across all sources. */
|
|
26
26
|
export type PropAccessKindMap = Map<string, Set<PropAccessKind>>
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
// @ts-nocheck — suppress TS2411 in THIS shim only; types stay strong for consumers.
|
|
2
|
+
//
|
|
3
|
+
// `IntrinsicElements` pairs explicitly-typed elements (input, button, svg, …)
|
|
4
|
+
// with a `[tagName: string]: HTMLBaseAttributes` catch-all for unknown tags.
|
|
5
|
+
// TS2411 ("Property 'input' … is not assignable to 'string' index type
|
|
6
|
+
// 'HTMLBaseAttributes'") fires because the per-element types intentionally
|
|
7
|
+
// narrow `ref` to a concrete subtype (`HTMLInputElement`, …) and re-declare
|
|
8
|
+
// event handlers — neither assignable to the `HTMLElement`-typed base under
|
|
9
|
+
// `strictFunctionTypes`. The diagnostic is spurious *for JSX*: a tag name
|
|
10
|
+
// always resolves to its explicit entry, never to the index signature, so the
|
|
11
|
+
// "incompatible index access" TS2411 guards against cannot happen here.
|
|
12
|
+
//
|
|
13
|
+
// `tsc` never surfaced it (the repo builds with `skipLibCheck`), but
|
|
14
|
+
// `deno publish` (JSR) always type-checks `.d.ts` and broke the
|
|
15
|
+
// `@barefootjs/hono` release with 31 of these. We suppress the self-check of
|
|
16
|
+
// this one declarative shim rather than widen the catch-all to
|
|
17
|
+
// `Record<string, any>` — widening would silently drop attribute checking for
|
|
18
|
+
// custom/web-component tags (`<my-widget foo>` would stop erroring). Consumers
|
|
19
|
+
// are unaffected: `@ts-nocheck` only disables errors *within* this file; its
|
|
20
|
+
// declarations (and their full strictness) still apply at every use site.
|
|
21
|
+
//
|
|
1
22
|
/**
|
|
2
23
|
* BarefootJS JSX Runtime - Type Definitions Only
|
|
3
24
|
*
|
|
@@ -24,7 +45,7 @@ import type {
|
|
|
24
45
|
SVGBaseAttributes,
|
|
25
46
|
SVGPresentationAttributes,
|
|
26
47
|
SVGMarkerReferenceAttributes,
|
|
27
|
-
} from '../html-types'
|
|
48
|
+
} from '../html-types.ts'
|
|
28
49
|
|
|
29
50
|
// Stub function types (for type checking only - no runtime implementation)
|
|
30
51
|
export declare const jsx: (
|
|
@@ -324,7 +345,11 @@ export declare namespace JSX {
|
|
|
324
345
|
ref?: (element: SVGForeignObjectElement) => void
|
|
325
346
|
}
|
|
326
347
|
|
|
327
|
-
//
|
|
348
|
+
// Catch-all for any other (custom / unknown) element. Typed as
|
|
349
|
+
// `HTMLBaseAttributes` so unknown tags (e.g. web components) still get
|
|
350
|
+
// base-attribute checking instead of `any`. See the file-level
|
|
351
|
+
// `@ts-nocheck` note for why this trips TS2411 under `deno publish` and
|
|
352
|
+
// why suppressing it (rather than widening to `any`) is correct.
|
|
328
353
|
[tagName: string]: HTMLBaseAttributes
|
|
329
354
|
}
|
|
330
355
|
}
|
package/src/jsx-to-ir.ts
CHANGED
|
@@ -31,18 +31,18 @@ import {
|
|
|
31
31
|
type OriginInfo,
|
|
32
32
|
isReactiveOrigin,
|
|
33
33
|
AttrValueOf,
|
|
34
|
-
} from './types'
|
|
35
|
-
import { type AnalyzerContext, type MultiReturnJsxInfo, getSourceLocation } from './analyzer-context'
|
|
36
|
-
import { parseExpression, isSupported, parseBlockBody, extractSortComparatorFromTS, type ParsedExpr, type ParsedStatement, type SortComparator } from './expression-parser'
|
|
37
|
-
import { createError, ErrorCodes, internalInvariant } from './errors'
|
|
38
|
-
import { containsReactiveExpression } from './reactivity-checker'
|
|
34
|
+
} from './types.ts'
|
|
35
|
+
import { type AnalyzerContext, type MultiReturnJsxInfo, getSourceLocation } from './analyzer-context.ts'
|
|
36
|
+
import { parseExpression, isSupported, parseBlockBody, extractSortComparatorFromTS, type ParsedExpr, type ParsedStatement, type SortComparator } from './expression-parser.ts'
|
|
37
|
+
import { createError, ErrorCodes, internalInvariant } from './errors.ts'
|
|
38
|
+
import { containsReactiveExpression } from './reactivity-checker.ts'
|
|
39
39
|
import {
|
|
40
40
|
rewriteBarePropRefs as rewriteBarePropRefsCore,
|
|
41
41
|
collectAstPropRefs,
|
|
42
|
-
} from './prop-rewrite'
|
|
43
|
-
import { resolveFreeRefs, type BindingEnvironment } from './free-refs'
|
|
44
|
-
import { extractFreeIdentifiersFromNode, initializerShapeContainsJsx } from './analyzer'
|
|
45
|
-
import { iterateJsTokens, replaceInExprContexts } from './scanner/js-scanner'
|
|
42
|
+
} from './prop-rewrite.ts'
|
|
43
|
+
import { resolveFreeRefs, type BindingEnvironment } from './free-refs.ts'
|
|
44
|
+
import { extractFreeIdentifiersFromNode, initializerShapeContainsJsx } from './analyzer.ts'
|
|
45
|
+
import { iterateJsTokens, replaceInExprContexts } from './scanner/js-scanner.ts'
|
|
46
46
|
|
|
47
47
|
// =============================================================================
|
|
48
48
|
// Transform Context
|
package/src/module-exports.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* This is a compiler-layer concern, not adapter-specific.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type { ComponentIR, ParamInfo } from './types'
|
|
8
|
+
import type { ComponentIR, ParamInfo } from './types.ts'
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Emit module-level exports for local declarations and `export { ... } [from '...']`
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
*/
|
|
32
32
|
|
|
33
33
|
import ts from 'typescript'
|
|
34
|
-
import type { CompilerError, SourceLocation } from './types'
|
|
35
|
-
import { ErrorCodes, createError } from './errors'
|
|
34
|
+
import type { CompilerError, SourceLocation } from './types.ts'
|
|
35
|
+
import { ErrorCodes, createError } from './errors.ts'
|
|
36
36
|
|
|
37
37
|
export interface PreprocessResult {
|
|
38
38
|
/** Source after rewriting; identical to the input when no inline arrows are found. */
|
package/src/prop-rewrite.ts
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import ts from 'typescript'
|
|
10
|
-
import { PROPS_PARAM } from './ir-to-client-js/utils'
|
|
11
|
-
import { createTemplateAwareStringProtector } from './ir-to-client-js/html-template'
|
|
10
|
+
import { PROPS_PARAM } from './ir-to-client-js/utils.ts'
|
|
11
|
+
import { createTemplateAwareStringProtector } from './ir-to-client-js/html-template.ts'
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Walk an AST node for destructured-prop value references and add
|
package/src/relocate.ts
CHANGED
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import ts from 'typescript'
|
|
14
|
-
import type { Scope, BindingKind, IRMetadata } from './types'
|
|
15
|
-
import { isVisibleIn } from './types'
|
|
16
|
-
import type { AnalyzerContext } from './analyzer-context'
|
|
17
|
-
import { PROPS_PARAM } from './ir-to-client-js/utils'
|
|
14
|
+
import type { Scope, BindingKind, IRMetadata } from './types.ts'
|
|
15
|
+
import { isVisibleIn } from './types.ts'
|
|
16
|
+
import type { AnalyzerContext } from './analyzer-context.ts'
|
|
17
|
+
import { PROPS_PARAM } from './ir-to-client-js/utils.ts'
|
|
18
18
|
import type {
|
|
19
19
|
TemplatePrimitiveRegistry,
|
|
20
20
|
TemplateCallAcceptor,
|
|
21
|
-
} from './adapters/interface'
|
|
21
|
+
} from './adapters/interface.ts'
|
|
22
22
|
|
|
23
23
|
export interface RelocateEnv {
|
|
24
24
|
/**
|
package/src/shared-program.ts
CHANGED
package/src/ssr-defaults.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* JSX-independent intermediate representation for multi-backend support.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { ParsedExpr, ParsedStatement, SortComparator } from './expression-parser'
|
|
7
|
+
import type { ParsedExpr, ParsedStatement, SortComparator } from './expression-parser.ts'
|
|
8
8
|
|
|
9
9
|
// =============================================================================
|
|
10
10
|
// Source Location (for Error Reporting)
|