lograil 0.1.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/CHANGELOG.md +38 -0
- package/LICENSE +21 -0
- package/README.md +40 -0
- package/dist/cjs/context/async-context.browser.d.ts +16 -0
- package/dist/cjs/context/async-context.browser.d.ts.map +1 -0
- package/dist/cjs/context/async-context.browser.js +29 -0
- package/dist/cjs/context/async-context.browser.js.map +1 -0
- package/dist/cjs/context/async-context.d.ts +10 -0
- package/dist/cjs/context/async-context.d.ts.map +1 -0
- package/dist/cjs/context/async-context.js +37 -0
- package/dist/cjs/context/async-context.js.map +1 -0
- package/dist/cjs/context/context.d.ts +33 -0
- package/dist/cjs/context/context.d.ts.map +1 -0
- package/dist/cjs/context/context.js +57 -0
- package/dist/cjs/context/context.js.map +1 -0
- package/dist/cjs/context/index.d.ts +3 -0
- package/dist/cjs/context/index.d.ts.map +1 -0
- package/dist/cjs/context/index.js +19 -0
- package/dist/cjs/context/index.js.map +1 -0
- package/dist/cjs/core/entry.d.ts +30 -0
- package/dist/cjs/core/entry.d.ts.map +1 -0
- package/dist/cjs/core/entry.js +37 -0
- package/dist/cjs/core/entry.js.map +1 -0
- package/dist/cjs/core/index.d.ts +7 -0
- package/dist/cjs/core/index.d.ts.map +1 -0
- package/dist/cjs/core/index.js +24 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/level.d.ts +12 -0
- package/dist/cjs/core/level.d.ts.map +1 -0
- package/dist/cjs/core/level.js +31 -0
- package/dist/cjs/core/level.js.map +1 -0
- package/dist/cjs/core/logger.d.ts +271 -0
- package/dist/cjs/core/logger.d.ts.map +1 -0
- package/dist/cjs/core/logger.js +751 -0
- package/dist/cjs/core/logger.js.map +1 -0
- package/dist/cjs/core/printf.d.ts +34 -0
- package/dist/cjs/core/printf.d.ts.map +1 -0
- package/dist/cjs/core/printf.js +133 -0
- package/dist/cjs/core/printf.js.map +1 -0
- package/dist/cjs/index.d.ts +40 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/pipeline/filter.d.ts +10 -0
- package/dist/cjs/pipeline/filter.d.ts.map +1 -0
- package/dist/cjs/pipeline/filter.js +16 -0
- package/dist/cjs/pipeline/filter.js.map +1 -0
- package/dist/cjs/pipeline/formatter.d.ts +19 -0
- package/dist/cjs/pipeline/formatter.d.ts.map +1 -0
- package/dist/cjs/pipeline/formatter.js +183 -0
- package/dist/cjs/pipeline/formatter.js.map +1 -0
- package/dist/cjs/pipeline/index.d.ts +6 -0
- package/dist/cjs/pipeline/index.d.ts.map +1 -0
- package/dist/cjs/pipeline/index.js +22 -0
- package/dist/cjs/pipeline/index.js.map +1 -0
- package/dist/cjs/pipeline/pipeline.d.ts +45 -0
- package/dist/cjs/pipeline/pipeline.d.ts.map +1 -0
- package/dist/cjs/pipeline/pipeline.js +80 -0
- package/dist/cjs/pipeline/pipeline.js.map +1 -0
- package/dist/cjs/pipeline/processor.d.ts +67 -0
- package/dist/cjs/pipeline/processor.d.ts.map +1 -0
- package/dist/cjs/pipeline/processor.js +284 -0
- package/dist/cjs/pipeline/processor.js.map +1 -0
- package/dist/cjs/pipeline/sampler.d.ts +45 -0
- package/dist/cjs/pipeline/sampler.d.ts.map +1 -0
- package/dist/cjs/pipeline/sampler.js +62 -0
- package/dist/cjs/pipeline/sampler.js.map +1 -0
- package/dist/cjs/plugin/index.d.ts +4 -0
- package/dist/cjs/plugin/index.d.ts.map +1 -0
- package/dist/cjs/plugin/index.js +20 -0
- package/dist/cjs/plugin/index.js.map +1 -0
- package/dist/cjs/plugin/manager.d.ts +38 -0
- package/dist/cjs/plugin/manager.d.ts.map +1 -0
- package/dist/cjs/plugin/manager.js +79 -0
- package/dist/cjs/plugin/manager.js.map +1 -0
- package/dist/cjs/plugin/otel-trace.d.ts +19 -0
- package/dist/cjs/plugin/otel-trace.d.ts.map +1 -0
- package/dist/cjs/plugin/otel-trace.js +91 -0
- package/dist/cjs/plugin/otel-trace.js.map +1 -0
- package/dist/cjs/plugin/plugin.d.ts +41 -0
- package/dist/cjs/plugin/plugin.d.ts.map +1 -0
- package/dist/cjs/plugin/plugin.js +3 -0
- package/dist/cjs/plugin/plugin.js.map +1 -0
- package/dist/cjs/runtime/adapter.d.ts +81 -0
- package/dist/cjs/runtime/adapter.d.ts.map +1 -0
- package/dist/cjs/runtime/adapter.js +3 -0
- package/dist/cjs/runtime/adapter.js.map +1 -0
- package/dist/cjs/runtime/defaults.d.ts +27 -0
- package/dist/cjs/runtime/defaults.d.ts.map +1 -0
- package/dist/cjs/runtime/defaults.js +30 -0
- package/dist/cjs/runtime/defaults.js.map +1 -0
- package/dist/cjs/runtime/electron-binding.browser.d.ts +10 -0
- package/dist/cjs/runtime/electron-binding.browser.d.ts.map +1 -0
- package/dist/cjs/runtime/electron-binding.browser.js +18 -0
- package/dist/cjs/runtime/electron-binding.browser.js.map +1 -0
- package/dist/cjs/runtime/electron-binding.d.ts +24 -0
- package/dist/cjs/runtime/electron-binding.d.ts.map +1 -0
- package/dist/cjs/runtime/electron-binding.js +49 -0
- package/dist/cjs/runtime/electron-binding.js.map +1 -0
- package/dist/cjs/runtime/electron-lifecycle.d.ts +17 -0
- package/dist/cjs/runtime/electron-lifecycle.d.ts.map +1 -0
- package/dist/cjs/runtime/electron-lifecycle.js +47 -0
- package/dist/cjs/runtime/electron-lifecycle.js.map +1 -0
- package/dist/cjs/runtime/electron-main.d.ts +24 -0
- package/dist/cjs/runtime/electron-main.d.ts.map +1 -0
- package/dist/cjs/runtime/electron-main.js +102 -0
- package/dist/cjs/runtime/electron-main.js.map +1 -0
- package/dist/cjs/runtime/electron-renderer.d.ts +26 -0
- package/dist/cjs/runtime/electron-renderer.d.ts.map +1 -0
- package/dist/cjs/runtime/electron-renderer.js +33 -0
- package/dist/cjs/runtime/electron-renderer.js.map +1 -0
- package/dist/cjs/runtime/electron.d.ts +20 -0
- package/dist/cjs/runtime/electron.d.ts.map +1 -0
- package/dist/cjs/runtime/electron.js +27 -0
- package/dist/cjs/runtime/electron.js.map +1 -0
- package/dist/cjs/runtime/index.d.ts +21 -0
- package/dist/cjs/runtime/index.d.ts.map +1 -0
- package/dist/cjs/runtime/index.js +41 -0
- package/dist/cjs/runtime/index.js.map +1 -0
- package/dist/cjs/runtime/node.d.ts +27 -0
- package/dist/cjs/runtime/node.d.ts.map +1 -0
- package/dist/cjs/runtime/node.js +126 -0
- package/dist/cjs/runtime/node.js.map +1 -0
- package/dist/cjs/runtime/process-lifecycle.d.ts +13 -0
- package/dist/cjs/runtime/process-lifecycle.d.ts.map +1 -0
- package/dist/cjs/runtime/process-lifecycle.js +80 -0
- package/dist/cjs/runtime/process-lifecycle.js.map +1 -0
- package/dist/cjs/runtime/web-lifecycle.d.ts +13 -0
- package/dist/cjs/runtime/web-lifecycle.d.ts.map +1 -0
- package/dist/cjs/runtime/web-lifecycle.js +39 -0
- package/dist/cjs/runtime/web-lifecycle.js.map +1 -0
- package/dist/cjs/runtime/web.d.ts +14 -0
- package/dist/cjs/runtime/web.d.ts.map +1 -0
- package/dist/cjs/runtime/web.js +61 -0
- package/dist/cjs/runtime/web.js.map +1 -0
- package/dist/cjs/shims/index.browser.d.ts +26 -0
- package/dist/cjs/shims/index.browser.d.ts.map +1 -0
- package/dist/cjs/shims/index.browser.js +67 -0
- package/dist/cjs/shims/index.browser.js.map +1 -0
- package/dist/cjs/shims/index.d.ts +15 -0
- package/dist/cjs/shims/index.d.ts.map +1 -0
- package/dist/cjs/shims/index.js +39 -0
- package/dist/cjs/shims/index.js.map +1 -0
- package/dist/cjs/transport/cluster-ipc.d.ts +36 -0
- package/dist/cjs/transport/cluster-ipc.d.ts.map +1 -0
- package/dist/cjs/transport/cluster-ipc.js +76 -0
- package/dist/cjs/transport/cluster-ipc.js.map +1 -0
- package/dist/cjs/transport/console.d.ts +28 -0
- package/dist/cjs/transport/console.d.ts.map +1 -0
- package/dist/cjs/transport/console.js +48 -0
- package/dist/cjs/transport/console.js.map +1 -0
- package/dist/cjs/transport/electron-ipc.d.ts +69 -0
- package/dist/cjs/transport/electron-ipc.d.ts.map +1 -0
- package/dist/cjs/transport/electron-ipc.js +153 -0
- package/dist/cjs/transport/electron-ipc.js.map +1 -0
- package/dist/cjs/transport/file.d.ts +190 -0
- package/dist/cjs/transport/file.d.ts.map +1 -0
- package/dist/cjs/transport/file.js +666 -0
- package/dist/cjs/transport/file.js.map +1 -0
- package/dist/cjs/transport/index.d.ts +9 -0
- package/dist/cjs/transport/index.d.ts.map +1 -0
- package/dist/cjs/transport/index.js +25 -0
- package/dist/cjs/transport/index.js.map +1 -0
- package/dist/cjs/transport/live.d.ts +72 -0
- package/dist/cjs/transport/live.d.ts.map +1 -0
- package/dist/cjs/transport/live.js +104 -0
- package/dist/cjs/transport/live.js.map +1 -0
- package/dist/cjs/transport/otlp.d.ts +97 -0
- package/dist/cjs/transport/otlp.d.ts.map +1 -0
- package/dist/cjs/transport/otlp.js +194 -0
- package/dist/cjs/transport/otlp.js.map +1 -0
- package/dist/cjs/transport/rotating-file.d.ts +67 -0
- package/dist/cjs/transport/rotating-file.d.ts.map +1 -0
- package/dist/cjs/transport/rotating-file.js +179 -0
- package/dist/cjs/transport/rotating-file.js.map +1 -0
- package/dist/cjs/transport/transport.d.ts +35 -0
- package/dist/cjs/transport/transport.d.ts.map +1 -0
- package/dist/cjs/transport/transport.js +3 -0
- package/dist/cjs/transport/transport.js.map +1 -0
- package/dist/cjs/transport/worker-ipc.d.ts +43 -0
- package/dist/cjs/transport/worker-ipc.d.ts.map +1 -0
- package/dist/cjs/transport/worker-ipc.js +106 -0
- package/dist/cjs/transport/worker-ipc.js.map +1 -0
- package/dist/cjs/types.d.ts +72 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +45 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/context/async-context.browser.d.ts +16 -0
- package/dist/esm/context/async-context.browser.d.ts.map +1 -0
- package/dist/esm/context/async-context.browser.js +25 -0
- package/dist/esm/context/async-context.browser.js.map +1 -0
- package/dist/esm/context/async-context.d.ts +10 -0
- package/dist/esm/context/async-context.d.ts.map +1 -0
- package/dist/esm/context/async-context.js +33 -0
- package/dist/esm/context/async-context.js.map +1 -0
- package/dist/esm/context/context.d.ts +33 -0
- package/dist/esm/context/context.d.ts.map +1 -0
- package/dist/esm/context/context.js +52 -0
- package/dist/esm/context/context.js.map +1 -0
- package/dist/esm/context/index.d.ts +3 -0
- package/dist/esm/context/index.d.ts.map +1 -0
- package/dist/esm/context/index.js +3 -0
- package/dist/esm/context/index.js.map +1 -0
- package/dist/esm/core/entry.d.ts +30 -0
- package/dist/esm/core/entry.d.ts.map +1 -0
- package/dist/esm/core/entry.js +34 -0
- package/dist/esm/core/entry.js.map +1 -0
- package/dist/esm/core/index.d.ts +7 -0
- package/dist/esm/core/index.d.ts.map +1 -0
- package/dist/esm/core/index.js +6 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/level.d.ts +12 -0
- package/dist/esm/core/level.d.ts.map +1 -0
- package/dist/esm/core/level.js +25 -0
- package/dist/esm/core/level.js.map +1 -0
- package/dist/esm/core/logger.d.ts +271 -0
- package/dist/esm/core/logger.d.ts.map +1 -0
- package/dist/esm/core/logger.js +747 -0
- package/dist/esm/core/logger.js.map +1 -0
- package/dist/esm/core/printf.d.ts +34 -0
- package/dist/esm/core/printf.d.ts.map +1 -0
- package/dist/esm/core/printf.js +129 -0
- package/dist/esm/core/printf.js.map +1 -0
- package/dist/esm/index.d.ts +40 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +38 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/pipeline/filter.d.ts +10 -0
- package/dist/esm/pipeline/filter.d.ts.map +1 -0
- package/dist/esm/pipeline/filter.js +11 -0
- package/dist/esm/pipeline/filter.js.map +1 -0
- package/dist/esm/pipeline/formatter.d.ts +19 -0
- package/dist/esm/pipeline/formatter.d.ts.map +1 -0
- package/dist/esm/pipeline/formatter.js +179 -0
- package/dist/esm/pipeline/formatter.js.map +1 -0
- package/dist/esm/pipeline/index.d.ts +6 -0
- package/dist/esm/pipeline/index.d.ts.map +1 -0
- package/dist/esm/pipeline/index.js +6 -0
- package/dist/esm/pipeline/index.js.map +1 -0
- package/dist/esm/pipeline/pipeline.d.ts +45 -0
- package/dist/esm/pipeline/pipeline.d.ts.map +1 -0
- package/dist/esm/pipeline/pipeline.js +76 -0
- package/dist/esm/pipeline/pipeline.js.map +1 -0
- package/dist/esm/pipeline/processor.d.ts +67 -0
- package/dist/esm/pipeline/processor.d.ts.map +1 -0
- package/dist/esm/pipeline/processor.js +277 -0
- package/dist/esm/pipeline/processor.js.map +1 -0
- package/dist/esm/pipeline/sampler.d.ts +45 -0
- package/dist/esm/pipeline/sampler.d.ts.map +1 -0
- package/dist/esm/pipeline/sampler.js +59 -0
- package/dist/esm/pipeline/sampler.js.map +1 -0
- package/dist/esm/plugin/index.d.ts +4 -0
- package/dist/esm/plugin/index.d.ts.map +1 -0
- package/dist/esm/plugin/index.js +4 -0
- package/dist/esm/plugin/index.js.map +1 -0
- package/dist/esm/plugin/manager.d.ts +38 -0
- package/dist/esm/plugin/manager.d.ts.map +1 -0
- package/dist/esm/plugin/manager.js +75 -0
- package/dist/esm/plugin/manager.js.map +1 -0
- package/dist/esm/plugin/otel-trace.d.ts +19 -0
- package/dist/esm/plugin/otel-trace.d.ts.map +1 -0
- package/dist/esm/plugin/otel-trace.js +55 -0
- package/dist/esm/plugin/otel-trace.js.map +1 -0
- package/dist/esm/plugin/plugin.d.ts +41 -0
- package/dist/esm/plugin/plugin.d.ts.map +1 -0
- package/dist/esm/plugin/plugin.js +2 -0
- package/dist/esm/plugin/plugin.js.map +1 -0
- package/dist/esm/runtime/adapter.d.ts +81 -0
- package/dist/esm/runtime/adapter.d.ts.map +1 -0
- package/dist/esm/runtime/adapter.js +2 -0
- package/dist/esm/runtime/adapter.js.map +1 -0
- package/dist/esm/runtime/defaults.d.ts +27 -0
- package/dist/esm/runtime/defaults.d.ts.map +1 -0
- package/dist/esm/runtime/defaults.js +27 -0
- package/dist/esm/runtime/defaults.js.map +1 -0
- package/dist/esm/runtime/electron-binding.browser.d.ts +10 -0
- package/dist/esm/runtime/electron-binding.browser.d.ts.map +1 -0
- package/dist/esm/runtime/electron-binding.browser.js +13 -0
- package/dist/esm/runtime/electron-binding.browser.js.map +1 -0
- package/dist/esm/runtime/electron-binding.d.ts +24 -0
- package/dist/esm/runtime/electron-binding.d.ts.map +1 -0
- package/dist/esm/runtime/electron-binding.js +44 -0
- package/dist/esm/runtime/electron-binding.js.map +1 -0
- package/dist/esm/runtime/electron-lifecycle.d.ts +17 -0
- package/dist/esm/runtime/electron-lifecycle.d.ts.map +1 -0
- package/dist/esm/runtime/electron-lifecycle.js +44 -0
- package/dist/esm/runtime/electron-lifecycle.js.map +1 -0
- package/dist/esm/runtime/electron-main.d.ts +24 -0
- package/dist/esm/runtime/electron-main.d.ts.map +1 -0
- package/dist/esm/runtime/electron-main.js +99 -0
- package/dist/esm/runtime/electron-main.js.map +1 -0
- package/dist/esm/runtime/electron-renderer.d.ts +26 -0
- package/dist/esm/runtime/electron-renderer.d.ts.map +1 -0
- package/dist/esm/runtime/electron-renderer.js +30 -0
- package/dist/esm/runtime/electron-renderer.js.map +1 -0
- package/dist/esm/runtime/electron.d.ts +20 -0
- package/dist/esm/runtime/electron.d.ts.map +1 -0
- package/dist/esm/runtime/electron.js +21 -0
- package/dist/esm/runtime/electron.js.map +1 -0
- package/dist/esm/runtime/index.d.ts +21 -0
- package/dist/esm/runtime/index.d.ts.map +1 -0
- package/dist/esm/runtime/index.js +29 -0
- package/dist/esm/runtime/index.js.map +1 -0
- package/dist/esm/runtime/node.d.ts +27 -0
- package/dist/esm/runtime/node.d.ts.map +1 -0
- package/dist/esm/runtime/node.js +123 -0
- package/dist/esm/runtime/node.js.map +1 -0
- package/dist/esm/runtime/process-lifecycle.d.ts +13 -0
- package/dist/esm/runtime/process-lifecycle.d.ts.map +1 -0
- package/dist/esm/runtime/process-lifecycle.js +77 -0
- package/dist/esm/runtime/process-lifecycle.js.map +1 -0
- package/dist/esm/runtime/web-lifecycle.d.ts +13 -0
- package/dist/esm/runtime/web-lifecycle.d.ts.map +1 -0
- package/dist/esm/runtime/web-lifecycle.js +36 -0
- package/dist/esm/runtime/web-lifecycle.js.map +1 -0
- package/dist/esm/runtime/web.d.ts +14 -0
- package/dist/esm/runtime/web.d.ts.map +1 -0
- package/dist/esm/runtime/web.js +58 -0
- package/dist/esm/runtime/web.js.map +1 -0
- package/dist/esm/shims/index.browser.d.ts +26 -0
- package/dist/esm/shims/index.browser.d.ts.map +1 -0
- package/dist/esm/shims/index.browser.js +54 -0
- package/dist/esm/shims/index.browser.js.map +1 -0
- package/dist/esm/shims/index.d.ts +15 -0
- package/dist/esm/shims/index.d.ts.map +1 -0
- package/dist/esm/shims/index.js +22 -0
- package/dist/esm/shims/index.js.map +1 -0
- package/dist/esm/transport/cluster-ipc.d.ts +36 -0
- package/dist/esm/transport/cluster-ipc.d.ts.map +1 -0
- package/dist/esm/transport/cluster-ipc.js +71 -0
- package/dist/esm/transport/cluster-ipc.js.map +1 -0
- package/dist/esm/transport/console.d.ts +28 -0
- package/dist/esm/transport/console.d.ts.map +1 -0
- package/dist/esm/transport/console.js +44 -0
- package/dist/esm/transport/console.js.map +1 -0
- package/dist/esm/transport/electron-ipc.d.ts +69 -0
- package/dist/esm/transport/electron-ipc.d.ts.map +1 -0
- package/dist/esm/transport/electron-ipc.js +146 -0
- package/dist/esm/transport/electron-ipc.js.map +1 -0
- package/dist/esm/transport/file.d.ts +190 -0
- package/dist/esm/transport/file.d.ts.map +1 -0
- package/dist/esm/transport/file.js +662 -0
- package/dist/esm/transport/file.js.map +1 -0
- package/dist/esm/transport/index.d.ts +9 -0
- package/dist/esm/transport/index.d.ts.map +1 -0
- package/dist/esm/transport/index.js +9 -0
- package/dist/esm/transport/index.js.map +1 -0
- package/dist/esm/transport/live.d.ts +72 -0
- package/dist/esm/transport/live.d.ts.map +1 -0
- package/dist/esm/transport/live.js +100 -0
- package/dist/esm/transport/live.js.map +1 -0
- package/dist/esm/transport/otlp.d.ts +97 -0
- package/dist/esm/transport/otlp.d.ts.map +1 -0
- package/dist/esm/transport/otlp.js +190 -0
- package/dist/esm/transport/otlp.js.map +1 -0
- package/dist/esm/transport/rotating-file.d.ts +67 -0
- package/dist/esm/transport/rotating-file.d.ts.map +1 -0
- package/dist/esm/transport/rotating-file.js +175 -0
- package/dist/esm/transport/rotating-file.js.map +1 -0
- package/dist/esm/transport/transport.d.ts +35 -0
- package/dist/esm/transport/transport.d.ts.map +1 -0
- package/dist/esm/transport/transport.js +2 -0
- package/dist/esm/transport/transport.js.map +1 -0
- package/dist/esm/transport/worker-ipc.d.ts +43 -0
- package/dist/esm/transport/worker-ipc.d.ts.map +1 -0
- package/dist/esm/transport/worker-ipc.js +101 -0
- package/dist/esm/transport/worker-ipc.js.map +1 -0
- package/dist/esm/types.d.ts +72 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +39 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +128 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createElectronLifecycle = createElectronLifecycle;
|
|
4
|
+
const electron_binding_js_1 = require("./electron-binding.js");
|
|
5
|
+
const process_lifecycle_js_1 = require("./process-lifecycle.js");
|
|
6
|
+
/**
|
|
7
|
+
* Electron **main process** lifecycle hooks.
|
|
8
|
+
*
|
|
9
|
+
* GUI-driven termination goes through the Electron `app` event surface
|
|
10
|
+
* (`before-quit` / `will-quit`) rather than Node's `process` events, which do
|
|
11
|
+
* not fire on a normal window close. We flush pending entries on those events,
|
|
12
|
+
* mirroring the existing Node `beforeExit` semantics (fire-and-forget, bounded
|
|
13
|
+
* by the logger's flush timeout). When `app` is unavailable (e.g. a plain Node
|
|
14
|
+
* host, or a test runtime), we fall back to the process-based hooks so the
|
|
15
|
+
* behaviour degrades gracefully.
|
|
16
|
+
*
|
|
17
|
+
* Uncaught-error handling stays on `process` (`uncaughtException` /
|
|
18
|
+
* `unhandledRejection`) — those are still the right surface inside Electron.
|
|
19
|
+
*/
|
|
20
|
+
function createElectronLifecycle() {
|
|
21
|
+
const app = (0, electron_binding_js_1.getElectronApp)();
|
|
22
|
+
const nodeFallback = () => (0, process_lifecycle_js_1.createProcessLifecycle)();
|
|
23
|
+
return {
|
|
24
|
+
onFlushBeforeExit(cb) {
|
|
25
|
+
if (!app)
|
|
26
|
+
return nodeFallback().onFlushBeforeExit(cb);
|
|
27
|
+
// `before-quit` fires first and covers the normal close path; `will-quit`
|
|
28
|
+
// covers the final teardown so a slow first flush still drains.
|
|
29
|
+
const onBeforeQuit = () => {
|
|
30
|
+
void cb();
|
|
31
|
+
};
|
|
32
|
+
const onWillQuit = () => {
|
|
33
|
+
void cb();
|
|
34
|
+
};
|
|
35
|
+
app.on('before-quit', onBeforeQuit);
|
|
36
|
+
app.on('will-quit', onWillQuit);
|
|
37
|
+
return () => {
|
|
38
|
+
app.removeListener('before-quit', onBeforeQuit);
|
|
39
|
+
app.removeListener('will-quit', onWillQuit);
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
onUncaughtError(cb) {
|
|
43
|
+
return nodeFallback().onUncaughtError?.(cb) ?? (() => { });
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=electron-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-lifecycle.js","sourceRoot":"","sources":["../../../src/runtime/electron-lifecycle.ts"],"names":[],"mappings":";;AAkBA,0DA4BC;AA7CD,+DAAuD;AACvD,iEAAgE;AAEhE;;;;;;;;;;;;;GAaG;AACH,SAAgB,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAA,oCAAc,GAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,GAAmB,EAAE,CAAC,IAAA,6CAAsB,GAAE,CAAC;IAEpE,OAAO;QACL,iBAAiB,CAAC,EAAE;YAClB,IAAI,CAAC,GAAG;gBAAE,OAAO,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEtD,0EAA0E;YAC1E,gEAAgE;YAChE,MAAM,YAAY,GAAG,GAAS,EAAE;gBAC9B,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC5B,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACpC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAChC,OAAO,GAAG,EAAE;gBACV,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBAChD,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,EAAE;YAChB,OAAO,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { RuntimeAdapter } from './adapter.js';
|
|
2
|
+
import type { RotateTimeOptions } from '../transport/file.js';
|
|
3
|
+
export interface ElectronMainRuntimeOptions {
|
|
4
|
+
/** Forwarded to the main/renderer `FileTransport` (mode `rotate-time`). */
|
|
5
|
+
fileTransportOptions?: Partial<Omit<RotateTimeOptions, 'mode'>>;
|
|
6
|
+
/** Disable the file transport entirely (console only). */
|
|
7
|
+
disableFile?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Listen for renderer entries over IPC and write them to the dedicated
|
|
10
|
+
* `renderer.{date}.log` file (default `true`). Main-process entries
|
|
11
|
+
* go to `main.{date}.log`. By default both land under the app's `logs`
|
|
12
|
+
* directory (`app.getPath('logs')`); pass `fileTransportOptions: { dir }`
|
|
13
|
+
* to place them elsewhere.
|
|
14
|
+
*/
|
|
15
|
+
receiveFromRenderer?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Electron **main process** runtime. Owns the filesystem, so by default it
|
|
19
|
+
* persists logs to a rotating file (unless `disableFile`) in addition to the
|
|
20
|
+
* console, and (by default) receives renderer entries over IPC so that all
|
|
21
|
+
* logs — including those produced in renderers — are written here.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createElectronMainRuntime(options?: ElectronMainRuntimeOptions): RuntimeAdapter;
|
|
24
|
+
//# sourceMappingURL=electron-main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-main.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAyBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,cAAc,CAkEhB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createElectronMainRuntime = createElectronMainRuntime;
|
|
4
|
+
const console_js_1 = require("../transport/console.js");
|
|
5
|
+
const file_js_1 = require("../transport/file.js");
|
|
6
|
+
const electron_ipc_js_1 = require("../transport/electron-ipc.js");
|
|
7
|
+
const electron_binding_js_1 = require("./electron-binding.js");
|
|
8
|
+
const electron_lifecycle_js_1 = require("./electron-lifecycle.js");
|
|
9
|
+
const index_js_1 = require("../shims/index.js");
|
|
10
|
+
const index_js_2 = require("../shims/index.js");
|
|
11
|
+
const defaults_js_1 = require("./defaults.js");
|
|
12
|
+
/**
|
|
13
|
+
* Log directory for the Electron main runtime. Prefers Electron's dedicated
|
|
14
|
+
* `logs` path (e.g. `<userData>/logs`, already namespaced by the app name so
|
|
15
|
+
* multiple apps never collide), falling back to `<appData>/Logs` and finally
|
|
16
|
+
* the OS temp dir if Electron is unavailable or `app` is not ready.
|
|
17
|
+
*/
|
|
18
|
+
function defaultElectronLogDir() {
|
|
19
|
+
const app = (0, electron_binding_js_1.getElectronApp)();
|
|
20
|
+
if (app?.getPath) {
|
|
21
|
+
try {
|
|
22
|
+
return app.getPath('logs');
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
/* app not ready yet — try the next fallback */
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
return (0, index_js_2.join)(app.getPath('appData'), 'Logs');
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
/* ignore */
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return (0, index_js_1.tmpdir)();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Electron **main process** runtime. Owns the filesystem, so by default it
|
|
38
|
+
* persists logs to a rotating file (unless `disableFile`) in addition to the
|
|
39
|
+
* console, and (by default) receives renderer entries over IPC so that all
|
|
40
|
+
* logs — including those produced in renderers — are written here.
|
|
41
|
+
*/
|
|
42
|
+
function createElectronMainRuntime(options = {}) {
|
|
43
|
+
const pid = typeof process !== 'undefined' ? process.pid : undefined;
|
|
44
|
+
const receiveFromRenderer = options.receiveFromRenderer ?? true;
|
|
45
|
+
const runtime = {
|
|
46
|
+
name: 'electron',
|
|
47
|
+
processType: 'main',
|
|
48
|
+
now: () => Date.now(),
|
|
49
|
+
pid: () => pid,
|
|
50
|
+
hasFileSystem: () => true,
|
|
51
|
+
defaultTransports: () => {
|
|
52
|
+
const transports = [new console_js_1.ConsoleTransport()];
|
|
53
|
+
if (!options.disableFile) {
|
|
54
|
+
const dir = defaultElectronLogDir();
|
|
55
|
+
transports.push(new file_js_1.FileTransport({
|
|
56
|
+
mode: 'rotate-time',
|
|
57
|
+
unit: 'day',
|
|
58
|
+
appName: 'main',
|
|
59
|
+
dir,
|
|
60
|
+
// Disk-safety defaults so a zero-config logger never eats the
|
|
61
|
+
// disk; explicit `fileTransportOptions` values win.
|
|
62
|
+
...defaults_js_1.DEFAULT_FILE_CAPS,
|
|
63
|
+
// Main-process entries only: renderer entries are routed to the
|
|
64
|
+
// dedicated renderer log file below.
|
|
65
|
+
filter: (entry) => entry.metadata?.[electron_ipc_js_1.RENDERER_PROCESS_MARKER] !== 'renderer',
|
|
66
|
+
...options.fileTransportOptions,
|
|
67
|
+
}));
|
|
68
|
+
if (receiveFromRenderer) {
|
|
69
|
+
transports.push(new file_js_1.FileTransport({
|
|
70
|
+
mode: 'rotate-time',
|
|
71
|
+
unit: 'day',
|
|
72
|
+
appName: 'renderer',
|
|
73
|
+
dir,
|
|
74
|
+
// Disk-safety defaults so a zero-config logger never eats the
|
|
75
|
+
// disk; explicit `fileTransportOptions` values win.
|
|
76
|
+
...defaults_js_1.DEFAULT_FILE_CAPS,
|
|
77
|
+
// Renderer entries only.
|
|
78
|
+
filter: (entry) => entry.metadata?.[electron_ipc_js_1.RENDERER_PROCESS_MARKER] === 'renderer',
|
|
79
|
+
...options.fileTransportOptions,
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return transports;
|
|
84
|
+
},
|
|
85
|
+
lifecycle: (0, electron_lifecycle_js_1.createElectronLifecycle)(),
|
|
86
|
+
};
|
|
87
|
+
if (receiveFromRenderer) {
|
|
88
|
+
runtime.attachReceiver = (ingest) => {
|
|
89
|
+
try {
|
|
90
|
+
return (0, electron_ipc_js_1.registerIpcReceiver)(ingest, {
|
|
91
|
+
onLevelCommand: (level) => runtime.onLevelCommand?.(level),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
// `electron` not available (e.g. tests) — degrade to a no-op.
|
|
96
|
+
return () => { };
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return runtime;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=electron-main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-main.js","sourceRoot":"","sources":["../../../src/runtime/electron-main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { RuntimeAdapter } from './adapter.js';
|
|
2
|
+
import type { IpcRenderer } from 'electron';
|
|
3
|
+
export interface ElectronRendererRuntimeOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Forward entries to the main process over IPC so they are written there
|
|
6
|
+
* (default `true`). Disable to keep renderer logs local only.
|
|
7
|
+
*/
|
|
8
|
+
forwardToMain?: boolean;
|
|
9
|
+
/** Override the IPC channel used to reach the main process. */
|
|
10
|
+
channel?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Injected IPC sender. Required when the renderer cannot reach
|
|
13
|
+
* `require('electron')` (e.g. `nodeIntegration: false` +
|
|
14
|
+
* `contextIsolation: true`) — pass the `ipcRenderer` obtained from a preload
|
|
15
|
+
* bridge. Without it the transport falls back to `require('electron')`, which
|
|
16
|
+
* is unavailable in that locked-down setup.
|
|
17
|
+
*/
|
|
18
|
+
ipcRenderer?: Pick<IpcRenderer, 'send'>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Electron **renderer process** runtime. Renderers have no filesystem access,
|
|
22
|
+
* so by default they forward entries to the main process (which persists
|
|
23
|
+
* them) while still logging to the local console for devtools visibility.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createElectronRendererRuntime(options?: ElectronRendererRuntimeOptions): RuntimeAdapter;
|
|
26
|
+
//# sourceMappingURL=electron-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-renderer.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,cAAc,CAuBhB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createElectronRendererRuntime = createElectronRendererRuntime;
|
|
4
|
+
const console_js_1 = require("../transport/console.js");
|
|
5
|
+
const electron_ipc_js_1 = require("../transport/electron-ipc.js");
|
|
6
|
+
const web_lifecycle_js_1 = require("./web-lifecycle.js");
|
|
7
|
+
/**
|
|
8
|
+
* Electron **renderer process** runtime. Renderers have no filesystem access,
|
|
9
|
+
* so by default they forward entries to the main process (which persists
|
|
10
|
+
* them) while still logging to the local console for devtools visibility.
|
|
11
|
+
*/
|
|
12
|
+
function createElectronRendererRuntime(options = {}) {
|
|
13
|
+
const forwardToMain = options.forwardToMain ?? true;
|
|
14
|
+
return {
|
|
15
|
+
name: 'electron',
|
|
16
|
+
processType: 'renderer',
|
|
17
|
+
now: () => Date.now(),
|
|
18
|
+
pid: () => undefined,
|
|
19
|
+
hasFileSystem: () => false,
|
|
20
|
+
defaultTransports: () => {
|
|
21
|
+
const transports = [new console_js_1.ConsoleTransport()];
|
|
22
|
+
if (forwardToMain) {
|
|
23
|
+
transports.push(new electron_ipc_js_1.ElectronIpcTransport({
|
|
24
|
+
channel: options.channel,
|
|
25
|
+
ipcRenderer: options.ipcRenderer,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
return transports;
|
|
29
|
+
},
|
|
30
|
+
lifecycle: (0, web_lifecycle_js_1.createWebLifecycle)(),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=electron-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron-renderer.js","sourceRoot":"","sources":["../../../src/runtime/electron-renderer.ts"],"names":[],"mappings":";;AA8BA,sEAyBC;AApDD,wDAA2D;AAC3D,kEAAoE;AACpE,yDAAwD;AAoBxD;;;;GAIG;AACH,SAAgB,6BAA6B,CAC3C,UAA0C,EAAE;IAE5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;QACpB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;QAC1B,iBAAiB,EAAE,GAAG,EAAE;YACtB,MAAM,UAAU,GAAgB,CAAC,IAAI,6BAAgB,EAAE,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CACb,IAAI,sCAAoB,CAAC;oBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,SAAS,EAAE,IAAA,qCAAkB,GAAE;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RuntimeAdapter } from './adapter.js';
|
|
2
|
+
import type { ElectronMainRuntimeOptions } from './electron-main.js';
|
|
3
|
+
import type { ElectronRendererRuntimeOptions } from './electron-renderer.js';
|
|
4
|
+
export { createElectronMainRuntime } from './electron-main.js';
|
|
5
|
+
export type { ElectronMainRuntimeOptions } from './electron-main.js';
|
|
6
|
+
export { createElectronRendererRuntime } from './electron-renderer.js';
|
|
7
|
+
export type { ElectronRendererRuntimeOptions } from './electron-renderer.js';
|
|
8
|
+
/**
|
|
9
|
+
* Options accepted by {@link createElectronRuntime}. This is the union of the
|
|
10
|
+
* main and renderer runtime options; only the relevant subset is used after
|
|
11
|
+
* the process type is detected.
|
|
12
|
+
*/
|
|
13
|
+
export type ElectronRuntimeOptions = ElectronMainRuntimeOptions & ElectronRendererRuntimeOptions;
|
|
14
|
+
/**
|
|
15
|
+
* Auto-detect whether we run in the Electron main or renderer process and
|
|
16
|
+
* return the matching runtime. Prefer the explicit {@link createElectronMainRuntime}
|
|
17
|
+
* / {@link createElectronRendererRuntime} when the process type is known.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createElectronRuntime(options?: ElectronRuntimeOptions): RuntimeAdapter;
|
|
20
|
+
//# sourceMappingURL=electron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAE7E;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG,8BAA8B,CAAC;AAWjG;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,cAAc,CAI1F"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createElectronRendererRuntime = exports.createElectronMainRuntime = void 0;
|
|
4
|
+
exports.createElectronRuntime = createElectronRuntime;
|
|
5
|
+
const electron_main_js_1 = require("./electron-main.js");
|
|
6
|
+
const electron_renderer_js_1 = require("./electron-renderer.js");
|
|
7
|
+
var electron_main_js_2 = require("./electron-main.js");
|
|
8
|
+
Object.defineProperty(exports, "createElectronMainRuntime", { enumerable: true, get: function () { return electron_main_js_2.createElectronMainRuntime; } });
|
|
9
|
+
var electron_renderer_js_2 = require("./electron-renderer.js");
|
|
10
|
+
Object.defineProperty(exports, "createElectronRendererRuntime", { enumerable: true, get: function () { return electron_renderer_js_2.createElectronRendererRuntime; } });
|
|
11
|
+
function isMainProcess() {
|
|
12
|
+
// An Electron renderer explicitly reports `process.type === 'renderer'`.
|
|
13
|
+
// The main process may report `'browser'` *or* `undefined`, so anything
|
|
14
|
+
// that is not explicitly a renderer is treated as main.
|
|
15
|
+
return (typeof process === 'undefined' || process.type !== 'renderer');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Auto-detect whether we run in the Electron main or renderer process and
|
|
19
|
+
* return the matching runtime. Prefer the explicit {@link createElectronMainRuntime}
|
|
20
|
+
* / {@link createElectronRendererRuntime} when the process type is known.
|
|
21
|
+
*/
|
|
22
|
+
function createElectronRuntime(options = {}) {
|
|
23
|
+
return isMainProcess()
|
|
24
|
+
? (0, electron_main_js_1.createElectronMainRuntime)(options)
|
|
25
|
+
: (0, electron_renderer_js_1.createElectronRendererRuntime)(options);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=electron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"electron.js","sourceRoot":"","sources":["../../../src/runtime/electron.ts"],"names":[],"mappings":";;;AAgCA,sDAIC;AAnCD,yDAA+D;AAE/D,iEAAuE;AAGvE,uDAA+D;AAAtD,6HAAA,yBAAyB,OAAA;AAElC,+DAAuE;AAA9D,qIAAA,6BAA6B,OAAA;AAUtC,SAAS,aAAa;IACpB,yEAAyE;IACzE,wEAAwE;IACxE,wDAAwD;IACxD,OAAO,CACL,OAAO,OAAO,KAAK,WAAW,IAAK,OAAwC,CAAC,IAAI,KAAK,UAAU,CAChG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,UAAkC,EAAE;IACxE,OAAO,aAAa,EAAE;QACpB,CAAC,CAAC,IAAA,4CAAyB,EAAC,OAAO,CAAC;QACpC,CAAC,CAAC,IAAA,oDAA6B,EAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RuntimeAdapter } from './adapter.js';
|
|
2
|
+
import type { NodeRuntimeOptions } from './node.js';
|
|
3
|
+
import type { ElectronRuntimeOptions } from './electron.js';
|
|
4
|
+
export type RuntimeOptions = ElectronRuntimeOptions & NodeRuntimeOptions;
|
|
5
|
+
/**
|
|
6
|
+
* Auto-detect the current runtime:
|
|
7
|
+
* - Electron main / renderer when `process.versions.electron` exists;
|
|
8
|
+
* - Plain Node.js when a Node process is present (has filesystem + pid);
|
|
9
|
+
* - Web (browser) otherwise.
|
|
10
|
+
*
|
|
11
|
+
* `ElectronRuntimeOptions`/`NodeRuntimeOptions` (e.g. `appName`, `fileTransportOptions`) are
|
|
12
|
+
* forwarded to the matching adapter.
|
|
13
|
+
*/
|
|
14
|
+
export declare function detectRuntime(options?: RuntimeOptions): RuntimeAdapter;
|
|
15
|
+
export type { RuntimeAdapter, RuntimeName, ElectronProcessType, IngestFn } from './adapter.js';
|
|
16
|
+
export { createWebRuntime } from './web.js';
|
|
17
|
+
export { createNodeRuntime } from './node.js';
|
|
18
|
+
export { createElectronRuntime, createElectronMainRuntime, createElectronRendererRuntime, } from './electron.js';
|
|
19
|
+
export type { ElectronRuntimeOptions, ElectronMainRuntimeOptions, ElectronRendererRuntimeOptions, } from './electron.js';
|
|
20
|
+
export { ElectronIpcTransport, registerIpcReceiver, LOGRAIL_CHANNEL, } from '../transport/electron-ipc.js';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;AAEzE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc,CAa1E;AAED,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOGRAIL_CHANNEL = exports.registerIpcReceiver = exports.ElectronIpcTransport = exports.createElectronRendererRuntime = exports.createElectronMainRuntime = exports.createElectronRuntime = exports.createNodeRuntime = exports.createWebRuntime = void 0;
|
|
4
|
+
exports.detectRuntime = detectRuntime;
|
|
5
|
+
const web_js_1 = require("./web.js");
|
|
6
|
+
const node_js_1 = require("./node.js");
|
|
7
|
+
const electron_js_1 = require("./electron.js");
|
|
8
|
+
/**
|
|
9
|
+
* Auto-detect the current runtime:
|
|
10
|
+
* - Electron main / renderer when `process.versions.electron` exists;
|
|
11
|
+
* - Plain Node.js when a Node process is present (has filesystem + pid);
|
|
12
|
+
* - Web (browser) otherwise.
|
|
13
|
+
*
|
|
14
|
+
* `ElectronRuntimeOptions`/`NodeRuntimeOptions` (e.g. `appName`, `fileTransportOptions`) are
|
|
15
|
+
* forwarded to the matching adapter.
|
|
16
|
+
*/
|
|
17
|
+
function detectRuntime(options = {}) {
|
|
18
|
+
const versions = (typeof process !== 'undefined'
|
|
19
|
+
? process.versions
|
|
20
|
+
: undefined) ?? {};
|
|
21
|
+
if (versions.electron) {
|
|
22
|
+
return (0, electron_js_1.createElectronRuntime)(options);
|
|
23
|
+
}
|
|
24
|
+
if (versions.node) {
|
|
25
|
+
return (0, node_js_1.createNodeRuntime)(options);
|
|
26
|
+
}
|
|
27
|
+
return (0, web_js_1.createWebRuntime)();
|
|
28
|
+
}
|
|
29
|
+
var web_js_2 = require("./web.js");
|
|
30
|
+
Object.defineProperty(exports, "createWebRuntime", { enumerable: true, get: function () { return web_js_2.createWebRuntime; } });
|
|
31
|
+
var node_js_2 = require("./node.js");
|
|
32
|
+
Object.defineProperty(exports, "createNodeRuntime", { enumerable: true, get: function () { return node_js_2.createNodeRuntime; } });
|
|
33
|
+
var electron_js_2 = require("./electron.js");
|
|
34
|
+
Object.defineProperty(exports, "createElectronRuntime", { enumerable: true, get: function () { return electron_js_2.createElectronRuntime; } });
|
|
35
|
+
Object.defineProperty(exports, "createElectronMainRuntime", { enumerable: true, get: function () { return electron_js_2.createElectronMainRuntime; } });
|
|
36
|
+
Object.defineProperty(exports, "createElectronRendererRuntime", { enumerable: true, get: function () { return electron_js_2.createElectronRendererRuntime; } });
|
|
37
|
+
var electron_ipc_js_1 = require("../transport/electron-ipc.js");
|
|
38
|
+
Object.defineProperty(exports, "ElectronIpcTransport", { enumerable: true, get: function () { return electron_ipc_js_1.ElectronIpcTransport; } });
|
|
39
|
+
Object.defineProperty(exports, "registerIpcReceiver", { enumerable: true, get: function () { return electron_ipc_js_1.registerIpcReceiver; } });
|
|
40
|
+
Object.defineProperty(exports, "LOGRAIL_CHANNEL", { enumerable: true, get: function () { return electron_ipc_js_1.LOGRAIL_CHANNEL; } });
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":";;;AAkBA,sCAaC;AA9BD,qCAA4C;AAE5C,uCAA8C;AAE9C,+CAAsD;AAItD;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,UAA0B,EAAE;IACxD,MAAM,QAAQ,GACZ,CAAC,OAAO,OAAO,KAAK,WAAW;QAC7B,CAAC,CAAE,OAA0E,CAAC,QAAQ;QACtF,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEvB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAA,mCAAqB,EAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAA,yBAAgB,GAAE,CAAC;AAC5B,CAAC;AAGD,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,6CAIuB;AAHrB,oHAAA,qBAAqB,OAAA;AACrB,wHAAA,yBAAyB,OAAA;AACzB,4HAAA,6BAA6B,OAAA;AAO/B,gEAIsC;AAHpC,uHAAA,oBAAoB,OAAA;AACpB,sHAAA,mBAAmB,OAAA;AACnB,kHAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { RotateTimeOptions } from '../transport/file.js';
|
|
2
|
+
import type { RuntimeAdapter } from './adapter.js';
|
|
3
|
+
export interface NodeRuntimeOptions {
|
|
4
|
+
/** Application name; embedded in the log file name (required). */
|
|
5
|
+
appName?: string;
|
|
6
|
+
/** Forwarded to the default `FileTransport` (mode `rotate-time`). */
|
|
7
|
+
fileTransportOptions?: Partial<Omit<RotateTimeOptions, 'mode'>>;
|
|
8
|
+
/** Disable the file transport entirely (console only). */
|
|
9
|
+
disableFile?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Plain Node.js runtime (CLI / server / worker). Has both a process id and
|
|
13
|
+
* filesystem access, so by default it persists logs to a time-rotated file
|
|
14
|
+
* (in addition to the console). Pass `disableFile` to opt out, or
|
|
15
|
+
* `appName` / `fileTransportOptions` to customize. `appName` is required for
|
|
16
|
+
* the file transport; if omitted it is inferred from the launched script and
|
|
17
|
+
* throws if it cannot be determined.
|
|
18
|
+
*
|
|
19
|
+
* **Cluster support.** When running inside `node:cluster`, the runtime
|
|
20
|
+
* automatically detects whether the current process is a worker or the
|
|
21
|
+
* primary. Workers disable the file transport and send entries to the
|
|
22
|
+
* primary via `process.send()` (the `ClusterIpcTransport`). The primary
|
|
23
|
+
* receives those entries and feeds them into the logger — no manual
|
|
24
|
+
* `registerClusterReceiver` call is needed.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createNodeRuntime(options?: NodeRuntimeOptions): RuntimeAdapter;
|
|
27
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/runtime/node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAsBnD,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CA0DlF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNodeRuntime = createNodeRuntime;
|
|
4
|
+
const console_js_1 = require("../transport/console.js");
|
|
5
|
+
const file_js_1 = require("../transport/file.js");
|
|
6
|
+
const cluster_ipc_js_1 = require("../transport/cluster-ipc.js");
|
|
7
|
+
const worker_ipc_js_1 = require("../transport/worker-ipc.js");
|
|
8
|
+
const process_lifecycle_js_1 = require("./process-lifecycle.js");
|
|
9
|
+
const index_js_1 = require("../shims/index.js");
|
|
10
|
+
const index_js_2 = require("../shims/index.js");
|
|
11
|
+
const index_js_3 = require("../shims/index.js");
|
|
12
|
+
const defaults_js_1 = require("./defaults.js");
|
|
13
|
+
/**
|
|
14
|
+
* Detect whether the current context is a Node worker_threads worker.
|
|
15
|
+
* Uses `typeof` on `globalThis.parentPort` — safe in all environments.
|
|
16
|
+
*/
|
|
17
|
+
function isNodeWorkerThread() {
|
|
18
|
+
try {
|
|
19
|
+
return (typeof globalThis.parentPort?.postMessage ===
|
|
20
|
+
'function');
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Derive an application name from the invoked script when none is given. */
|
|
27
|
+
function inferAppName() {
|
|
28
|
+
try {
|
|
29
|
+
const p = process.argv[1];
|
|
30
|
+
if (p)
|
|
31
|
+
return (0, index_js_2.basename)(p).replace(/\.[^.]+$/, '');
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
/* ignore */
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Lifecycle hooks for cluster workers. Flushes on `disconnect` (the primary
|
|
40
|
+
* closed the IPC channel) and on `beforeExit` / signals.
|
|
41
|
+
*/
|
|
42
|
+
function createClusterWorkerLifecycle() {
|
|
43
|
+
const lc = (0, process_lifecycle_js_1.createProcessLifecycle)();
|
|
44
|
+
return {
|
|
45
|
+
onFlushBeforeExit(cb) {
|
|
46
|
+
const detachProcess = lc.onFlushBeforeExit(cb);
|
|
47
|
+
const proc = process;
|
|
48
|
+
const onDisconnect = () => {
|
|
49
|
+
void cb();
|
|
50
|
+
};
|
|
51
|
+
proc.on?.('disconnect', onDisconnect);
|
|
52
|
+
return () => {
|
|
53
|
+
detachProcess();
|
|
54
|
+
proc.removeListener?.('disconnect', onDisconnect);
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
onUncaughtError: lc.onUncaughtError,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Plain Node.js runtime (CLI / server / worker). Has both a process id and
|
|
62
|
+
* filesystem access, so by default it persists logs to a time-rotated file
|
|
63
|
+
* (in addition to the console). Pass `disableFile` to opt out, or
|
|
64
|
+
* `appName` / `fileTransportOptions` to customize. `appName` is required for
|
|
65
|
+
* the file transport; if omitted it is inferred from the launched script and
|
|
66
|
+
* throws if it cannot be determined.
|
|
67
|
+
*
|
|
68
|
+
* **Cluster support.** When running inside `node:cluster`, the runtime
|
|
69
|
+
* automatically detects whether the current process is a worker or the
|
|
70
|
+
* primary. Workers disable the file transport and send entries to the
|
|
71
|
+
* primary via `process.send()` (the `ClusterIpcTransport`). The primary
|
|
72
|
+
* receives those entries and feeds them into the logger — no manual
|
|
73
|
+
* `registerClusterReceiver` call is needed.
|
|
74
|
+
*/
|
|
75
|
+
function createNodeRuntime(options = {}) {
|
|
76
|
+
const pid = typeof process !== 'undefined' ? process.pid : undefined;
|
|
77
|
+
const worker = (0, index_js_3.isClusterWorker)();
|
|
78
|
+
// ── Cluster worker: no file, send to primary via IPC ──
|
|
79
|
+
if (worker) {
|
|
80
|
+
return {
|
|
81
|
+
name: 'node',
|
|
82
|
+
now: () => Date.now(),
|
|
83
|
+
pid: () => pid,
|
|
84
|
+
hasFileSystem: () => false,
|
|
85
|
+
defaultTransports: () => [new console_js_1.ConsoleTransport(), new cluster_ipc_js_1.ClusterIpcTransport()],
|
|
86
|
+
lifecycle: createClusterWorkerLifecycle(),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// ── Node worker_threads worker: no file, send to parent via postMessage ──
|
|
90
|
+
if (isNodeWorkerThread()) {
|
|
91
|
+
return {
|
|
92
|
+
name: 'node',
|
|
93
|
+
now: () => Date.now(),
|
|
94
|
+
pid: () => pid,
|
|
95
|
+
hasFileSystem: () => false,
|
|
96
|
+
defaultTransports: () => [new console_js_1.ConsoleTransport(), new worker_ipc_js_1.WorkerIpcTransport()],
|
|
97
|
+
lifecycle: createClusterWorkerLifecycle(), // reuse: flush on disconnect/exit
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// ── Primary or non-cluster: console + file (default) ──
|
|
101
|
+
const transports = [new console_js_1.ConsoleTransport()];
|
|
102
|
+
if (!options.disableFile) {
|
|
103
|
+
const appName = options.appName ?? inferAppName();
|
|
104
|
+
if (!appName) {
|
|
105
|
+
throw new Error('Node runtime requires an "appName" (or a determinable script path) for the file transport');
|
|
106
|
+
}
|
|
107
|
+
transports.push(new file_js_1.FileTransport({
|
|
108
|
+
mode: 'rotate-time',
|
|
109
|
+
unit: 'day',
|
|
110
|
+
appName,
|
|
111
|
+
dir: (0, index_js_1.tmpdir)(),
|
|
112
|
+
...defaults_js_1.DEFAULT_FILE_CAPS,
|
|
113
|
+
...options.fileTransportOptions,
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
name: 'node',
|
|
118
|
+
now: () => Date.now(),
|
|
119
|
+
pid: () => pid,
|
|
120
|
+
hasFileSystem: () => !options.disableFile,
|
|
121
|
+
defaultTransports: () => transports,
|
|
122
|
+
attachReceiver: (ingest) => (0, cluster_ipc_js_1.registerClusterReceiver)(ingest),
|
|
123
|
+
lifecycle: (0, process_lifecycle_js_1.createProcessLifecycle)(),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/runtime/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LifecycleHooks } from './adapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Lifecycle hooks backed by the Node/Electron `process` event surface. Shared
|
|
4
|
+
* by the Node runtime and both Electron process types — they all expose the
|
|
5
|
+
* same `process` events.
|
|
6
|
+
*
|
|
7
|
+
* The flush callback is supplied by the logger; this module only decides
|
|
8
|
+
* *when* to call it and owns the `process.exit()` that follows a signal or a
|
|
9
|
+
* fatal, uncaught crash. It never touches `window`, so it is safe to import in
|
|
10
|
+
* any runtime (the `process` probe just returns `undefined` where absent).
|
|
11
|
+
*/
|
|
12
|
+
export declare function createProcessLifecycle(): LifecycleHooks;
|
|
13
|
+
//# sourceMappingURL=process-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtime/process-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAgBnD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CA2DvD"}
|