@alloy-js/core 0.24.0-dev.2 → 0.24.0-dev.7
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/CHANGELOG.md +8 -0
- package/dist/dev/src/components/AccessExpression.test.js +30 -38
- package/dist/dev/src/components/AccessExpression.test.js.map +1 -1
- package/dist/dev/src/components/Output.js +3 -2
- package/dist/dev/src/components/Output.js.map +1 -1
- package/dist/dev/src/components/SourceFile.js.map +1 -1
- package/dist/dev/src/content-slot.test.js +16 -18
- package/dist/dev/src/content-slot.test.js.map +1 -1
- package/dist/dev/src/context.js +30 -3
- package/dist/dev/src/context.js.map +1 -1
- package/dist/dev/src/debug/diagnostics.test.js +1 -1
- package/dist/dev/src/debug/diagnostics.test.js.map +1 -1
- package/dist/dev/src/debug/effects.test.js +1 -1
- package/dist/dev/src/debug/effects.test.js.map +1 -1
- package/dist/dev/src/debug/file-streaming.js +103 -0
- package/dist/dev/src/debug/file-streaming.js.map +1 -0
- package/dist/dev/src/debug/files.test.js +4 -5
- package/dist/dev/src/debug/files.test.js.map +1 -1
- package/dist/dev/src/debug/index.js +4 -6
- package/dist/dev/src/debug/index.js.map +1 -1
- package/dist/dev/src/debug/message-format.test.js +50 -52
- package/dist/dev/src/debug/message-format.test.js.map +1 -1
- package/dist/dev/src/debug/render-tree-orphans.test.js +13 -23
- package/dist/dev/src/debug/render-tree-orphans.test.js.map +1 -1
- package/dist/dev/src/debug/render.js +529 -352
- package/dist/dev/src/debug/render.js.map +1 -1
- package/dist/dev/src/debug/render.test.js +171 -92
- package/dist/dev/src/debug/render.test.js.map +1 -1
- package/dist/dev/src/debug/trace-writer.js +127 -15
- package/dist/dev/src/debug/trace-writer.js.map +1 -1
- package/dist/dev/src/debug/trace.js +0 -36
- package/dist/dev/src/debug/trace.js.map +1 -1
- package/dist/dev/src/devtools/devtools-server.js +55 -32
- package/dist/dev/src/devtools/devtools-server.js.map +1 -1
- package/dist/dev/src/devtools-entry.browser.js.map +1 -1
- package/dist/dev/src/devtools-entry.js.map +1 -1
- package/dist/dev/src/diagnostics.js +19 -1
- package/dist/dev/src/diagnostics.js.map +1 -1
- package/dist/dev/src/index.js +5 -2
- package/dist/dev/src/index.js.map +1 -1
- package/dist/dev/src/jsx-runtime.js +14 -8
- package/dist/dev/src/jsx-runtime.js.map +1 -1
- package/dist/dev/src/output-types.js +2 -0
- package/dist/dev/src/output-types.js.map +1 -0
- package/dist/dev/src/reactivity.js +155 -13
- package/dist/dev/src/reactivity.js.map +1 -1
- package/dist/dev/src/render/get-string-width.js +61 -0
- package/dist/dev/src/render/get-string-width.js.map +1 -0
- package/dist/dev/src/render/index.js +2 -0
- package/dist/dev/src/render/index.js.map +1 -0
- package/dist/dev/src/render/node-context.js +7 -0
- package/dist/dev/src/render/node-context.js.map +1 -0
- package/dist/dev/src/render/node.js +386 -0
- package/dist/dev/src/render/node.js.map +1 -0
- package/dist/dev/src/render/printer-support.js +180 -0
- package/dist/dev/src/render/printer-support.js.map +1 -0
- package/dist/dev/src/render/printer.js +797 -0
- package/dist/dev/src/render/printer.js.map +1 -0
- package/dist/dev/src/render-error.js +79 -0
- package/dist/dev/src/render-error.js.map +1 -0
- package/dist/dev/src/render-output.js +209 -0
- package/dist/dev/src/render-output.js.map +1 -0
- package/dist/dev/src/runtime/create-intrinsic.js +53 -0
- package/dist/dev/src/runtime/create-intrinsic.js.map +1 -0
- package/dist/dev/src/runtime/fragment.js +21 -0
- package/dist/dev/src/runtime/fragment.js.map +1 -0
- package/dist/dev/src/runtime/index.js +13 -0
- package/dist/dev/src/runtime/index.js.map +1 -0
- package/dist/dev/src/runtime/insert.js +453 -0
- package/dist/dev/src/runtime/insert.js.map +1 -0
- package/dist/dev/src/runtime/intrinsic.js +1 -11
- package/dist/dev/src/runtime/intrinsic.js.map +1 -1
- package/dist/dev/src/scheduler.js +38 -14
- package/dist/dev/src/scheduler.js.map +1 -1
- package/dist/dev/src/stc.js +2 -0
- package/dist/dev/src/stc.js.map +1 -1
- package/dist/dev/src/sti.js +1 -1
- package/dist/dev/src/sti.js.map +1 -1
- package/dist/dev/src/symbols/symbol-slot.test.js +5 -5
- package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -1
- package/dist/dev/src/test-render.js +78 -0
- package/dist/dev/src/test-render.js.map +1 -0
- package/dist/dev/src/utils.js +47 -35
- package/dist/dev/src/utils.js.map +1 -1
- package/dist/dev/test/babel-e2e.test.js +218 -0
- package/dist/dev/test/babel-e2e.test.js.map +1 -0
- package/dist/dev/test/children.test.js +9 -11
- package/dist/dev/test/children.test.js.map +1 -1
- package/dist/dev/test/components/append-file.test.js +26 -27
- package/dist/dev/test/components/append-file.test.js.map +1 -1
- package/dist/dev/test/components/block.test.js +9 -11
- package/dist/dev/test/components/block.test.js.map +1 -1
- package/dist/dev/test/components/copy-file.test.js +1 -2
- package/dist/dev/test/components/copy-file.test.js.map +1 -1
- package/dist/dev/test/components/declaration.test.js +2 -2
- package/dist/dev/test/components/declaration.test.js.map +1 -1
- package/dist/dev/test/components/list.test.js +41 -43
- package/dist/dev/test/components/list.test.js.map +1 -1
- package/dist/dev/test/components/prose.test.js +4 -5
- package/dist/dev/test/components/prose.test.js.map +1 -1
- package/dist/dev/test/components/reference-or-content.test.js +32 -33
- package/dist/dev/test/components/reference-or-content.test.js.map +1 -1
- package/dist/dev/test/components/source-file.test.js +8 -7
- package/dist/dev/test/components/source-file.test.js.map +1 -1
- package/dist/dev/test/components/template-file.test.js +16 -17
- package/dist/dev/test/components/template-file.test.js.map +1 -1
- package/dist/dev/test/components/update-file.test.js +11 -12
- package/dist/dev/test/components/update-file.test.js.map +1 -1
- package/dist/dev/test/components/wrap.test.js +6 -8
- package/dist/dev/test/components/wrap.test.js.map +1 -1
- package/dist/dev/test/control-flow/for.test.js +58 -42
- package/dist/dev/test/control-flow/for.test.js.map +1 -1
- package/dist/dev/test/control-flow/match.test.js +15 -17
- package/dist/dev/test/control-flow/match.test.js.map +1 -1
- package/dist/dev/test/control-flow/show.test.js +5 -8
- package/dist/dev/test/control-flow/show.test.js.map +1 -1
- package/dist/dev/test/lazy-isempty.test.js +29 -31
- package/dist/dev/test/lazy-isempty.test.js.map +1 -1
- package/dist/dev/test/name-policy.test.js +2 -3
- package/dist/dev/test/name-policy.test.js.map +1 -1
- package/dist/dev/test/node.test.js +80 -0
- package/dist/dev/test/node.test.js.map +1 -0
- package/dist/dev/test/output-e2e.test.js +194 -0
- package/dist/dev/test/output-e2e.test.js.map +1 -0
- package/dist/dev/test/reactivity/circular-reactives.test.js +9 -9
- package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -1
- package/dist/dev/test/reactivity/cleanup.test.js +5 -6
- package/dist/dev/test/reactivity/cleanup.test.js.map +1 -1
- package/dist/dev/test/reactivity/ref-rendering.test.js +15 -15
- package/dist/dev/test/reactivity/ref-rendering.test.js.map +1 -1
- package/dist/dev/test/reactivity/test.test.js +18 -18
- package/dist/dev/test/reactivity/test.test.js.map +1 -1
- package/dist/dev/test/rendering/basic.test.js +18 -19
- package/dist/dev/test/rendering/basic.test.js.map +1 -1
- package/dist/dev/test/rendering/code.test.js +2 -3
- package/dist/dev/test/rendering/code.test.js.map +1 -1
- package/dist/dev/test/rendering/formatting.test.js +115 -121
- package/dist/dev/test/rendering/formatting.test.js.map +1 -1
- package/dist/dev/test/rendering/indent.test.js +23 -24
- package/dist/dev/test/rendering/indent.test.js.map +1 -1
- package/dist/dev/test/rendering/memoization.test.js +9 -5
- package/dist/dev/test/rendering/memoization.test.js.map +1 -1
- package/dist/dev/test/rendering/print-render-stack.test.js +20 -21
- package/dist/dev/test/rendering/print-render-stack.test.js.map +1 -1
- package/dist/dev/test/rendering/refkeys.test.js +1 -2
- package/dist/dev/test/rendering/refkeys.test.js.map +1 -1
- package/dist/dev/test/rendering/render-output-diagnostics.test.js +102 -0
- package/dist/dev/test/rendering/render-output-diagnostics.test.js.map +1 -0
- package/dist/dev/test/runtime.test.js +385 -0
- package/dist/dev/test/runtime.test.js.map +1 -0
- package/dist/dev/test/stc.test.js +0 -1
- package/dist/dev/test/stc.test.js.map +1 -1
- package/dist/dev/test/tree-test-utils.js +16 -0
- package/dist/dev/test/tree-test-utils.js.map +1 -0
- package/dist/dev/test/utils.test.js +34 -33
- package/dist/dev/test/utils.test.js.map +1 -1
- package/dist/dev/test/vitest.setup.js +2 -0
- package/dist/dev/test/vitest.setup.js.map +1 -0
- package/dist/dev/testing/devtools-utils.js +1 -1
- package/dist/dev/testing/devtools-utils.js.map +1 -1
- package/dist/dev/testing/extend-expect.js +30 -34
- package/dist/dev/testing/extend-expect.js.map +1 -1
- package/dist/dev/testing/render.js +7 -17
- package/dist/dev/testing/render.js.map +1 -1
- package/dist/devtools/index.html +17 -17
- package/dist/src/components/AccessExpression.test.d.ts +1 -1
- package/dist/src/components/AccessExpression.test.d.ts.map +1 -1
- package/dist/src/components/AccessExpression.test.js +5 -13
- package/dist/src/components/AccessExpression.test.js.map +1 -1
- package/dist/src/components/Output.d.ts +1 -1
- package/dist/src/components/Output.d.ts.map +1 -1
- package/dist/src/components/Output.js +2 -1
- package/dist/src/components/Output.js.map +1 -1
- package/dist/src/components/ReferenceOrContent.d.ts +1 -1
- package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
- package/dist/src/components/SourceFile.d.ts +1 -1
- package/dist/src/components/SourceFile.d.ts.map +1 -1
- package/dist/src/components/SourceFile.js.map +1 -1
- package/dist/src/content-slot.test.d.ts +1 -1
- package/dist/src/content-slot.test.d.ts.map +1 -1
- package/dist/src/content-slot.test.js +8 -10
- package/dist/src/content-slot.test.js.map +1 -1
- package/dist/src/context/format-options.d.ts +1 -1
- package/dist/src/context/format-options.d.ts.map +1 -1
- package/dist/src/context.d.ts +9 -1
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +30 -3
- package/dist/src/context.js.map +1 -1
- package/dist/src/debug/diagnostics.test.js +1 -1
- package/dist/src/debug/diagnostics.test.js.map +1 -1
- package/dist/src/debug/effects.test.js +1 -1
- package/dist/src/debug/effects.test.js.map +1 -1
- package/dist/src/debug/file-streaming.d.ts +22 -0
- package/dist/src/debug/file-streaming.d.ts.map +1 -0
- package/dist/src/debug/file-streaming.js +103 -0
- package/dist/src/debug/file-streaming.js.map +1 -0
- package/dist/src/debug/files.test.js +4 -5
- package/dist/src/debug/files.test.js.map +1 -1
- package/dist/src/debug/index.d.ts +5 -7
- package/dist/src/debug/index.d.ts.map +1 -1
- package/dist/src/debug/index.js +4 -6
- package/dist/src/debug/index.js.map +1 -1
- package/dist/src/debug/message-format.test.js +16 -18
- package/dist/src/debug/message-format.test.js.map +1 -1
- package/dist/src/debug/render-tree-orphans.test.js +8 -18
- package/dist/src/debug/render-tree-orphans.test.js.map +1 -1
- package/dist/src/debug/render.d.ts +71 -21
- package/dist/src/debug/render.d.ts.map +1 -1
- package/dist/src/debug/render.js +529 -352
- package/dist/src/debug/render.js.map +1 -1
- package/dist/src/debug/render.test.js +137 -74
- package/dist/src/debug/render.test.js.map +1 -1
- package/dist/src/debug/trace-writer.d.ts +6 -1
- package/dist/src/debug/trace-writer.d.ts.map +1 -1
- package/dist/src/debug/trace-writer.js +127 -15
- package/dist/src/debug/trace-writer.js.map +1 -1
- package/dist/src/debug/trace.d.ts +0 -36
- package/dist/src/debug/trace.d.ts.map +1 -1
- package/dist/src/debug/trace.js +0 -36
- package/dist/src/debug/trace.js.map +1 -1
- package/dist/src/devtools/devtools-protocol.d.ts +34 -1
- package/dist/src/devtools/devtools-protocol.d.ts.map +1 -1
- package/dist/src/devtools/devtools-server.d.ts.map +1 -1
- package/dist/src/devtools/devtools-server.js +55 -32
- package/dist/src/devtools/devtools-server.js.map +1 -1
- package/dist/src/devtools-entry.browser.d.ts +1 -1
- package/dist/src/devtools-entry.browser.d.ts.map +1 -1
- package/dist/src/devtools-entry.browser.js.map +1 -1
- package/dist/src/devtools-entry.d.ts +1 -1
- package/dist/src/devtools-entry.d.ts.map +1 -1
- package/dist/src/devtools-entry.js.map +1 -1
- package/dist/src/diagnostics.d.ts +4 -0
- package/dist/src/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics.js +19 -1
- package/dist/src/diagnostics.js.map +1 -1
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/jsx-runtime.d.ts +13 -4
- package/dist/src/jsx-runtime.d.ts.map +1 -1
- package/dist/src/jsx-runtime.js +14 -8
- package/dist/src/jsx-runtime.js.map +1 -1
- package/dist/src/output-types.d.ts +40 -0
- package/dist/src/output-types.d.ts.map +1 -0
- package/dist/src/output-types.js +2 -0
- package/dist/src/output-types.js.map +1 -0
- package/dist/src/reactivity.d.ts +49 -18
- package/dist/src/reactivity.d.ts.map +1 -1
- package/dist/src/reactivity.js +155 -13
- package/dist/src/reactivity.js.map +1 -1
- package/dist/src/render/get-string-width.d.ts +19 -0
- package/dist/src/render/get-string-width.d.ts.map +1 -0
- package/dist/src/render/get-string-width.js +61 -0
- package/dist/src/render/get-string-width.js.map +1 -0
- package/dist/src/render/index.d.ts +2 -0
- package/dist/src/render/index.d.ts.map +1 -0
- package/dist/src/render/index.js +2 -0
- package/dist/src/render/index.js.map +1 -0
- package/dist/src/render/node-context.d.ts +5 -0
- package/dist/src/render/node-context.d.ts.map +1 -0
- package/dist/src/render/node-context.js +7 -0
- package/dist/src/render/node-context.js.map +1 -0
- package/dist/src/render/node.d.ts +146 -0
- package/dist/src/render/node.d.ts.map +1 -0
- package/dist/src/render/node.js +386 -0
- package/dist/src/render/node.js.map +1 -0
- package/dist/src/render/printer-support.d.ts +50 -0
- package/dist/src/render/printer-support.d.ts.map +1 -0
- package/dist/src/render/printer-support.js +180 -0
- package/dist/src/render/printer-support.js.map +1 -0
- package/dist/src/render/printer.d.ts +35 -0
- package/dist/src/render/printer.d.ts.map +1 -0
- package/dist/src/render/printer.js +797 -0
- package/dist/src/render/printer.js.map +1 -0
- package/dist/src/render-error.d.ts +4 -0
- package/dist/src/render-error.d.ts.map +1 -0
- package/dist/src/render-error.js +79 -0
- package/dist/src/render-error.js.map +1 -0
- package/dist/src/render-output.d.ts +42 -0
- package/dist/src/render-output.d.ts.map +1 -0
- package/dist/src/render-output.js +209 -0
- package/dist/src/render-output.js.map +1 -0
- package/dist/src/runtime/component.d.ts +2 -2
- package/dist/src/runtime/component.d.ts.map +1 -1
- package/dist/src/runtime/create-intrinsic.d.ts +28 -0
- package/dist/src/runtime/create-intrinsic.d.ts.map +1 -0
- package/dist/src/runtime/create-intrinsic.js +53 -0
- package/dist/src/runtime/create-intrinsic.js.map +1 -0
- package/dist/src/runtime/fragment.d.ts +16 -0
- package/dist/src/runtime/fragment.d.ts.map +1 -0
- package/dist/src/runtime/fragment.js +21 -0
- package/dist/src/runtime/fragment.js.map +1 -0
- package/dist/src/runtime/index.d.ts +12 -0
- package/dist/src/runtime/index.d.ts.map +1 -0
- package/dist/src/runtime/index.js +13 -0
- package/dist/src/runtime/index.js.map +1 -0
- package/dist/src/runtime/insert.d.ts +29 -0
- package/dist/src/runtime/insert.d.ts.map +1 -0
- package/dist/src/runtime/insert.js +453 -0
- package/dist/src/runtime/insert.js.map +1 -0
- package/dist/src/runtime/intrinsic.d.ts +12 -29
- package/dist/src/runtime/intrinsic.d.ts.map +1 -1
- package/dist/src/runtime/intrinsic.js +1 -11
- package/dist/src/runtime/intrinsic.js.map +1 -1
- package/dist/src/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler.js +38 -14
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/stc.d.ts.map +1 -1
- package/dist/src/stc.js +2 -0
- package/dist/src/stc.js.map +1 -1
- package/dist/src/sti.d.ts +7 -6
- package/dist/src/sti.d.ts.map +1 -1
- package/dist/src/sti.js +1 -1
- package/dist/src/sti.js.map +1 -1
- package/dist/src/symbols/symbol-slot.test.js +5 -5
- package/dist/src/symbols/symbol-slot.test.js.map +1 -1
- package/dist/src/test-render.d.ts +31 -0
- package/dist/src/test-render.d.ts.map +1 -0
- package/dist/src/test-render.js +78 -0
- package/dist/src/test-render.js.map +1 -0
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +40 -28
- package/dist/src/utils.js.map +1 -1
- package/dist/src/write-output.d.ts +1 -1
- package/dist/src/write-output.d.ts.map +1 -1
- package/dist/test/babel-e2e.test.d.ts +13 -0
- package/dist/test/babel-e2e.test.d.ts.map +1 -0
- package/dist/test/babel-e2e.test.js +218 -0
- package/dist/test/babel-e2e.test.js.map +1 -0
- package/dist/test/children.test.js +5 -7
- package/dist/test/children.test.js.map +1 -1
- package/dist/test/components/append-file.test.d.ts +1 -1
- package/dist/test/components/append-file.test.d.ts.map +1 -1
- package/dist/test/components/append-file.test.js +0 -1
- package/dist/test/components/append-file.test.js.map +1 -1
- package/dist/test/components/block.test.d.ts +1 -1
- package/dist/test/components/block.test.d.ts.map +1 -1
- package/dist/test/components/block.test.js +4 -6
- package/dist/test/components/block.test.js.map +1 -1
- package/dist/test/components/copy-file.test.d.ts +1 -1
- package/dist/test/components/copy-file.test.d.ts.map +1 -1
- package/dist/test/components/copy-file.test.js +1 -2
- package/dist/test/components/copy-file.test.js.map +1 -1
- package/dist/test/components/declaration.test.js +2 -2
- package/dist/test/components/declaration.test.js.map +1 -1
- package/dist/test/components/list.test.d.ts +1 -1
- package/dist/test/components/list.test.d.ts.map +1 -1
- package/dist/test/components/list.test.js +20 -22
- package/dist/test/components/list.test.js.map +1 -1
- package/dist/test/components/prose.test.d.ts +1 -1
- package/dist/test/components/prose.test.d.ts.map +1 -1
- package/dist/test/components/prose.test.js +0 -1
- package/dist/test/components/prose.test.js.map +1 -1
- package/dist/test/components/reference-or-content.test.js +8 -9
- package/dist/test/components/reference-or-content.test.js.map +1 -1
- package/dist/test/components/source-file.test.d.ts +1 -1
- package/dist/test/components/source-file.test.d.ts.map +1 -1
- package/dist/test/components/source-file.test.js +5 -4
- package/dist/test/components/source-file.test.js.map +1 -1
- package/dist/test/components/template-file.test.d.ts +1 -1
- package/dist/test/components/template-file.test.d.ts.map +1 -1
- package/dist/test/components/template-file.test.js +0 -1
- package/dist/test/components/template-file.test.js.map +1 -1
- package/dist/test/components/update-file.test.d.ts +1 -1
- package/dist/test/components/update-file.test.d.ts.map +1 -1
- package/dist/test/components/update-file.test.js +1 -2
- package/dist/test/components/update-file.test.js.map +1 -1
- package/dist/test/components/wrap.test.d.ts +1 -1
- package/dist/test/components/wrap.test.d.ts.map +1 -1
- package/dist/test/components/wrap.test.js +3 -5
- package/dist/test/components/wrap.test.js.map +1 -1
- package/dist/test/control-flow/for.test.d.ts +1 -1
- package/dist/test/control-flow/for.test.d.ts.map +1 -1
- package/dist/test/control-flow/for.test.js +40 -24
- package/dist/test/control-flow/for.test.js.map +1 -1
- package/dist/test/control-flow/match.test.d.ts +1 -1
- package/dist/test/control-flow/match.test.d.ts.map +1 -1
- package/dist/test/control-flow/match.test.js +4 -6
- package/dist/test/control-flow/match.test.js.map +1 -1
- package/dist/test/control-flow/show.test.d.ts +1 -1
- package/dist/test/control-flow/show.test.d.ts.map +1 -1
- package/dist/test/control-flow/show.test.js +3 -6
- package/dist/test/control-flow/show.test.js.map +1 -1
- package/dist/test/lazy-isempty.test.d.ts +1 -1
- package/dist/test/lazy-isempty.test.d.ts.map +1 -1
- package/dist/test/lazy-isempty.test.js +16 -18
- package/dist/test/lazy-isempty.test.js.map +1 -1
- package/dist/test/name-policy.test.d.ts +1 -1
- package/dist/test/name-policy.test.d.ts.map +1 -1
- package/dist/test/name-policy.test.js +0 -1
- package/dist/test/name-policy.test.js.map +1 -1
- package/dist/test/node.test.d.ts +2 -0
- package/dist/test/node.test.d.ts.map +1 -0
- package/dist/test/node.test.js +80 -0
- package/dist/test/node.test.js.map +1 -0
- package/dist/test/output-e2e.test.d.ts +13 -0
- package/dist/test/output-e2e.test.d.ts.map +1 -0
- package/dist/test/output-e2e.test.js +194 -0
- package/dist/test/output-e2e.test.js.map +1 -0
- package/dist/test/reactivity/circular-reactives.test.js +6 -6
- package/dist/test/reactivity/circular-reactives.test.js.map +1 -1
- package/dist/test/reactivity/cleanup.test.js +2 -3
- package/dist/test/reactivity/cleanup.test.js.map +1 -1
- package/dist/test/reactivity/ref-rendering.test.js +15 -15
- package/dist/test/reactivity/ref-rendering.test.js.map +1 -1
- package/dist/test/reactivity/test.test.js +15 -15
- package/dist/test/reactivity/test.test.js.map +1 -1
- package/dist/test/rendering/basic.test.d.ts +1 -1
- package/dist/test/rendering/basic.test.d.ts.map +1 -1
- package/dist/test/rendering/basic.test.js +0 -1
- package/dist/test/rendering/basic.test.js.map +1 -1
- package/dist/test/rendering/code.test.d.ts +1 -1
- package/dist/test/rendering/code.test.d.ts.map +1 -1
- package/dist/test/rendering/code.test.js +0 -1
- package/dist/test/rendering/code.test.js.map +1 -1
- package/dist/test/rendering/formatting.test.d.ts +1 -1
- package/dist/test/rendering/formatting.test.d.ts.map +1 -1
- package/dist/test/rendering/formatting.test.js +17 -23
- package/dist/test/rendering/formatting.test.js.map +1 -1
- package/dist/test/rendering/indent.test.d.ts +1 -1
- package/dist/test/rendering/indent.test.d.ts.map +1 -1
- package/dist/test/rendering/indent.test.js +0 -1
- package/dist/test/rendering/indent.test.js.map +1 -1
- package/dist/test/rendering/memoization.test.js +7 -3
- package/dist/test/rendering/memoization.test.js.map +1 -1
- package/dist/test/rendering/print-render-stack.test.d.ts +1 -1
- package/dist/test/rendering/print-render-stack.test.d.ts.map +1 -1
- package/dist/test/rendering/print-render-stack.test.js +0 -1
- package/dist/test/rendering/print-render-stack.test.js.map +1 -1
- package/dist/test/rendering/refkeys.test.d.ts +1 -1
- package/dist/test/rendering/refkeys.test.d.ts.map +1 -1
- package/dist/test/rendering/refkeys.test.js +0 -1
- package/dist/test/rendering/refkeys.test.js.map +1 -1
- package/dist/test/rendering/render-output-diagnostics.test.d.ts +2 -0
- package/dist/test/rendering/render-output-diagnostics.test.d.ts.map +1 -0
- package/dist/test/rendering/render-output-diagnostics.test.js +82 -0
- package/dist/test/rendering/render-output-diagnostics.test.js.map +1 -0
- package/dist/test/runtime.test.d.ts +11 -0
- package/dist/test/runtime.test.d.ts.map +1 -0
- package/dist/test/runtime.test.js +385 -0
- package/dist/test/runtime.test.js.map +1 -0
- package/dist/test/stc.test.d.ts +1 -1
- package/dist/test/stc.test.d.ts.map +1 -1
- package/dist/test/stc.test.js +0 -1
- package/dist/test/stc.test.js.map +1 -1
- package/dist/test/tree-test-utils.d.ts +3 -0
- package/dist/test/tree-test-utils.d.ts.map +1 -0
- package/dist/test/tree-test-utils.js +16 -0
- package/dist/test/tree-test-utils.js.map +1 -0
- package/dist/test/utils.test.d.ts +1 -1
- package/dist/test/utils.test.d.ts.map +1 -1
- package/dist/test/utils.test.js +12 -11
- package/dist/test/utils.test.js.map +1 -1
- package/dist/test/vitest.setup.d.ts +2 -0
- package/dist/test/vitest.setup.d.ts.map +1 -0
- package/dist/test/vitest.setup.js +2 -0
- package/dist/test/vitest.setup.js.map +1 -0
- package/dist/testing/devtools-utils.d.ts.map +1 -1
- package/dist/testing/devtools-utils.js +1 -1
- package/dist/testing/devtools-utils.js.map +1 -1
- package/dist/testing/extend-expect.d.ts.map +1 -1
- package/dist/testing/extend-expect.js +30 -34
- package/dist/testing/extend-expect.js.map +1 -1
- package/dist/testing/render.d.ts +7 -9
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/testing/render.js +7 -17
- package/dist/testing/render.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/api/components/Output.md +0 -3
- package/docs/api/components/SourceFile.md +0 -3
- package/docs/api/functions/createComment.md +18 -0
- package/docs/api/functions/createElement.md +19 -0
- package/docs/api/functions/createFragment.md +17 -0
- package/docs/api/functions/createTextNode.md +18 -0
- package/docs/api/functions/emitDiagnosticForTree.md +19 -0
- package/docs/api/functions/ensureIsEmpty.md +1 -1
- package/docs/api/functions/getContextForNode.md +18 -0
- package/docs/api/functions/getContextForRenderNode.md +4 -4
- package/docs/api/functions/getDiagnosticsForTree.md +7 -5
- package/docs/api/functions/getRegisteredDiagnosticsForTree.md +18 -0
- package/docs/api/functions/index.md +17 -12
- package/docs/api/functions/isCustomContext.md +4 -4
- package/docs/api/functions/notifyContentState.md +6 -0
- package/docs/api/functions/printTree.md +6 -16
- package/docs/api/functions/registerDiagnosticsForTree.md +19 -0
- package/docs/api/functions/render.md +1 -2
- package/docs/api/functions/renderAsync.md +1 -2
- package/docs/api/functions/renderTree.md +8 -5
- package/docs/api/functions/reportDiagnosticsForTree.md +18 -0
- package/docs/api/functions/runInContext.md +28 -0
- package/docs/api/functions/sourceFilesForTree.md +6 -16
- package/docs/api/index.md +3 -3
- package/docs/api/testing/functions/index.md +1 -1
- package/docs/api/testing/functions/renderToString.md +1 -1
- package/docs/api/types/AlloyNode.md +22 -0
- package/docs/api/types/Child.md +1 -1
- package/docs/api/types/CommentNode.md +15 -0
- package/docs/api/types/Context.md +13 -15
- package/docs/api/types/ElementNode.md +18 -0
- package/docs/api/types/FragmentNode.md +12 -0
- package/docs/api/types/Insertable.md +7 -0
- package/docs/api/types/NodeType.md +5 -0
- package/docs/api/types/OutputDirectory.md +0 -50
- package/docs/api/types/PrintTreeOptions.md +0 -1
- package/docs/api/types/RenderTreeOptions.md +7 -0
- package/docs/api/types/StiComponentCreator.md +4 -4
- package/docs/api/types/StiSignature.md +1 -1
- package/docs/api/types/TextNode.md +16 -0
- package/docs/api/types/index.md +10 -28
- package/docs/api/variables/COMMENT_NODE.md +5 -0
- package/docs/api/variables/ELEMENT_NODE.md +11 -0
- package/docs/api/variables/FRAGMENT_NODE.md +5 -0
- package/docs/api/variables/TEXT_NODE.md +5 -0
- package/docs/api/variables/index.md +4 -2
- package/docs/formatting.md +1 -1
- package/docs/rendering.md +4 -4
- package/package.json +6 -6
- package/src/components/AccessExpression.test.tsx +5 -13
- package/src/components/Output.tsx +2 -1
- package/src/components/SourceFile.tsx +1 -1
- package/src/content-slot.test.tsx +8 -10
- package/src/context/format-options.ts +1 -1
- package/src/context.ts +37 -4
- package/src/debug/diagnostics.test.tsx +1 -1
- package/src/debug/effects.test.tsx +1 -1
- package/src/debug/file-streaming.ts +115 -0
- package/src/debug/files.test.tsx +15 -11
- package/src/debug/index.ts +11 -11
- package/src/debug/message-format.test.tsx +32 -19
- package/src/debug/render-tree-orphans.test.tsx +10 -19
- package/src/debug/render.test.tsx +206 -78
- package/src/debug/render.ts +642 -495
- package/src/debug/trace-writer.ts +168 -14
- package/src/debug/trace.ts +0 -20
- package/src/devtools/devtools-protocol.ts +43 -0
- package/src/devtools/devtools-server.ts +57 -32
- package/src/devtools-entry.browser.ts +5 -0
- package/src/devtools-entry.ts +5 -0
- package/src/diagnostics.ts +31 -0
- package/src/index.ts +66 -2
- package/src/jsx-runtime.ts +16 -14
- package/src/output-types.ts +47 -0
- package/src/reactivity.ts +186 -40
- package/src/render/get-string-width.ts +201 -0
- package/src/render/index.ts +1 -0
- package/src/render/node-context.ts +14 -0
- package/src/render/node.ts +442 -0
- package/src/render/printer-support.ts +209 -0
- package/src/render/printer.ts +817 -0
- package/src/render-error.ts +98 -0
- package/src/render-output.ts +243 -0
- package/src/runtime/component.ts +2 -2
- package/src/runtime/create-intrinsic.ts +56 -0
- package/src/runtime/fragment.ts +22 -0
- package/src/runtime/index.ts +12 -0
- package/src/runtime/insert.ts +569 -0
- package/src/runtime/intrinsic.ts +14 -70
- package/src/scheduler.ts +40 -25
- package/src/stc.ts +3 -0
- package/src/sti.ts +17 -20
- package/src/symbols/symbol-slot.test.tsx +5 -5
- package/src/test-render.ts +103 -0
- package/src/utils.tsx +55 -37
- package/src/write-output.ts +1 -1
- package/temp/api-testing.json +390 -14
- package/temp/api.json +4320 -4144
- package/test/babel-e2e.test.ts +224 -0
- package/test/children.test.tsx +4 -7
- package/test/components/append-file.test.tsx +0 -1
- package/test/components/block.test.tsx +4 -6
- package/test/components/copy-file.test.tsx +2 -2
- package/test/components/declaration.test.tsx +2 -2
- package/test/components/list.test.tsx +20 -29
- package/test/components/prose.test.tsx +0 -1
- package/test/components/reference-or-content.test.tsx +8 -9
- package/test/components/source-file.test.tsx +4 -4
- package/test/components/template-file.test.tsx +0 -1
- package/test/components/update-file.test.tsx +1 -2
- package/test/components/wrap.test.tsx +3 -5
- package/test/control-flow/for.test.tsx +39 -31
- package/test/control-flow/match.test.tsx +4 -6
- package/test/control-flow/show.test.tsx +3 -6
- package/test/lazy-isempty.test.tsx +17 -19
- package/test/name-policy.test.tsx +0 -1
- package/test/node.test.ts +90 -0
- package/test/output-e2e.test.ts +198 -0
- package/test/reactivity/circular-reactives.test.tsx +6 -6
- package/test/reactivity/cleanup.test.tsx +2 -3
- package/test/reactivity/ref-rendering.test.tsx +15 -15
- package/test/reactivity/test.test.tsx +14 -14
- package/test/rendering/basic.test.tsx +0 -1
- package/test/rendering/code.test.tsx +0 -1
- package/test/rendering/formatting.test.tsx +21 -29
- package/test/rendering/indent.test.tsx +0 -1
- package/test/rendering/memoization.test.tsx +7 -3
- package/test/rendering/print-render-stack.test.tsx +0 -1
- package/test/rendering/refkeys.test.tsx +0 -1
- package/test/rendering/render-output-diagnostics.test.tsx +120 -0
- package/test/runtime.test.ts +448 -0
- package/test/stc.test.tsx +0 -1
- package/test/tree-test-utils.ts +23 -0
- package/test/utils.test.tsx +10 -9
- package/test/vitest.setup.ts +1 -0
- package/testing/devtools-utils.ts +2 -0
- package/testing/extend-expect.ts +32 -47
- package/testing/render.ts +17 -21
- package/vitest.config.ts +3 -0
- package/dist/dev/src/print-hook.js +0 -10
- package/dist/dev/src/print-hook.js.map +0 -1
- package/dist/dev/src/render.js +0 -872
- package/dist/dev/src/render.js.map +0 -1
- package/dist/src/print-hook.d.ts +0 -14
- package/dist/src/print-hook.d.ts.map +0 -1
- package/dist/src/print-hook.js +0 -10
- package/dist/src/print-hook.js.map +0 -1
- package/dist/src/render.d.ts +0 -155
- package/dist/src/render.d.ts.map +0 -1
- package/dist/src/render.js +0 -872
- package/dist/src/render.js.map +0 -1
- package/docs/api/functions/createIntrinsic.md +0 -19
- package/docs/api/functions/createRenderTreeHook.md +0 -19
- package/docs/api/functions/getElementCache.md +0 -17
- package/docs/api/functions/isIntrinsicElement.md +0 -18
- package/docs/api/functions/isPrintHook.md +0 -18
- package/docs/api/types/AlignIntrinsicElement.md +0 -5
- package/docs/api/types/BrIntrinsicElement.md +0 -5
- package/docs/api/types/BreakParentIntrinsicElement.md +0 -5
- package/docs/api/types/DedentIntrinsicElement.md +0 -5
- package/docs/api/types/DedentToRootIntrinsicElement.md +0 -5
- package/docs/api/types/ElementCache.md +0 -5
- package/docs/api/types/ElementCacheKey.md +0 -5
- package/docs/api/types/FillIntrinsicElement.md +0 -5
- package/docs/api/types/GroupIntrinsicElement.md +0 -5
- package/docs/api/types/HardlineIntrinsicElement.md +0 -5
- package/docs/api/types/HbrIntrinsicElement.md +0 -5
- package/docs/api/types/IfBreakIntrinsicElement.md +0 -5
- package/docs/api/types/IndentIfBreakIntrinsicElement.md +0 -5
- package/docs/api/types/IndentIntrinsicElement.md +0 -5
- package/docs/api/types/IntrinsicElement.md +0 -5
- package/docs/api/types/IntrinsicElementBase.md +0 -9
- package/docs/api/types/LbrIntrinsicElement.md +0 -5
- package/docs/api/types/LineIntrinsicElement.md +0 -5
- package/docs/api/types/LineSuffixBoundaryIntrinsicElement.md +0 -5
- package/docs/api/types/LineSuffixIntrinsicElement.md +0 -5
- package/docs/api/types/LiterallineIntrinsicElement.md +0 -5
- package/docs/api/types/MarkAsRootIntrinsicElement.md +0 -5
- package/docs/api/types/PrintHook.md +0 -10
- package/docs/api/types/RenderedTextTree.md +0 -5
- package/docs/api/types/SbrIntrinsicElement.md +0 -5
- package/docs/api/types/SoftlineIntrinsicElement.md +0 -5
- package/docs/api/variables/intrinsicElementKey.md +0 -5
- package/docs/api/variables/printHookTag.md +0 -7
- package/src/print-hook.ts +0 -22
- package/src/render.ts +0 -1154
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Throttled file-content streaming for devtools.
|
|
3
|
+
*
|
|
4
|
+
* As the render tree mutates, the debug system finds the enclosing
|
|
5
|
+
* `alloy:source-file` wrapper for the changed node and marks it dirty.
|
|
6
|
+
* When a devtools client is connected, dirty files are re-printed at
|
|
7
|
+
* most once per second so users can watch file content build up during
|
|
8
|
+
* rendering. When devtools is not connected, dirty files are flushed
|
|
9
|
+
* once at the end of render via {@link flushAllDirtyFiles}.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { isDevtoolsConnected } from "../devtools/devtools-server.js";
|
|
13
|
+
import { getContextForNode } from "../render/node-context.js";
|
|
14
|
+
import { ElementNode } from "../render/node.js";
|
|
15
|
+
import { printNodeToString } from "../render/printer.js";
|
|
16
|
+
import { updated as filesUpdated } from "./files.js";
|
|
17
|
+
import { isDebugEnabled } from "./trace.js";
|
|
18
|
+
const DEVTOOLS_FLUSH_INTERVAL_MS = 1000;
|
|
19
|
+
const dirtyFiles = new Set();
|
|
20
|
+
const lastFlushTimeByFile = new Map();
|
|
21
|
+
|
|
22
|
+
/** Find the nearest alloy:source-file ancestor (inclusive). */
|
|
23
|
+
function findSourceFileWrapper(node) {
|
|
24
|
+
let cur = node;
|
|
25
|
+
while (cur !== null) {
|
|
26
|
+
if (cur instanceof ElementNode && cur.localName === "alloy:source-file") {
|
|
27
|
+
return cur;
|
|
28
|
+
}
|
|
29
|
+
cur = cur.parentNode;
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
function getSourceFileMeta(wrapper) {
|
|
34
|
+
const ctx = getContextForNode(wrapper);
|
|
35
|
+
const meta = ctx?.meta;
|
|
36
|
+
if (meta?.sourceFileReady === false) return undefined;
|
|
37
|
+
return meta?.sourceFile;
|
|
38
|
+
}
|
|
39
|
+
function getPrintOptions(wrapper) {
|
|
40
|
+
const ctx = getContextForNode(wrapper);
|
|
41
|
+
const meta = ctx?.meta;
|
|
42
|
+
return meta?.printOptions;
|
|
43
|
+
}
|
|
44
|
+
function flushFile(wrapper) {
|
|
45
|
+
const sf = getSourceFileMeta(wrapper);
|
|
46
|
+
if (!sf) return;
|
|
47
|
+
const printOpts = getPrintOptions(wrapper);
|
|
48
|
+
let contents;
|
|
49
|
+
try {
|
|
50
|
+
contents = printNodeToString(wrapper, {
|
|
51
|
+
printWidth: printOpts?.printWidth ?? 80,
|
|
52
|
+
tabWidth: printOpts?.tabWidth ?? 2,
|
|
53
|
+
useTabs: printOpts?.useTabs ?? false
|
|
54
|
+
}).formatted;
|
|
55
|
+
} catch {
|
|
56
|
+
// Mid-render the tree may be in an inconsistent state — skip this
|
|
57
|
+
// flush attempt and pick it up on the next mutation.
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (printOpts?.insertFinalNewLine !== false && !contents.endsWith("\n")) {
|
|
61
|
+
contents += "\n";
|
|
62
|
+
}
|
|
63
|
+
filesUpdated({
|
|
64
|
+
path: sf.path,
|
|
65
|
+
filetype: sf.filetype,
|
|
66
|
+
contents
|
|
67
|
+
});
|
|
68
|
+
lastFlushTimeByFile.set(sf.path, Date.now());
|
|
69
|
+
dirtyFiles.delete(wrapper);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Mark the source file containing `node` as dirty. When devtools is
|
|
74
|
+
* connected and at least 1s has elapsed since this file was last flushed,
|
|
75
|
+
* print and broadcast its content immediately.
|
|
76
|
+
*/
|
|
77
|
+
export function markFileDirtyForNode(node) {
|
|
78
|
+
if (!isDebugEnabled()) return;
|
|
79
|
+
const wrapper = findSourceFileWrapper(node);
|
|
80
|
+
if (!wrapper) return;
|
|
81
|
+
dirtyFiles.add(wrapper);
|
|
82
|
+
if (!isDevtoolsConnected()) return;
|
|
83
|
+
const sf = getSourceFileMeta(wrapper);
|
|
84
|
+
if (!sf) return;
|
|
85
|
+
const last = lastFlushTimeByFile.get(sf.path) ?? 0;
|
|
86
|
+
if (Date.now() - last < DEVTOOLS_FLUSH_INTERVAL_MS) return;
|
|
87
|
+
flushFile(wrapper);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** Flush every dirty file. Called at end of render. */
|
|
91
|
+
export function flushAllDirtyFiles() {
|
|
92
|
+
if (dirtyFiles.size === 0) return;
|
|
93
|
+
for (const wrapper of [...dirtyFiles]) {
|
|
94
|
+
flushFile(wrapper);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Reset all streaming state. Called when a new render begins. */
|
|
99
|
+
export function reset() {
|
|
100
|
+
dirtyFiles.clear();
|
|
101
|
+
lastFlushTimeByFile.clear();
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=file-streaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isDevtoolsConnected","getContextForNode","ElementNode","printNodeToString","updated","filesUpdated","isDebugEnabled","DEVTOOLS_FLUSH_INTERVAL_MS","dirtyFiles","Set","lastFlushTimeByFile","Map","findSourceFileWrapper","node","cur","localName","parentNode","undefined","getSourceFileMeta","wrapper","ctx","meta","sourceFileReady","sourceFile","getPrintOptions","printOptions","flushFile","sf","printOpts","contents","printWidth","tabWidth","useTabs","formatted","insertFinalNewLine","endsWith","path","filetype","set","Date","now","delete","markFileDirtyForNode","add","last","get","flushAllDirtyFiles","size","reset","clear"],"sources":["../../../../src/debug/file-streaming.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { Output } from "../components/Output.js";
|
|
|
6
6
|
import { SourceDirectory } from "../components/SourceDirectory.js";
|
|
7
7
|
import { SourceFile } from "../components/SourceFile.js";
|
|
8
8
|
import { enableDevtools, resetDevtoolsServerForTests } from "../devtools/devtools-server.js";
|
|
9
|
-
import { renderAsync } from "../render.js";
|
|
9
|
+
import { renderAsync } from "../render-output.js";
|
|
10
10
|
let socket;
|
|
11
11
|
beforeEach(async () => {
|
|
12
12
|
const server = await enableDevtools({
|
|
@@ -63,16 +63,15 @@ it("emits file and directory add/update/remove messages", async () => {
|
|
|
63
63
|
type: "directory:added",
|
|
64
64
|
path: "src"
|
|
65
65
|
});
|
|
66
|
-
expect(initialFiles
|
|
66
|
+
expect(initialFiles).toEqual(expect.arrayContaining([expect.objectContaining({
|
|
67
67
|
type: "file:added",
|
|
68
68
|
path: "src/index.ts",
|
|
69
69
|
filetype: "ts"
|
|
70
|
-
})
|
|
71
|
-
expect(initialFiles[3]).toMatchObject({
|
|
70
|
+
}), expect.objectContaining({
|
|
72
71
|
type: "file:updated",
|
|
73
72
|
path: "src/index.ts",
|
|
74
73
|
content: expect.any(String)
|
|
75
|
-
});
|
|
74
|
+
})]));
|
|
76
75
|
collector.stop();
|
|
77
76
|
});
|
|
78
77
|
//# sourceMappingURL=files.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["afterEach","beforeEach","expect","it","WebSocket","createMessageCollector","Output","SourceDirectory","SourceFile","enableDevtools","resetDevtoolsServerForTests","renderAsync","socket","server","port","Promise","resolve","reject","once","close","undefined","collector","_$createComponent","children","path","filetype","fileName","import","meta","url","lineNumber","columnNumber","initialMessages","waitForRender","initialFiles","filter","m","type","startsWith","toMatchObject","content","any","String","stop"],"sources":["../../../../src/debug/files.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC1D,OAAOC,SAAS,MAAM,IAAI;AAC1B,SACEC,sBAAsB,QAEjB,iCAAiC;AACxC,SAASC,MAAM;AACf,SAASC,eAAe;AACxB,SAASC,UAAU;AACnB,SACEC,cAAc,EACdC,2BAA2B,QACtB,gCAAgC;AACvC,SAASC,WAAW,QAAQ,
|
|
1
|
+
{"version":3,"names":["afterEach","beforeEach","expect","it","WebSocket","createMessageCollector","Output","SourceDirectory","SourceFile","enableDevtools","resetDevtoolsServerForTests","renderAsync","socket","server","port","Promise","resolve","reject","once","close","undefined","collector","_$createComponent","children","path","filetype","fileName","import","meta","url","lineNumber","columnNumber","initialMessages","waitForRender","initialFiles","filter","m","type","startsWith","toMatchObject","toEqual","arrayContaining","objectContaining","content","any","String","stop"],"sources":["../../../../src/debug/files.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { assertDevtoolsConnectedForSyncRender, initDevtoolsIfEnabled, isDevtools
|
|
|
2
2
|
import { debugContext, debugRender, debugStack, debugTree, debugWatch } from "./cli.js";
|
|
3
3
|
import { ensureReactivePropertyRef, ensureRef, register, registerRef, reset, track, trigger, update } from "./effects.js";
|
|
4
4
|
import { recordDirectory, recordFile, reset as resetFiles, updated } from "./files.js";
|
|
5
|
-
import {
|
|
5
|
+
import { beginComponent, complete, error, flushJobsComplete, initialize, isRerenderEnabled, nodeAttached, nodeDetached } from "./render.js";
|
|
6
6
|
import { registerScope, registerSymbol, relocateScope, reset as resetSymbols, unregisterScope, unregisterSymbol } from "./symbols.js";
|
|
7
7
|
import { trace } from "./trace.js";
|
|
8
8
|
export { isDevtoolsConnected } from "../devtools/devtools-server.js";
|
|
@@ -32,12 +32,10 @@ export const debug = {
|
|
|
32
32
|
},
|
|
33
33
|
render: {
|
|
34
34
|
initialize,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
appendPrintHook,
|
|
38
|
-
appendFragmentChild,
|
|
35
|
+
nodeAttached,
|
|
36
|
+
nodeDetached,
|
|
39
37
|
beginComponent,
|
|
40
|
-
|
|
38
|
+
isRerenderEnabled,
|
|
41
39
|
error,
|
|
42
40
|
complete,
|
|
43
41
|
flushJobsComplete
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assertDevtoolsConnectedForSyncRender","initDevtoolsIfEnabled","isDevtoolsEnabled","debugContext","debugRender","debugStack","debugTree","debugWatch","ensureReactivePropertyRef","ensureRef","register","registerRef","reset","track","trigger","update","recordDirectory","recordFile","resetFiles","updated","
|
|
1
|
+
{"version":3,"names":["assertDevtoolsConnectedForSyncRender","initDevtoolsIfEnabled","isDevtoolsEnabled","debugContext","debugRender","debugStack","debugTree","debugWatch","ensureReactivePropertyRef","ensureRef","register","registerRef","reset","track","trigger","update","recordDirectory","recordFile","resetFiles","updated","beginComponent","complete","error","flushJobsComplete","initialize","isRerenderEnabled","nodeAttached","nodeDetached","registerScope","registerSymbol","relocateScope","resetSymbols","unregisterScope","unregisterSymbol","trace","isDevtoolsConnected","captureSourceLocation","getRenderNodeId","isConsoleTraceEnabled","isDebugEnabled","TracePhase","debug","component","stack","tree","watch","render","context","effect","files","symbols","phase","cb","triggerIds","Set","prepare","assertReadyForSyncRender"],"sources":["../../../../src/debug/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,oCAAoC,EACpCC,qBAAqB,EACrBC,iBAAiB,QACZ,gCAAgC;AACvC,SACEC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,UAAU,QACL,UAAU;AACjB,SACEC,yBAAyB,EACzBC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,MAAM,QACD,cAAc;AACrB,SACEC,eAAe,EACfC,UAAU,EACVL,KAAK,IAAIM,UAAU,EACnBC,OAAO,QACF,YAAY;AACnB,SACEC,cAAc,EACdC,QAAQ,EACRC,KAAK,EACLC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,EACjBC,YAAY,EACZC,YAAY,QACP,aAAa;AACpB,SACEC,aAAa,EACbC,cAAc,EACdC,aAAa,EACblB,KAAK,IAAImB,YAAY,EACrBC,eAAe,EACfC,gBAAgB,QACX,cAAc;AACrB,SAASC,KAAK,QAA6B,YAAY;AAEvD,SAASC,mBAAmB,QAAQ,gCAAgC;AACpE,SAASC,qBAAqB,QAAQ,cAAc;AAMpD,SACEC,eAAe,QAGV,aAAa;AAOpB,SACEC,qBAAqB,EACrBC,cAAc,EACdrC,iBAAiB,EACjBgC,KAAK,EACLM,UAAU,QAEL,YAAY;;AAEnB;;AAGA,OAAO,MAAMC,KAAK,GAAG;EACnBC,SAAS,EAAE;IACTC,KAAK,EAAEtC,UAAU;IACjBuC,IAAI,EAAEtC,SAAS;IACfuC,KAAK,EAAEtC,UAAU;IACjBuC,MAAM,EAAE1C,WAAW;IACnB2C,OAAO,EAAE5C;EACX,CAAC;EACD6C,MAAM,EAAE;IACNtC,QAAQ;IACRK,MAAM;IACNJ,WAAW;IACXF,SAAS;IACTD,yBAAyB;IACzBK,KAAK;IACLC,OAAO;IACPF;EACF,CAAC;EACDkC,MAAM,EAAE;IACNtB,UAAU;IACVE,YAAY;IACZC,YAAY;IACZP,cAAc;IACdK,iBAAiB;IACjBH,KAAK;IACLD,QAAQ;IACRE;EACF,CAAC;EACD0B,KAAK,EAAE;IACLjC,eAAe;IACfC,UAAU;IACVE,OAAO;IACPP,KAAK,EAAEM;EACT,CAAC;EACDgC,OAAO,EAAE;IACPtB,aAAa;IACbE,aAAa;IACbE,eAAe;IACfH,cAAc;IACdI,gBAAgB;IAChBrB,KAAK,EAAEmB;EACT,CAAC;EACDG,KAAKA,CAACiB,KAAqB,EAAEC,EAAgB,EAAEC,UAAwB,EAAE;IACvEnB,KAAK,CAACiB,KAAK,EAAEC,EAAE,EAAEC,UAAU,IAAI,IAAIC,GAAG,CAAC,CAAC,CAAC;EAC3C,CAAC;EACD,MAAMC,OAAOA,CAAA,EAAkB;IAC7B,MAAMtD,qBAAqB,CAAC,CAAC;EAC/B,CAAC;EACDuD,wBAAwBA,CAAA,EAAS;IAC/B,IAAItD,iBAAiB,CAAC,CAAC,EAAE;MACvBF,oCAAoC,CAAC,CAAC;IACxC;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ import { Scope } from "../components/Scope.js";
|
|
|
17
17
|
import { SourceFile } from "../components/SourceFile.js";
|
|
18
18
|
import { enableDevtools, resetDevtoolsServerForTests } from "../devtools/devtools-server.js";
|
|
19
19
|
import { effect, ref } from "../reactivity.js";
|
|
20
|
-
import { renderAsync } from "../render.js";
|
|
20
|
+
import { renderAsync } from "../render-output.js";
|
|
21
21
|
import { flushJobsAsync } from "../scheduler.js";
|
|
22
22
|
import { debug } from "./index.js";
|
|
23
23
|
let socket;
|
|
@@ -50,12 +50,12 @@ afterEach(async () => {
|
|
|
50
50
|
describe("subscriptions", () => {
|
|
51
51
|
it("only receives messages for subscribed channels", async () => {
|
|
52
52
|
// Subscribe to render only — should NOT see effects, refs, etc.
|
|
53
|
-
const collector = await createMessageCollector(socket, ["render"]);
|
|
53
|
+
const collector = await createMessageCollector(socket, ["render", "components"]);
|
|
54
54
|
await renderAsync(_$createComponent(Output, {
|
|
55
55
|
children: "hello"
|
|
56
56
|
}, {
|
|
57
57
|
fileName: import.meta.url,
|
|
58
|
-
lineNumber:
|
|
58
|
+
lineNumber: 63,
|
|
59
59
|
columnNumber: 23
|
|
60
60
|
}));
|
|
61
61
|
const messages = await collector.waitForRender();
|
|
@@ -75,7 +75,7 @@ describe("subscriptions", () => {
|
|
|
75
75
|
children: "hello"
|
|
76
76
|
}, {
|
|
77
77
|
fileName: import.meta.url,
|
|
78
|
-
lineNumber:
|
|
78
|
+
lineNumber: 83,
|
|
79
79
|
columnNumber: 23
|
|
80
80
|
}));
|
|
81
81
|
const messages = await collector.waitForRender();
|
|
@@ -93,7 +93,7 @@ describe("subscriptions", () => {
|
|
|
93
93
|
const collector = await createMessageCollector(socket, ["diagnostics"]);
|
|
94
94
|
await renderAsync(_$createComponent(Output, {}, {
|
|
95
95
|
fileName: import.meta.url,
|
|
96
|
-
lineNumber:
|
|
96
|
+
lineNumber: 99,
|
|
97
97
|
columnNumber: 23
|
|
98
98
|
}));
|
|
99
99
|
const messages = await collector.waitForRender();
|
|
@@ -108,10 +108,10 @@ describe("subscriptions", () => {
|
|
|
108
108
|
|
|
109
109
|
describe("render:node_added", () => {
|
|
110
110
|
it("root node has null parent_id and kind 'root'", async () => {
|
|
111
|
-
const collector = await createMessageCollector(socket, ["render"]);
|
|
111
|
+
const collector = await createMessageCollector(socket, ["render", "components"]);
|
|
112
112
|
await renderAsync(_$createComponent(Output, {}, {
|
|
113
113
|
fileName: import.meta.url,
|
|
114
|
-
lineNumber:
|
|
114
|
+
lineNumber: 117,
|
|
115
115
|
columnNumber: 23
|
|
116
116
|
}));
|
|
117
117
|
const messages = await collector.waitForRender();
|
|
@@ -125,21 +125,20 @@ describe("render:node_added", () => {
|
|
|
125
125
|
seq: expect.any(Number)
|
|
126
126
|
});
|
|
127
127
|
});
|
|
128
|
-
it("component
|
|
129
|
-
const collector = await createMessageCollector(socket, ["render"]);
|
|
128
|
+
it("component instance has numeric id, parent_id, and name", async () => {
|
|
129
|
+
const collector = await createMessageCollector(socket, ["render", "components"]);
|
|
130
130
|
await renderAsync(_$createComponent(Output, {}, {
|
|
131
131
|
fileName: import.meta.url,
|
|
132
|
-
lineNumber:
|
|
132
|
+
lineNumber: 138,
|
|
133
133
|
columnNumber: 23
|
|
134
134
|
}));
|
|
135
135
|
const messages = await collector.waitForRender();
|
|
136
136
|
collector.stop();
|
|
137
|
-
const output = messages.find(m => m.type === "
|
|
137
|
+
const output = messages.find(m => m.type === "component:added" && m.name === "Output");
|
|
138
138
|
expect(output).toMatchObject({
|
|
139
|
-
type: "
|
|
139
|
+
type: "component:added",
|
|
140
140
|
id: expect.any(Number),
|
|
141
|
-
parent_id:
|
|
142
|
-
kind: "component",
|
|
141
|
+
parent_id: null,
|
|
143
142
|
name: "Output"
|
|
144
143
|
});
|
|
145
144
|
});
|
|
@@ -149,7 +148,7 @@ describe("render:node_added", () => {
|
|
|
149
148
|
children: "hello"
|
|
150
149
|
}, {
|
|
151
150
|
fileName: import.meta.url,
|
|
152
|
-
lineNumber:
|
|
151
|
+
lineNumber: 155,
|
|
153
152
|
columnNumber: 23
|
|
154
153
|
}));
|
|
155
154
|
const messages = await collector.waitForRender();
|
|
@@ -159,25 +158,25 @@ describe("render:node_added", () => {
|
|
|
159
158
|
expect(text.value).toBe("hello");
|
|
160
159
|
expect(text.parent_id).toEqual(expect.any(Number));
|
|
161
160
|
});
|
|
162
|
-
it("non-text node has null value (not undefined)", async () => {
|
|
161
|
+
it("non-text render node has null value (not undefined)", async () => {
|
|
163
162
|
const collector = await createMessageCollector(socket, ["render"]);
|
|
164
163
|
await renderAsync(_$createComponent(Output, {
|
|
165
164
|
children: "hello"
|
|
166
165
|
}, {
|
|
167
166
|
fileName: import.meta.url,
|
|
168
|
-
lineNumber:
|
|
167
|
+
lineNumber: 169,
|
|
169
168
|
columnNumber: 23
|
|
170
169
|
}));
|
|
171
170
|
const messages = await collector.waitForRender();
|
|
172
171
|
collector.stop();
|
|
173
|
-
const
|
|
174
|
-
expect(
|
|
172
|
+
const nonText = messages.find(m => m.type === "render:node_added" && m.kind === "directory");
|
|
173
|
+
expect(nonText.value).toBeNull();
|
|
175
174
|
});
|
|
176
175
|
});
|
|
177
176
|
describe("render:node_removed", () => {
|
|
178
177
|
it("is emitted when a reactive component removes children", async () => {
|
|
179
178
|
const show = ref(true);
|
|
180
|
-
const collector = await createMessageCollector(socket, ["render"]);
|
|
179
|
+
const collector = await createMessageCollector(socket, ["render", "components"]);
|
|
181
180
|
function Conditional() {
|
|
182
181
|
return () => show.value ? "visible" : "";
|
|
183
182
|
}
|
|
@@ -185,13 +184,13 @@ describe("render:node_removed", () => {
|
|
|
185
184
|
get children() {
|
|
186
185
|
return _$createComponent(Conditional, {}, {
|
|
187
186
|
fileName: import.meta.url,
|
|
188
|
-
lineNumber:
|
|
187
|
+
lineNumber: 194,
|
|
189
188
|
columnNumber: 9
|
|
190
189
|
});
|
|
191
190
|
}
|
|
192
191
|
}, {
|
|
193
192
|
fileName: import.meta.url,
|
|
194
|
-
lineNumber:
|
|
193
|
+
lineNumber: 193,
|
|
195
194
|
columnNumber: 7
|
|
196
195
|
}));
|
|
197
196
|
const renderMessages = await collector.waitForRender();
|
|
@@ -224,13 +223,13 @@ describe("render:node_updated", () => {
|
|
|
224
223
|
children: item => [item]
|
|
225
224
|
}, {
|
|
226
225
|
fileName: import.meta.url,
|
|
227
|
-
lineNumber:
|
|
226
|
+
lineNumber: 228,
|
|
228
227
|
columnNumber: 9
|
|
229
228
|
});
|
|
230
229
|
}
|
|
231
230
|
}, {
|
|
232
231
|
fileName: import.meta.url,
|
|
233
|
-
lineNumber:
|
|
232
|
+
lineNumber: 227,
|
|
234
233
|
columnNumber: 7
|
|
235
234
|
}));
|
|
236
235
|
await collector.waitForRender();
|
|
@@ -254,7 +253,7 @@ describe("render:reset", () => {
|
|
|
254
253
|
const collector = await createMessageCollector(socket, ["render"]);
|
|
255
254
|
await renderAsync(_$createComponent(Output, {}, {
|
|
256
255
|
fileName: import.meta.url,
|
|
257
|
-
lineNumber:
|
|
256
|
+
lineNumber: 251,
|
|
258
257
|
columnNumber: 23
|
|
259
258
|
}));
|
|
260
259
|
const messages = await collector.waitForRender();
|
|
@@ -270,7 +269,7 @@ describe("render:complete", () => {
|
|
|
270
269
|
const collector = await createMessageCollector(socket, ["render"]);
|
|
271
270
|
await renderAsync(_$createComponent(Output, {}, {
|
|
272
271
|
fileName: import.meta.url,
|
|
273
|
-
lineNumber:
|
|
272
|
+
lineNumber: 268,
|
|
274
273
|
columnNumber: 23
|
|
275
274
|
}));
|
|
276
275
|
const messages = await collector.waitForRender();
|
|
@@ -294,7 +293,7 @@ describe("effect:added", () => {
|
|
|
294
293
|
children: "hello"
|
|
295
294
|
}, {
|
|
296
295
|
fileName: import.meta.url,
|
|
297
|
-
lineNumber:
|
|
296
|
+
lineNumber: 290,
|
|
298
297
|
columnNumber: 23
|
|
299
298
|
}));
|
|
300
299
|
const messages = await collector.waitForRender();
|
|
@@ -317,7 +316,7 @@ describe("effect:updated", () => {
|
|
|
317
316
|
children: "hello"
|
|
318
317
|
}, {
|
|
319
318
|
fileName: import.meta.url,
|
|
320
|
-
lineNumber:
|
|
319
|
+
lineNumber: 310,
|
|
321
320
|
columnNumber: 23
|
|
322
321
|
}));
|
|
323
322
|
const messages = await collector.waitForRender();
|
|
@@ -343,7 +342,7 @@ describe("ref:added", () => {
|
|
|
343
342
|
children: "hello"
|
|
344
343
|
}, {
|
|
345
344
|
fileName: import.meta.url,
|
|
346
|
-
lineNumber:
|
|
345
|
+
lineNumber: 331,
|
|
347
346
|
columnNumber: 23
|
|
348
347
|
}));
|
|
349
348
|
const messages = await collector.waitForRender();
|
|
@@ -372,7 +371,7 @@ describe("edge:track and edge:trigger", () => {
|
|
|
372
371
|
children: "hello"
|
|
373
372
|
}, {
|
|
374
373
|
fileName: import.meta.url,
|
|
375
|
-
lineNumber:
|
|
374
|
+
lineNumber: 356,
|
|
376
375
|
columnNumber: 23
|
|
377
376
|
}));
|
|
378
377
|
const messages = await collector.waitForRender();
|
|
@@ -406,19 +405,19 @@ describe("symbol:added", () => {
|
|
|
406
405
|
children: "foo content"
|
|
407
406
|
}, {
|
|
408
407
|
fileName: import.meta.url,
|
|
409
|
-
lineNumber:
|
|
408
|
+
lineNumber: 385,
|
|
410
409
|
columnNumber: 11
|
|
411
410
|
});
|
|
412
411
|
}
|
|
413
412
|
}, {
|
|
414
413
|
fileName: import.meta.url,
|
|
415
|
-
lineNumber:
|
|
414
|
+
lineNumber: 384,
|
|
416
415
|
columnNumber: 9
|
|
417
416
|
});
|
|
418
417
|
}
|
|
419
418
|
}, {
|
|
420
419
|
fileName: import.meta.url,
|
|
421
|
-
lineNumber:
|
|
420
|
+
lineNumber: 383,
|
|
422
421
|
columnNumber: 7
|
|
423
422
|
}));
|
|
424
423
|
const messages = await collector.waitForRender();
|
|
@@ -458,13 +457,13 @@ describe("scope:added", () => {
|
|
|
458
457
|
children: "content"
|
|
459
458
|
}, {
|
|
460
459
|
fileName: import.meta.url,
|
|
461
|
-
lineNumber:
|
|
460
|
+
lineNumber: 423,
|
|
462
461
|
columnNumber: 9
|
|
463
462
|
});
|
|
464
463
|
}
|
|
465
464
|
}, {
|
|
466
465
|
fileName: import.meta.url,
|
|
467
|
-
lineNumber:
|
|
466
|
+
lineNumber: 422,
|
|
468
467
|
columnNumber: 7
|
|
469
468
|
}));
|
|
470
469
|
const messages = await collector.waitForRender();
|
|
@@ -500,13 +499,13 @@ describe("file:added", () => {
|
|
|
500
499
|
children: "content"
|
|
501
500
|
}, {
|
|
502
501
|
fileName: import.meta.url,
|
|
503
|
-
lineNumber:
|
|
502
|
+
lineNumber: 455,
|
|
504
503
|
columnNumber: 9
|
|
505
504
|
});
|
|
506
505
|
}
|
|
507
506
|
}, {
|
|
508
507
|
fileName: import.meta.url,
|
|
509
|
-
lineNumber:
|
|
508
|
+
lineNumber: 454,
|
|
510
509
|
columnNumber: 7
|
|
511
510
|
}));
|
|
512
511
|
const messages = await collector.waitForRender();
|
|
@@ -535,7 +534,7 @@ describe("directory:added", () => {
|
|
|
535
534
|
children: "hello"
|
|
536
535
|
}, {
|
|
537
536
|
fileName: import.meta.url,
|
|
538
|
-
lineNumber:
|
|
537
|
+
lineNumber: 484,
|
|
539
538
|
columnNumber: 23
|
|
540
539
|
}));
|
|
541
540
|
const messages = await collector.waitForRender();
|
|
@@ -564,7 +563,7 @@ describe("scheduler:job", () => {
|
|
|
564
563
|
children: "hello"
|
|
565
564
|
}, {
|
|
566
565
|
fileName: import.meta.url,
|
|
567
|
-
lineNumber:
|
|
566
|
+
lineNumber: 512,
|
|
568
567
|
columnNumber: 23
|
|
569
568
|
}));
|
|
570
569
|
const messages = await collector.waitForRender();
|
|
@@ -596,7 +595,7 @@ describe("effect:lifecycle", () => {
|
|
|
596
595
|
children: "hello"
|
|
597
596
|
}, {
|
|
598
597
|
fileName: import.meta.url,
|
|
599
|
-
lineNumber:
|
|
598
|
+
lineNumber: 540,
|
|
600
599
|
columnNumber: 23
|
|
601
600
|
}));
|
|
602
601
|
const messages = await collector.waitForRender();
|
|
@@ -636,7 +635,7 @@ describe("diagnostics:report", () => {
|
|
|
636
635
|
// Render to get a completion signal for the collector
|
|
637
636
|
await renderAsync(_$createComponent(Output, {}, {
|
|
638
637
|
fileName: import.meta.url,
|
|
639
|
-
lineNumber:
|
|
638
|
+
lineNumber: 582,
|
|
640
639
|
columnNumber: 23
|
|
641
640
|
}));
|
|
642
641
|
const messages = await collector.waitForRender();
|
|
@@ -672,7 +671,7 @@ describe("render:error", () => {
|
|
|
672
671
|
// Render to get a completion signal
|
|
673
672
|
await renderAsync(_$createComponent(Output, {}, {
|
|
674
673
|
fileName: import.meta.url,
|
|
675
|
-
lineNumber:
|
|
674
|
+
lineNumber: 614,
|
|
676
675
|
columnNumber: 23
|
|
677
676
|
}));
|
|
678
677
|
const messages = await collector.waitForRender();
|
|
@@ -705,13 +704,13 @@ describe("flushJobs:complete", () => {
|
|
|
705
704
|
children: item => [item]
|
|
706
705
|
}, {
|
|
707
706
|
fileName: import.meta.url,
|
|
708
|
-
lineNumber:
|
|
707
|
+
lineNumber: 643,
|
|
709
708
|
columnNumber: 9
|
|
710
709
|
});
|
|
711
710
|
}
|
|
712
711
|
}, {
|
|
713
712
|
fileName: import.meta.url,
|
|
714
|
-
lineNumber:
|
|
713
|
+
lineNumber: 642,
|
|
715
714
|
columnNumber: 7
|
|
716
715
|
}));
|
|
717
716
|
await collector.waitForRender();
|
|
@@ -763,12 +762,12 @@ describe("debugger:info", () => {
|
|
|
763
762
|
|
|
764
763
|
describe("null vs undefined contract", () => {
|
|
765
764
|
it("nullable fields arrive as null (not undefined or missing)", async () => {
|
|
766
|
-
const collector = await createMessageCollector(socket, ["render"]);
|
|
765
|
+
const collector = await createMessageCollector(socket, ["render", "components"]);
|
|
767
766
|
await renderAsync(_$createComponent(Output, {
|
|
768
767
|
children: "hello"
|
|
769
768
|
}, {
|
|
770
769
|
fileName: import.meta.url,
|
|
771
|
-
lineNumber:
|
|
770
|
+
lineNumber: 709,
|
|
772
771
|
columnNumber: 23
|
|
773
772
|
}));
|
|
774
773
|
const messages = await collector.waitForRender();
|
|
@@ -780,11 +779,10 @@ describe("null vs undefined contract", () => {
|
|
|
780
779
|
expect(root.parent_id).toBeNull();
|
|
781
780
|
expect("parent_id" in root).toBe(true);
|
|
782
781
|
|
|
783
|
-
// Component
|
|
784
|
-
const component = messages.find(m => m.type === "
|
|
782
|
+
// Component facts are not render nodes.
|
|
783
|
+
const component = messages.find(m => m.type === "component:added" && m.name === "Output");
|
|
785
784
|
expect(component).toBeDefined();
|
|
786
|
-
expect(component.
|
|
787
|
-
expect("value" in component).toBe(true);
|
|
785
|
+
expect(component.parent_id).toBeNull();
|
|
788
786
|
|
|
789
787
|
// source_file is nullable
|
|
790
788
|
expect("source_file" in root).toBe(true);
|
|
@@ -795,7 +793,7 @@ describe("null vs undefined contract", () => {
|
|
|
795
793
|
children: "hello"
|
|
796
794
|
}, {
|
|
797
795
|
fileName: import.meta.url,
|
|
798
|
-
lineNumber:
|
|
796
|
+
lineNumber: 736,
|
|
799
797
|
columnNumber: 23
|
|
800
798
|
}));
|
|
801
799
|
const messages = await collector.waitForRender();
|
|
@@ -822,7 +820,7 @@ describe("seq ordering", () => {
|
|
|
822
820
|
children: "hello"
|
|
823
821
|
}, {
|
|
824
822
|
fileName: import.meta.url,
|
|
825
|
-
lineNumber:
|
|
823
|
+
lineNumber: 761,
|
|
826
824
|
columnNumber: 23
|
|
827
825
|
}));
|
|
828
826
|
const messages = await collector.waitForRender();
|