@volter/tabnode 0.2.14-volter.88
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/LICENSE +22 -0
- package/README.md +78 -0
- package/THIRD-PARTY-NOTICES.md +12 -0
- package/dist/__sw__.js +526 -0
- package/dist/assets/runtime-worker-4MKaHFVb.js +75221 -0
- package/dist/assets/runtime-worker-4MKaHFVb.js.map +1 -0
- package/dist/code-transforms.d.ts +21 -0
- package/dist/code-transforms.d.ts.map +1 -0
- package/dist/config/cdn.d.ts +12 -0
- package/dist/config/cdn.d.ts.map +1 -0
- package/dist/create-runtime.d.ts +22 -0
- package/dist/create-runtime.d.ts.map +1 -0
- package/dist/host-globals.d.ts +62 -0
- package/dist/host-globals.d.ts.map +1 -0
- package/dist/index.cjs +36021 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +127 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +36020 -0
- package/dist/index.mjs.map +1 -0
- package/dist/node-internals.d.ts +68 -0
- package/dist/node-internals.d.ts.map +1 -0
- package/dist/node-lib/binding/blob.d.ts +12 -0
- package/dist/node-lib/binding/blob.d.ts.map +1 -0
- package/dist/node-lib/binding/buffer.d.ts +144 -0
- package/dist/node-lib/binding/buffer.d.ts.map +1 -0
- package/dist/node-lib/binding/cares_wrap.d.ts +14 -0
- package/dist/node-lib/binding/cares_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/fds.d.ts +30 -0
- package/dist/node-lib/binding/fds.d.ts.map +1 -0
- package/dist/node-lib/binding/fs.d.ts +157 -0
- package/dist/node-lib/binding/fs.d.ts.map +1 -0
- package/dist/node-lib/binding/handles.d.ts +81 -0
- package/dist/node-lib/binding/handles.d.ts.map +1 -0
- package/dist/node-lib/binding/http_parser.d.ts +122 -0
- package/dist/node-lib/binding/http_parser.d.ts.map +1 -0
- package/dist/node-lib/binding/index.d.ts +3 -0
- package/dist/node-lib/binding/index.d.ts.map +1 -0
- package/dist/node-lib/binding/llhttp-wasm.d.ts +22 -0
- package/dist/node-lib/binding/llhttp-wasm.d.ts.map +1 -0
- package/dist/node-lib/binding/misc.d.ts +123 -0
- package/dist/node-lib/binding/misc.d.ts.map +1 -0
- package/dist/node-lib/binding/pipe_wrap.d.ts +84 -0
- package/dist/node-lib/binding/pipe_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/process_wrap.d.ts +173 -0
- package/dist/node-lib/binding/process_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/spawn_sync.d.ts +30 -0
- package/dist/node-lib/binding/spawn_sync.d.ts.map +1 -0
- package/dist/node-lib/binding/stream_wrap.d.ts +191 -0
- package/dist/node-lib/binding/stream_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/stubs.d.ts +23 -0
- package/dist/node-lib/binding/stubs.d.ts.map +1 -0
- package/dist/node-lib/binding/tcp_wrap.d.ts +98 -0
- package/dist/node-lib/binding/tcp_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/tty_wrap.d.ts +36 -0
- package/dist/node-lib/binding/tty_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/util.d.ts +126 -0
- package/dist/node-lib/binding/util.d.ts.map +1 -0
- package/dist/node-lib/binding/uv.d.ts +32 -0
- package/dist/node-lib/binding/uv.d.ts.map +1 -0
- package/dist/node-lib/binding/zlib-pako.d.ts +22 -0
- package/dist/node-lib/binding/zlib-pako.d.ts.map +1 -0
- package/dist/node-lib/binding/zlib.d.ts +38 -0
- package/dist/node-lib/binding/zlib.d.ts.map +1 -0
- package/dist/node-lib/buffer-module.d.ts +51 -0
- package/dist/node-lib/buffer-module.d.ts.map +1 -0
- package/dist/node-lib/child-process-module.d.ts +26 -0
- package/dist/node-lib/child-process-module.d.ts.map +1 -0
- package/dist/node-lib/events-module.d.ts +58 -0
- package/dist/node-lib/events-module.d.ts.map +1 -0
- package/dist/node-lib/fs-module.d.ts +5 -0
- package/dist/node-lib/fs-module.d.ts.map +1 -0
- package/dist/node-lib/http-bridge.d.ts +43 -0
- package/dist/node-lib/http-bridge.d.ts.map +1 -0
- package/dist/node-lib/http-module.d.ts +35 -0
- package/dist/node-lib/http-module.d.ts.map +1 -0
- package/dist/node-lib/internals/addresses.d.ts +40 -0
- package/dist/node-lib/internals/addresses.d.ts.map +1 -0
- package/dist/node-lib/internals/buffer-and-streams.d.ts +96 -0
- package/dist/node-lib/internals/buffer-and-streams.d.ts.map +1 -0
- package/dist/node-lib/internals/child-process.d.ts +27 -0
- package/dist/node-lib/internals/child-process.d.ts.map +1 -0
- package/dist/node-lib/internals/events-util.d.ts +83 -0
- package/dist/node-lib/internals/events-util.d.ts.map +1 -0
- package/dist/node-lib/internals/index.d.ts +2 -0
- package/dist/node-lib/internals/index.d.ts.map +1 -0
- package/dist/node-lib/internals/modules.d.ts +67 -0
- package/dist/node-lib/internals/modules.d.ts.map +1 -0
- package/dist/node-lib/internals/readline-access.d.ts +2 -0
- package/dist/node-lib/internals/readline-access.d.ts.map +1 -0
- package/dist/node-lib/internals/runtime.d.ts +150 -0
- package/dist/node-lib/internals/runtime.d.ts.map +1 -0
- package/dist/node-lib/internals/util.d.ts +33 -0
- package/dist/node-lib/internals/util.d.ts.map +1 -0
- package/dist/node-lib/lazy.d.ts +31 -0
- package/dist/node-lib/lazy.d.ts.map +1 -0
- package/dist/node-lib/load.d.ts +27 -0
- package/dist/node-lib/load.d.ts.map +1 -0
- package/dist/node-lib/module-hooks.d.ts +89 -0
- package/dist/node-lib/module-hooks.d.ts.map +1 -0
- package/dist/node-lib/net-module.d.ts +181 -0
- package/dist/node-lib/net-module.d.ts.map +1 -0
- package/dist/node-lib/node-versions.d.ts +27 -0
- package/dist/node-lib/node-versions.d.ts.map +1 -0
- package/dist/node-lib/public-modules.d.ts +2 -0
- package/dist/node-lib/public-modules.d.ts.map +1 -0
- package/dist/node-lib/require-hook.d.ts +15 -0
- package/dist/node-lib/require-hook.d.ts.map +1 -0
- package/dist/node-lib/small-modules.d.ts +16 -0
- package/dist/node-lib/small-modules.d.ts.map +1 -0
- package/dist/node-lib/sources.d.ts +4 -0
- package/dist/node-lib/sources.d.ts.map +1 -0
- package/dist/node-lib/stream-module.d.ts +77 -0
- package/dist/node-lib/stream-module.d.ts.map +1 -0
- package/dist/node-lib/timers.d.ts +19 -0
- package/dist/node-lib/timers.d.ts.map +1 -0
- package/dist/node-lib/util-module.d.ts +76 -0
- package/dist/node-lib/util-module.d.ts.map +1 -0
- package/dist/node-resolution.d.ts +50 -0
- package/dist/node-resolution.d.ts.map +1 -0
- package/dist/node-resolver.d.ts +7 -0
- package/dist/node-resolver.d.ts.map +1 -0
- package/dist/npm/index.d.ts +73 -0
- package/dist/npm/index.d.ts.map +1 -0
- package/dist/npm/registry.d.ts +111 -0
- package/dist/npm/registry.d.ts.map +1 -0
- package/dist/npm/resolver.d.ts +79 -0
- package/dist/npm/resolver.d.ts.map +1 -0
- package/dist/npm/tarball.d.ts +28 -0
- package/dist/npm/tarball.d.ts.map +1 -0
- package/dist/process-tokens.d.ts +77 -0
- package/dist/process-tokens.d.ts.map +1 -0
- package/dist/punycode-source.d.ts +3 -0
- package/dist/punycode-source.d.ts.map +1 -0
- package/dist/runtime-interface.d.ts +74 -0
- package/dist/runtime-interface.d.ts.map +1 -0
- package/dist/runtime.d.ts +144 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/server-bridge.d.ts +147 -0
- package/dist/server-bridge.d.ts.map +1 -0
- package/dist/shims/async_hooks.d.ts +50 -0
- package/dist/shims/async_hooks.d.ts.map +1 -0
- package/dist/shims/child_process.d.ts +104 -0
- package/dist/shims/child_process.d.ts.map +1 -0
- package/dist/shims/cluster.d.ts +52 -0
- package/dist/shims/cluster.d.ts.map +1 -0
- package/dist/shims/command-line.d.ts +43 -0
- package/dist/shims/command-line.d.ts.map +1 -0
- package/dist/shims/constants.d.ts +222 -0
- package/dist/shims/constants.d.ts.map +1 -0
- package/dist/shims/crypto-constants.d.ts +12 -0
- package/dist/shims/crypto-constants.d.ts.map +1 -0
- package/dist/shims/crypto.d.ts +144 -0
- package/dist/shims/crypto.d.ts.map +1 -0
- package/dist/shims/dgram.d.ts +34 -0
- package/dist/shims/dgram.d.ts.map +1 -0
- package/dist/shims/dns.d.ts +91 -0
- package/dist/shims/dns.d.ts.map +1 -0
- package/dist/shims/domain.d.ts +25 -0
- package/dist/shims/domain.d.ts.map +1 -0
- package/dist/shims/esbuild.d.ts +205 -0
- package/dist/shims/esbuild.d.ts.map +1 -0
- package/dist/shims/fs.d.ts +25 -0
- package/dist/shims/fs.d.ts.map +1 -0
- package/dist/shims/http2.d.ts +81 -0
- package/dist/shims/http2.d.ts.map +1 -0
- package/dist/shims/inspector.d.ts +25 -0
- package/dist/shims/inspector.d.ts.map +1 -0
- package/dist/shims/module.d.ts +22 -0
- package/dist/shims/module.d.ts.map +1 -0
- package/dist/shims/os.d.ts +159 -0
- package/dist/shims/os.d.ts.map +1 -0
- package/dist/shims/path.d.ts +52 -0
- package/dist/shims/path.d.ts.map +1 -0
- package/dist/shims/perf_hooks.d.ts +50 -0
- package/dist/shims/perf_hooks.d.ts.map +1 -0
- package/dist/shims/process.d.ts +226 -0
- package/dist/shims/process.d.ts.map +1 -0
- package/dist/shims/rollup.d.ts +71 -0
- package/dist/shims/rollup.d.ts.map +1 -0
- package/dist/shims/string_decoder.d.ts +41 -0
- package/dist/shims/string_decoder.d.ts.map +1 -0
- package/dist/shims/sync-child.d.ts +64 -0
- package/dist/shims/sync-child.d.ts.map +1 -0
- package/dist/shims/tls.d.ts +53 -0
- package/dist/shims/tls.d.ts.map +1 -0
- package/dist/shims/url.d.ts +84 -0
- package/dist/shims/url.d.ts.map +1 -0
- package/dist/shims/v8.d.ts +73 -0
- package/dist/shims/v8.d.ts.map +1 -0
- package/dist/shims/vfs-adapter.d.ts +126 -0
- package/dist/shims/vfs-adapter.d.ts.map +1 -0
- package/dist/shims/vm.d.ts +52 -0
- package/dist/shims/vm.d.ts.map +1 -0
- package/dist/shims/wasi.d.ts +78 -0
- package/dist/shims/wasi.d.ts.map +1 -0
- package/dist/shims/worker_threads.d.ts +66 -0
- package/dist/shims/worker_threads.d.ts.map +1 -0
- package/dist/shims/zlib-constants.d.ts +66 -0
- package/dist/shims/zlib-constants.d.ts.map +1 -0
- package/dist/shims/zlib.d.ts +102 -0
- package/dist/shims/zlib.d.ts.map +1 -0
- package/dist/transform.d.ts +24 -0
- package/dist/transform.d.ts.map +1 -0
- package/dist/types/package-json.d.ts +18 -0
- package/dist/types/package-json.d.ts.map +1 -0
- package/dist/utils/binary-encoding.d.ts +13 -0
- package/dist/utils/binary-encoding.d.ts.map +1 -0
- package/dist/utils/glob.d.ts +19 -0
- package/dist/utils/glob.d.ts.map +1 -0
- package/dist/utils/hash.d.ts +6 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/virtual-fs.d.ts +259 -0
- package/dist/virtual-fs.d.ts.map +1 -0
- package/dist/vite-plugin.cjs +50 -0
- package/dist/vite-plugin.cjs.map +1 -0
- package/dist/vite-plugin.d.ts +36 -0
- package/dist/vite-plugin.d.ts.map +1 -0
- package/dist/vite-plugin.mjs +31 -0
- package/dist/vite-plugin.mjs.map +1 -0
- package/dist/worker/runtime-worker.d.ts +8 -0
- package/dist/worker/runtime-worker.d.ts.map +1 -0
- package/dist/worker-runtime.d.ts +50 -0
- package/dist/worker-runtime.d.ts.map +1 -0
- package/package.json +88 -0
- package/src/code-transforms.ts +560 -0
- package/src/config/cdn.ts +13 -0
- package/src/create-runtime.ts +89 -0
- package/src/host-globals.ts +121 -0
- package/src/index.ts +235 -0
- package/src/node-internals.ts +283 -0
- package/src/node-lib/LICENSE +47 -0
- package/src/node-lib/_http_agent.js +547 -0
- package/src/node-lib/_http_client.js +996 -0
- package/src/node-lib/_http_common.js +269 -0
- package/src/node-lib/_http_incoming.js +453 -0
- package/src/node-lib/_http_outgoing.js +1262 -0
- package/src/node-lib/_http_server.js +1230 -0
- package/src/node-lib/assert/strict.js +3 -0
- package/src/node-lib/assert.js +844 -0
- package/src/node-lib/binding/blob.ts +35 -0
- package/src/node-lib/binding/buffer.ts +465 -0
- package/src/node-lib/binding/cares_wrap.ts +57 -0
- package/src/node-lib/binding/fds.ts +80 -0
- package/src/node-lib/binding/fs.ts +857 -0
- package/src/node-lib/binding/handles.ts +187 -0
- package/src/node-lib/binding/http_parser.ts +536 -0
- package/src/node-lib/binding/index.ts +77 -0
- package/src/node-lib/binding/llhttp-wasm.ts +670 -0
- package/src/node-lib/binding/misc.ts +252 -0
- package/src/node-lib/binding/pipe_wrap.ts +166 -0
- package/src/node-lib/binding/process_wrap.ts +371 -0
- package/src/node-lib/binding/spawn_sync.ts +141 -0
- package/src/node-lib/binding/stream_wrap.ts +413 -0
- package/src/node-lib/binding/stubs.ts +19 -0
- package/src/node-lib/binding/tcp_wrap.ts +254 -0
- package/src/node-lib/binding/tty_wrap.ts +56 -0
- package/src/node-lib/binding/util.ts +274 -0
- package/src/node-lib/binding/uv.ts +102 -0
- package/src/node-lib/binding/zlib-pako.ts +50 -0
- package/src/node-lib/binding/zlib.ts +259 -0
- package/src/node-lib/buffer-module.ts +70 -0
- package/src/node-lib/buffer.js +1373 -0
- package/src/node-lib/child-process-module.ts +58 -0
- package/src/node-lib/child_process.js +1046 -0
- package/src/node-lib/constants.js +41 -0
- package/src/node-lib/diagnostics_channel.js +438 -0
- package/src/node-lib/events-module.ts +80 -0
- package/src/node-lib/events.js +1223 -0
- package/src/node-lib/fs-module.ts +43 -0
- package/src/node-lib/fs.js +3377 -0
- package/src/node-lib/http-bridge.ts +299 -0
- package/src/node-lib/http-module.ts +53 -0
- package/src/node-lib/http.js +198 -0
- package/src/node-lib/https.js +429 -0
- package/src/node-lib/internal/assert/assertion_error.js +417 -0
- package/src/node-lib/internal/assert/calltracker.js +153 -0
- package/src/node-lib/internal/assert/myers_diff.js +177 -0
- package/src/node-lib/internal/assert/utils.js +278 -0
- package/src/node-lib/internal/buffer.js +1120 -0
- package/src/node-lib/internal/child_process/serialization.js +169 -0
- package/src/node-lib/internal/child_process.js +1135 -0
- package/src/node-lib/internal/constants.js +56 -0
- package/src/node-lib/internal/deps/minimatch/index.js +1628 -0
- package/src/node-lib/internal/errors.js +1912 -0
- package/src/node-lib/internal/events/abort_listener.js +54 -0
- package/src/node-lib/internal/events/symbols.js +11 -0
- package/src/node-lib/internal/fixed_queue.js +119 -0
- package/src/node-lib/internal/freelist.js +30 -0
- package/src/node-lib/internal/fs/cp/cp-sync.js +242 -0
- package/src/node-lib/internal/fs/cp/cp.js +382 -0
- package/src/node-lib/internal/fs/dir.js +369 -0
- package/src/node-lib/internal/fs/glob.js +763 -0
- package/src/node-lib/internal/fs/promises.js +1312 -0
- package/src/node-lib/internal/fs/read/context.js +129 -0
- package/src/node-lib/internal/fs/recursive_watch.js +275 -0
- package/src/node-lib/internal/fs/rimraf.js +311 -0
- package/src/node-lib/internal/fs/streams.js +571 -0
- package/src/node-lib/internal/fs/sync_write_stream.js +49 -0
- package/src/node-lib/internal/fs/utils.js +987 -0
- package/src/node-lib/internal/fs/watchers.js +418 -0
- package/src/node-lib/internal/http.js +62 -0
- package/src/node-lib/internal/mime.js +389 -0
- package/src/node-lib/internal/modules/customization_hooks.js +406 -0
- package/src/node-lib/internal/net.js +95 -0
- package/src/node-lib/internal/querystring.js +119 -0
- package/src/node-lib/internal/readline/callbacks.js +132 -0
- package/src/node-lib/internal/readline/emitKeypressEvents.js +99 -0
- package/src/node-lib/internal/readline/interface.js +1418 -0
- package/src/node-lib/internal/readline/promises.js +144 -0
- package/src/node-lib/internal/readline/utils.js +405 -0
- package/src/node-lib/internal/socket_list.js +108 -0
- package/src/node-lib/internal/stream_base_commons.js +280 -0
- package/src/node-lib/internal/streams/add-abort-signal.js +60 -0
- package/src/node-lib/internal/streams/compose.js +257 -0
- package/src/node-lib/internal/streams/destroy.js +361 -0
- package/src/node-lib/internal/streams/duplex.js +203 -0
- package/src/node-lib/internal/streams/duplexify.js +379 -0
- package/src/node-lib/internal/streams/duplexpair.js +62 -0
- package/src/node-lib/internal/streams/end-of-stream.js +331 -0
- package/src/node-lib/internal/streams/from.js +208 -0
- package/src/node-lib/internal/streams/lazy_transform.js +57 -0
- package/src/node-lib/internal/streams/legacy.js +125 -0
- package/src/node-lib/internal/streams/operators.js +436 -0
- package/src/node-lib/internal/streams/passthrough.js +47 -0
- package/src/node-lib/internal/streams/pipeline.js +465 -0
- package/src/node-lib/internal/streams/readable.js +1762 -0
- package/src/node-lib/internal/streams/state.js +51 -0
- package/src/node-lib/internal/streams/transform.js +204 -0
- package/src/node-lib/internal/streams/utils.js +363 -0
- package/src/node-lib/internal/streams/writable.js +1163 -0
- package/src/node-lib/internal/tty.js +260 -0
- package/src/node-lib/internal/util/colors.js +40 -0
- package/src/node-lib/internal/util/comparisons.js +1028 -0
- package/src/node-lib/internal/util/debuglog.js +524 -0
- package/src/node-lib/internal/util/inspect.js +2535 -0
- package/src/node-lib/internal/util/parse_args/parse_args.js +412 -0
- package/src/node-lib/internal/util/parse_args/utils.js +197 -0
- package/src/node-lib/internal/util.js +1003 -0
- package/src/node-lib/internal/validators.js +654 -0
- package/src/node-lib/internals/addresses.ts +159 -0
- package/src/node-lib/internals/buffer-and-streams.ts +224 -0
- package/src/node-lib/internals/child-process.ts +64 -0
- package/src/node-lib/internals/events-util.ts +105 -0
- package/src/node-lib/internals/index.ts +66 -0
- package/src/node-lib/internals/modules.ts +117 -0
- package/src/node-lib/internals/readline-access.ts +16 -0
- package/src/node-lib/internals/runtime.ts +277 -0
- package/src/node-lib/internals/util.ts +98 -0
- package/src/node-lib/lazy.ts +158 -0
- package/src/node-lib/load.ts +390 -0
- package/src/node-lib/module-hooks.ts +281 -0
- package/src/node-lib/net-module.ts +248 -0
- package/src/node-lib/net.js +2540 -0
- package/src/node-lib/node-versions.ts +34 -0
- package/src/node-lib/os.js +356 -0
- package/src/node-lib/path.js +1694 -0
- package/src/node-lib/primordials.js +743 -0
- package/src/node-lib/public-modules.ts +109 -0
- package/src/node-lib/punycode.js +455 -0
- package/src/node-lib/querystring.js +484 -0
- package/src/node-lib/readline/promises.js +73 -0
- package/src/node-lib/readline.js +523 -0
- package/src/node-lib/require-hook.ts +27 -0
- package/src/node-lib/small-modules.ts +35 -0
- package/src/node-lib/sources.ts +200 -0
- package/src/node-lib/stream/promises.js +44 -0
- package/src/node-lib/stream-module.ts +101 -0
- package/src/node-lib/stream.js +152 -0
- package/src/node-lib/timers.ts +33 -0
- package/src/node-lib/tty.js +168 -0
- package/src/node-lib/util-module.ts +104 -0
- package/src/node-lib/util.js +689 -0
- package/src/node-lib/wasi.js +179 -0
- package/src/node-lib/zlib.js +1036 -0
- package/src/node-resolution.ts +241 -0
- package/src/node-resolver.ts +33 -0
- package/src/npm/index.ts +425 -0
- package/src/npm/registry.ts +235 -0
- package/src/npm/resolver.ts +589 -0
- package/src/npm/tarball.ts +246 -0
- package/src/process-tokens.ts +156 -0
- package/src/punycode-source.ts +6 -0
- package/src/runtime-interface.ts +85 -0
- package/src/runtime.ts +3073 -0
- package/src/server-bridge.ts +971 -0
- package/src/shims/async_hooks.ts +181 -0
- package/src/shims/child_process.ts +1591 -0
- package/src/shims/cluster.ts +79 -0
- package/src/shims/command-line.ts +79 -0
- package/src/shims/constants.ts +68 -0
- package/src/shims/crypto-constants.ts +11 -0
- package/src/shims/crypto.ts +1061 -0
- package/src/shims/dgram.ts +47 -0
- package/src/shims/dns.ts +185 -0
- package/src/shims/domain.ts +58 -0
- package/src/shims/esbuild.ts +1638 -0
- package/src/shims/fs.ts +82 -0
- package/src/shims/http2.ts +96 -0
- package/src/shims/inspector.ts +30 -0
- package/src/shims/module.ts +86 -0
- package/src/shims/os.ts +195 -0
- package/src/shims/path.ts +246 -0
- package/src/shims/perf_hooks.ts +92 -0
- package/src/shims/process.ts +804 -0
- package/src/shims/rollup.ts +149 -0
- package/src/shims/string_decoder.ts +396 -0
- package/src/shims/sync-child.ts +469 -0
- package/src/shims/tls.ts +94 -0
- package/src/shims/url.ts +217 -0
- package/src/shims/v8.ts +113 -0
- package/src/shims/vfs-adapter.ts +408 -0
- package/src/shims/vm.ts +132 -0
- package/src/shims/wasi.ts +1440 -0
- package/src/shims/worker_threads.ts +114 -0
- package/src/shims/zlib-constants.ts +65 -0
- package/src/shims/zlib.ts +228 -0
- package/src/transform.ts +324 -0
- package/src/types/external.d.ts +55 -0
- package/src/types/package-json.ts +17 -0
- package/src/types/pako-zlib.d.ts +30 -0
- package/src/types/sha.js.d.ts +14 -0
- package/src/utils/binary-encoding.ts +43 -0
- package/src/utils/glob.ts +54 -0
- package/src/utils/hash.ts +12 -0
- package/src/virtual-fs.ts +1048 -0
- package/src/vite-plugin.ts +76 -0
- package/src/worker/runtime-worker.ts +128 -0
- package/src/worker-runtime.ts +145 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js zlib module shim
|
|
3
|
+
* Provides basic compression utilities
|
|
4
|
+
*/
|
|
5
|
+
import { zlibConstants as constants } from './zlib-constants';
|
|
6
|
+
export { constants };
|
|
7
|
+
export declare function gzip(buffer: Buffer | string, callback: (error: Error | null, result: Buffer) => void): void;
|
|
8
|
+
export declare function gunzip(buffer: Buffer, callback: (error: Error | null, result: Buffer) => void): void;
|
|
9
|
+
export declare function deflate(buffer: Buffer | string, callback: (error: Error | null, result: Buffer) => void): void;
|
|
10
|
+
export declare function inflate(buffer: Buffer, callback: (error: Error | null, result: Buffer) => void): void;
|
|
11
|
+
export declare function deflateRaw(buffer: Buffer | string, callback: (error: Error | null, result: Buffer) => void): void;
|
|
12
|
+
export declare function inflateRaw(buffer: Buffer, callback: (error: Error | null, result: Buffer) => void): void;
|
|
13
|
+
export declare function brotliCompress(buffer: Buffer | string, options: unknown, callback: (error: Error | null, result: Buffer) => void): void;
|
|
14
|
+
export declare function brotliDecompress(buffer: Buffer, options: unknown, callback: (error: Error | null, result: Buffer) => void): void;
|
|
15
|
+
export declare function brotliCompressSync(buffer: Buffer | string, _options?: unknown): Buffer;
|
|
16
|
+
export declare function brotliDecompressSync(buffer: Buffer, _options?: unknown): Buffer;
|
|
17
|
+
export declare function gzipSync(buffer: Buffer | string): Buffer;
|
|
18
|
+
export declare function gunzipSync(buffer: Buffer): Buffer;
|
|
19
|
+
export declare function deflateSync(buffer: Buffer | string): Buffer;
|
|
20
|
+
export declare function inflateSync(buffer: Buffer): Buffer;
|
|
21
|
+
export declare function deflateRawSync(buffer: Buffer | string): Buffer;
|
|
22
|
+
export declare function inflateRawSync(buffer: Buffer): Buffer;
|
|
23
|
+
declare const _default: {
|
|
24
|
+
gzip: typeof gzip;
|
|
25
|
+
gunzip: typeof gunzip;
|
|
26
|
+
deflate: typeof deflate;
|
|
27
|
+
inflate: typeof inflate;
|
|
28
|
+
deflateRaw: typeof deflateRaw;
|
|
29
|
+
inflateRaw: typeof inflateRaw;
|
|
30
|
+
gzipSync: typeof gzipSync;
|
|
31
|
+
gunzipSync: typeof gunzipSync;
|
|
32
|
+
deflateSync: typeof deflateSync;
|
|
33
|
+
inflateSync: typeof inflateSync;
|
|
34
|
+
deflateRawSync: typeof deflateRawSync;
|
|
35
|
+
inflateRawSync: typeof inflateRawSync;
|
|
36
|
+
brotliCompress: typeof brotliCompress;
|
|
37
|
+
brotliDecompress: typeof brotliDecompress;
|
|
38
|
+
brotliCompressSync: typeof brotliCompressSync;
|
|
39
|
+
brotliDecompressSync: typeof brotliDecompressSync;
|
|
40
|
+
constants: {
|
|
41
|
+
Z_NO_FLUSH: number;
|
|
42
|
+
Z_PARTIAL_FLUSH: number;
|
|
43
|
+
Z_SYNC_FLUSH: number;
|
|
44
|
+
Z_FULL_FLUSH: number;
|
|
45
|
+
Z_FINISH: number;
|
|
46
|
+
Z_BLOCK: number;
|
|
47
|
+
Z_OK: number;
|
|
48
|
+
Z_STREAM_END: number;
|
|
49
|
+
Z_NEED_DICT: number;
|
|
50
|
+
Z_ERRNO: number;
|
|
51
|
+
Z_STREAM_ERROR: number;
|
|
52
|
+
Z_DATA_ERROR: number;
|
|
53
|
+
Z_MEM_ERROR: number;
|
|
54
|
+
Z_BUF_ERROR: number;
|
|
55
|
+
Z_VERSION_ERROR: number;
|
|
56
|
+
Z_NO_COMPRESSION: number;
|
|
57
|
+
Z_BEST_SPEED: number;
|
|
58
|
+
Z_BEST_COMPRESSION: number;
|
|
59
|
+
Z_DEFAULT_COMPRESSION: number;
|
|
60
|
+
Z_FILTERED: number;
|
|
61
|
+
Z_HUFFMAN_ONLY: number;
|
|
62
|
+
Z_RLE: number;
|
|
63
|
+
Z_FIXED: number;
|
|
64
|
+
Z_DEFAULT_STRATEGY: number;
|
|
65
|
+
ZLIB_VERNUM: number;
|
|
66
|
+
Z_MIN_WINDOWBITS: number;
|
|
67
|
+
Z_MAX_WINDOWBITS: number;
|
|
68
|
+
Z_DEFAULT_WINDOWBITS: number;
|
|
69
|
+
Z_MIN_CHUNK: number;
|
|
70
|
+
Z_MAX_CHUNK: number;
|
|
71
|
+
Z_DEFAULT_CHUNK: number;
|
|
72
|
+
Z_MIN_MEMLEVEL: number;
|
|
73
|
+
Z_MAX_MEMLEVEL: number;
|
|
74
|
+
Z_DEFAULT_MEMLEVEL: number;
|
|
75
|
+
Z_MIN_LEVEL: number;
|
|
76
|
+
Z_MAX_LEVEL: number;
|
|
77
|
+
Z_DEFAULT_LEVEL: number;
|
|
78
|
+
BROTLI_DECODE: number;
|
|
79
|
+
BROTLI_ENCODE: number;
|
|
80
|
+
BROTLI_OPERATION_PROCESS: number;
|
|
81
|
+
BROTLI_OPERATION_FLUSH: number;
|
|
82
|
+
BROTLI_OPERATION_FINISH: number;
|
|
83
|
+
BROTLI_OPERATION_EMIT_METADATA: number;
|
|
84
|
+
BROTLI_PARAM_MODE: number;
|
|
85
|
+
BROTLI_MODE_GENERIC: number;
|
|
86
|
+
BROTLI_MODE_TEXT: number;
|
|
87
|
+
BROTLI_MODE_FONT: number;
|
|
88
|
+
BROTLI_PARAM_QUALITY: number;
|
|
89
|
+
BROTLI_MIN_QUALITY: number;
|
|
90
|
+
BROTLI_MAX_QUALITY: number;
|
|
91
|
+
BROTLI_DEFAULT_QUALITY: number;
|
|
92
|
+
BROTLI_PARAM_LGWIN: number;
|
|
93
|
+
BROTLI_MIN_WINDOW_BITS: number;
|
|
94
|
+
BROTLI_MAX_WINDOW_BITS: number;
|
|
95
|
+
BROTLI_DEFAULT_WINDOW: number;
|
|
96
|
+
BROTLI_PARAM_LGBLOCK: number;
|
|
97
|
+
BROTLI_MIN_INPUT_BLOCK_BITS: number;
|
|
98
|
+
BROTLI_MAX_INPUT_BLOCK_BITS: number;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export default _default;
|
|
102
|
+
//# sourceMappingURL=zlib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zlib.d.ts","sourceRoot":"","sources":["../../src/shims/zlib.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,CAAC;AA6BrB,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAQN;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAON;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAQN;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAON;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAQN;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAON;AAGD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAqBN;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACtD,IAAI,CAoBN;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAMtF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAK/E;AAGD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAG9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ESM to CJS Transformer using esbuild-wasm
|
|
3
|
+
*
|
|
4
|
+
* Transforms ES modules to CommonJS format during npm install,
|
|
5
|
+
* so require() can work synchronously.
|
|
6
|
+
*/
|
|
7
|
+
import { VirtualFS } from './virtual-fs';
|
|
8
|
+
/**
|
|
9
|
+
* Initialize esbuild-wasm (reuses existing instance if already initialized)
|
|
10
|
+
*/
|
|
11
|
+
export declare function initTransformer(): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Check if transformer is ready
|
|
14
|
+
*/
|
|
15
|
+
export declare function isTransformerReady(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Transform a single file from ESM to CJS
|
|
18
|
+
*/
|
|
19
|
+
export declare function transformFile(code: string, filename: string): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Transform all ESM files in a package directory to CJS
|
|
22
|
+
*/
|
|
23
|
+
export declare function transformPackage(vfs: VirtualFS, pkgPath: string, onProgress?: (msg: string) => void): Promise<number>;
|
|
24
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAsDzC;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAK5C;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAyDjB;AA8CD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,MAAM,CAAC,CAsCjB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definition for package.json files
|
|
3
|
+
*/
|
|
4
|
+
export interface PackageJson {
|
|
5
|
+
name?: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
main?: string;
|
|
8
|
+
module?: string;
|
|
9
|
+
browser?: string | Record<string, string | false>;
|
|
10
|
+
types?: string;
|
|
11
|
+
exports?: Record<string, unknown> | string;
|
|
12
|
+
dependencies?: Record<string, string>;
|
|
13
|
+
devDependencies?: Record<string, string>;
|
|
14
|
+
peerDependencies?: Record<string, string>;
|
|
15
|
+
scripts?: Record<string, string>;
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=package-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../src/types/package-json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared binary encoding utilities.
|
|
3
|
+
* Replaces O(n²) string concatenation patterns used throughout the codebase.
|
|
4
|
+
*/
|
|
5
|
+
/** Convert Uint8Array to base64 string */
|
|
6
|
+
export declare function uint8ToBase64(bytes: Uint8Array): string;
|
|
7
|
+
/** Convert base64 string to Uint8Array */
|
|
8
|
+
export declare function base64ToUint8(base64: string): Uint8Array;
|
|
9
|
+
/** Convert Uint8Array to hex string */
|
|
10
|
+
export declare function uint8ToHex(bytes: Uint8Array): string;
|
|
11
|
+
/** Convert Uint8Array to binary (latin1) string */
|
|
12
|
+
export declare function uint8ToBinaryString(bytes: Uint8Array): string;
|
|
13
|
+
//# sourceMappingURL=binary-encoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-encoding.d.ts","sourceRoot":"","sources":["../../src/utils/binary-encoding.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAOxD;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMpD;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAM7D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node's glob, for `path.matchesGlob` and for `fs.glob`: `**` crosses
|
|
3
|
+
* separators, `*` and `?` do not, `[...]` is a character class and `{a,b}` is
|
|
4
|
+
* an alternation, and the whole path is matched.
|
|
5
|
+
*
|
|
6
|
+
* It lives here because both the builtin table in `runtime.ts` and the fs
|
|
7
|
+
* shim's `globSync` need it. It used to be a function declared in
|
|
8
|
+
* `runtime.ts` and merely `declare`d in `src/shims/fs.ts`, on the belief that
|
|
9
|
+
* the bundle gives every module one shared scope; it does not, so a guest
|
|
10
|
+
* that called `fs.globSync` — the vitest and Prisma CLIs glob for their own
|
|
11
|
+
* files — died on `__browserRuntimeNodeGlob is not defined`. A module both
|
|
12
|
+
* import is the same helper in either build.
|
|
13
|
+
*
|
|
14
|
+
* This is not npm's package.json glob, which anchors a pattern without a
|
|
15
|
+
* separator at any segment; that one stays with the installer, since each
|
|
16
|
+
* source system keeps its own semantics.
|
|
17
|
+
*/
|
|
18
|
+
export declare function globToRegExp(glob: string, nocase?: boolean): RegExp;
|
|
19
|
+
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/utils/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,MAAM,CAEjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/utils/hash.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9C"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Virtual File System - In-memory file tree with POSIX-like operations
|
|
3
|
+
*/
|
|
4
|
+
import type { VFSSnapshot } from './runtime-interface';
|
|
5
|
+
import { Readable } from './node-lib/stream-module';
|
|
6
|
+
/**
|
|
7
|
+
* A read stream is a real `Readable`, so a guest can pipe it, iterate it, or
|
|
8
|
+
* listen for `open` and `ready`; the hand-rolled object it used to answer had
|
|
9
|
+
* only `on` and `pipe`, so anything that treated it as a stream got nothing.
|
|
10
|
+
* `start`, `end` and `encoding` are honoured as Node honours them.
|
|
11
|
+
*
|
|
12
|
+
* What `createReadStream` accepts: the subset of Node's options bag used here.
|
|
13
|
+
*/
|
|
14
|
+
export interface ReadStreamOptions {
|
|
15
|
+
encoding?: string;
|
|
16
|
+
start?: number;
|
|
17
|
+
end?: number;
|
|
18
|
+
}
|
|
19
|
+
/** A `Readable` carrying the two properties Node's fs read stream carries. */
|
|
20
|
+
export interface FsReadStream extends Readable {
|
|
21
|
+
path: string;
|
|
22
|
+
bytesRead: number;
|
|
23
|
+
}
|
|
24
|
+
export interface FSNode {
|
|
25
|
+
type: 'file' | 'directory' | 'symlink';
|
|
26
|
+
content?: Uint8Array;
|
|
27
|
+
/** Where a symlink points, exactly as it was written. */
|
|
28
|
+
target?: string;
|
|
29
|
+
children?: Map<string, FSNode>;
|
|
30
|
+
mtime: number;
|
|
31
|
+
/**
|
|
32
|
+
* When the file was last read. Node reports it apart from the write time
|
|
33
|
+
* and `utimes` sets the two separately; this filesystem reported the write
|
|
34
|
+
* time in its place, so a program that set an access time and read it back
|
|
35
|
+
* got the other one (Node's own test/wasi `stat` fixture asserts them
|
|
36
|
+
* apart). Absent until something sets it, which is the write time.
|
|
37
|
+
*/
|
|
38
|
+
atime?: number;
|
|
39
|
+
}
|
|
40
|
+
type VFSChangeListener = (path: string, content: string) => void;
|
|
41
|
+
type VFSDeleteListener = (path: string) => void;
|
|
42
|
+
export interface Stats {
|
|
43
|
+
isFile(): boolean;
|
|
44
|
+
isDirectory(): boolean;
|
|
45
|
+
isSymbolicLink(): boolean;
|
|
46
|
+
isBlockDevice(): boolean;
|
|
47
|
+
isCharacterDevice(): boolean;
|
|
48
|
+
isFIFO(): boolean;
|
|
49
|
+
isSocket(): boolean;
|
|
50
|
+
size: number;
|
|
51
|
+
mode: number;
|
|
52
|
+
mtime: Date;
|
|
53
|
+
atime: Date;
|
|
54
|
+
ctime: Date;
|
|
55
|
+
birthtime: Date;
|
|
56
|
+
mtimeMs: number;
|
|
57
|
+
atimeMs: number;
|
|
58
|
+
ctimeMs: number;
|
|
59
|
+
birthtimeMs: number;
|
|
60
|
+
nlink: number;
|
|
61
|
+
uid: number;
|
|
62
|
+
gid: number;
|
|
63
|
+
dev: number;
|
|
64
|
+
ino: number;
|
|
65
|
+
rdev: number;
|
|
66
|
+
blksize: number;
|
|
67
|
+
blocks: number;
|
|
68
|
+
}
|
|
69
|
+
export type WatchEventType = 'change' | 'rename';
|
|
70
|
+
export type WatchListener = (eventType: WatchEventType, filename: string | null) => void;
|
|
71
|
+
export interface FSWatcher {
|
|
72
|
+
close(): void;
|
|
73
|
+
ref(): this;
|
|
74
|
+
unref(): this;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create a Node.js-style error with code property
|
|
78
|
+
*/
|
|
79
|
+
export interface NodeError extends Error {
|
|
80
|
+
code: string;
|
|
81
|
+
errno: number;
|
|
82
|
+
syscall: string;
|
|
83
|
+
path?: string;
|
|
84
|
+
}
|
|
85
|
+
export declare function createNodeError(code: 'ENOENT' | 'ENOTDIR' | 'EISDIR' | 'EEXIST' | 'ENOTEMPTY' | 'ELOOP' | 'EINVAL', syscall: string, path: string, message?: string): NodeError;
|
|
86
|
+
export declare class VirtualFS {
|
|
87
|
+
private root;
|
|
88
|
+
private encoder;
|
|
89
|
+
private decoder;
|
|
90
|
+
private watchers;
|
|
91
|
+
private eventListeners;
|
|
92
|
+
constructor();
|
|
93
|
+
/**
|
|
94
|
+
* Add event listener (for change notifications to workers)
|
|
95
|
+
*/
|
|
96
|
+
on(event: 'change', listener: VFSChangeListener): this;
|
|
97
|
+
on(event: 'delete', listener: VFSDeleteListener): this;
|
|
98
|
+
/**
|
|
99
|
+
* Remove event listener
|
|
100
|
+
*/
|
|
101
|
+
off(event: 'change', listener: VFSChangeListener): this;
|
|
102
|
+
off(event: 'delete', listener: VFSDeleteListener): this;
|
|
103
|
+
/**
|
|
104
|
+
* Emit event to listeners
|
|
105
|
+
*/
|
|
106
|
+
private emit;
|
|
107
|
+
/**
|
|
108
|
+
* Serialize the entire file tree to a snapshot (for worker transfer)
|
|
109
|
+
*/
|
|
110
|
+
toSnapshot(): VFSSnapshot;
|
|
111
|
+
private serializeNode;
|
|
112
|
+
/**
|
|
113
|
+
* Create a VirtualFS from a snapshot
|
|
114
|
+
*/
|
|
115
|
+
static fromSnapshot(snapshot: VFSSnapshot): VirtualFS;
|
|
116
|
+
/**
|
|
117
|
+
* Internal write that optionally emits events
|
|
118
|
+
*/
|
|
119
|
+
private writeFileSyncInternal;
|
|
120
|
+
/**
|
|
121
|
+
* Normalize path - resolve . and .. segments, ensure leading /
|
|
122
|
+
*/
|
|
123
|
+
private normalizePath;
|
|
124
|
+
/**
|
|
125
|
+
* Get path segments from normalized path
|
|
126
|
+
*/
|
|
127
|
+
private getPathSegments;
|
|
128
|
+
/**
|
|
129
|
+
* Get parent directory path
|
|
130
|
+
*/
|
|
131
|
+
private getParentPath;
|
|
132
|
+
/**
|
|
133
|
+
* Get basename from path
|
|
134
|
+
*/
|
|
135
|
+
private getBasename;
|
|
136
|
+
/**
|
|
137
|
+
* Get node at path, returns undefined if not found
|
|
138
|
+
*/
|
|
139
|
+
getNode(path: string): FSNode | undefined;
|
|
140
|
+
/** The node at a path, following every link on the way and, when `follow`, the last one too. */
|
|
141
|
+
__substrateNode(path: string, follow: boolean, depth: number): FSNode | undefined;
|
|
142
|
+
/** A link's target as an absolute path: absolute as written, or relative to the link's directory. */
|
|
143
|
+
__substrateLinkTarget(linkPath: string, target: string): string;
|
|
144
|
+
symlinkSync(target: string, path: string): void;
|
|
145
|
+
readlinkSync(path: string): string;
|
|
146
|
+
/**
|
|
147
|
+
* Get or create directory at path (for mkdir -p behavior)
|
|
148
|
+
*/
|
|
149
|
+
private ensureDirectory;
|
|
150
|
+
/**
|
|
151
|
+
* Check if path exists
|
|
152
|
+
*/
|
|
153
|
+
existsSync(path: string): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Get stats for path
|
|
156
|
+
*/
|
|
157
|
+
statSync(path: string): Stats;
|
|
158
|
+
/**
|
|
159
|
+
* lstatSync - same as statSync for our virtual FS (no symlinks)
|
|
160
|
+
*/
|
|
161
|
+
lstatSync(path: string): Stats;
|
|
162
|
+
/**
|
|
163
|
+
* Read file contents as Uint8Array
|
|
164
|
+
*/
|
|
165
|
+
readFileSync(path: string): Uint8Array;
|
|
166
|
+
readFileSync(path: string, encoding: 'utf8' | 'utf-8'): string;
|
|
167
|
+
/**
|
|
168
|
+
* Write data to file, creating parent directories as needed
|
|
169
|
+
*/
|
|
170
|
+
writeFileSync(path: string, data: string | Uint8Array): void;
|
|
171
|
+
/**
|
|
172
|
+
* Create directory, optionally with recursive parent creation
|
|
173
|
+
*/
|
|
174
|
+
mkdirSync(path: string, options?: {
|
|
175
|
+
recursive?: boolean;
|
|
176
|
+
}): void;
|
|
177
|
+
/**
|
|
178
|
+
* Read directory contents
|
|
179
|
+
*/
|
|
180
|
+
readdirSync(path: string): string[];
|
|
181
|
+
/**
|
|
182
|
+
* Remove file
|
|
183
|
+
*/
|
|
184
|
+
unlinkSync(path: string): void;
|
|
185
|
+
/**
|
|
186
|
+
* Remove directory (must be empty)
|
|
187
|
+
*/
|
|
188
|
+
rmdirSync(path: string): void;
|
|
189
|
+
/**
|
|
190
|
+
* Rename/move file or directory
|
|
191
|
+
*/
|
|
192
|
+
renameSync(oldPath: string, newPath: string): void;
|
|
193
|
+
/**
|
|
194
|
+
* Read file with optional options parameter
|
|
195
|
+
*/
|
|
196
|
+
readFile(path: string, optionsOrCallback?: string | {
|
|
197
|
+
encoding?: string;
|
|
198
|
+
} | ((err: Error | null, data?: Uint8Array | string) => void), callback?: (err: Error | null, data?: Uint8Array | string) => void): void | Promise<Uint8Array | string>;
|
|
199
|
+
/**
|
|
200
|
+
* Async stat
|
|
201
|
+
*/
|
|
202
|
+
stat(path: string, callback: (err: Error | null, stats?: Stats) => void): void;
|
|
203
|
+
/**
|
|
204
|
+
* Async lstat
|
|
205
|
+
*/
|
|
206
|
+
lstat(path: string, callback: (err: Error | null, stats?: Stats) => void): void;
|
|
207
|
+
/**
|
|
208
|
+
* Async readdir
|
|
209
|
+
*/
|
|
210
|
+
readdir(path: string, optionsOrCallback?: {
|
|
211
|
+
withFileTypes?: boolean;
|
|
212
|
+
} | ((err: Error | null, files?: string[]) => void), callback?: (err: Error | null, files?: string[]) => void): void;
|
|
213
|
+
/**
|
|
214
|
+
* Async realpath
|
|
215
|
+
*/
|
|
216
|
+
realpath(path: string, callback: (err: Error | null, resolvedPath?: string) => void): void;
|
|
217
|
+
/**
|
|
218
|
+
* Sync realpath - in our VFS, just normalize the path
|
|
219
|
+
*/
|
|
220
|
+
realpathSync(path: string): string;
|
|
221
|
+
/**
|
|
222
|
+
* Watch for file changes
|
|
223
|
+
*/
|
|
224
|
+
watch(filename: string, optionsOrListener?: {
|
|
225
|
+
persistent?: boolean;
|
|
226
|
+
recursive?: boolean;
|
|
227
|
+
encoding?: string;
|
|
228
|
+
} | WatchListener, listener?: WatchListener): FSWatcher;
|
|
229
|
+
/**
|
|
230
|
+
* Notify watchers of file changes
|
|
231
|
+
*/
|
|
232
|
+
private notifyWatchers;
|
|
233
|
+
/**
|
|
234
|
+
* Access check - in our VFS, always succeeds if file exists
|
|
235
|
+
*/
|
|
236
|
+
accessSync(path: string, mode?: number): void;
|
|
237
|
+
/**
|
|
238
|
+
* Async access
|
|
239
|
+
*/
|
|
240
|
+
access(path: string, modeOrCallback?: number | ((err: Error | null) => void), callback?: (err: Error | null) => void): void;
|
|
241
|
+
/**
|
|
242
|
+
* Copy file
|
|
243
|
+
*/
|
|
244
|
+
copyFileSync(src: string, dest: string): void;
|
|
245
|
+
/**
|
|
246
|
+
* Create read stream - simplified implementation
|
|
247
|
+
*/
|
|
248
|
+
createReadStream(path: string, options?: ReadStreamOptions | string): FsReadStream;
|
|
249
|
+
/**
|
|
250
|
+
* Create write stream - simplified implementation
|
|
251
|
+
*/
|
|
252
|
+
createWriteStream(path: string): {
|
|
253
|
+
write: (data: string | Uint8Array) => boolean;
|
|
254
|
+
end: (data?: string | Uint8Array) => void;
|
|
255
|
+
on: (event: string, cb: (...args: unknown[]) => void) => void;
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
export {};
|
|
259
|
+
//# sourceMappingURL=virtual-fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-fs.d.ts","sourceRoot":"","sources":["../src/virtual-fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const url = require("url");
|
|
6
|
+
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
8
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
9
|
+
if (e) {
|
|
10
|
+
for (const k in e) {
|
|
11
|
+
if (k !== "default") {
|
|
12
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: () => e[k]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
const fs__namespace = /* @__PURE__ */ _interopNamespaceDefault(fs);
|
|
24
|
+
const path__namespace = /* @__PURE__ */ _interopNamespaceDefault(path);
|
|
25
|
+
const __dirname$1 = path__namespace.dirname(url.fileURLToPath(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("vite-plugin.cjs", document.baseURI).href));
|
|
26
|
+
function tabnodePlugin(options = {}) {
|
|
27
|
+
const swPath = options.swPath || "/__sw__.js";
|
|
28
|
+
return {
|
|
29
|
+
name: "tabnode",
|
|
30
|
+
configureServer(server) {
|
|
31
|
+
server.middlewares.use(swPath, (_req, res) => {
|
|
32
|
+
let swFilePath = path__namespace.join(__dirname$1, "__sw__.js");
|
|
33
|
+
if (!fs__namespace.existsSync(swFilePath)) {
|
|
34
|
+
swFilePath = path__namespace.join(__dirname$1, "../dist/__sw__.js");
|
|
35
|
+
}
|
|
36
|
+
if (!fs__namespace.existsSync(swFilePath)) {
|
|
37
|
+
res.statusCode = 404;
|
|
38
|
+
res.end("Service worker file not found. Make sure tabnode is built.");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
res.setHeader("Content-Type", "application/javascript");
|
|
42
|
+
res.setHeader("Cache-Control", "no-cache");
|
|
43
|
+
res.end(fs__namespace.readFileSync(swFilePath));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.default = tabnodePlugin;
|
|
49
|
+
exports.tabnodePlugin = tabnodePlugin;
|
|
50
|
+
//# sourceMappingURL=vite-plugin.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin.cjs","sources":["../src/vite-plugin.ts"],"sourcesContent":["/**\n * Vite Plugin for tabnode\n *\n * Serves the service worker file from the package's dist directory,\n * enabling seamless integration when tabnode is installed as an npm package.\n */\n\nimport type { Plugin, ViteDevServer } from 'vite';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { fileURLToPath } from 'url';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore - import.meta.url is available in ESM\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport interface TabnodePluginOptions {\n /**\n * The URL path where the service worker will be served\n * @default '/__sw__.js'\n */\n swPath?: string;\n}\n\n/**\n * Vite plugin that serves the tabnode service worker file.\n *\n * When tabnode is installed as an npm package, the service worker file\n * is located at node_modules/tabnode/dist/__sw__.js but the browser\n * tries to load it from the root URL (/__sw__.js). This plugin intercepts\n * requests to the service worker path and serves the file from the correct location.\n *\n * @example\n * ```typescript\n * // vite.config.ts\n * import { defineConfig } from 'vite';\n * import { tabnodePlugin } from 'tabnode/vite';\n *\n * export default defineConfig({\n * plugins: [tabnodePlugin()]\n * });\n * ```\n */\nexport function tabnodePlugin(options: TabnodePluginOptions = {}): Plugin {\n const swPath = options.swPath || '/__sw__.js';\n\n return {\n name: 'tabnode',\n\n configureServer(server: ViteDevServer) {\n server.middlewares.use(swPath, (_req, res) => {\n // The service worker file is in the dist directory relative to this file\n // In src: ../dist/__sw__.js\n // In dist: ./__sw__.js\n let swFilePath = path.join(__dirname, '__sw__.js');\n\n // If running from src directory during development, look in dist\n if (!fs.existsSync(swFilePath)) {\n swFilePath = path.join(__dirname, '../dist/__sw__.js');\n }\n\n if (!fs.existsSync(swFilePath)) {\n res.statusCode = 404;\n res.end('Service worker file not found. Make sure tabnode is built.');\n return;\n }\n\n res.setHeader('Content-Type', 'application/javascript');\n res.setHeader('Cache-Control', 'no-cache');\n res.end(fs.readFileSync(swFilePath));\n });\n },\n };\n}\n\nexport default tabnodePlugin;\n"],"names":["__dirname","path","fileURLToPath","fs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAMA,cAAYC,gBAAK,QAAQC,IAAAA,cAAc,OAAA,aAAA,cAAA,QAAA,KAAA,EAAA,cAAA,UAAA,EAAA,OAAA,0BAAA,uBAAA,QAAA,YAAA,MAAA,YAAA,uBAAA,OAAA,IAAA,IAAA,mBAAA,SAAA,OAAA,EAAA,IAAe,CAAC;AA6BtD,SAAS,cAAc,UAAgC,IAAY;AACxE,QAAM,SAAS,QAAQ,UAAU;AAEjC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,gBAAgB,QAAuB;AACrC,aAAO,YAAY,IAAI,QAAQ,CAAC,MAAM,QAAQ;AAI5C,YAAI,aAAaD,gBAAK,KAAKD,aAAW,WAAW;AAGjD,YAAI,CAACG,cAAG,WAAW,UAAU,GAAG;AAC9B,uBAAaF,gBAAK,KAAKD,aAAW,mBAAmB;AAAA,QACvD;AAEA,YAAI,CAACG,cAAG,WAAW,UAAU,GAAG;AAC9B,cAAI,aAAa;AACjB,cAAI,IAAI,4DAA4D;AACpE;AAAA,QACF;AAEA,YAAI,UAAU,gBAAgB,wBAAwB;AACtD,YAAI,UAAU,iBAAiB,UAAU;AACzC,YAAI,IAAIA,cAAG,aAAa,UAAU,CAAC;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EAAA;AAEJ;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vite Plugin for tabnode
|
|
3
|
+
*
|
|
4
|
+
* Serves the service worker file from the package's dist directory,
|
|
5
|
+
* enabling seamless integration when tabnode is installed as an npm package.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from 'vite';
|
|
8
|
+
export interface TabnodePluginOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The URL path where the service worker will be served
|
|
11
|
+
* @default '/__sw__.js'
|
|
12
|
+
*/
|
|
13
|
+
swPath?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Vite plugin that serves the tabnode service worker file.
|
|
17
|
+
*
|
|
18
|
+
* When tabnode is installed as an npm package, the service worker file
|
|
19
|
+
* is located at node_modules/tabnode/dist/__sw__.js but the browser
|
|
20
|
+
* tries to load it from the root URL (/__sw__.js). This plugin intercepts
|
|
21
|
+
* requests to the service worker path and serves the file from the correct location.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // vite.config.ts
|
|
26
|
+
* import { defineConfig } from 'vite';
|
|
27
|
+
* import { tabnodePlugin } from 'tabnode/vite';
|
|
28
|
+
*
|
|
29
|
+
* export default defineConfig({
|
|
30
|
+
* plugins: [tabnodePlugin()]
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function tabnodePlugin(options?: TabnodePluginOptions): Plugin;
|
|
35
|
+
export default tabnodePlugin;
|
|
36
|
+
//# sourceMappingURL=vite-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AASlD,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CA8BxE;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
const __dirname$1 = path.dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
function tabnodePlugin(options = {}) {
|
|
6
|
+
const swPath = options.swPath || "/__sw__.js";
|
|
7
|
+
return {
|
|
8
|
+
name: "tabnode",
|
|
9
|
+
configureServer(server) {
|
|
10
|
+
server.middlewares.use(swPath, (_req, res) => {
|
|
11
|
+
let swFilePath = path.join(__dirname$1, "__sw__.js");
|
|
12
|
+
if (!fs.existsSync(swFilePath)) {
|
|
13
|
+
swFilePath = path.join(__dirname$1, "../dist/__sw__.js");
|
|
14
|
+
}
|
|
15
|
+
if (!fs.existsSync(swFilePath)) {
|
|
16
|
+
res.statusCode = 404;
|
|
17
|
+
res.end("Service worker file not found. Make sure tabnode is built.");
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
res.setHeader("Content-Type", "application/javascript");
|
|
21
|
+
res.setHeader("Cache-Control", "no-cache");
|
|
22
|
+
res.end(fs.readFileSync(swFilePath));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
tabnodePlugin as default,
|
|
29
|
+
tabnodePlugin
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=vite-plugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin.mjs","sources":["../src/vite-plugin.ts"],"sourcesContent":["/**\n * Vite Plugin for tabnode\n *\n * Serves the service worker file from the package's dist directory,\n * enabling seamless integration when tabnode is installed as an npm package.\n */\n\nimport type { Plugin, ViteDevServer } from 'vite';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { fileURLToPath } from 'url';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore - import.meta.url is available in ESM\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport interface TabnodePluginOptions {\n /**\n * The URL path where the service worker will be served\n * @default '/__sw__.js'\n */\n swPath?: string;\n}\n\n/**\n * Vite plugin that serves the tabnode service worker file.\n *\n * When tabnode is installed as an npm package, the service worker file\n * is located at node_modules/tabnode/dist/__sw__.js but the browser\n * tries to load it from the root URL (/__sw__.js). This plugin intercepts\n * requests to the service worker path and serves the file from the correct location.\n *\n * @example\n * ```typescript\n * // vite.config.ts\n * import { defineConfig } from 'vite';\n * import { tabnodePlugin } from 'tabnode/vite';\n *\n * export default defineConfig({\n * plugins: [tabnodePlugin()]\n * });\n * ```\n */\nexport function tabnodePlugin(options: TabnodePluginOptions = {}): Plugin {\n const swPath = options.swPath || '/__sw__.js';\n\n return {\n name: 'tabnode',\n\n configureServer(server: ViteDevServer) {\n server.middlewares.use(swPath, (_req, res) => {\n // The service worker file is in the dist directory relative to this file\n // In src: ../dist/__sw__.js\n // In dist: ./__sw__.js\n let swFilePath = path.join(__dirname, '__sw__.js');\n\n // If running from src directory during development, look in dist\n if (!fs.existsSync(swFilePath)) {\n swFilePath = path.join(__dirname, '../dist/__sw__.js');\n }\n\n if (!fs.existsSync(swFilePath)) {\n res.statusCode = 404;\n res.end('Service worker file not found. Make sure tabnode is built.');\n return;\n }\n\n res.setHeader('Content-Type', 'application/javascript');\n res.setHeader('Cache-Control', 'no-cache');\n res.end(fs.readFileSync(swFilePath));\n });\n },\n };\n}\n\nexport default tabnodePlugin;\n"],"names":["__dirname"],"mappings":";;;AAcA,MAAMA,cAAY,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AA6BtD,SAAS,cAAc,UAAgC,IAAY;AACxE,QAAM,SAAS,QAAQ,UAAU;AAEjC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,gBAAgB,QAAuB;AACrC,aAAO,YAAY,IAAI,QAAQ,CAAC,MAAM,QAAQ;AAI5C,YAAI,aAAa,KAAK,KAAKA,aAAW,WAAW;AAGjD,YAAI,CAAC,GAAG,WAAW,UAAU,GAAG;AAC9B,uBAAa,KAAK,KAAKA,aAAW,mBAAmB;AAAA,QACvD;AAEA,YAAI,CAAC,GAAG,WAAW,UAAU,GAAG;AAC9B,cAAI,aAAa;AACjB,cAAI,IAAI,4DAA4D;AACpE;AAAA,QACF;AAEA,YAAI,UAAU,gBAAgB,wBAAwB;AACtD,YAAI,UAAU,iBAAiB,UAAU;AACzC,YAAI,IAAI,GAAG,aAAa,UAAU,CAAC;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-worker.d.ts","sourceRoot":"","sources":["../../src/worker/runtime-worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|