@noego/wood 0.4.6 → 0.4.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/bin/wood.js +6 -1
- package/dist/client/app_env.cjs +39 -0
- package/dist/client/app_env.cjs.map +1 -0
- package/dist/client/app_env.d.cts +7 -0
- package/dist/client/app_env.d.ts +7 -0
- package/dist/client/app_env.js +14 -0
- package/dist/client/app_env.js.map +1 -0
- package/dist/client/index.cjs +33 -9
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +5 -1
- package/dist/client/index.d.ts +5 -1
- package/dist/client/index.js +32 -9
- package/dist/client/index.js.map +1 -1
- package/dist/codegen/channel_map_generator.cjs +102 -0
- package/dist/codegen/channel_map_generator.cjs.map +1 -0
- package/dist/codegen/channel_map_generator.d.cts +6 -0
- package/dist/codegen/channel_map_generator.d.ts +6 -0
- package/dist/codegen/channel_map_generator.js +78 -0
- package/dist/codegen/channel_map_generator.js.map +1 -0
- package/dist/codegen/controller_registration_generator.cjs +6 -1
- package/dist/codegen/controller_registration_generator.cjs.map +1 -1
- package/dist/codegen/controller_registration_generator.js +6 -1
- package/dist/codegen/controller_registration_generator.js.map +1 -1
- package/dist/codegen/generated_file_notice.cjs +40 -0
- package/dist/codegen/generated_file_notice.cjs.map +1 -0
- package/dist/codegen/generated_file_notice.d.cts +3 -0
- package/dist/codegen/generated_file_notice.d.ts +3 -0
- package/dist/codegen/generated_file_notice.js +16 -0
- package/dist/codegen/generated_file_notice.js.map +1 -0
- package/dist/codegen/index.cjs +3 -0
- package/dist/codegen/index.cjs.map +1 -1
- package/dist/codegen/index.d.cts +1 -0
- package/dist/codegen/index.d.ts +1 -0
- package/dist/codegen/index.js +2 -0
- package/dist/codegen/index.js.map +1 -1
- package/dist/codegen/preload_generator.cjs +97 -1
- package/dist/codegen/preload_generator.cjs.map +1 -1
- package/dist/codegen/preload_generator.js +97 -1
- package/dist/codegen/preload_generator.js.map +1 -1
- package/dist/codegen/renderer_app_generator.cjs +6 -1
- package/dist/codegen/renderer_app_generator.cjs.map +1 -1
- package/dist/codegen/renderer_app_generator.js +6 -1
- package/dist/codegen/renderer_app_generator.js.map +1 -1
- package/dist/codegen/renderer_controller_registration_generator.cjs +6 -1
- package/dist/codegen/renderer_controller_registration_generator.cjs.map +1 -1
- package/dist/codegen/renderer_controller_registration_generator.js +6 -1
- package/dist/codegen/renderer_controller_registration_generator.js.map +1 -1
- package/dist/codegen/renderer_view_manifest_generator.cjs +6 -1
- package/dist/codegen/renderer_view_manifest_generator.cjs.map +1 -1
- package/dist/codegen/renderer_view_manifest_generator.js +6 -1
- package/dist/codegen/renderer_view_manifest_generator.js.map +1 -1
- package/dist/codegen/runtime_generator.cjs +6 -1
- package/dist/codegen/runtime_generator.cjs.map +1 -1
- package/dist/codegen/runtime_generator.js +6 -1
- package/dist/codegen/runtime_generator.js.map +1 -1
- package/dist/codegen/test_mock_generator.cjs +5 -1
- package/dist/codegen/test_mock_generator.cjs.map +1 -1
- package/dist/codegen/test_mock_generator.js +5 -1
- package/dist/codegen/test_mock_generator.js.map +1 -1
- package/dist/codegen/type_generator.cjs +6 -1
- package/dist/codegen/type_generator.cjs.map +1 -1
- package/dist/codegen/type_generator.js +6 -1
- package/dist/codegen/type_generator.js.map +1 -1
- package/dist/index.cjs +19 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/main/index.cjs +133 -55
- package/dist/main/index.cjs.map +1 -1
- package/dist/main/index.d.cts +30 -2
- package/dist/main/index.d.ts +30 -2
- package/dist/main/index.js +134 -55
- package/dist/main/index.js.map +1 -1
- package/dist/main/renderer_trace_drain_coordinator.cjs +127 -0
- package/dist/main/renderer_trace_drain_coordinator.cjs.map +1 -0
- package/dist/main/renderer_trace_drain_coordinator.d.cts +46 -0
- package/dist/main/renderer_trace_drain_coordinator.d.ts +46 -0
- package/dist/main/renderer_trace_drain_coordinator.js +101 -0
- package/dist/main/renderer_trace_drain_coordinator.js.map +1 -0
- package/dist/router/wood_router.cjs +9 -1
- package/dist/router/wood_router.cjs.map +1 -1
- package/dist/router/wood_router.d.cts +1 -1
- package/dist/router/wood_router.d.ts +1 -1
- package/dist/router/wood_router.js +9 -1
- package/dist/router/wood_router.js.map +1 -1
- package/dist/runtime/app_env.cjs +52 -0
- package/dist/runtime/app_env.cjs.map +1 -0
- package/dist/runtime/app_env.d.cts +10 -0
- package/dist/runtime/app_env.d.ts +10 -0
- package/dist/runtime/app_env.js +18 -0
- package/dist/runtime/app_env.js.map +1 -0
- package/dist/runtime/index.cjs +9 -2
- package/dist/runtime/index.cjs.map +1 -1
- package/dist/runtime/index.d.cts +5 -1
- package/dist/runtime/index.d.ts +5 -1
- package/dist/runtime/index.js +9 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/renderer_log_dispatcher.cjs.map +1 -1
- package/dist/runtime/renderer_log_dispatcher.d.cts +1 -1
- package/dist/runtime/renderer_log_dispatcher.d.ts +1 -1
- package/dist/runtime/renderer_log_dispatcher.js.map +1 -1
- package/dist/runtime/renderer_trace_batch_receiver_registry.cjs +50 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.cjs.map +1 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.cts +10 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.ts +10 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.js +24 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.js.map +1 -0
- package/dist/runtime/runtime.cjs +75 -57
- package/dist/runtime/runtime.cjs.map +1 -1
- package/dist/runtime/runtime.d.cts +8 -1
- package/dist/runtime/runtime.d.ts +8 -1
- package/dist/runtime/runtime.js +80 -58
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/testing/browser.cjs +540 -11
- package/dist/testing/browser.cjs.map +1 -1
- package/dist/testing/browser.d.cts +219 -3
- package/dist/testing/browser.d.ts +219 -3
- package/dist/testing/browser.js +540 -11
- package/dist/testing/browser.js.map +1 -1
- package/dist/testing/create_controller_harness.d.cts +1 -1
- package/dist/testing/create_controller_harness.d.ts +1 -1
- package/dist/testing/index.cjs +13 -0
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +7 -2
- package/dist/testing/index.d.ts +7 -2
- package/dist/testing/index.js +14 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/trace-testing/index.d.cts +1 -1
- package/dist/trace-testing/index.d.ts +1 -1
- package/dist/trace-testing/trace_recorder.d.cts +1 -1
- package/dist/trace-testing/trace_recorder.d.ts +1 -1
- package/dist/trace-transport/index.cjs +32 -0
- package/dist/trace-transport/index.cjs.map +1 -0
- package/dist/trace-transport/index.d.cts +6 -0
- package/dist/trace-transport/index.d.ts +6 -0
- package/dist/trace-transport/index.js +7 -0
- package/dist/trace-transport/index.js.map +1 -0
- package/dist/trace_hub-Cob54qRx.d.cts +56 -0
- package/dist/trace_hub-Cob54qRx.d.ts +56 -0
- package/dist/tracing/index.cjs +14 -0
- package/dist/tracing/index.cjs.map +1 -1
- package/dist/tracing/index.d.cts +7 -1
- package/dist/tracing/index.d.ts +7 -1
- package/dist/tracing/index.js +12 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/renderer_trace_batch_host.cjs +80 -0
- package/dist/tracing/renderer_trace_batch_host.cjs.map +1 -0
- package/dist/tracing/renderer_trace_batch_host.d.cts +16 -0
- package/dist/tracing/renderer_trace_batch_host.d.ts +16 -0
- package/dist/tracing/renderer_trace_batch_host.js +56 -0
- package/dist/tracing/renderer_trace_batch_host.js.map +1 -0
- package/dist/tracing/renderer_trace_batch_transport.cjs +313 -0
- package/dist/tracing/renderer_trace_batch_transport.cjs.map +1 -0
- package/dist/tracing/renderer_trace_batch_transport.d.cts +53 -0
- package/dist/tracing/renderer_trace_batch_transport.d.ts +53 -0
- package/dist/tracing/renderer_trace_batch_transport.js +292 -0
- package/dist/tracing/renderer_trace_batch_transport.js.map +1 -0
- package/dist/tracing/trace_commit_writer.cjs +159 -0
- package/dist/tracing/trace_commit_writer.cjs.map +1 -0
- package/dist/tracing/trace_commit_writer.d.cts +97 -0
- package/dist/tracing/trace_commit_writer.d.ts +97 -0
- package/dist/tracing/trace_commit_writer.js +135 -0
- package/dist/tracing/trace_commit_writer.js.map +1 -0
- package/dist/tracing/trace_hub.cjs +58 -3
- package/dist/tracing/trace_hub.cjs.map +1 -1
- package/dist/tracing/trace_hub.d.cts +2 -46
- package/dist/tracing/trace_hub.d.ts +2 -46
- package/dist/tracing/trace_hub.js +56 -3
- package/dist/tracing/trace_hub.js.map +1 -1
- package/dist/tracing/trace_provider.cjs +42 -12
- package/dist/tracing/trace_provider.cjs.map +1 -1
- package/dist/tracing/trace_provider.d.cts +15 -1
- package/dist/tracing/trace_provider.d.ts +15 -1
- package/dist/tracing/trace_provider.js +43 -12
- package/dist/tracing/trace_provider.js.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.cjs +17 -0
- package/dist/tracing/types/wood_trace_batch.types.cjs.map +1 -0
- package/dist/tracing/types/wood_trace_batch.types.d.cts +124 -0
- package/dist/tracing/types/wood_trace_batch.types.d.ts +124 -0
- package/dist/tracing/types/wood_trace_batch.types.js +1 -0
- package/dist/tracing/types/wood_trace_batch.types.js.map +1 -0
- package/dist/tracing/types/wood_trace_sink.types.cjs +17 -0
- package/dist/tracing/types/wood_trace_sink.types.cjs.map +1 -0
- package/dist/tracing/types/wood_trace_sink.types.d.cts +2 -0
- package/dist/tracing/types/wood_trace_sink.types.d.ts +2 -0
- package/dist/tracing/types/wood_trace_sink.types.js +1 -0
- package/dist/tracing/types/wood_trace_sink.types.js.map +1 -0
- package/dist/tracing/wood_trace_batch_contract.cjs +229 -0
- package/dist/tracing/wood_trace_batch_contract.cjs.map +1 -0
- package/dist/tracing/wood_trace_batch_contract.d.cts +23 -0
- package/dist/tracing/wood_trace_batch_contract.d.ts +23 -0
- package/dist/tracing/wood_trace_batch_contract.js +205 -0
- package/dist/tracing/wood_trace_batch_contract.js.map +1 -0
- package/dist/transport/build_transport_bridge.cjs +62 -0
- package/dist/transport/build_transport_bridge.cjs.map +1 -0
- package/dist/transport/build_transport_bridge.d.cts +29 -0
- package/dist/transport/build_transport_bridge.d.ts +29 -0
- package/dist/transport/build_transport_bridge.js +38 -0
- package/dist/transport/build_transport_bridge.js.map +1 -0
- package/dist/transport/in_process_router_transport.cjs +41 -0
- package/dist/transport/in_process_router_transport.cjs.map +1 -0
- package/dist/transport/in_process_router_transport.d.cts +31 -0
- package/dist/transport/in_process_router_transport.d.ts +31 -0
- package/dist/transport/in_process_router_transport.js +17 -0
- package/dist/transport/in_process_router_transport.js.map +1 -0
- package/dist/transport/index.cjs +42 -0
- package/dist/transport/index.cjs.map +1 -0
- package/dist/transport/index.d.cts +8 -0
- package/dist/transport/index.d.ts +8 -0
- package/dist/transport/index.js +19 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/loopback_remote_transport.cjs +270 -0
- package/dist/transport/loopback_remote_transport.cjs.map +1 -0
- package/dist/transport/loopback_remote_transport.d.cts +49 -0
- package/dist/transport/loopback_remote_transport.d.ts +49 -0
- package/dist/transport/loopback_remote_transport.js +237 -0
- package/dist/transport/loopback_remote_transport.js.map +1 -0
- package/dist/transport/loopback_serialization.cjs +116 -0
- package/dist/transport/loopback_serialization.cjs.map +1 -0
- package/dist/transport/loopback_serialization.d.cts +28 -0
- package/dist/transport/loopback_serialization.d.ts +28 -0
- package/dist/transport/loopback_serialization.js +91 -0
- package/dist/transport/loopback_serialization.js.map +1 -0
- package/dist/transport/transport_contract_suite.cjs +110 -0
- package/dist/transport/transport_contract_suite.cjs.map +1 -0
- package/dist/transport/transport_contract_suite.d.cts +23 -0
- package/dist/transport/transport_contract_suite.d.ts +23 -0
- package/dist/transport/transport_contract_suite.js +85 -0
- package/dist/transport/transport_contract_suite.js.map +1 -0
- package/dist/transport/wood_rpc_transport.cjs +17 -0
- package/dist/transport/wood_rpc_transport.cjs.map +1 -0
- package/dist/transport/wood_rpc_transport.d.cts +44 -0
- package/dist/transport/wood_rpc_transport.d.ts +44 -0
- package/dist/transport/wood_rpc_transport.js +1 -0
- package/dist/transport/wood_rpc_transport.js.map +1 -0
- package/docs/browser-testing.md +139 -1
- package/package.json +22 -3
- package/src/components/NavigationShell.browser.test.ts +236 -0
- package/src/components/NavigationShell.svelte +162 -49
package/dist/index.d.cts
CHANGED
|
@@ -15,6 +15,7 @@ export { ControllerResolver, buildControllerArgs } from './controller/controller
|
|
|
15
15
|
export { ControllerLifecycle, disposeControllerLifecycle } from './controller/controller_lifecycle.cjs';
|
|
16
16
|
export { generatePreload } from './codegen/preload_generator.cjs';
|
|
17
17
|
export { generateTypes } from './codegen/type_generator.cjs';
|
|
18
|
+
export { generateChannelMap } from './codegen/channel_map_generator.cjs';
|
|
18
19
|
export { generateTestMock } from './codegen/test_mock_generator.cjs';
|
|
19
20
|
export { ControllerRegistrationOptions, generateControllerRegistration } from './codegen/controller_registration_generator.cjs';
|
|
20
21
|
export { RuntimeGeneratorOptions, generateRuntime } from './codegen/runtime_generator.cjs';
|
|
@@ -30,10 +31,15 @@ export { DEFAULT_WOOD_REMOTE_DEBUGGING_PORT, WOOD_DEV_DIRECTORY, WOOD_DEV_METADA
|
|
|
30
31
|
export { GetContainerOptions, clearContainerRegistryForTests, getContainer } from './runtime/get_container.cjs';
|
|
31
32
|
export { clearApplicationRootForTests, getApplicationRoot, setApplicationRoot } from './runtime/application_root.cjs';
|
|
32
33
|
export { RegisterRuntimeRouter, RuntimeOptions, RuntimeResult, runtime } from './runtime/runtime.cjs';
|
|
33
|
-
export {
|
|
34
|
+
export { clearRendererTraceBatchReceiverForTests, getRendererTraceBatchReceiver, setRendererTraceBatchReceiver } from './runtime/renderer_trace_batch_receiver_registry.cjs';
|
|
35
|
+
export { T as TraceDispatchResult, a as TraceEvent, b as TraceInput, c as TraceLevel, d as TraceProcess, e as TraceRuntimeContext, f as TraceWaitOptions, W as WoodTraceEventSink, g as WoodTraceEventSnapshot, h as WoodTraceSinkDisposer, i as clearTraceHubForTests, j as getTraceEvents$, r as registerTraceSink, s as setRendererTraceEnabled, k as setRendererTraceTransport } from './trace_hub-Cob54qRx.cjs';
|
|
36
|
+
export { WoodRendererTraceEvent, WoodRendererTraceInput, WoodTraceBatch, WoodTraceBatchAcknowledgement, WoodTraceBatchReceiver, WoodTraceBatchRuntimeContext } from './tracing/types/wood_trace_batch.types.cjs';
|
|
37
|
+
export { TraceCommitRow, TraceCommitWriter, TraceCommitWriterOptions, TraceFlushOptions, TraceFlushResult, WoodTracePersistencePort } from './tracing/trace_commit_writer.cjs';
|
|
34
38
|
export { FrameworkTracer, MainTracer, RendererTracer, TestTracer, TraceProvider, TraceProviderConfiguration, TraceProviderMode, TraceRuntime } from './tracing/trace_provider.cjs';
|
|
35
39
|
export { Navigation, NavigationEntry, NavigationOptions, getNavigation, go, goback, goto } from './navigation/index.cjs';
|
|
36
40
|
export { Ipc, getIpc } from './ipc/index.cjs';
|
|
37
41
|
export { IpcPushOptions } from './ipc/shared.cjs';
|
|
42
|
+
import './runtime/app_env.cjs';
|
|
38
43
|
import 'rxjs';
|
|
44
|
+
import '@noego/telemetry/core';
|
|
39
45
|
import '@noego/ioc';
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export { ControllerResolver, buildControllerArgs } from './controller/controller
|
|
|
15
15
|
export { ControllerLifecycle, disposeControllerLifecycle } from './controller/controller_lifecycle.js';
|
|
16
16
|
export { generatePreload } from './codegen/preload_generator.js';
|
|
17
17
|
export { generateTypes } from './codegen/type_generator.js';
|
|
18
|
+
export { generateChannelMap } from './codegen/channel_map_generator.js';
|
|
18
19
|
export { generateTestMock } from './codegen/test_mock_generator.js';
|
|
19
20
|
export { ControllerRegistrationOptions, generateControllerRegistration } from './codegen/controller_registration_generator.js';
|
|
20
21
|
export { RuntimeGeneratorOptions, generateRuntime } from './codegen/runtime_generator.js';
|
|
@@ -30,10 +31,15 @@ export { DEFAULT_WOOD_REMOTE_DEBUGGING_PORT, WOOD_DEV_DIRECTORY, WOOD_DEV_METADA
|
|
|
30
31
|
export { GetContainerOptions, clearContainerRegistryForTests, getContainer } from './runtime/get_container.js';
|
|
31
32
|
export { clearApplicationRootForTests, getApplicationRoot, setApplicationRoot } from './runtime/application_root.js';
|
|
32
33
|
export { RegisterRuntimeRouter, RuntimeOptions, RuntimeResult, runtime } from './runtime/runtime.js';
|
|
33
|
-
export {
|
|
34
|
+
export { clearRendererTraceBatchReceiverForTests, getRendererTraceBatchReceiver, setRendererTraceBatchReceiver } from './runtime/renderer_trace_batch_receiver_registry.js';
|
|
35
|
+
export { T as TraceDispatchResult, a as TraceEvent, b as TraceInput, c as TraceLevel, d as TraceProcess, e as TraceRuntimeContext, f as TraceWaitOptions, W as WoodTraceEventSink, g as WoodTraceEventSnapshot, h as WoodTraceSinkDisposer, i as clearTraceHubForTests, j as getTraceEvents$, r as registerTraceSink, s as setRendererTraceEnabled, k as setRendererTraceTransport } from './trace_hub-Cob54qRx.js';
|
|
36
|
+
export { WoodRendererTraceEvent, WoodRendererTraceInput, WoodTraceBatch, WoodTraceBatchAcknowledgement, WoodTraceBatchReceiver, WoodTraceBatchRuntimeContext } from './tracing/types/wood_trace_batch.types.js';
|
|
37
|
+
export { TraceCommitRow, TraceCommitWriter, TraceCommitWriterOptions, TraceFlushOptions, TraceFlushResult, WoodTracePersistencePort } from './tracing/trace_commit_writer.js';
|
|
34
38
|
export { FrameworkTracer, MainTracer, RendererTracer, TestTracer, TraceProvider, TraceProviderConfiguration, TraceProviderMode, TraceRuntime } from './tracing/trace_provider.js';
|
|
35
39
|
export { Navigation, NavigationEntry, NavigationOptions, getNavigation, go, goback, goto } from './navigation/index.js';
|
|
36
40
|
export { Ipc, getIpc } from './ipc/index.js';
|
|
37
41
|
export { IpcPushOptions } from './ipc/shared.js';
|
|
42
|
+
import './runtime/app_env.js';
|
|
38
43
|
import 'rxjs';
|
|
44
|
+
import '@noego/telemetry/core';
|
|
39
45
|
import '@noego/ioc';
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { MiddlewareResolver, buildMiddlewareContext, executeMiddleware } from ".
|
|
|
8
8
|
import { ControllerResolver, buildControllerArgs, disposeControllerLifecycle } from "./controller/index.js";
|
|
9
9
|
import { generatePreload } from "./codegen/index.js";
|
|
10
10
|
import { generateTypes } from "./codegen/index.js";
|
|
11
|
+
import { generateChannelMap } from "./codegen/index.js";
|
|
11
12
|
import { generateTestMock } from "./codegen/index.js";
|
|
12
13
|
import { generateControllerRegistration } from "./codegen/index.js";
|
|
13
14
|
import { generateRuntime } from "./codegen/index.js";
|
|
@@ -34,7 +35,10 @@ import {
|
|
|
34
35
|
getApplicationRoot,
|
|
35
36
|
setApplicationRoot,
|
|
36
37
|
clearApplicationRootForTests,
|
|
37
|
-
|
|
38
|
+
clearRendererTraceBatchReceiverForTests,
|
|
39
|
+
getRendererTraceBatchReceiver,
|
|
40
|
+
runtime,
|
|
41
|
+
setRendererTraceBatchReceiver
|
|
38
42
|
} from "./runtime/index.js";
|
|
39
43
|
import { Navigation, getNavigation, go, goto, goback } from "./navigation/index.js";
|
|
40
44
|
import { Ipc, getIpc } from "./ipc/index.js";
|
|
@@ -45,8 +49,10 @@ import {
|
|
|
45
49
|
TestTracer,
|
|
46
50
|
TraceProvider,
|
|
47
51
|
TraceProviderConfiguration,
|
|
52
|
+
TraceCommitWriter,
|
|
48
53
|
clearTraceHubForTests,
|
|
49
54
|
getTraceEvents$,
|
|
55
|
+
registerTraceSink,
|
|
50
56
|
setRendererTraceEnabled,
|
|
51
57
|
setRendererTraceTransport
|
|
52
58
|
} from "./tracing/index.js";
|
|
@@ -64,6 +70,7 @@ export {
|
|
|
64
70
|
RendererTracer,
|
|
65
71
|
SchemaValidator,
|
|
66
72
|
TestTracer,
|
|
73
|
+
TraceCommitWriter,
|
|
67
74
|
TraceProvider,
|
|
68
75
|
TraceProviderConfiguration,
|
|
69
76
|
WOOD_DEV_DIRECTORY,
|
|
@@ -77,9 +84,11 @@ export {
|
|
|
77
84
|
buildMiddlewareContext,
|
|
78
85
|
clearApplicationRootForTests,
|
|
79
86
|
clearContainerRegistryForTests,
|
|
87
|
+
clearRendererTraceBatchReceiverForTests,
|
|
80
88
|
clearTraceHubForTests,
|
|
81
89
|
disposeControllerLifecycle,
|
|
82
90
|
executeMiddleware,
|
|
91
|
+
generateChannelMap,
|
|
83
92
|
generateControllerRegistration,
|
|
84
93
|
generatePreload,
|
|
85
94
|
generateRendererApp,
|
|
@@ -92,6 +101,7 @@ export {
|
|
|
92
101
|
getContainer,
|
|
93
102
|
getIpc,
|
|
94
103
|
getNavigation,
|
|
104
|
+
getRendererTraceBatchReceiver,
|
|
95
105
|
getTraceEvents$,
|
|
96
106
|
go,
|
|
97
107
|
goback,
|
|
@@ -103,12 +113,14 @@ export {
|
|
|
103
113
|
parseViewsFile,
|
|
104
114
|
pushEvent,
|
|
105
115
|
readWoodDevMetadata,
|
|
116
|
+
registerTraceSink,
|
|
106
117
|
removeWoodDevMetadata,
|
|
107
118
|
resolveWoodDevDirectory,
|
|
108
119
|
resolveWoodDevMetadataPath,
|
|
109
120
|
resolveWoodRemoteDebuggingPort,
|
|
110
121
|
runtime,
|
|
111
122
|
setApplicationRoot,
|
|
123
|
+
setRendererTraceBatchReceiver,
|
|
112
124
|
setRendererTraceEnabled,
|
|
113
125
|
setRendererTraceTransport,
|
|
114
126
|
startBackendLoop,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @noego/wood — Declarative Electron desktop apps using the noego ecosystem\n\n// Types\nexport type {\n WoodConfig,\n WindowDef,\n DevConfig,\n ElectronBuilderConfig,\n OperationDef,\n RawOperationsDocument,\n RawModuleDef,\n RawOperationEntry,\n RawModuleOperationEntry,\n ViewDef,\n RawViewsDocument,\n RawViewEntry,\n ParameterDef,\n IpcContext,\n WoodMiddlewareContext,\n WoodMiddlewareFn,\n RequestData,\n ControllerArgs,\n LoaderResult,\n BridgeMessage,\n BridgeRequest,\n BridgeResponse,\n BridgeReady,\n BridgePush,\n BridgeElectronApi,\n SerializedError,\n ContextMenuContext,\n ContextMenuItem,\n ContextMenuEvent,\n} from './types';\n\n// Errors\nexport { WoodAuthError, WoodValidationError, BackendRestartingError } from './types/index.js';\n\n// Config\nexport { parseConfig } from './config/index.js';\n\n// Parsers\nexport { parseOperations, parseOperationsFile } from './parser/index.js';\nexport { parseViews, parseViewsFile } from './parser/index.js';\n\n// Router\nexport { WoodRouter } from './router/index.js';\n\n// Validation\nexport { SchemaValidator } from './validation/index.js';\n\n// Middleware\nexport { MiddlewareResolver, buildMiddlewareContext, executeMiddleware } from './middleware/index.js';\n\n// Controller\nexport { ControllerResolver, buildControllerArgs, disposeControllerLifecycle } from './controller/index.js';\nexport type { ControllerLifecycle } from './controller/index.js';\n\n// Codegen\nexport { generatePreload } from './codegen/index.js';\nexport { generateTypes } from './codegen/index.js';\nexport { generateTestMock } from './codegen/index.js';\nexport { generateControllerRegistration } from './codegen/index.js';\nexport type { ControllerRegistrationOptions } from './codegen/index.js';\nexport { generateRuntime } from './codegen/index.js';\nexport type { RuntimeGeneratorOptions } from './codegen/index.js';\nexport { generateRendererViewManifest } from './codegen/index.js';\nexport type { RendererViewManifestGeneratorOptions } from './codegen/index.js';\nexport { generateRendererControllerRegistration } from './codegen/index.js';\nexport type { RendererControllerRegistrationOptions } from './codegen/index.js';\nexport { generateRendererApp } from './codegen/index.js';\nexport type { RendererAppGeneratorOptions } from './codegen/index.js';\n\n// Window\nexport { WindowManager, WindowStateStore } from './window/index.js';\nexport type { ScreenLike, WindowBounds } from './window/index.js';\n\n// Loader\nexport { LoaderRunner } from './loader/index.js';\n\n// Bridge\nexport { BackendBridge, startBackendLoop, pushEvent } from './bridge/index.js';\n\n// Dev metadata (lightweight; safe at runtime)\n// Heavy dev tooling (WoodDevServer, BackendWatcher, YamlWatcher,\n// EsbuildBackend) is available via the '@noego/wood/dev' subpath only,\n// so production consumers never load esbuild/chokidar.\nexport {\n DEFAULT_WOOD_REMOTE_DEBUGGING_PORT,\n WOOD_DEV_DIRECTORY,\n WOOD_DEV_METADATA_BASENAME,\n resolveWoodRemoteDebuggingPort,\n resolveWoodDevDirectory,\n resolveWoodDevMetadataPath,\n writeWoodDevMetadata,\n readWoodDevMetadata,\n removeWoodDevMetadata,\n} from './dev/dev_metadata.js';\nexport type { WoodDevMetadata } from './dev/dev_metadata.js';\n\n// Runtime\nexport {\n getContainer,\n clearContainerRegistryForTests,\n getApplicationRoot,\n setApplicationRoot,\n clearApplicationRootForTests,\n runtime,\n} from './runtime/index.js';\nexport type {\n GetContainerOptions,\n RuntimeOptions,\n RuntimeResult,\n RegisterRuntimeRouter,\n} from './runtime';\n\n// Navigation\nexport { Navigation, getNavigation, go, goto, goback } from './navigation/index.js';\nexport type { NavigationEntry, NavigationOptions } from './navigation/index.js';\n\n// Isomorphic IPC API\nexport { Ipc, getIpc } from './ipc/index.js';\nexport type { IpcPushOptions } from './ipc/index.js';\n\n// Tracing\nexport {\n FrameworkTracer,\n MainTracer,\n RendererTracer,\n TestTracer,\n TraceProvider,\n TraceProviderConfiguration,\n clearTraceHubForTests,\n getTraceEvents$,\n setRendererTraceEnabled,\n setRendererTraceTransport,\n} from './tracing/index.js';\nexport type {\n TraceDispatchResult,\n TraceEvent,\n TraceInput,\n TraceLevel,\n TraceProcess,\n TraceProviderMode,\n TraceRuntimeContext,\n TraceRuntime,\n TraceWaitOptions,\n} from './tracing/index.js';\n\n// Testing — available via '@noego/wood/testing' subpath export.\n// Not re-exported here to avoid pulling vitest into production builds.\n"],"mappings":"AAoCA,SAAS,eAAe,qBAAqB,8BAA8B;AAG3E,SAAS,mBAAmB;AAG5B,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,YAAY,sBAAsB;AAG3C,SAAS,kBAAkB;AAG3B,SAAS,uBAAuB;AAGhC,SAAS,oBAAoB,wBAAwB,yBAAyB;AAG9E,SAAS,oBAAoB,qBAAqB,kCAAkC;AAIpF,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,sCAAsC;AAE/C,SAAS,uBAAuB;AAEhC,SAAS,oCAAoC;AAE7C,SAAS,8CAA8C;AAEvD,SAAS,2BAA2B;AAIpC,SAAS,eAAe,wBAAwB;AAIhD,SAAS,oBAAoB;AAG7B,SAAS,eAAe,kBAAkB,iBAAiB;AAM3D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP,SAAS,YAAY,eAAe,IAAI,MAAM,cAAc;AAI5D,SAAS,KAAK,cAAc;AAI5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @noego/wood — Declarative Electron desktop apps using the noego ecosystem\n\n// Types\nexport type {\n WoodConfig,\n WindowDef,\n DevConfig,\n ElectronBuilderConfig,\n OperationDef,\n RawOperationsDocument,\n RawModuleDef,\n RawOperationEntry,\n RawModuleOperationEntry,\n ViewDef,\n RawViewsDocument,\n RawViewEntry,\n ParameterDef,\n IpcContext,\n WoodMiddlewareContext,\n WoodMiddlewareFn,\n RequestData,\n ControllerArgs,\n LoaderResult,\n BridgeMessage,\n BridgeRequest,\n BridgeResponse,\n BridgeReady,\n BridgePush,\n BridgeElectronApi,\n SerializedError,\n ContextMenuContext,\n ContextMenuItem,\n ContextMenuEvent,\n} from './types';\n\n// Errors\nexport { WoodAuthError, WoodValidationError, BackendRestartingError } from './types/index.js';\n\n// Config\nexport { parseConfig } from './config/index.js';\n\n// Parsers\nexport { parseOperations, parseOperationsFile } from './parser/index.js';\nexport { parseViews, parseViewsFile } from './parser/index.js';\n\n// Router\nexport { WoodRouter } from './router/index.js';\n\n// Validation\nexport { SchemaValidator } from './validation/index.js';\n\n// Middleware\nexport { MiddlewareResolver, buildMiddlewareContext, executeMiddleware } from './middleware/index.js';\n\n// Controller\nexport { ControllerResolver, buildControllerArgs, disposeControllerLifecycle } from './controller/index.js';\nexport type { ControllerLifecycle } from './controller/index.js';\n\n// Codegen\nexport { generatePreload } from './codegen/index.js';\nexport { generateTypes } from './codegen/index.js';\nexport { generateChannelMap } from './codegen/index.js';\nexport { generateTestMock } from './codegen/index.js';\nexport { generateControllerRegistration } from './codegen/index.js';\nexport type { ControllerRegistrationOptions } from './codegen/index.js';\nexport { generateRuntime } from './codegen/index.js';\nexport type { RuntimeGeneratorOptions } from './codegen/index.js';\nexport { generateRendererViewManifest } from './codegen/index.js';\nexport type { RendererViewManifestGeneratorOptions } from './codegen/index.js';\nexport { generateRendererControllerRegistration } from './codegen/index.js';\nexport type { RendererControllerRegistrationOptions } from './codegen/index.js';\nexport { generateRendererApp } from './codegen/index.js';\nexport type { RendererAppGeneratorOptions } from './codegen/index.js';\n\n// Window\nexport { WindowManager, WindowStateStore } from './window/index.js';\nexport type { ScreenLike, WindowBounds } from './window/index.js';\n\n// Loader\nexport { LoaderRunner } from './loader/index.js';\n\n// Bridge\nexport { BackendBridge, startBackendLoop, pushEvent } from './bridge/index.js';\n\n// Dev metadata (lightweight; safe at runtime)\n// Heavy dev tooling (WoodDevServer, BackendWatcher, YamlWatcher,\n// EsbuildBackend) is available via the '@noego/wood/dev' subpath only,\n// so production consumers never load esbuild/chokidar.\nexport {\n DEFAULT_WOOD_REMOTE_DEBUGGING_PORT,\n WOOD_DEV_DIRECTORY,\n WOOD_DEV_METADATA_BASENAME,\n resolveWoodRemoteDebuggingPort,\n resolveWoodDevDirectory,\n resolveWoodDevMetadataPath,\n writeWoodDevMetadata,\n readWoodDevMetadata,\n removeWoodDevMetadata,\n} from './dev/dev_metadata.js';\nexport type { WoodDevMetadata } from './dev/dev_metadata.js';\n\n// Runtime\nexport {\n getContainer,\n clearContainerRegistryForTests,\n getApplicationRoot,\n setApplicationRoot,\n clearApplicationRootForTests,\n clearRendererTraceBatchReceiverForTests,\n getRendererTraceBatchReceiver,\n runtime,\n setRendererTraceBatchReceiver,\n} from './runtime/index.js';\nexport type {\n GetContainerOptions,\n RuntimeOptions,\n RuntimeResult,\n RegisterRuntimeRouter,\n} from './runtime';\n\n// Navigation\nexport { Navigation, getNavigation, go, goto, goback } from './navigation/index.js';\nexport type { NavigationEntry, NavigationOptions } from './navigation/index.js';\n\n// Isomorphic IPC API\nexport { Ipc, getIpc } from './ipc/index.js';\nexport type { IpcPushOptions } from './ipc/index.js';\n\n// Tracing\nexport {\n FrameworkTracer,\n MainTracer,\n RendererTracer,\n TestTracer,\n TraceProvider,\n TraceProviderConfiguration,\n TraceCommitWriter,\n clearTraceHubForTests,\n getTraceEvents$,\n registerTraceSink,\n setRendererTraceEnabled,\n setRendererTraceTransport,\n} from './tracing/index.js';\nexport type {\n TraceCommitRow,\n TraceCommitWriterOptions,\n TraceFlushOptions,\n TraceFlushResult,\n WoodTracePersistencePort,\n TraceDispatchResult,\n TraceEvent,\n TraceInput,\n TraceLevel,\n TraceProcess,\n TraceProviderMode,\n TraceRuntimeContext,\n TraceRuntime,\n TraceWaitOptions,\n WoodRendererTraceEvent,\n WoodRendererTraceInput,\n WoodTraceBatch,\n WoodTraceBatchAcknowledgement,\n WoodTraceBatchReceiver,\n WoodTraceBatchRuntimeContext,\n WoodTraceEventSink,\n WoodTraceEventSnapshot,\n WoodTraceSinkDisposer,\n} from './tracing/index.js';\n\n// Testing — available via '@noego/wood/testing' subpath export.\n// Not re-exported here to avoid pulling vitest into production builds.\n"],"mappings":"AAoCA,SAAS,eAAe,qBAAqB,8BAA8B;AAG3E,SAAS,mBAAmB;AAG5B,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,YAAY,sBAAsB;AAG3C,SAAS,kBAAkB;AAG3B,SAAS,uBAAuB;AAGhC,SAAS,oBAAoB,wBAAwB,yBAAyB;AAG9E,SAAS,oBAAoB,qBAAqB,kCAAkC;AAIpF,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,sCAAsC;AAE/C,SAAS,uBAAuB;AAEhC,SAAS,oCAAoC;AAE7C,SAAS,8CAA8C;AAEvD,SAAS,2BAA2B;AAIpC,SAAS,eAAe,wBAAwB;AAIhD,SAAS,oBAAoB;AAG7B,SAAS,eAAe,kBAAkB,iBAAiB;AAM3D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP,SAAS,YAAY,eAAe,IAAI,MAAM,cAAc;AAI5D,SAAS,KAAK,cAAc;AAI5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
package/dist/main/index.cjs
CHANGED
|
@@ -28,7 +28,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var main_exports = {};
|
|
30
30
|
__export(main_exports, {
|
|
31
|
+
BootstrapActivationGate: () => BootstrapActivationGate,
|
|
31
32
|
resolveWoodDebugMetadataConfiguration: () => resolveWoodDebugMetadataConfiguration,
|
|
33
|
+
shouldDeferLastWindowCloseForCleanup: () => shouldDeferLastWindowCloseForCleanup,
|
|
32
34
|
startWoodMain: () => startWoodMain
|
|
33
35
|
});
|
|
34
36
|
module.exports = __toCommonJS(main_exports);
|
|
@@ -43,6 +45,37 @@ var import_application_root = require("../runtime/application_root.js");
|
|
|
43
45
|
var import_renderer_log_dispatcher = require("../runtime/renderer_log_dispatcher.js");
|
|
44
46
|
var import_ipc = require("../ipc/index.js");
|
|
45
47
|
var import_shared = require("../ipc/shared.js");
|
|
48
|
+
var import_renderer_trace_drain_coordinator = require("./renderer_trace_drain_coordinator.js");
|
|
49
|
+
class BootstrapActivationGate {
|
|
50
|
+
constructor(hasWindow, createMainWindow) {
|
|
51
|
+
this.hasWindow = hasWindow;
|
|
52
|
+
this.createMainWindow = createMainWindow;
|
|
53
|
+
this.currentState = "pending";
|
|
54
|
+
}
|
|
55
|
+
get state() {
|
|
56
|
+
return this.currentState;
|
|
57
|
+
}
|
|
58
|
+
activate() {
|
|
59
|
+
if (this.currentState === "ready" && !this.hasWindow()) {
|
|
60
|
+
this.createMainWindow();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ready() {
|
|
64
|
+
if (this.currentState !== "pending") {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.createMainWindow();
|
|
68
|
+
this.currentState = "ready";
|
|
69
|
+
}
|
|
70
|
+
failed() {
|
|
71
|
+
if (this.currentState === "pending") {
|
|
72
|
+
this.currentState = "failed";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function shouldDeferLastWindowCloseForCleanup(trackedWindowCount, cleanupComplete) {
|
|
77
|
+
return trackedWindowCount === 1 && !cleanupComplete;
|
|
78
|
+
}
|
|
46
79
|
const DEFAULT_WOOD_REMOTE_DEBUGGING_PORT = 9333;
|
|
47
80
|
function resolveWoodDebugMetadataConfiguration(env = process.env) {
|
|
48
81
|
const isDevelopment = env.WOOD_MODE === "development";
|
|
@@ -90,6 +123,8 @@ function startWoodMain(options) {
|
|
|
90
123
|
let runtimeContext = null;
|
|
91
124
|
let mainBootCleanup;
|
|
92
125
|
let nativeQuitFallbackInstalled = false;
|
|
126
|
+
const rendererTraceDrain = new import_renderer_trace_drain_coordinator.RendererTraceDrainCoordinator(import_electron.ipcMain);
|
|
127
|
+
rendererTraceDrain.start();
|
|
93
128
|
for (const stream of [process.stdout, process.stderr]) {
|
|
94
129
|
stream.on("error", (error) => {
|
|
95
130
|
if (error.code === "EPIPE") {
|
|
@@ -119,7 +154,7 @@ function startWoodMain(options) {
|
|
|
119
154
|
},
|
|
120
155
|
logger
|
|
121
156
|
};
|
|
122
|
-
|
|
157
|
+
const initializeRuntime = async () => {
|
|
123
158
|
const appBootResult = options.appBoot ? await options.appBoot(bootContext) : void 0;
|
|
124
159
|
const bootOverrides = appBootResult ?? {};
|
|
125
160
|
const scope = bootOverrides.scope ?? options.scope ?? process.cwd();
|
|
@@ -484,6 +519,12 @@ function startWoodMain(options) {
|
|
|
484
519
|
logger.info("window created", { windowId });
|
|
485
520
|
return win;
|
|
486
521
|
};
|
|
522
|
+
const bootstrapActivationGate = new BootstrapActivationGate(
|
|
523
|
+
() => import_electron.BrowserWindow.getAllWindows().length > 0,
|
|
524
|
+
() => {
|
|
525
|
+
createWindow("main");
|
|
526
|
+
}
|
|
527
|
+
);
|
|
487
528
|
const navigateWindow = async (windowId, route) => {
|
|
488
529
|
const win = createWindow(windowId);
|
|
489
530
|
await waitForWindowReady(win);
|
|
@@ -531,7 +572,11 @@ function startWoodMain(options) {
|
|
|
531
572
|
(0, import_renderer_log_dispatcher.getRendererLogDispatcher)().setCallback(callback);
|
|
532
573
|
},
|
|
533
574
|
getRendererLogCallback: () => (0, import_renderer_log_dispatcher.getRendererLogDispatcher)().getCallback(),
|
|
534
|
-
getDebugMetadata
|
|
575
|
+
getDebugMetadata,
|
|
576
|
+
// Late-bound after bootRuntime constructs the router (see bootstrap).
|
|
577
|
+
dispatch: async () => {
|
|
578
|
+
throw new Error("WoodMainRuntimeContext.dispatch called before the runtime router was constructed.");
|
|
579
|
+
}
|
|
535
580
|
};
|
|
536
581
|
const bootstrap = async () => {
|
|
537
582
|
logger.info("bootstrap starting");
|
|
@@ -544,7 +589,7 @@ function startWoodMain(options) {
|
|
|
544
589
|
mainBootCleanup = bootResult;
|
|
545
590
|
}
|
|
546
591
|
}
|
|
547
|
-
await (0, import_runtime.runtime)({
|
|
592
|
+
const { router: runtimeRouter } = await (0, import_runtime.runtime)({
|
|
548
593
|
container,
|
|
549
594
|
ipcMain: import_electron.ipcMain,
|
|
550
595
|
registerRuntime: options.registerRuntime,
|
|
@@ -640,67 +685,98 @@ function startWoodMain(options) {
|
|
|
640
685
|
};
|
|
641
686
|
}
|
|
642
687
|
});
|
|
643
|
-
|
|
688
|
+
runtimeContext.dispatch = (channel, payload) => runtimeRouter.dispatch(channel, payload ?? {});
|
|
689
|
+
bootstrapActivationGate.ready();
|
|
644
690
|
logger.info("bootstrap complete");
|
|
645
691
|
};
|
|
646
|
-
|
|
692
|
+
const handleBootstrapFailure = (error) => {
|
|
693
|
+
bootstrapActivationGate.failed();
|
|
647
694
|
logger.error("bootstrap failed", {
|
|
648
695
|
message: toErrorMessage(error),
|
|
649
696
|
stack: error instanceof Error ? error.stack : void 0
|
|
650
697
|
});
|
|
651
|
-
});
|
|
652
|
-
const destroyWindowsForQuit = () => {
|
|
653
|
-
for (const [id, win] of windows) {
|
|
654
|
-
if (!win.isDestroyed()) {
|
|
655
|
-
win.destroy();
|
|
656
|
-
logger.debug("destroyed window on quit", { windowId: id });
|
|
657
|
-
}
|
|
658
|
-
}
|
|
659
|
-
windows.clear();
|
|
660
698
|
};
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
699
|
+
void import_electron.app.whenReady().then(bootstrap).catch(handleBootstrapFailure);
|
|
700
|
+
const registerApplicationLifecycle = () => {
|
|
701
|
+
import_electron.app.on(
|
|
702
|
+
"browser-window-created",
|
|
703
|
+
(_event, window) => {
|
|
704
|
+
window.on("close", (event) => {
|
|
705
|
+
const isTrackedWindow = [...windows.values()].includes(window);
|
|
706
|
+
if (!isTrackedWindow || !shouldDeferLastWindowCloseForCleanup(
|
|
707
|
+
windows.size,
|
|
708
|
+
beforeQuitCleanupComplete
|
|
709
|
+
)) {
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
712
|
+
event.preventDefault();
|
|
713
|
+
if (!beforeQuitCleanupPromise) {
|
|
714
|
+
logger.debug("deferring last window close for renderer trace drain");
|
|
715
|
+
import_electron.app.quit();
|
|
716
|
+
}
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
);
|
|
720
|
+
const destroyWindowsForQuit = () => {
|
|
721
|
+
for (const [id, win] of windows) {
|
|
722
|
+
if (!win.isDestroyed()) {
|
|
723
|
+
win.destroy();
|
|
724
|
+
logger.debug("destroyed window on quit", { windowId: id });
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
windows.clear();
|
|
728
|
+
};
|
|
729
|
+
const runBeforeQuitCleanup = async () => {
|
|
730
|
+
await (0, import_renderer_trace_drain_coordinator.drainRendererTracesBeforeQuit)(
|
|
731
|
+
rendererTraceDrain,
|
|
732
|
+
windows.values(),
|
|
733
|
+
logger,
|
|
734
|
+
Date.now() + 1e3
|
|
735
|
+
);
|
|
736
|
+
(0, import_shared.clearIpcPushSender)();
|
|
737
|
+
if (mainBootCleanup) {
|
|
738
|
+
await mainBootCleanup();
|
|
690
739
|
}
|
|
691
|
-
|
|
740
|
+
if (options.onBeforeQuit) {
|
|
741
|
+
await options.onBeforeQuit(runtimeContext);
|
|
742
|
+
}
|
|
743
|
+
};
|
|
744
|
+
import_electron.app.on("before-quit", (event) => {
|
|
745
|
+
if (!runtimeContext) {
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
if (beforeQuitCleanupComplete) {
|
|
749
|
+
destroyWindowsForQuit();
|
|
750
|
+
return;
|
|
751
|
+
}
|
|
752
|
+
event.preventDefault();
|
|
753
|
+
if (beforeQuitCleanupPromise) {
|
|
754
|
+
return;
|
|
755
|
+
}
|
|
756
|
+
beforeQuitCleanupPromise = (async () => {
|
|
757
|
+
try {
|
|
758
|
+
await runBeforeQuitCleanup();
|
|
759
|
+
} catch (error) {
|
|
760
|
+
logger.warn("before-quit handler failed", { error: toErrorMessage(error) });
|
|
761
|
+
} finally {
|
|
762
|
+
beforeQuitCleanupComplete = true;
|
|
763
|
+
beforeQuitCleanupPromise = null;
|
|
764
|
+
}
|
|
765
|
+
destroyWindowsForQuit();
|
|
766
|
+
import_electron.app.quit();
|
|
767
|
+
})();
|
|
768
|
+
});
|
|
769
|
+
import_electron.app.on("window-all-closed", () => {
|
|
692
770
|
import_electron.app.quit();
|
|
693
|
-
})
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
});
|
|
703
|
-
})().catch((error) => {
|
|
771
|
+
});
|
|
772
|
+
import_electron.app.on("activate", () => {
|
|
773
|
+
bootstrapActivationGate.activate();
|
|
774
|
+
});
|
|
775
|
+
};
|
|
776
|
+
registerApplicationLifecycle();
|
|
777
|
+
};
|
|
778
|
+
void initializeRuntime().catch((error) => {
|
|
779
|
+
rendererTraceDrain.stop();
|
|
704
780
|
logger.error("startup failed before ready", {
|
|
705
781
|
message: toErrorMessage(error),
|
|
706
782
|
stack: error instanceof Error ? error.stack : void 0
|
|
@@ -709,7 +785,9 @@ function startWoodMain(options) {
|
|
|
709
785
|
}
|
|
710
786
|
// Annotate the CommonJS export names for ESM import in node:
|
|
711
787
|
0 && (module.exports = {
|
|
788
|
+
BootstrapActivationGate,
|
|
712
789
|
resolveWoodDebugMetadataConfiguration,
|
|
790
|
+
shouldDeferLastWindowCloseForCleanup,
|
|
713
791
|
startWoodMain
|
|
714
792
|
});
|
|
715
793
|
//# sourceMappingURL=index.cjs.map
|