@alloy-js/core 0.23.0-dev.11 → 0.23.0-dev.13
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/dev/src/binder.js +488 -0
- package/dist/dev/src/binder.js.map +1 -0
- package/dist/dev/src/code.js +181 -0
- package/dist/dev/src/code.js.map +1 -0
- package/dist/dev/src/components/AccessExpression.js +230 -0
- package/dist/dev/src/components/AccessExpression.js.map +1 -0
- package/dist/dev/src/components/AccessExpression.test.js +237 -0
- package/dist/dev/src/components/AccessExpression.test.js.map +1 -0
- package/dist/dev/src/components/AppendFile.js +246 -0
- package/dist/dev/src/components/AppendFile.js.map +1 -0
- package/dist/dev/src/components/Block.js +66 -0
- package/dist/dev/src/components/Block.js.map +1 -0
- package/dist/dev/src/components/CopyFile.js +16 -0
- package/dist/dev/src/components/CopyFile.js.map +1 -0
- package/dist/dev/src/components/Declaration.js +70 -0
- package/dist/dev/src/components/Declaration.js.map +1 -0
- package/dist/dev/src/components/For.js +40 -0
- package/dist/dev/src/components/For.js.map +1 -0
- package/dist/dev/src/components/Indent.js +37 -0
- package/dist/dev/src/components/Indent.js.map +1 -0
- package/dist/dev/src/components/List.js +29 -0
- package/dist/dev/src/components/List.js.map +1 -0
- package/dist/dev/src/components/MemberDeclaration.js +70 -0
- package/dist/dev/src/components/MemberDeclaration.js.map +1 -0
- package/dist/dev/src/components/MemberName.js +11 -0
- package/dist/dev/src/components/MemberName.js.map +1 -0
- package/dist/dev/src/components/MemberScope.js +57 -0
- package/dist/dev/src/components/MemberScope.js.map +1 -0
- package/dist/dev/src/components/Name.js +11 -0
- package/dist/dev/src/components/Name.js.map +1 -0
- package/dist/dev/src/components/Output.js +72 -0
- package/dist/dev/src/components/Output.js.map +1 -0
- package/dist/dev/src/components/Prose.js +32 -0
- package/dist/dev/src/components/Prose.js.map +1 -0
- package/dist/dev/src/components/ReferenceOrContent.js +12 -0
- package/dist/dev/src/components/ReferenceOrContent.js.map +1 -0
- package/dist/dev/src/components/Scope.js +50 -0
- package/dist/dev/src/components/Scope.js.map +1 -0
- package/dist/dev/src/components/Show.js +4 -0
- package/dist/dev/src/components/Show.js.map +1 -0
- package/dist/dev/src/components/SourceDirectory.js +41 -0
- package/dist/dev/src/components/SourceDirectory.js.map +1 -0
- package/dist/dev/src/components/SourceFile.js +52 -0
- package/dist/dev/src/components/SourceFile.js.map +1 -0
- package/dist/dev/src/components/StatementList.js +20 -0
- package/dist/dev/src/components/StatementList.js.map +1 -0
- package/dist/dev/src/components/Switch.js +42 -0
- package/dist/dev/src/components/Switch.js.map +1 -0
- package/dist/dev/src/components/TemplateFile.js +153 -0
- package/dist/dev/src/components/TemplateFile.js.map +1 -0
- package/dist/dev/src/components/UpdateFile.js +71 -0
- package/dist/dev/src/components/UpdateFile.js.map +1 -0
- package/dist/dev/src/components/Wrap.js +18 -0
- package/dist/dev/src/components/Wrap.js.map +1 -0
- package/dist/dev/src/components/index.js +25 -0
- package/dist/dev/src/components/index.js.map +1 -0
- package/dist/dev/src/components/stc/index.js +27 -0
- package/dist/dev/src/components/stc/index.js.map +1 -0
- package/dist/dev/src/components/stc/sti.js +10 -0
- package/dist/dev/src/components/stc/sti.js.map +1 -0
- package/dist/dev/src/content-slot.js +78 -0
- package/dist/dev/src/content-slot.js.map +1 -0
- package/dist/dev/src/content-slot.test.js +89 -0
- package/dist/dev/src/content-slot.test.js.map +1 -0
- package/dist/dev/src/context/assignment.js +46 -0
- package/dist/dev/src/context/assignment.js.map +1 -0
- package/dist/dev/src/context/binder.js +12 -0
- package/dist/dev/src/context/binder.js.map +1 -0
- package/dist/dev/src/context/declaration.js +3 -0
- package/dist/dev/src/context/declaration.js.map +1 -0
- package/dist/dev/src/context/format-options.js +32 -0
- package/dist/dev/src/context/format-options.js.map +1 -0
- package/dist/dev/src/context/index.js +11 -0
- package/dist/dev/src/context/index.js.map +1 -0
- package/dist/dev/src/context/member-declaration.js +11 -0
- package/dist/dev/src/context/member-declaration.js.map +1 -0
- package/dist/dev/src/context/member-scope.js +12 -0
- package/dist/dev/src/context/member-scope.js.map +1 -0
- package/dist/dev/src/context/name-policy.js +13 -0
- package/dist/dev/src/context/name-policy.js.map +1 -0
- package/dist/dev/src/context/scope.js +13 -0
- package/dist/dev/src/context/scope.js.map +1 -0
- package/dist/dev/src/context/source-directory.js +3 -0
- package/dist/dev/src/context/source-directory.js.map +1 -0
- package/dist/dev/src/context/source-file.js +3 -0
- package/dist/dev/src/context/source-file.js.map +1 -0
- package/dist/dev/src/context.js +47 -0
- package/dist/dev/src/context.js.map +1 -0
- package/dist/dev/src/debug/cli.js +164 -0
- package/dist/dev/src/debug/cli.js.map +1 -0
- package/dist/dev/src/debug/diagnostics.test.js +50 -0
- package/dist/dev/src/debug/diagnostics.test.js.map +1 -0
- package/dist/dev/src/debug/effects.js +293 -0
- package/dist/dev/src/debug/effects.js.map +1 -0
- package/dist/dev/src/debug/effects.test.js +280 -0
- package/dist/dev/src/debug/effects.test.js.map +1 -0
- package/dist/dev/src/debug/files.js +29 -0
- package/dist/dev/src/debug/files.js.map +1 -0
- package/dist/dev/src/debug/files.test.js +78 -0
- package/dist/dev/src/debug/files.test.js.map +1 -0
- package/dist/dev/src/debug/index.js +71 -0
- package/dist/dev/src/debug/index.js.map +1 -0
- package/dist/dev/src/debug/message-format.test.js +836 -0
- package/dist/dev/src/debug/message-format.test.js.map +1 -0
- package/dist/dev/src/debug/render-tree-orphans.test.js +365 -0
- package/dist/dev/src/debug/render-tree-orphans.test.js.map +1 -0
- package/dist/dev/src/debug/render.js +479 -0
- package/dist/dev/src/debug/render.js.map +1 -0
- package/dist/dev/src/debug/render.test.js +363 -0
- package/dist/dev/src/debug/render.test.js.map +1 -0
- package/dist/dev/src/debug/serialize.js +70 -0
- package/dist/dev/src/debug/serialize.js.map +1 -0
- package/dist/dev/src/debug/source-map.browser.js +24 -0
- package/dist/dev/src/debug/source-map.browser.js.map +1 -0
- package/dist/dev/src/debug/source-map.js +111 -0
- package/dist/dev/src/debug/source-map.js.map +1 -0
- package/dist/dev/src/debug/symbols.js +196 -0
- package/dist/dev/src/debug/symbols.js.map +1 -0
- package/dist/dev/src/debug/symbols.test.js +93 -0
- package/dist/dev/src/debug/symbols.test.js.map +1 -0
- package/dist/dev/src/debug/trace-writer.js +658 -0
- package/dist/dev/src/debug/trace-writer.js.map +1 -0
- package/dist/dev/src/debug/trace.js +460 -0
- package/dist/dev/src/debug/trace.js.map +1 -0
- package/dist/dev/src/devtools/devtools-protocol.js +2 -0
- package/dist/dev/src/devtools/devtools-protocol.js.map +1 -0
- package/dist/dev/src/devtools/devtools-server.browser.js +33 -0
- package/dist/dev/src/devtools/devtools-server.browser.js.map +1 -0
- package/dist/dev/src/devtools/devtools-server.js +444 -0
- package/dist/dev/src/devtools/devtools-server.js.map +1 -0
- package/dist/dev/src/devtools/devtools-transport.js +114 -0
- package/dist/dev/src/devtools/devtools-transport.js.map +1 -0
- package/dist/dev/src/devtools-entry.browser.js +2 -0
- package/dist/dev/src/devtools-entry.browser.js.map +1 -0
- package/dist/dev/src/devtools-entry.js +2 -0
- package/dist/dev/src/devtools-entry.js.map +1 -0
- package/dist/dev/src/diagnostics.js +89 -0
- package/dist/dev/src/diagnostics.js.map +1 -0
- package/dist/dev/src/host/alloy-host.browser.js +32 -0
- package/dist/dev/src/host/alloy-host.browser.js.map +1 -0
- package/dist/dev/src/host/alloy-host.js +144 -0
- package/dist/dev/src/host/alloy-host.js.map +1 -0
- package/dist/dev/src/host/interface.js +2 -0
- package/dist/dev/src/host/interface.js.map +1 -0
- package/dist/dev/src/host/node-host.browser.js +21 -0
- package/dist/dev/src/host/node-host.browser.js.map +1 -0
- package/dist/dev/src/host/node-host.js +20 -0
- package/dist/dev/src/host/node-host.js.map +1 -0
- package/dist/dev/src/index.browser.js +3 -0
- package/dist/dev/src/index.browser.js.map +1 -0
- package/dist/dev/src/index.js +27 -0
- package/dist/dev/src/index.js.map +1 -0
- package/dist/dev/src/inspect.browser.js +6 -0
- package/dist/dev/src/inspect.browser.js.map +1 -0
- package/dist/dev/src/inspect.js +2 -0
- package/dist/dev/src/inspect.js.map +1 -0
- package/dist/dev/src/jsx-runtime.js +17 -0
- package/dist/dev/src/jsx-runtime.js.map +1 -0
- package/dist/dev/src/library-symbol-reference.js +5 -0
- package/dist/dev/src/library-symbol-reference.js.map +1 -0
- package/dist/dev/src/name-policy.js +24 -0
- package/dist/dev/src/name-policy.js.map +1 -0
- package/dist/dev/src/pretty-string/pretty-string.js +100 -0
- package/dist/dev/src/pretty-string/pretty-string.js.map +1 -0
- package/dist/dev/src/pretty-string/pretty-string.test.js +38 -0
- package/dist/dev/src/pretty-string/pretty-string.test.js.map +1 -0
- package/dist/dev/src/print-hook.js +10 -0
- package/dist/dev/src/print-hook.js.map +1 -0
- package/dist/dev/src/props-combinators.js +109 -0
- package/dist/dev/src/props-combinators.js.map +1 -0
- package/dist/dev/src/reactive-union-set.js +213 -0
- package/dist/dev/src/reactive-union-set.js.map +1 -0
- package/dist/dev/src/reactivity.js +426 -0
- package/dist/dev/src/reactivity.js.map +1 -0
- package/dist/dev/src/refkey.js +167 -0
- package/dist/dev/src/refkey.js.map +1 -0
- package/dist/dev/src/render-stack.js +252 -0
- package/dist/dev/src/render-stack.js.map +1 -0
- package/dist/dev/src/render.js +872 -0
- package/dist/dev/src/render.js.map +1 -0
- package/dist/dev/src/resource.js +124 -0
- package/dist/dev/src/resource.js.map +1 -0
- package/dist/dev/src/runtime/component.js +41 -0
- package/dist/dev/src/runtime/component.js.map +1 -0
- package/dist/dev/src/runtime/intrinsic.js +12 -0
- package/dist/dev/src/runtime/intrinsic.js.map +1 -0
- package/dist/dev/src/scheduler.js +217 -0
- package/dist/dev/src/scheduler.js.map +1 -0
- package/dist/dev/src/stc.js +40 -0
- package/dist/dev/src/stc.js.map +1 -0
- package/dist/dev/src/sti.js +31 -0
- package/dist/dev/src/sti.js.map +1 -0
- package/dist/dev/src/symbols/basic-scope.js +21 -0
- package/dist/dev/src/symbols/basic-scope.js.map +1 -0
- package/dist/dev/src/symbols/basic-symbol.js +34 -0
- package/dist/dev/src/symbols/basic-symbol.js.map +1 -0
- package/dist/dev/src/symbols/decl.js +26 -0
- package/dist/dev/src/symbols/decl.js.map +1 -0
- package/dist/dev/src/symbols/index.js +10 -0
- package/dist/dev/src/symbols/index.js.map +1 -0
- package/dist/dev/src/symbols/output-scope.js +202 -0
- package/dist/dev/src/symbols/output-scope.js.map +1 -0
- package/dist/dev/src/symbols/output-space.js +36 -0
- package/dist/dev/src/symbols/output-space.js.map +1 -0
- package/dist/dev/src/symbols/output-symbol.js +504 -0
- package/dist/dev/src/symbols/output-symbol.js.map +1 -0
- package/dist/dev/src/symbols/symbol-flow.js +106 -0
- package/dist/dev/src/symbols/symbol-flow.js.map +1 -0
- package/dist/dev/src/symbols/symbol-slot.js +68 -0
- package/dist/dev/src/symbols/symbol-slot.js.map +1 -0
- package/dist/dev/src/symbols/symbol-slot.test.js +43 -0
- package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -0
- package/dist/dev/src/symbols/symbol-table.js +93 -0
- package/dist/dev/src/symbols/symbol-table.js.map +1 -0
- package/dist/dev/src/tap.js +109 -0
- package/dist/dev/src/tap.js.map +1 -0
- package/dist/dev/src/trace.js +2 -0
- package/dist/dev/src/trace.js.map +1 -0
- package/dist/dev/src/tracer.js +180 -0
- package/dist/dev/src/tracer.js.map +1 -0
- package/dist/dev/src/utils.js +487 -0
- package/dist/dev/src/utils.js.map +1 -0
- package/dist/dev/src/write-output.js +48 -0
- package/dist/dev/src/write-output.js.map +1 -0
- package/dist/dev/test/browser-build.test.js +85 -0
- package/dist/dev/test/browser-build.test.js.map +1 -0
- package/dist/dev/test/children.test.js +44 -0
- package/dist/dev/test/children.test.js.map +1 -0
- package/dist/dev/test/components/append-file.test.js +394 -0
- package/dist/dev/test/components/append-file.test.js.map +1 -0
- package/dist/dev/test/components/block.test.js +83 -0
- package/dist/dev/test/components/block.test.js.map +1 -0
- package/dist/dev/test/components/copy-file.test.js +119 -0
- package/dist/dev/test/components/copy-file.test.js.map +1 -0
- package/dist/dev/test/components/declaration.test.js +40 -0
- package/dist/dev/test/components/declaration.test.js.map +1 -0
- package/dist/dev/test/components/list.test.js +250 -0
- package/dist/dev/test/components/list.test.js.map +1 -0
- package/dist/dev/test/components/prose.test.js +42 -0
- package/dist/dev/test/components/prose.test.js.map +1 -0
- package/dist/dev/test/components/reference-or-content.test.js +246 -0
- package/dist/dev/test/components/reference-or-content.test.js.map +1 -0
- package/dist/dev/test/components/source-file.test.js +271 -0
- package/dist/dev/test/components/source-file.test.js.map +1 -0
- package/dist/dev/test/components/template-file.test.js +200 -0
- package/dist/dev/test/components/template-file.test.js.map +1 -0
- package/dist/dev/test/components/update-file.test.js +210 -0
- package/dist/dev/test/components/update-file.test.js.map +1 -0
- package/dist/dev/test/components/wrap.test.js +48 -0
- package/dist/dev/test/components/wrap.test.js.map +1 -0
- package/dist/dev/test/control-flow/for.test.js +318 -0
- package/dist/dev/test/control-flow/for.test.js.map +1 -0
- package/dist/dev/test/control-flow/match.test.js +112 -0
- package/dist/dev/test/control-flow/match.test.js.map +1 -0
- package/dist/dev/test/control-flow/show.test.js +38 -0
- package/dist/dev/test/control-flow/show.test.js.map +1 -0
- package/dist/dev/test/lazy-isempty.test.js +121 -0
- package/dist/dev/test/lazy-isempty.test.js.map +1 -0
- package/dist/dev/test/name-policy.test.js +28 -0
- package/dist/dev/test/name-policy.test.js.map +1 -0
- package/dist/dev/test/props-with-defaults.test.js +94 -0
- package/dist/dev/test/props-with-defaults.test.js.map +1 -0
- package/dist/dev/test/reactive-union-set-disposers.test.js +98 -0
- package/dist/dev/test/reactive-union-set-disposers.test.js.map +1 -0
- package/dist/dev/test/reactive-union-set.test.js +171 -0
- package/dist/dev/test/reactive-union-set.test.js.map +1 -0
- package/dist/dev/test/reactivity/circular-reactives.test.js +62 -0
- package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -0
- package/dist/dev/test/reactivity/cleanup.test.js +96 -0
- package/dist/dev/test/reactivity/cleanup.test.js.map +1 -0
- package/dist/dev/test/reactivity/memo.test.js +17 -0
- package/dist/dev/test/reactivity/memo.test.js.map +1 -0
- package/dist/dev/test/reactivity/ref-rendering.test.js +38 -0
- package/dist/dev/test/reactivity/ref-rendering.test.js.map +1 -0
- package/dist/dev/test/reactivity/shallow-reactive.test.js +52 -0
- package/dist/dev/test/reactivity/shallow-reactive.test.js.map +1 -0
- package/dist/dev/test/reactivity/test.test.js +74 -0
- package/dist/dev/test/reactivity/test.test.js.map +1 -0
- package/dist/dev/test/reactivity/untrack.test.js +27 -0
- package/dist/dev/test/reactivity/untrack.test.js.map +1 -0
- package/dist/dev/test/refkey.test.js +36 -0
- package/dist/dev/test/refkey.test.js.map +1 -0
- package/dist/dev/test/rendering/basic.test.js +194 -0
- package/dist/dev/test/rendering/basic.test.js.map +1 -0
- package/dist/dev/test/rendering/code.test.js +64 -0
- package/dist/dev/test/rendering/code.test.js.map +1 -0
- package/dist/dev/test/rendering/formatting.test.js +797 -0
- package/dist/dev/test/rendering/formatting.test.js.map +1 -0
- package/dist/dev/test/rendering/indent.test.js +183 -0
- package/dist/dev/test/rendering/indent.test.js.map +1 -0
- package/dist/dev/test/rendering/memoization.test.js +37 -0
- package/dist/dev/test/rendering/memoization.test.js.map +1 -0
- package/dist/dev/test/rendering/print-render-stack.test.js +287 -0
- package/dist/dev/test/rendering/print-render-stack.test.js.map +1 -0
- package/dist/dev/test/rendering/refkeys.test.js +37 -0
- package/dist/dev/test/rendering/refkeys.test.js.map +1 -0
- package/dist/dev/test/scheduler-extended.test.js +96 -0
- package/dist/dev/test/scheduler-extended.test.js.map +1 -0
- package/dist/dev/test/scheduler.test.js +46 -0
- package/dist/dev/test/scheduler.test.js.map +1 -0
- package/dist/dev/test/split-props.test.js +78 -0
- package/dist/dev/test/split-props.test.js.map +1 -0
- package/dist/dev/test/stc.test.js +35 -0
- package/dist/dev/test/stc.test.js.map +1 -0
- package/dist/dev/test/symbols/output-scope.test.js +180 -0
- package/dist/dev/test/symbols/output-scope.test.js.map +1 -0
- package/dist/dev/test/symbols/output-symbol.test.js +202 -0
- package/dist/dev/test/symbols/output-symbol.test.js.map +1 -0
- package/dist/dev/test/symbols/resolution.test.js +487 -0
- package/dist/dev/test/symbols/resolution.test.js.map +1 -0
- package/dist/dev/test/symbols/symbol-table.test.js +15 -0
- package/dist/dev/test/symbols/symbol-table.test.js.map +1 -0
- package/dist/dev/test/symbols/utils.js +26 -0
- package/dist/dev/test/symbols/utils.js.map +1 -0
- package/dist/dev/test/utils.test.js +317 -0
- package/dist/dev/test/utils.test.js.map +1 -0
- package/dist/dev/testing/create-test-wrapper.js +76 -0
- package/dist/dev/testing/create-test-wrapper.js.map +1 -0
- package/dist/dev/testing/devtools-utils.js +162 -0
- package/dist/dev/testing/devtools-utils.js.map +1 -0
- package/dist/dev/testing/extend-expect.js +167 -0
- package/dist/dev/testing/extend-expect.js.map +1 -0
- package/dist/dev/testing/extend-expect.test.js +234 -0
- package/dist/dev/testing/extend-expect.test.js.map +1 -0
- package/dist/dev/testing/index.js +4 -0
- package/dist/dev/testing/index.js.map +1 -0
- package/dist/dev/testing/render.js +23 -0
- package/dist/dev/testing/render.js.map +1 -0
- package/dist/dev/testing/vitest.d.js +2 -0
- package/dist/dev/testing/vitest.d.js.map +1 -0
- package/dist/src/debug/cli.d.ts.map +1 -1
- package/dist/src/debug/cli.js +3 -2
- package/dist/src/debug/cli.js.map +1 -1
- package/dist/src/debug/effects.d.ts.map +1 -1
- package/dist/src/debug/effects.js +2 -67
- package/dist/src/debug/effects.js.map +1 -1
- package/dist/src/debug/render.d.ts.map +1 -1
- package/dist/src/debug/render.js +15 -8
- package/dist/src/debug/render.js.map +1 -1
- package/dist/src/debug/source-map.browser.d.ts +16 -0
- package/dist/src/debug/source-map.browser.d.ts.map +1 -0
- package/dist/src/debug/source-map.browser.js +24 -0
- package/dist/src/debug/source-map.browser.js.map +1 -0
- package/dist/src/debug/source-map.d.ts +22 -0
- package/dist/src/debug/source-map.d.ts.map +1 -0
- package/dist/src/debug/source-map.js +111 -0
- package/dist/src/debug/source-map.js.map +1 -0
- package/dist/src/debug/trace.d.ts.map +1 -1
- package/dist/src/debug/trace.js +19 -5
- package/dist/src/debug/trace.js.map +1 -1
- package/dist/src/host/node-host.browser.d.ts +11 -0
- package/dist/src/host/node-host.browser.d.ts.map +1 -0
- package/dist/src/host/node-host.browser.js +21 -0
- package/dist/src/host/node-host.browser.js.map +1 -0
- package/dist/src/host/node-host.d.ts +11 -0
- package/dist/src/host/node-host.d.ts.map +1 -0
- package/dist/src/host/node-host.js +20 -0
- package/dist/src/host/node-host.js.map +1 -0
- package/dist/src/render-stack.d.ts.map +1 -1
- package/dist/src/render-stack.js +4 -3
- package/dist/src/render-stack.js.map +1 -1
- package/dist/src/write-output.d.ts.map +1 -1
- package/dist/src/write-output.js +6 -5
- package/dist/src/write-output.js.map +1 -1
- package/dist/test/browser-build.test.js +66 -67
- package/dist/test/browser-build.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -3
- package/src/debug/cli.ts +3 -2
- package/src/debug/effects.ts +2 -82
- package/src/debug/render.ts +25 -13
- package/src/debug/source-map.browser.ts +30 -0
- package/src/debug/source-map.ts +135 -0
- package/src/debug/trace.ts +22 -5
- package/src/host/node-host.browser.ts +23 -0
- package/src/host/node-host.ts +22 -0
- package/src/render-stack.ts +4 -3
- package/src/write-output.ts +6 -5
- package/test/browser-build.test.ts +71 -78
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { getContextForRenderNode, getDiagnosticsForTree, printTree, renderTree } from "@alloy-js/core";
|
|
2
|
+
import "vitest";
|
|
3
|
+
import { expect } from "vitest";
|
|
4
|
+
import { flushJobs, flushJobsAsync } from "../src/scheduler.js";
|
|
5
|
+
import { dedent } from "./render.js";
|
|
6
|
+
expect.extend({
|
|
7
|
+
toRenderTo(received, expectedRaw, renderOptions) {
|
|
8
|
+
const tree = renderTree(received);
|
|
9
|
+
flushJobs();
|
|
10
|
+
const actual = getFilesFromTree(tree, renderOptions);
|
|
11
|
+
return validateRender(actual, expectedRaw, this.isNot);
|
|
12
|
+
},
|
|
13
|
+
async toRenderToAsync(received, expectedRaw, renderOptions) {
|
|
14
|
+
const tree = renderTree(received);
|
|
15
|
+
await flushJobsAsync();
|
|
16
|
+
const actual = getFilesFromTree(tree, renderOptions);
|
|
17
|
+
return validateRender(actual, expectedRaw, this.isNot);
|
|
18
|
+
},
|
|
19
|
+
toHaveDiagnostics(received, expectedDiagnostics) {
|
|
20
|
+
const tree = renderTree(received);
|
|
21
|
+
flushJobs();
|
|
22
|
+
const diagnostics = getDiagnosticsForTree(tree);
|
|
23
|
+
return validateDiagnostics(diagnostics, expectedDiagnostics, this.isNot);
|
|
24
|
+
},
|
|
25
|
+
async toHaveDiagnosticsAsync(received, expectedDiagnostics) {
|
|
26
|
+
const tree = renderTree(received);
|
|
27
|
+
await flushJobsAsync();
|
|
28
|
+
const diagnostics = getDiagnosticsForTree(tree);
|
|
29
|
+
return validateDiagnostics(diagnostics, expectedDiagnostics, this.isNot);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
function isAsymmetricMatcher(value) {
|
|
33
|
+
return value.$$typeof === Symbol.for("jest.asymmetricMatcher");
|
|
34
|
+
}
|
|
35
|
+
function validateRender(actual, expectedRaw, isNot) {
|
|
36
|
+
const message = () => `Render is${isNot ? " not" : ""} incorrect`;
|
|
37
|
+
if (typeof expectedRaw === "string") {
|
|
38
|
+
const expected = dedent(expectedRaw);
|
|
39
|
+
let actualStr;
|
|
40
|
+
if (typeof actual === "string") {
|
|
41
|
+
actualStr = actual;
|
|
42
|
+
} else if (Object.keys(actual).length === 1) {
|
|
43
|
+
// If we have a single file, we can use its content directly.
|
|
44
|
+
actualStr = Object.values(actual)[0];
|
|
45
|
+
} else {
|
|
46
|
+
return {
|
|
47
|
+
pass: false,
|
|
48
|
+
message,
|
|
49
|
+
actual,
|
|
50
|
+
expected
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
pass: actualStr === expected,
|
|
55
|
+
message,
|
|
56
|
+
actual: actualStr,
|
|
57
|
+
expected
|
|
58
|
+
};
|
|
59
|
+
} else if (typeof actual === "object" && typeof expectedRaw === "object") {
|
|
60
|
+
const expected = expectedRaw;
|
|
61
|
+
const dedentExpected = {};
|
|
62
|
+
for (const [key, value] of Object.entries(expected)) {
|
|
63
|
+
if (isAsymmetricMatcher(value)) {
|
|
64
|
+
dedentExpected[key] = value;
|
|
65
|
+
} else {
|
|
66
|
+
dedentExpected[key] = dedent(value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const pass = Object.keys(actual).length === Object.keys(expected).length && Object.entries(actual).every(([key, value]) => {
|
|
70
|
+
return isAsymmetricMatcher(dedentExpected[key]) ? dedentExpected[key].asymmetricMatch(value) : dedentExpected[key] === value;
|
|
71
|
+
});
|
|
72
|
+
return {
|
|
73
|
+
pass,
|
|
74
|
+
message,
|
|
75
|
+
actual,
|
|
76
|
+
expected: dedentExpected
|
|
77
|
+
};
|
|
78
|
+
} else {
|
|
79
|
+
return {
|
|
80
|
+
pass: false,
|
|
81
|
+
message,
|
|
82
|
+
actual,
|
|
83
|
+
expected: expectedRaw
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function validateDiagnostics(actual, expected, isNot) {
|
|
88
|
+
const message = () => `Diagnostics are${isNot ? " not" : ""} incorrect`;
|
|
89
|
+
if (actual.length !== expected.length) {
|
|
90
|
+
return {
|
|
91
|
+
pass: false,
|
|
92
|
+
message: () => `Expected ${expected.length} diagnostic(s), but got ${actual.length}`,
|
|
93
|
+
actual: actual.map(d => ({
|
|
94
|
+
message: d.message,
|
|
95
|
+
severity: d.severity
|
|
96
|
+
})),
|
|
97
|
+
expected
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
for (let i = 0; i < expected.length; i++) {
|
|
101
|
+
const actualDiag = actual[i];
|
|
102
|
+
const expectedDiag = expected[i];
|
|
103
|
+
const messageMatches = expectedDiag.message instanceof RegExp ? expectedDiag.message.test(actualDiag.message) : actualDiag.message === expectedDiag.message;
|
|
104
|
+
if (!messageMatches) {
|
|
105
|
+
return {
|
|
106
|
+
pass: false,
|
|
107
|
+
message: () => `Diagnostic ${i} message mismatch: expected "${expectedDiag.message}", got "${actualDiag.message}"`,
|
|
108
|
+
actual: actual.map(d => ({
|
|
109
|
+
message: d.message,
|
|
110
|
+
severity: d.severity
|
|
111
|
+
})),
|
|
112
|
+
expected
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
if (expectedDiag.severity !== undefined && actualDiag.severity !== expectedDiag.severity) {
|
|
116
|
+
return {
|
|
117
|
+
pass: false,
|
|
118
|
+
message: () => `Diagnostic ${i} severity mismatch: expected "${expectedDiag.severity}", got "${actualDiag.severity}"`,
|
|
119
|
+
actual: actual.map(d => ({
|
|
120
|
+
message: d.message,
|
|
121
|
+
severity: d.severity
|
|
122
|
+
})),
|
|
123
|
+
expected
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
pass: true,
|
|
129
|
+
message,
|
|
130
|
+
actual: actual.map(d => ({
|
|
131
|
+
message: d.message,
|
|
132
|
+
severity: d.severity
|
|
133
|
+
})),
|
|
134
|
+
expected
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function getFilesFromTree(tree, options) {
|
|
138
|
+
const files = {};
|
|
139
|
+
collectSourceFiles(tree);
|
|
140
|
+
// If we found no source files, we return the tree as a string.
|
|
141
|
+
if (Object.keys(files).length === 0) {
|
|
142
|
+
return printTree(tree, options);
|
|
143
|
+
} else {
|
|
144
|
+
return files;
|
|
145
|
+
}
|
|
146
|
+
function collectSourceFiles(root) {
|
|
147
|
+
if (!Array.isArray(root)) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const context = getContextForRenderNode(root);
|
|
151
|
+
if (context?.meta?.sourceFile) {
|
|
152
|
+
files[context.meta.sourceFile.path] = printTree(root, {
|
|
153
|
+
printWidth: options?.printWidth ?? context.meta?.printOptions?.printWidth,
|
|
154
|
+
tabWidth: options?.tabWidth ?? context.meta?.printOptions?.tabWidth,
|
|
155
|
+
useTabs: options?.useTabs ?? context.meta?.printOptions?.useTabs
|
|
156
|
+
});
|
|
157
|
+
} else {
|
|
158
|
+
visitChildren();
|
|
159
|
+
}
|
|
160
|
+
function visitChildren() {
|
|
161
|
+
for (const child of root) {
|
|
162
|
+
collectSourceFiles(child);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=extend-expect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getContextForRenderNode","getDiagnosticsForTree","printTree","renderTree","expect","flushJobs","flushJobsAsync","dedent","extend","toRenderTo","received","expectedRaw","renderOptions","tree","actual","getFilesFromTree","validateRender","isNot","toRenderToAsync","toHaveDiagnostics","expectedDiagnostics","diagnostics","validateDiagnostics","toHaveDiagnosticsAsync","isAsymmetricMatcher","value","$$typeof","Symbol","for","message","expected","actualStr","Object","keys","length","values","pass","dedentExpected","key","entries","every","asymmetricMatch","map","d","severity","i","actualDiag","expectedDiag","messageMatches","RegExp","test","undefined","options","files","collectSourceFiles","root","Array","isArray","context","meta","sourceFile","path","printWidth","printOptions","tabWidth","useTabs","visitChildren","child"],"sources":["../../../testing/extend-expect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { Indent, Output, SourceDirectory, SourceFile } from "@alloy-js/core";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import "./extend-expect.js";
|
|
5
|
+
describe("toRenderTo", () => {
|
|
6
|
+
it("can validate structure without source files", () => {
|
|
7
|
+
expect(["base", _$createComponent(Indent, {
|
|
8
|
+
children: "indented"
|
|
9
|
+
}, {
|
|
10
|
+
fileName: import.meta.url,
|
|
11
|
+
lineNumber: 10,
|
|
12
|
+
columnNumber: 9
|
|
13
|
+
})]).toRenderTo(`
|
|
14
|
+
base
|
|
15
|
+
indented
|
|
16
|
+
`);
|
|
17
|
+
});
|
|
18
|
+
it("can expect the content of the single source file used", () => {
|
|
19
|
+
expect(_$createComponent(Output, {
|
|
20
|
+
get children() {
|
|
21
|
+
return _$createComponent(SourceFile, {
|
|
22
|
+
path: "Test.cs",
|
|
23
|
+
tabWidth: 4,
|
|
24
|
+
filetype: "csharp",
|
|
25
|
+
get children() {
|
|
26
|
+
return ["base", _$createComponent(Indent, {
|
|
27
|
+
children: "indented"
|
|
28
|
+
}, {
|
|
29
|
+
fileName: import.meta.url,
|
|
30
|
+
lineNumber: 23,
|
|
31
|
+
columnNumber: 11
|
|
32
|
+
})];
|
|
33
|
+
}
|
|
34
|
+
}, {
|
|
35
|
+
fileName: import.meta.url,
|
|
36
|
+
lineNumber: 21,
|
|
37
|
+
columnNumber: 9
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
fileName: import.meta.url,
|
|
42
|
+
lineNumber: 20,
|
|
43
|
+
columnNumber: 7
|
|
44
|
+
})).toRenderTo(`
|
|
45
|
+
base
|
|
46
|
+
indented
|
|
47
|
+
`);
|
|
48
|
+
});
|
|
49
|
+
it("expect with specific file name", () => {
|
|
50
|
+
expect(_$createComponent(Output, {
|
|
51
|
+
get children() {
|
|
52
|
+
return _$createComponent(SourceFile, {
|
|
53
|
+
path: "Test.cs",
|
|
54
|
+
tabWidth: 4,
|
|
55
|
+
filetype: "csharp",
|
|
56
|
+
get children() {
|
|
57
|
+
return ["base", _$createComponent(Indent, {
|
|
58
|
+
children: "indented"
|
|
59
|
+
}, {
|
|
60
|
+
fileName: import.meta.url,
|
|
61
|
+
lineNumber: 37,
|
|
62
|
+
columnNumber: 11
|
|
63
|
+
})];
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
fileName: import.meta.url,
|
|
67
|
+
lineNumber: 35,
|
|
68
|
+
columnNumber: 9
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
fileName: import.meta.url,
|
|
73
|
+
lineNumber: 34,
|
|
74
|
+
columnNumber: 7
|
|
75
|
+
})).toRenderTo({
|
|
76
|
+
"Test.cs": `
|
|
77
|
+
base
|
|
78
|
+
indented
|
|
79
|
+
`
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
it("expect with specific file name in SourceDirectory", () => {
|
|
83
|
+
expect(_$createComponent(Output, {
|
|
84
|
+
get children() {
|
|
85
|
+
return _$createComponent(SourceDirectory, {
|
|
86
|
+
path: "src",
|
|
87
|
+
get children() {
|
|
88
|
+
return _$createComponent(SourceFile, {
|
|
89
|
+
path: "test.txt",
|
|
90
|
+
filetype: "text",
|
|
91
|
+
children: "content"
|
|
92
|
+
}, {
|
|
93
|
+
fileName: import.meta.url,
|
|
94
|
+
lineNumber: 52,
|
|
95
|
+
columnNumber: 11
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
fileName: import.meta.url,
|
|
100
|
+
lineNumber: 51,
|
|
101
|
+
columnNumber: 9
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
fileName: import.meta.url,
|
|
106
|
+
lineNumber: 50,
|
|
107
|
+
columnNumber: 7
|
|
108
|
+
})).toRenderTo({
|
|
109
|
+
"src/test.txt": `
|
|
110
|
+
content
|
|
111
|
+
`
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
it("each source file respect their print options", () => {
|
|
115
|
+
expect(_$createComponent(Output, {
|
|
116
|
+
get children() {
|
|
117
|
+
return [_$createComponent(SourceFile, {
|
|
118
|
+
path: "Test.cs",
|
|
119
|
+
tabWidth: 4,
|
|
120
|
+
filetype: "csharp",
|
|
121
|
+
get children() {
|
|
122
|
+
return ["base1", _$createComponent(Indent, {
|
|
123
|
+
children: "indented"
|
|
124
|
+
}, {
|
|
125
|
+
fileName: import.meta.url,
|
|
126
|
+
lineNumber: 69,
|
|
127
|
+
columnNumber: 11
|
|
128
|
+
})];
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
fileName: import.meta.url,
|
|
132
|
+
lineNumber: 67,
|
|
133
|
+
columnNumber: 9
|
|
134
|
+
}), _$createComponent(SourceFile, {
|
|
135
|
+
path: "Test.ts",
|
|
136
|
+
tabWidth: 2,
|
|
137
|
+
filetype: "csharp",
|
|
138
|
+
get children() {
|
|
139
|
+
return ["base2", _$createComponent(Indent, {
|
|
140
|
+
children: "indented"
|
|
141
|
+
}, {
|
|
142
|
+
fileName: import.meta.url,
|
|
143
|
+
lineNumber: 73,
|
|
144
|
+
columnNumber: 11
|
|
145
|
+
})];
|
|
146
|
+
}
|
|
147
|
+
}, {
|
|
148
|
+
fileName: import.meta.url,
|
|
149
|
+
lineNumber: 71,
|
|
150
|
+
columnNumber: 9
|
|
151
|
+
})];
|
|
152
|
+
}
|
|
153
|
+
}, {
|
|
154
|
+
fileName: import.meta.url,
|
|
155
|
+
lineNumber: 66,
|
|
156
|
+
columnNumber: 7
|
|
157
|
+
})).toRenderTo({
|
|
158
|
+
"Test.cs": `
|
|
159
|
+
base1
|
|
160
|
+
indented
|
|
161
|
+
`,
|
|
162
|
+
"Test.ts": `
|
|
163
|
+
base2
|
|
164
|
+
indented
|
|
165
|
+
`
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
it("fails when content does not match", () => {
|
|
169
|
+
expect(() => expect(["base", _$createComponent(Indent, {
|
|
170
|
+
children: "indented"
|
|
171
|
+
}, {
|
|
172
|
+
fileName: import.meta.url,
|
|
173
|
+
lineNumber: 93,
|
|
174
|
+
columnNumber: 11
|
|
175
|
+
})]).toRenderTo(`
|
|
176
|
+
base
|
|
177
|
+
wrong
|
|
178
|
+
`)).toThrowError(/Render is incorrect/);
|
|
179
|
+
});
|
|
180
|
+
it("fails when files don't match", () => {
|
|
181
|
+
expect(() => expect(_$createComponent(Output, {
|
|
182
|
+
get children() {
|
|
183
|
+
return [_$createComponent(SourceFile, {
|
|
184
|
+
path: "Test.cs",
|
|
185
|
+
tabWidth: 4,
|
|
186
|
+
filetype: "csharp",
|
|
187
|
+
get children() {
|
|
188
|
+
return ["base1", _$createComponent(Indent, {
|
|
189
|
+
children: "indented"
|
|
190
|
+
}, {
|
|
191
|
+
fileName: import.meta.url,
|
|
192
|
+
lineNumber: 108,
|
|
193
|
+
columnNumber: 13
|
|
194
|
+
})];
|
|
195
|
+
}
|
|
196
|
+
}, {
|
|
197
|
+
fileName: import.meta.url,
|
|
198
|
+
lineNumber: 106,
|
|
199
|
+
columnNumber: 11
|
|
200
|
+
}), _$createComponent(SourceFile, {
|
|
201
|
+
path: "Test.ts",
|
|
202
|
+
tabWidth: 2,
|
|
203
|
+
filetype: "typescript",
|
|
204
|
+
get children() {
|
|
205
|
+
return ["base2", _$createComponent(Indent, {
|
|
206
|
+
children: "indented"
|
|
207
|
+
}, {
|
|
208
|
+
fileName: import.meta.url,
|
|
209
|
+
lineNumber: 112,
|
|
210
|
+
columnNumber: 13
|
|
211
|
+
})];
|
|
212
|
+
}
|
|
213
|
+
}, {
|
|
214
|
+
fileName: import.meta.url,
|
|
215
|
+
lineNumber: 110,
|
|
216
|
+
columnNumber: 11
|
|
217
|
+
})];
|
|
218
|
+
}
|
|
219
|
+
}, {
|
|
220
|
+
fileName: import.meta.url,
|
|
221
|
+
lineNumber: 105,
|
|
222
|
+
columnNumber: 9
|
|
223
|
+
})).toRenderTo({
|
|
224
|
+
"Test.cs": `
|
|
225
|
+
bad
|
|
226
|
+
`,
|
|
227
|
+
"Test.ts": `
|
|
228
|
+
base2
|
|
229
|
+
indented
|
|
230
|
+
`
|
|
231
|
+
})).toThrowError(/Render is incorrect/);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
//# sourceMappingURL=extend-expect.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Indent","Output","SourceDirectory","SourceFile","describe","expect","it","_$createComponent","children","fileName","import","meta","url","lineNumber","columnNumber","toRenderTo","path","tabWidth","filetype","toThrowError"],"sources":["../../../testing/extend-expect.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../testing/index.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,oBAAoB;AAC3B;AACA,cAAc,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { printTree, renderTree } from "../src/index.js";
|
|
2
|
+
export { printTree } from "../src/index.js";
|
|
3
|
+
export function renderToString(element) {
|
|
4
|
+
return printTree(renderTree(element));
|
|
5
|
+
}
|
|
6
|
+
export function d(strings, ...values) {
|
|
7
|
+
// Combine the strings and values
|
|
8
|
+
const result = strings.reduce((acc, str, i) => acc + str + (values[i] ?? ""), "");
|
|
9
|
+
return dedent(result);
|
|
10
|
+
}
|
|
11
|
+
export function dedent(str) {
|
|
12
|
+
// Remove leading and trailing line breaks
|
|
13
|
+
str = str.replace(/^\n|\n[ ]*$/g, "");
|
|
14
|
+
|
|
15
|
+
// Find the indent of the first line
|
|
16
|
+
const match = str.match(/^[ \t]+/);
|
|
17
|
+
const indent = match ? match[0] : "";
|
|
18
|
+
|
|
19
|
+
// Remove the indent from each line
|
|
20
|
+
const dedented = str.split("\n").map(line => line.startsWith(indent) ? line.slice(indent.length) : line).join("\n");
|
|
21
|
+
return dedented;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["printTree","renderTree","renderToString","element","d","strings","values","result","reduce","acc","str","i","dedent","replace","match","indent","dedented","split","map","line","startsWith","slice","length","join"],"sources":["../../../testing/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAmBA,SAAS,EAAEC,UAAU,QAAQ,iBAAiB;AAEjE,SAASD,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,SAASE,cAAcA,CAACC,OAAiB,EAAE;EAChD,OAAOH,SAAS,CAACC,UAAU,CAACE,OAAO,CAAC,CAAC;AACvC;AAEA,OAAO,SAASC,CAACA,CAACC,OAA6B,EAAE,GAAGC,MAAa,EAAU;EACzE;EACA,MAAMC,MAAM,GAAGF,OAAO,CAACG,MAAM,CAC3B,CAACC,GAAG,EAAEC,GAAG,EAAEC,CAAC,KAAKF,GAAG,GAAGC,GAAG,IAAIJ,MAAM,CAACK,CAAC,CAAC,IAAI,EAAE,CAAC,EAC9C,EACF,CAAC;EAED,OAAOC,MAAM,CAACL,MAAM,CAAC;AACvB;AAEA,OAAO,SAASK,MAAMA,CAACF,GAAW,EAAU;EAC1C;EACAA,GAAG,GAAGA,GAAG,CAACG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;;EAErC;EACA,MAAMC,KAAK,GAAGJ,GAAG,CAACI,KAAK,CAAC,SAAS,CAAC;EAClC,MAAMC,MAAM,GAAGD,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;;EAEpC;EACA,MAAME,QAAQ,GAAGN,GAAG,CACjBO,KAAK,CAAC,IAAI,CAAC,CACXC,GAAG,CAAEC,IAAI,IAAMA,IAAI,CAACC,UAAU,CAACL,MAAM,CAAC,GAAGI,IAAI,CAACE,KAAK,CAACN,MAAM,CAACO,MAAM,CAAC,GAAGH,IAAK,CAAC,CAC3EI,IAAI,CAAC,IAAI,CAAC;EAEb,OAAOP,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../testing/vitest.d.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,QAAQ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/debug/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/debug/cli.ts"],"names":[],"mappings":"AAkIA,wBAAgB,UAAU,SA4CzB;AAED,wBAAgB,YAAY,SAS3B;AAED,wBAAgB,SAAS,SAGxB;AAED,wBAAgB,UAAU,SAGzB;AAED,wBAAgB,WAAW,SAG1B"}
|
package/dist/src/debug/cli.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Table from "cli-table3";
|
|
2
2
|
import pc from "picocolors";
|
|
3
3
|
import { contextsByKey } from "../context.js";
|
|
4
|
+
import { stdoutWrite } from "../host/node-host.js";
|
|
4
5
|
import { getContext, untrack } from "../reactivity.js";
|
|
5
6
|
import { isReactiveTarget } from "./effects.js";
|
|
6
7
|
function reactiveTag(value) {
|
|
@@ -120,7 +121,7 @@ export function debugStack() {
|
|
|
120
121
|
foundContexts.push(currentContext);
|
|
121
122
|
}
|
|
122
123
|
if (currentContext.componentOwner && currentContext.componentOwner.component.name !== "Provider") {
|
|
123
|
-
|
|
124
|
+
stdoutWrite(style.component.name(currentContext.componentOwner.component.name) + "\n");
|
|
124
125
|
const table = kvTable();
|
|
125
126
|
const props = currentContext.componentOwner.props;
|
|
126
127
|
table.push([{
|
|
@@ -131,7 +132,7 @@ export function debugStack() {
|
|
|
131
132
|
hAlign: "right",
|
|
132
133
|
content: "contexts"
|
|
133
134
|
}, foundContexts.length > 0 ? foundContexts.map(c => printContext(c, true)).join("\n") : pc.gray("(none)")]);
|
|
134
|
-
|
|
135
|
+
stdoutWrite(table.toString() + "\n\n");
|
|
135
136
|
foundContexts = [];
|
|
136
137
|
}
|
|
137
138
|
currentContext = currentContext.owner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Table","pc","contextsByKey","getContext","untrack","isReactiveTarget","reactiveTag","value","greenBright","style","primitive","blue","gray","String","symbol","context","name","bgBlack","white","component","bgBlue","dumpValue","level","table","kvTable","key","propValue","Object","entries","push","content","toString","undefined","sep","chars","top","bottom","left","mid","right","middle","printContext","omitOwner","getOwnPropertySymbols","contextDefinition","get","contextName","output","owner","findContextOwner","currentContext","componentOwner","debugStack","foundContexts","
|
|
1
|
+
{"version":3,"names":["Table","pc","contextsByKey","stdoutWrite","getContext","untrack","isReactiveTarget","reactiveTag","value","greenBright","style","primitive","blue","gray","String","symbol","context","name","bgBlack","white","component","bgBlue","dumpValue","level","table","kvTable","key","propValue","Object","entries","push","content","toString","undefined","sep","chars","top","bottom","left","mid","right","middle","printContext","omitOwner","getOwnPropertySymbols","contextDefinition","get","contextName","output","owner","findContextOwner","currentContext","componentOwner","debugStack","foundContexts","props","hAlign","keys","length","map","c","join","debugContext","console","log","debugTree","debugWatch","debugRender"],"sources":["../../../src/debug/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/debug/effects.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/debug/effects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isReactive, isRef } from "@vue/reactivity";
|
|
2
2
|
import { formatReactivePropertyLabel, getReactiveCreationLocation, nextReactiveId } from "../reactivity.js";
|
|
3
|
+
import { loadSourceMapSupport, resolveSourceMap } from "./source-map.js";
|
|
3
4
|
import { insertEdge, insertEffect, insertRef } from "./trace-writer.js";
|
|
4
5
|
import { isDebugEnabled, isTraceEnabled, logDevtoolsMessage, TracePhase, traceType } from "./trace.js";
|
|
5
6
|
|
|
@@ -27,46 +28,6 @@ const VUE_REACTIVITY_MARKERS = ["@vue/reactivity", "reactivity.esm", "reactivity
|
|
|
27
28
|
// Fast source location capture using V8 structured CallSite API
|
|
28
29
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
29
30
|
|
|
30
|
-
// Lazily loaded findSourceMap from node:module
|
|
31
|
-
let findSourceMap;
|
|
32
|
-
let findSourceMapLoaded = false;
|
|
33
|
-
let realpathSync;
|
|
34
|
-
// Cache realpath lookups to avoid repeated fs calls
|
|
35
|
-
const realpathCache = new Map();
|
|
36
|
-
function loadFindSourceMap() {
|
|
37
|
-
if (findSourceMapLoaded) return;
|
|
38
|
-
findSourceMapLoaded = true;
|
|
39
|
-
// process.getBuiltinModule works in both ESM and CJS contexts
|
|
40
|
-
try {
|
|
41
|
-
const mod = process.getBuiltinModule?.("node:module");
|
|
42
|
-
if (mod && typeof mod.findSourceMap === "function") {
|
|
43
|
-
findSourceMap = mod.findSourceMap;
|
|
44
|
-
}
|
|
45
|
-
} catch {
|
|
46
|
-
// not available
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
const fs = process.getBuiltinModule?.("node:fs");
|
|
50
|
-
if (fs) {
|
|
51
|
-
realpathSync = fs.realpathSync;
|
|
52
|
-
}
|
|
53
|
-
} catch {
|
|
54
|
-
// not available
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function getRealPath(fileName) {
|
|
58
|
-
if (!realpathSync) return fileName;
|
|
59
|
-
let real = realpathCache.get(fileName);
|
|
60
|
-
if (real === undefined) {
|
|
61
|
-
try {
|
|
62
|
-
real = realpathSync(fileName);
|
|
63
|
-
} catch {
|
|
64
|
-
real = fileName;
|
|
65
|
-
}
|
|
66
|
-
realpathCache.set(fileName, real);
|
|
67
|
-
}
|
|
68
|
-
return real;
|
|
69
|
-
}
|
|
70
31
|
function isSkipFile(fileName) {
|
|
71
32
|
for (const skip of STACK_SKIP) {
|
|
72
33
|
if (fileName.includes(skip)) return true;
|
|
@@ -79,32 +40,6 @@ function isVueReactivityFile(fileName) {
|
|
|
79
40
|
}
|
|
80
41
|
return false;
|
|
81
42
|
}
|
|
82
|
-
function resolveSourceMap(fileName, line, col) {
|
|
83
|
-
if (!findSourceMap) return {
|
|
84
|
-
fileName,
|
|
85
|
-
line,
|
|
86
|
-
col
|
|
87
|
-
};
|
|
88
|
-
// pnpm uses symlinks; findSourceMap only matches the real path
|
|
89
|
-
const real = getRealPath(fileName);
|
|
90
|
-
const map = findSourceMap(real);
|
|
91
|
-
if (!map) return {
|
|
92
|
-
fileName,
|
|
93
|
-
line,
|
|
94
|
-
col
|
|
95
|
-
};
|
|
96
|
-
const entry = map.findEntry(line - 1, col - 1);
|
|
97
|
-
if (!entry) return {
|
|
98
|
-
fileName,
|
|
99
|
-
line,
|
|
100
|
-
col
|
|
101
|
-
};
|
|
102
|
-
return {
|
|
103
|
-
fileName: entry.originalSource,
|
|
104
|
-
line: entry.originalLine + 1,
|
|
105
|
-
col: entry.originalColumn + 1
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
43
|
|
|
109
44
|
// V8 structured stack capture — avoids string formatting entirely
|
|
110
45
|
const structuredPrepare = (_err, callSites) => callSites;
|
|
@@ -119,7 +54,7 @@ function captureCallSites() {
|
|
|
119
54
|
}
|
|
120
55
|
export function captureSourceLocation(skipReactives = true) {
|
|
121
56
|
if (!isDebugEnabled()) return undefined;
|
|
122
|
-
|
|
57
|
+
loadSourceMapSupport();
|
|
123
58
|
const sites = captureCallSites();
|
|
124
59
|
|
|
125
60
|
// First pass: skip internal/framework frames
|