@noego/wood 0.4.9 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -42
- package/bin/axe.js +313 -98
- package/dist/{loader/__fixtures__/layouts/app.load.cjs → automation/actions.cjs} +3 -13
- package/dist/automation/actions.cjs.map +1 -0
- package/dist/automation/actions.d.cts +57 -0
- package/dist/automation/actions.d.ts +57 -0
- package/dist/automation/actions.js +1 -0
- package/dist/automation/actions.js.map +1 -0
- package/dist/automation/actions_executor.cjs +101 -0
- package/dist/automation/actions_executor.cjs.map +1 -0
- package/dist/automation/actions_executor.d.cts +16 -0
- package/dist/automation/actions_executor.d.ts +16 -0
- package/dist/automation/actions_executor.js +76 -0
- package/dist/automation/actions_executor.js.map +1 -0
- package/dist/automation/connection.cjs +86 -0
- package/dist/automation/connection.cjs.map +1 -0
- package/dist/automation/connection.d.cts +18 -0
- package/dist/automation/connection.d.ts +18 -0
- package/dist/automation/connection.js +51 -0
- package/dist/automation/connection.js.map +1 -0
- package/dist/{middleware/__fixtures__/middleware/sequence.cjs → automation/errors.cjs} +25 -22
- package/dist/automation/errors.cjs.map +1 -0
- package/dist/automation/errors.d.cts +31 -0
- package/dist/automation/errors.d.ts +31 -0
- package/dist/automation/errors.js +24 -0
- package/dist/automation/errors.js.map +1 -0
- package/dist/automation/index.cjs +49 -0
- package/dist/automation/index.cjs.map +1 -0
- package/dist/automation/index.d.cts +16 -0
- package/dist/automation/index.d.ts +16 -0
- package/dist/automation/index.js +15 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/introspection_reader.cjs +75 -0
- package/dist/automation/introspection_reader.cjs.map +1 -0
- package/dist/automation/introspection_reader.d.cts +20 -0
- package/dist/automation/introspection_reader.d.ts +20 -0
- package/dist/automation/introspection_reader.js +48 -0
- package/dist/automation/introspection_reader.js.map +1 -0
- package/dist/automation/locator.cjs +102 -0
- package/dist/automation/locator.cjs.map +1 -0
- package/dist/automation/locator.d.cts +51 -0
- package/dist/automation/locator.d.ts +51 -0
- package/dist/automation/locator.js +75 -0
- package/dist/automation/locator.js.map +1 -0
- package/dist/{loader/__fixtures__/views/test/page.load.cjs → automation/observation.cjs} +3 -13
- package/dist/automation/observation.cjs.map +1 -0
- package/dist/automation/observation.d.cts +44 -0
- package/dist/automation/observation.d.ts +44 -0
- package/dist/automation/observation.js +1 -0
- package/dist/automation/observation.js.map +1 -0
- package/dist/{controller/__fixtures__/controllers/test.cjs → automation/receipts.cjs} +3 -15
- package/dist/automation/receipts.cjs.map +1 -0
- package/dist/automation/receipts.d.cts +27 -0
- package/dist/automation/receipts.d.ts +27 -0
- package/dist/automation/receipts.js +1 -0
- package/dist/automation/receipts.js.map +1 -0
- package/dist/automation/scenario.cjs +696 -0
- package/dist/automation/scenario.cjs.map +1 -0
- package/dist/automation/scenario.d.cts +89 -0
- package/dist/automation/scenario.d.ts +89 -0
- package/dist/automation/scenario.js +660 -0
- package/dist/automation/scenario.js.map +1 -0
- package/dist/automation/scrolling.cjs +17 -0
- package/dist/automation/scrolling.cjs.map +1 -0
- package/dist/automation/scrolling.d.cts +51 -0
- package/dist/automation/scrolling.d.ts +51 -0
- package/dist/automation/scrolling.js +1 -0
- package/dist/automation/scrolling.js.map +1 -0
- package/dist/automation/scrolling_executor.cjs +109 -0
- package/dist/automation/scrolling_executor.cjs.map +1 -0
- package/dist/automation/scrolling_executor.d.cts +13 -0
- package/dist/automation/scrolling_executor.d.ts +13 -0
- package/dist/automation/scrolling_executor.js +84 -0
- package/dist/automation/scrolling_executor.js.map +1 -0
- package/dist/automation/target_identity.cjs +17 -0
- package/dist/automation/target_identity.cjs.map +1 -0
- package/dist/automation/target_identity.d.cts +28 -0
- package/dist/automation/target_identity.d.ts +28 -0
- package/dist/automation/target_identity.js +1 -0
- package/dist/automation/target_identity.js.map +1 -0
- package/dist/automation/target_registry.cjs +148 -0
- package/dist/automation/target_registry.cjs.map +1 -0
- package/dist/automation/target_registry.d.cts +32 -0
- package/dist/automation/target_registry.d.ts +32 -0
- package/dist/automation/target_registry.js +122 -0
- package/dist/automation/target_registry.js.map +1 -0
- package/dist/automation/waits.cjs +17 -0
- package/dist/automation/waits.cjs.map +1 -0
- package/dist/automation/waits.d.cts +44 -0
- package/dist/automation/waits.d.ts +44 -0
- package/dist/automation/waits.js +1 -0
- package/dist/automation/waits.js.map +1 -0
- package/dist/automation/waits_executor.cjs +104 -0
- package/dist/automation/waits_executor.cjs.map +1 -0
- package/dist/automation/waits_executor.d.cts +14 -0
- package/dist/automation/waits_executor.d.ts +14 -0
- package/dist/automation/waits_executor.js +79 -0
- package/dist/automation/waits_executor.js.map +1 -0
- package/dist/bridge/backend_bridge.cjs.map +1 -1
- package/dist/bridge/backend_bridge.js.map +1 -1
- package/dist/client/index.cjs +78 -21
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +19 -3
- package/dist/client/index.d.ts +19 -3
- package/dist/client/index.js +80 -22
- package/dist/client/index.js.map +1 -1
- package/dist/client/renderer_log_transport.cjs +151 -0
- package/dist/client/renderer_log_transport.cjs.map +1 -0
- package/dist/client/renderer_log_transport.d.cts +54 -0
- package/dist/client/renderer_log_transport.d.ts +54 -0
- package/dist/client/renderer_log_transport.js +123 -0
- package/dist/client/renderer_log_transport.js.map +1 -0
- package/dist/codegen/controller_registration_generator.cjs +13 -2
- package/dist/codegen/controller_registration_generator.cjs.map +1 -1
- package/dist/codegen/controller_registration_generator.d.cts +12 -1
- package/dist/codegen/controller_registration_generator.d.ts +12 -1
- package/dist/codegen/controller_registration_generator.js +10 -1
- package/dist/codegen/controller_registration_generator.js.map +1 -1
- package/dist/codegen/index.d.cts +1 -0
- package/dist/codegen/index.d.ts +1 -0
- package/dist/codegen/preload_generator.cjs +13 -6
- package/dist/codegen/preload_generator.cjs.map +1 -1
- package/dist/codegen/preload_generator.d.cts +11 -2
- package/dist/codegen/preload_generator.d.ts +11 -2
- package/dist/codegen/preload_generator.js +13 -6
- package/dist/codegen/preload_generator.js.map +1 -1
- package/dist/codegen/renderer_app_generator.cjs +95 -44
- package/dist/codegen/renderer_app_generator.cjs.map +1 -1
- package/dist/codegen/renderer_app_generator.js +95 -44
- package/dist/codegen/renderer_app_generator.js.map +1 -1
- package/dist/codegen/type_generator.cjs +1 -0
- package/dist/codegen/type_generator.cjs.map +1 -1
- package/dist/codegen/type_generator.js +1 -0
- package/dist/codegen/type_generator.js.map +1 -1
- package/dist/config/config_parser.cjs +95 -4
- package/dist/config/config_parser.cjs.map +1 -1
- package/dist/config/config_parser.d.cts +10 -2
- package/dist/config/config_parser.d.ts +10 -2
- package/dist/config/config_parser.js +92 -3
- package/dist/config/config_parser.js.map +1 -1
- package/dist/config/index.cjs +6 -2
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.cts +2 -2
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.js +8 -2
- package/dist/config/index.js.map +1 -1
- package/dist/controller/controller_resolver.cjs +51 -3
- package/dist/controller/controller_resolver.cjs.map +1 -1
- package/dist/controller/controller_resolver.d.cts +27 -4
- package/dist/controller/controller_resolver.d.ts +27 -4
- package/dist/controller/controller_resolver.js +48 -2
- package/dist/controller/controller_resolver.js.map +1 -1
- package/dist/controller/index.cjs +6 -2
- package/dist/controller/index.cjs.map +1 -1
- package/dist/controller/index.d.cts +1 -1
- package/dist/controller/index.d.ts +1 -1
- package/dist/controller/index.js +4 -2
- package/dist/controller/index.js.map +1 -1
- package/dist/dev/wood_dev_server.cjs +4 -1
- package/dist/dev/wood_dev_server.cjs.map +1 -1
- package/dist/dev/wood_dev_server.js +5 -2
- package/dist/dev/wood_dev_server.js.map +1 -1
- package/dist/dev/yaml_watcher.cjs +1 -1
- package/dist/dev/yaml_watcher.cjs.map +1 -1
- package/dist/dev/yaml_watcher.d.cts +4 -0
- package/dist/dev/yaml_watcher.d.ts +4 -0
- package/dist/dev/yaml_watcher.js +1 -1
- package/dist/dev/yaml_watcher.js.map +1 -1
- package/dist/frontend/frontend_lifecycle.cjs +74 -0
- package/dist/frontend/frontend_lifecycle.cjs.map +1 -0
- package/dist/frontend/frontend_lifecycle.d.cts +50 -0
- package/dist/frontend/frontend_lifecycle.d.ts +50 -0
- package/dist/frontend/frontend_lifecycle.js +50 -0
- package/dist/frontend/frontend_lifecycle.js.map +1 -0
- package/dist/frontend/frontend_page.cjs +122 -0
- package/dist/frontend/frontend_page.cjs.map +1 -0
- package/dist/frontend/frontend_page.d.cts +62 -0
- package/dist/frontend/frontend_page.d.ts +62 -0
- package/dist/frontend/frontend_page.js +98 -0
- package/dist/frontend/frontend_page.js.map +1 -0
- package/dist/frontend/frontend_surface.cjs +249 -0
- package/dist/frontend/frontend_surface.cjs.map +1 -0
- package/dist/frontend/frontend_surface.d.cts +64 -0
- package/dist/frontend/frontend_surface.d.ts +64 -0
- package/dist/frontend/frontend_surface.js +224 -0
- package/dist/frontend/frontend_surface.js.map +1 -0
- package/dist/frontend/index.cjs +52 -0
- package/dist/frontend/index.cjs.map +1 -0
- package/dist/frontend/index.d.cts +10 -0
- package/dist/frontend/index.d.ts +10 -0
- package/dist/frontend/index.js +19 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/page_catalog.cjs +135 -0
- package/dist/frontend/page_catalog.cjs.map +1 -0
- package/dist/frontend/page_catalog.d.cts +56 -0
- package/dist/frontend/page_catalog.d.ts +56 -0
- package/dist/frontend/page_catalog.js +108 -0
- package/dist/frontend/page_catalog.js.map +1 -0
- package/dist/frontend/tracked_transport.cjs +55 -0
- package/dist/frontend/tracked_transport.cjs.map +1 -0
- package/dist/frontend/tracked_transport.d.cts +36 -0
- package/dist/frontend/tracked_transport.d.ts +36 -0
- package/dist/frontend/tracked_transport.js +31 -0
- package/dist/frontend/tracked_transport.js.map +1 -0
- package/dist/frontend/work_registry.cjs +153 -0
- package/dist/frontend/work_registry.cjs.map +1 -0
- package/dist/frontend/work_registry.d.cts +70 -0
- package/dist/frontend/work_registry.d.ts +70 -0
- package/dist/frontend/work_registry.js +128 -0
- package/dist/frontend/work_registry.js.map +1 -0
- package/dist/index.cjs +24 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -7
- package/dist/index.d.ts +11 -7
- package/dist/index.js +27 -4
- package/dist/index.js.map +1 -1
- package/dist/main/index.cjs +10 -0
- package/dist/main/index.cjs.map +1 -1
- package/dist/main/index.d.cts +14 -2
- package/dist/main/index.d.ts +14 -2
- package/dist/main/index.js +16 -0
- package/dist/main/index.js.map +1 -1
- package/dist/middleware/middleware_resolver.cjs +22 -1
- package/dist/middleware/middleware_resolver.cjs.map +1 -1
- package/dist/middleware/middleware_resolver.d.cts +13 -1
- package/dist/middleware/middleware_resolver.d.ts +13 -1
- package/dist/middleware/middleware_resolver.js +22 -1
- package/dist/middleware/middleware_resolver.js.map +1 -1
- package/dist/navigation/automation_introspection.cjs +110 -0
- package/dist/navigation/automation_introspection.cjs.map +1 -0
- package/dist/navigation/automation_introspection.d.cts +60 -0
- package/dist/navigation/automation_introspection.d.ts +60 -0
- package/dist/navigation/automation_introspection.js +85 -0
- package/dist/navigation/automation_introspection.js.map +1 -0
- package/dist/navigation/index.cjs +10 -2
- package/dist/navigation/index.cjs.map +1 -1
- package/dist/navigation/index.d.cts +27 -1
- package/dist/navigation/index.d.ts +27 -1
- package/dist/navigation/index.js +6 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/{middleware/__fixtures__/middleware/auth.cjs → navigation/layout_preservation.cjs} +18 -20
- package/dist/navigation/layout_preservation.cjs.map +1 -0
- package/dist/navigation/layout_preservation.d.cts +2 -0
- package/dist/navigation/layout_preservation.d.ts +2 -0
- package/dist/navigation/layout_preservation.js +18 -0
- package/dist/navigation/layout_preservation.js.map +1 -0
- package/dist/parser/index.cjs +2 -0
- package/dist/parser/index.cjs.map +1 -1
- package/dist/parser/index.d.cts +1 -1
- package/dist/parser/index.d.ts +1 -1
- package/dist/parser/index.js +2 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/operations_parser.cjs +6 -0
- package/dist/parser/operations_parser.cjs.map +1 -1
- package/dist/parser/operations_parser.d.cts +9 -2
- package/dist/parser/operations_parser.d.ts +9 -2
- package/dist/parser/operations_parser.js +5 -0
- package/dist/parser/operations_parser.js.map +1 -1
- package/dist/parser/views_parser.cjs.map +1 -1
- package/dist/parser/views_parser.js.map +1 -1
- package/dist/router/index.d.cts +1 -0
- package/dist/router/index.d.ts +1 -0
- package/dist/router/wood_router.cjs +35 -3
- package/dist/router/wood_router.cjs.map +1 -1
- package/dist/router/wood_router.d.cts +15 -0
- package/dist/router/wood_router.d.ts +15 -0
- package/dist/router/wood_router.js +36 -4
- package/dist/router/wood_router.js.map +1 -1
- package/dist/runtime/get_container.cjs +9 -34
- package/dist/runtime/get_container.cjs.map +1 -1
- package/dist/runtime/get_container.d.cts +24 -4
- package/dist/runtime/get_container.d.ts +24 -4
- package/dist/runtime/get_container.js +8 -23
- package/dist/runtime/get_container.js.map +1 -1
- package/dist/runtime/index.cjs +9 -0
- package/dist/runtime/index.cjs.map +1 -1
- package/dist/runtime/index.d.cts +5 -2
- package/dist/runtime/index.d.ts +5 -2
- package/dist/runtime/index.js +10 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/renderer_config_extension.cjs +50 -0
- package/dist/runtime/renderer_config_extension.cjs.map +1 -0
- package/dist/runtime/renderer_config_extension.d.cts +19 -0
- package/dist/runtime/renderer_config_extension.d.ts +19 -0
- package/dist/runtime/renderer_config_extension.js +24 -0
- package/dist/runtime/renderer_config_extension.js.map +1 -0
- package/dist/runtime/renderer_log_batch_receiver.cjs +73 -0
- package/dist/runtime/renderer_log_batch_receiver.cjs.map +1 -0
- package/dist/runtime/renderer_log_batch_receiver.d.cts +29 -0
- package/dist/runtime/renderer_log_batch_receiver.d.ts +29 -0
- package/dist/runtime/renderer_log_batch_receiver.js +48 -0
- package/dist/runtime/renderer_log_batch_receiver.js.map +1 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.cts +1 -1
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.ts +1 -1
- package/dist/runtime/runtime.cjs +14 -0
- package/dist/runtime/runtime.cjs.map +1 -1
- package/dist/runtime/runtime.d.cts +2 -1
- package/dist/runtime/runtime.d.ts +2 -1
- package/dist/runtime/runtime.js +14 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/stick/index.cjs.map +1 -1
- package/dist/stick/index.js.map +1 -1
- package/dist/testing/automation_assertions.cjs +417 -0
- package/dist/testing/automation_assertions.cjs.map +1 -0
- package/dist/testing/automation_assertions.d.cts +44 -0
- package/dist/testing/automation_assertions.d.ts +44 -0
- package/dist/testing/automation_assertions.js +385 -0
- package/dist/testing/automation_assertions.js.map +1 -0
- package/dist/testing/browser.cjs +130 -57
- package/dist/testing/browser.cjs.map +1 -1
- package/dist/testing/browser.d.cts +10 -4
- package/dist/testing/browser.d.ts +10 -4
- package/dist/testing/browser.js +132 -53
- package/dist/testing/browser.js.map +1 -1
- package/dist/testing/create_controller_harness.cjs +28 -8
- package/dist/testing/create_controller_harness.cjs.map +1 -1
- package/dist/testing/create_controller_harness.d.cts +18 -2
- package/dist/testing/create_controller_harness.d.ts +18 -2
- package/dist/testing/create_controller_harness.js +28 -8
- package/dist/testing/create_controller_harness.js.map +1 -1
- package/dist/testing/create_router_bridge.d.cts +1 -0
- package/dist/testing/create_router_bridge.d.ts +1 -0
- package/dist/testing/create_test_router.d.cts +1 -0
- package/dist/testing/create_test_router.d.ts +1 -0
- package/dist/testing/geometry.cjs +109 -0
- package/dist/testing/geometry.cjs.map +1 -0
- package/dist/testing/geometry.d.cts +45 -0
- package/dist/testing/geometry.d.ts +45 -0
- package/dist/testing/geometry.js +79 -0
- package/dist/testing/geometry.js.map +1 -0
- package/dist/testing/index.cjs +62 -2
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +23 -4
- package/dist/testing/index.d.ts +23 -4
- package/dist/testing/index.js +50 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/{controller/__fixtures__/controllers/not_a_class.cjs → testing/test_wood.cjs} +15 -7
- package/dist/testing/test_wood.cjs.map +1 -0
- package/dist/testing/test_wood.d.cts +16 -0
- package/dist/testing/test_wood.d.ts +16 -0
- package/dist/testing/test_wood.js +12 -0
- package/dist/testing/test_wood.js.map +1 -0
- package/dist/testing/test_wood_config.cjs +272 -0
- package/dist/testing/test_wood_config.cjs.map +1 -0
- package/dist/testing/test_wood_config.d.cts +111 -0
- package/dist/testing/test_wood_config.d.ts +111 -0
- package/dist/testing/test_wood_config.js +247 -0
- package/dist/testing/test_wood_config.js.map +1 -0
- package/dist/testing/wood_config_source.cjs +146 -0
- package/dist/testing/wood_config_source.cjs.map +1 -0
- package/dist/testing/wood_config_source.d.cts +36 -0
- package/dist/testing/wood_config_source.d.ts +36 -0
- package/dist/testing/wood_config_source.js +112 -0
- package/dist/testing/wood_config_source.js.map +1 -0
- package/dist/testing/wood_env_renderer.cjs +210 -0
- package/dist/testing/wood_env_renderer.cjs.map +1 -0
- package/dist/testing/wood_env_renderer.d.cts +74 -0
- package/dist/testing/wood_env_renderer.d.ts +74 -0
- package/dist/testing/wood_env_renderer.js +188 -0
- package/dist/testing/wood_env_renderer.js.map +1 -0
- package/dist/testing/wood_test_selection.cjs +94 -0
- package/dist/testing/wood_test_selection.cjs.map +1 -0
- package/dist/testing/wood_test_selection.d.cts +39 -0
- package/dist/testing/wood_test_selection.d.ts +39 -0
- package/dist/testing/wood_test_selection.js +68 -0
- package/dist/testing/wood_test_selection.js.map +1 -0
- package/dist/trace-testing/index.d.cts +1 -2
- package/dist/trace-testing/index.d.ts +1 -2
- package/dist/trace-testing/trace_recorder.cjs +1 -1
- package/dist/trace-testing/trace_recorder.cjs.map +1 -1
- package/dist/trace-testing/trace_recorder.d.cts +1 -2
- package/dist/trace-testing/trace_recorder.d.ts +1 -2
- package/dist/trace-testing/trace_recorder.js +1 -1
- package/dist/trace-testing/trace_recorder.js.map +1 -1
- package/dist/trace-transport/index.d.cts +1 -1
- package/dist/trace-transport/index.d.ts +1 -1
- package/dist/{trace_hub-Cob54qRx.d.cts → trace_hub-Cpo_nVze.d.cts} +21 -1
- package/dist/{trace_hub-Cob54qRx.d.ts → trace_hub-Cpo_nVze.d.ts} +21 -1
- package/dist/tracing/index.cjs +9 -2
- package/dist/tracing/index.cjs.map +1 -1
- package/dist/tracing/index.d.cts +3 -2
- package/dist/tracing/index.d.ts +3 -2
- package/dist/tracing/index.js +7 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/renderer_trace_batch_host.d.cts +1 -1
- package/dist/tracing/renderer_trace_batch_host.d.ts +1 -1
- package/dist/tracing/renderer_trace_batch_transport.cjs +48 -6
- package/dist/tracing/renderer_trace_batch_transport.cjs.map +1 -1
- package/dist/tracing/renderer_trace_batch_transport.d.cts +17 -1
- package/dist/tracing/renderer_trace_batch_transport.d.ts +17 -1
- package/dist/tracing/renderer_trace_batch_transport.js +48 -6
- package/dist/tracing/renderer_trace_batch_transport.js.map +1 -1
- package/dist/tracing/trace_batch_adapter.cjs +110 -0
- package/dist/tracing/trace_batch_adapter.cjs.map +1 -0
- package/dist/tracing/trace_batch_adapter.d.cts +36 -0
- package/dist/tracing/trace_batch_adapter.d.ts +36 -0
- package/dist/tracing/trace_batch_adapter.js +86 -0
- package/dist/tracing/trace_batch_adapter.js.map +1 -0
- package/dist/tracing/trace_commit_writer.d.cts +1 -1
- package/dist/tracing/trace_commit_writer.d.ts +1 -1
- package/dist/tracing/trace_hub.cjs +87 -20
- package/dist/tracing/trace_hub.cjs.map +1 -1
- package/dist/tracing/trace_hub.d.cts +1 -1
- package/dist/tracing/trace_hub.d.ts +1 -1
- package/dist/tracing/trace_hub.js +85 -20
- package/dist/tracing/trace_hub.js.map +1 -1
- package/dist/tracing/trace_provider.cjs +21 -6
- package/dist/tracing/trace_provider.cjs.map +1 -1
- package/dist/tracing/trace_provider.d.cts +13 -4
- package/dist/tracing/trace_provider.d.ts +13 -4
- package/dist/tracing/trace_provider.js +22 -7
- package/dist/tracing/trace_provider.js.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.cjs.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.d.cts +15 -1
- package/dist/tracing/types/wood_trace_batch.types.d.ts +15 -1
- package/dist/tracing/types/wood_trace_sink.types.d.cts +1 -1
- package/dist/tracing/types/wood_trace_sink.types.d.ts +1 -1
- package/dist/tracing/wood_trace_batch_contract.cjs +2 -0
- package/dist/tracing/wood_trace_batch_contract.cjs.map +1 -1
- package/dist/tracing/wood_trace_batch_contract.d.cts +1 -1
- package/dist/tracing/wood_trace_batch_contract.d.ts +1 -1
- package/dist/tracing/wood_trace_batch_contract.js +2 -0
- package/dist/tracing/wood_trace_batch_contract.js.map +1 -1
- package/dist/transport/build_transport_bridge.cjs +4 -2
- package/dist/transport/build_transport_bridge.cjs.map +1 -1
- package/dist/transport/build_transport_bridge.d.cts +7 -1
- package/dist/transport/build_transport_bridge.d.ts +7 -1
- package/dist/transport/build_transport_bridge.js +2 -1
- package/dist/transport/build_transport_bridge.js.map +1 -1
- package/dist/transport/in_process_router_transport.d.cts +1 -0
- package/dist/transport/in_process_router_transport.d.ts +1 -0
- package/dist/transport/index.d.cts +1 -0
- package/dist/transport/index.d.ts +1 -0
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.cts +47 -1
- package/dist/types/config.d.ts +47 -1
- package/dist/types/context.cjs +12 -0
- package/dist/types/context.cjs.map +1 -1
- package/dist/types/context.d.cts +27 -1
- package/dist/types/context.d.ts +27 -1
- package/dist/types/context.js +4 -0
- package/dist/types/context.js.map +1 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/operations.cjs.map +1 -1
- package/dist/types/operations.d.cts +2 -0
- package/dist/types/operations.d.ts +2 -0
- package/docs/axe.md +706 -0
- package/package.json +19 -5
- package/src/components/NavigationShell.scopes.browser.test.ts +363 -0
- package/src/components/NavigationShell.svelte +126 -49
- package/dist/controller/__fixtures__/controllers/chat.cjs +0 -32
- package/dist/controller/__fixtures__/controllers/chat.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/chat.d.cts +0 -11
- package/dist/controller/__fixtures__/controllers/chat.d.ts +0 -11
- package/dist/controller/__fixtures__/controllers/chat.js +0 -12
- package/dist/controller/__fixtures__/controllers/chat.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/not_a_class.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/not_a_class.d.cts +0 -3
- package/dist/controller/__fixtures__/controllers/not_a_class.d.ts +0 -3
- package/dist/controller/__fixtures__/controllers/not_a_class.js +0 -5
- package/dist/controller/__fixtures__/controllers/not_a_class.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/settings.controller.cjs +0 -32
- package/dist/controller/__fixtures__/controllers/settings.controller.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/settings.controller.d.cts +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.d.ts +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.js +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/test.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/test.d.cts +0 -7
- package/dist/controller/__fixtures__/controllers/test.d.ts +0 -7
- package/dist/controller/__fixtures__/controllers/test.js +0 -9
- package/dist/controller/__fixtures__/controllers/test.js.map +0 -1
- package/dist/loader/__fixtures__/layouts/app.load.cjs.map +0 -1
- package/dist/loader/__fixtures__/layouts/app.load.d.cts +0 -5
- package/dist/loader/__fixtures__/layouts/app.load.d.ts +0 -5
- package/dist/loader/__fixtures__/layouts/app.load.js +0 -7
- package/dist/loader/__fixtures__/layouts/app.load.js.map +0 -1
- package/dist/loader/__fixtures__/views/test/page.load.cjs.map +0 -1
- package/dist/loader/__fixtures__/views/test/page.load.d.cts +0 -6
- package/dist/loader/__fixtures__/views/test/page.load.d.ts +0 -6
- package/dist/loader/__fixtures__/views/test/page.load.js +0 -7
- package/dist/loader/__fixtures__/views/test/page.load.js.map +0 -1
- package/dist/middleware/__fixtures__/middleware/auth.cjs.map +0 -1
- package/dist/middleware/__fixtures__/middleware/auth.d.cts +0 -6
- package/dist/middleware/__fixtures__/middleware/auth.d.ts +0 -6
- package/dist/middleware/__fixtures__/middleware/auth.js +0 -19
- package/dist/middleware/__fixtures__/middleware/auth.js.map +0 -1
- package/dist/middleware/__fixtures__/middleware/sequence.cjs.map +0 -1
- package/dist/middleware/__fixtures__/middleware/sequence.d.cts +0 -7
- package/dist/middleware/__fixtures__/middleware/sequence.d.ts +0 -7
- package/dist/middleware/__fixtures__/middleware/sequence.js +0 -21
- package/dist/middleware/__fixtures__/middleware/sequence.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Declarative Electron desktop apps using the noego ecosystem.
|
|
4
4
|
|
|
5
|
-
`@noego/wood` provides config parsing, operation/view parsing, IPC routing,
|
|
5
|
+
`@noego/wood` provides config parsing, operation/view parsing, IPC routing,
|
|
6
|
+
runtime wiring, code generation, tracing, testing helpers, and CLI utilities for
|
|
7
|
+
building Electron applications with Svelte-based renderer flows.
|
|
6
8
|
|
|
7
9
|
## Install
|
|
8
10
|
|
|
@@ -14,14 +16,12 @@ Peer dependencies used by the package include:
|
|
|
14
16
|
|
|
15
17
|
- `electron >=28`
|
|
16
18
|
- `svelte ^5`
|
|
17
|
-
-
|
|
18
|
-
- `
|
|
19
|
-
- `sqlstack`
|
|
20
|
-
- `@noego/proper`
|
|
19
|
+
- `@sveltejs/vite-plugin-svelte ^4` (optional)
|
|
20
|
+
- `playwright ^1.40.0` (optional; required by browser testing and Axe)
|
|
21
21
|
|
|
22
|
-
## Package
|
|
22
|
+
## Package entry points
|
|
23
23
|
|
|
24
|
-
The package publishes
|
|
24
|
+
The package publishes ESM and CommonJS builds through `exports`.
|
|
25
25
|
|
|
26
26
|
Primary entry points:
|
|
27
27
|
|
|
@@ -31,9 +31,13 @@ Primary entry points:
|
|
|
31
31
|
- `@noego/wood/client`
|
|
32
32
|
- `@noego/wood/ipc`
|
|
33
33
|
- `@noego/wood/navigation`
|
|
34
|
+
- `@noego/wood/runtime`
|
|
35
|
+
- `@noego/wood/transport`
|
|
36
|
+
- `@noego/wood/trace-transport`
|
|
34
37
|
- `@noego/wood/stick`
|
|
35
38
|
- `@noego/wood/testing`
|
|
36
39
|
- `@noego/wood/trace-testing`
|
|
40
|
+
- `@noego/wood/dev`
|
|
37
41
|
- `@noego/wood/loader`
|
|
38
42
|
|
|
39
43
|
Svelte component exports:
|
|
@@ -57,12 +61,17 @@ The root package exports the main framework surface, including:
|
|
|
57
61
|
- `BackendBridge`
|
|
58
62
|
- `WindowManager`
|
|
59
63
|
- `runtime`
|
|
60
|
-
- code generators such as `generatePreload`, `generateRuntime`,
|
|
64
|
+
- code generators such as `generatePreload`, `generateRuntime`,
|
|
65
|
+
`generateRendererApp`, and `generateTypes`
|
|
61
66
|
|
|
62
67
|
Example:
|
|
63
68
|
|
|
64
69
|
```ts
|
|
65
|
-
import {
|
|
70
|
+
import {
|
|
71
|
+
generateRuntime,
|
|
72
|
+
parseOperationsFile,
|
|
73
|
+
parseViewsFile,
|
|
74
|
+
} from '@noego/wood';
|
|
66
75
|
|
|
67
76
|
const operations = parseOperationsFile('operations/chat.yaml');
|
|
68
77
|
const views = parseViewsFile('views/app.yaml');
|
|
@@ -79,15 +88,15 @@ Controllers may optionally implement `dispose(): void | Promise<void>`.
|
|
|
79
88
|
|
|
80
89
|
`WoodRouter` resolves a controller for each dispatch and calls `dispose()` in a
|
|
81
90
|
`finally` block after the action completes or throws. Use `dispose()` to
|
|
82
|
-
unsubscribe from streams, unregister listeners, or release other
|
|
83
|
-
resources.
|
|
91
|
+
unsubscribe from streams, unregister listeners, or release other
|
|
92
|
+
controller-owned resources.
|
|
84
93
|
|
|
85
94
|
## Tracing
|
|
86
95
|
|
|
87
|
-
Wood tracing records structured runtime events that describe how a flow ran,
|
|
88
|
-
|
|
89
|
-
streaming flows, recovery paths, routing decisions, and any behavior
|
|
90
|
-
need to prove which stages triggered and what each stage produced.
|
|
96
|
+
Wood tracing records structured runtime events that describe how a flow ran,
|
|
97
|
+
not only what it returned. Use traces for async pipelines, renderer/main
|
|
98
|
+
handoffs, streaming flows, recovery paths, routing decisions, and any behavior
|
|
99
|
+
where tests need to prove which stages triggered and what each stage produced.
|
|
91
100
|
|
|
92
101
|
Application code emits traces through `TraceProvider`:
|
|
93
102
|
|
|
@@ -108,7 +117,7 @@ export class DocumentService {
|
|
|
108
117
|
payload: { documentId, byteLength },
|
|
109
118
|
});
|
|
110
119
|
|
|
111
|
-
//
|
|
120
|
+
// Perform the work...
|
|
112
121
|
|
|
113
122
|
this.trace.info({
|
|
114
123
|
source: 'document.service',
|
|
@@ -144,8 +153,8 @@ Guidelines:
|
|
|
144
153
|
`thing.failed`.
|
|
145
154
|
- Include identifiers needed to correlate the flow, especially
|
|
146
155
|
`conversationId` for conversation work.
|
|
147
|
-
- Keep payloads structured and small
|
|
148
|
-
decision fields,
|
|
156
|
+
- Keep payloads structured and small. Counts, selected route/model names,
|
|
157
|
+
decision fields, IDs, and sizes are usually better than full data blobs.
|
|
149
158
|
- Use `info` for normal lifecycle events, `warn` for recoverable surprises, and
|
|
150
159
|
`error` for failures.
|
|
151
160
|
- Trace values before and after any stage that can transform, overwrite, skip,
|
|
@@ -153,29 +162,71 @@ Guidelines:
|
|
|
153
162
|
|
|
154
163
|
## CLI
|
|
155
164
|
|
|
156
|
-
|
|
165
|
+
The package includes three executables:
|
|
157
166
|
|
|
158
|
-
- `wood`
|
|
159
|
-
- `stick`
|
|
167
|
+
- `wood` — generate and run/build a Wood Electron application;
|
|
168
|
+
- `stick` — render/test a known component or state boundary;
|
|
169
|
+
- `axe` — attach to and drive an already-running Wood development app through
|
|
170
|
+
Playwright/CDP.
|
|
160
171
|
|
|
161
|
-
`wood`
|
|
172
|
+
### `wood`
|
|
162
173
|
|
|
163
174
|
```bash
|
|
164
175
|
wood dev
|
|
165
176
|
wood build
|
|
166
177
|
```
|
|
167
178
|
|
|
168
|
-
Both commands generate project artifacts and pass remaining options through to
|
|
179
|
+
Both commands generate project artifacts and pass remaining options through to
|
|
180
|
+
`electron-vite`.
|
|
181
|
+
|
|
182
|
+
### `axe`
|
|
183
|
+
|
|
184
|
+
Start the app first, then invoke Axe from the same project root:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npx wood dev
|
|
188
|
+
|
|
189
|
+
# In another terminal:
|
|
190
|
+
npx axe targets
|
|
191
|
+
npx axe click '[data-testid="settings-nav"]' --window main
|
|
192
|
+
npx axe screenshot artifacts/settings.png --window main
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
The currently shipped Axe commands are:
|
|
196
|
+
|
|
197
|
+
```text
|
|
198
|
+
axe targets [--window <windowId>]
|
|
199
|
+
axe js [--window <windowId>]
|
|
200
|
+
axe click <selector> [--window <windowId>]
|
|
201
|
+
axe type <selector> <text> [--window <windowId>]
|
|
202
|
+
axe screenshot [path] [--window <windowId>]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Important current boundaries:
|
|
206
|
+
|
|
207
|
+
- every command reconnects and performs one operation;
|
|
208
|
+
- without `--window`, Axe selects the first discovered page;
|
|
209
|
+
- `defaultRoute` reported by `axe targets` is the window's configured default,
|
|
210
|
+
not necessarily the currently displayed Wood route;
|
|
211
|
+
- the current `type` command uses Playwright `fill()` semantics;
|
|
212
|
+
- `axe js` is an unrestricted developer debugging escape hatch and does not
|
|
213
|
+
prove a real UI path.
|
|
214
|
+
|
|
215
|
+
The planned full-app driver direction adds deterministic target identity,
|
|
216
|
+
current-route introspection, persistent scenarios, semantic locators, explicit
|
|
217
|
+
postconditions, nested and virtual scrolling, structured receipts, and failure
|
|
218
|
+
evidence. See [Axe — Live Wood App Driver](./docs/axe.md) for the current API,
|
|
219
|
+
limitations, and design.
|
|
169
220
|
|
|
170
221
|
### Generated client contracts
|
|
171
222
|
|
|
172
|
-
`wood dev` and `wood build` generate `ui/generated/wood.d.ts` from the
|
|
173
|
-
|
|
223
|
+
`wood dev` and `wood build` generate `ui/generated/wood.d.ts` from the operation
|
|
224
|
+
manifest. It exports two project-specific contracts:
|
|
174
225
|
|
|
175
226
|
- `GeneratedApp` matches `@noego/wood/client` `getApp()` and injected `App`
|
|
176
|
-
instances: controller name
|
|
227
|
+
instances: controller name → controller action.
|
|
177
228
|
- `GeneratedWoodBridge` matches the raw preload bridge path: operation channel
|
|
178
|
-
segments
|
|
229
|
+
segments → invoke function.
|
|
179
230
|
- `WoodRpcApi` remains as a backward-compatible alias for `GeneratedApp`.
|
|
180
231
|
|
|
181
232
|
Use `GeneratedApp` when testing renderer services that call the injected client
|
|
@@ -211,7 +262,9 @@ Publishing runs the same checks through `prepublishOnly`.
|
|
|
211
262
|
|
|
212
263
|
## Testing
|
|
213
264
|
|
|
214
|
-
|
|
265
|
+
### Browser harness
|
|
266
|
+
|
|
267
|
+
Wood publishes browser-testing helpers from `@noego/wood/testing`:
|
|
215
268
|
|
|
216
269
|
```ts
|
|
217
270
|
import { browser } from '@noego/wood/testing';
|
|
@@ -227,10 +280,15 @@ const harness = await browser.createHarness({
|
|
|
227
280
|
},
|
|
228
281
|
});
|
|
229
282
|
|
|
230
|
-
|
|
231
|
-
await
|
|
283
|
+
try {
|
|
284
|
+
const mounted = await harness.mountComponent(
|
|
285
|
+
'ui/components/StatusPanel.svelte',
|
|
286
|
+
);
|
|
232
287
|
|
|
233
|
-
await
|
|
288
|
+
await mounted.expect.visible('[data-testid="status-panel"]');
|
|
289
|
+
} finally {
|
|
290
|
+
await harness.destroy();
|
|
291
|
+
}
|
|
234
292
|
```
|
|
235
293
|
|
|
236
294
|
The browser harness starts Vite with the Svelte plugin, launches Playwright,
|
|
@@ -238,13 +296,29 @@ installs a controlled Wood bridge fixture, and can mount individual Svelte
|
|
|
238
296
|
components, layered Wood trees, or Wood routes from a views config.
|
|
239
297
|
|
|
240
298
|
Use it for renderer behavior that needs real CSS, browser layout, animation
|
|
241
|
-
frames,
|
|
242
|
-
Keep pure service and state tests in Node.
|
|
299
|
+
frames, paint order, clipping, hit testing, or route/controller wiring without
|
|
300
|
+
booting Electron. Keep pure service and state tests in Node.
|
|
301
|
+
|
|
302
|
+
The harness includes geometry and interaction assertions such as visibility,
|
|
303
|
+
viewport containment, clipping, overlap, hit testing, click reachability,
|
|
304
|
+
paint-order front/behind, painted coverage, alignment, spacing, animation
|
|
305
|
+
stability, and screenshots.
|
|
306
|
+
|
|
307
|
+
See [Browser Testing](./docs/browser-testing.md) for the full API and boundary
|
|
308
|
+
notes.
|
|
309
|
+
|
|
310
|
+
### Live-app testing
|
|
311
|
+
|
|
312
|
+
Use Axe when the boundary being tested is the real running Electron app rather
|
|
313
|
+
than an isolated renderer mount. Do not make a broad Axe workflow the only test
|
|
314
|
+
for logic owned by a producer, controller, reducer, service, or persistence
|
|
315
|
+
layer.
|
|
316
|
+
|
|
317
|
+
See [Axe — Live Wood App Driver](./docs/axe.md).
|
|
243
318
|
|
|
244
|
-
|
|
245
|
-
boundary notes.
|
|
319
|
+
### Trace testing
|
|
246
320
|
|
|
247
|
-
Wood
|
|
321
|
+
Wood publishes trace-testing helpers from `@noego/wood/trace-testing`.
|
|
248
322
|
`TraceRecorder` subscribes to the same trace stream as production tracing and
|
|
249
323
|
keeps an in-memory buffer for assertions.
|
|
250
324
|
|
|
@@ -269,7 +343,7 @@ traceRecorder.disable();
|
|
|
269
343
|
```
|
|
270
344
|
|
|
271
345
|
Use trace assertions when the runtime story is part of the contract: branch
|
|
272
|
-
selection, model or route choice, repeated
|
|
346
|
+
selection, model or route choice, repeated-work budgets, emitted payload sizes,
|
|
273
347
|
failure/recovery paths, or renderer-to-main ordering. `TraceRecorder` also
|
|
274
348
|
provides `events()` for raw inspection and `waitForTrace(...)` for async browser
|
|
275
349
|
or streaming scenarios.
|
|
@@ -281,7 +355,8 @@ Publishing is handled by the `Publish` GitHub Actions workflow.
|
|
|
281
355
|
Prerequisites:
|
|
282
356
|
|
|
283
357
|
- Add an npm automation token as the repository secret `NPM_TOKEN`.
|
|
284
|
-
- Bump `package.json` and `package-lock.json` to a version that is not already
|
|
358
|
+
- Bump `package.json` and `package-lock.json` to a version that is not already
|
|
359
|
+
published.
|
|
285
360
|
- Commit the version bump on `main`.
|
|
286
361
|
|
|
287
362
|
Release flow:
|
|
@@ -292,9 +367,10 @@ git push origin main
|
|
|
292
367
|
git push origin main:release
|
|
293
368
|
```
|
|
294
369
|
|
|
295
|
-
The workflow runs when the `release` branch is updated. It runs
|
|
296
|
-
through `npm publish` and publishes the package to npm.
|
|
370
|
+
The workflow runs when the `release` branch is updated. It runs
|
|
371
|
+
`prepublishOnly` through `npm publish` and publishes the package to npm.
|
|
297
372
|
|
|
298
|
-
## Design
|
|
373
|
+
## Design notes
|
|
299
374
|
|
|
300
|
-
High-level architecture and config format notes live in
|
|
375
|
+
High-level architecture and config format notes live in
|
|
376
|
+
[DESIGN.md](./DESIGN.md).
|