@pnpm/exe 12.8.2 → 12.9.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/bin/pnpm.mjs +5 -1
- package/bin/pnpx.mjs +1 -1
- package/dist/node_modules/.pnpm-workspace-state-v1.json +6 -2
- package/dist/wasm/LICENSE +22 -0
- package/dist/wasm/README.md +140 -0
- package/dist/wasm/THIRD-PARTY-NOTICES.md +42 -0
- package/dist/wasm/host/atomic-waits.mjs +43 -0
- package/dist/wasm/host/cancellation.mjs +6 -0
- package/dist/wasm/host/executable-mode.mjs +8 -0
- package/dist/wasm/host/file-locks.mjs +40 -0
- package/dist/wasm/host/filesystem.mjs +318 -0
- package/dist/wasm/host/guest-imports.mjs +45 -0
- package/dist/wasm/host/guest-operations.mjs +148 -0
- package/dist/wasm/host/lock-registry.mjs +167 -0
- package/dist/wasm/host/network.mjs +76 -0
- package/dist/wasm/host/operations.mjs +67 -0
- package/dist/wasm/host/poll.mjs +74 -0
- package/dist/wasm/host/process-stdio.mjs +41 -0
- package/dist/wasm/host/process-tree.mjs +54 -0
- package/dist/wasm/host/process.mjs +126 -0
- package/dist/wasm/host/protocol.mjs +1 -0
- package/dist/wasm/host/resources.mjs +76 -0
- package/dist/wasm/host/shell-runner.mjs +8 -0
- package/dist/wasm/host/shell.mjs +19 -0
- package/dist/wasm/host/signals.mjs +49 -0
- package/dist/wasm/host/terminal-input.mjs +7 -0
- package/dist/wasm/host/terminal-password.mjs +32 -0
- package/dist/wasm/host/terminal-session.mjs +114 -0
- package/dist/wasm/host/terminal.mjs +61 -0
- package/dist/wasm/host/thread-spawn.mjs +21 -0
- package/dist/wasm/host/upload.mjs +21 -0
- package/dist/wasm/host/wait-for-reply.mjs +7 -0
- package/dist/wasm/host/wasi-errno.mjs +81 -0
- package/dist/wasm/host/wasi-imports.mjs +58 -0
- package/dist/wasm/node_modules/.bin/js-yaml +91 -0
- package/dist/wasm/node_modules/.bin/node-which +91 -0
- package/dist/wasm/node_modules/.bin/shell +91 -0
- package/dist/wasm/node_modules/.pnpm-workspace-state-v1.json +355 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/LICENSE +21 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/README.md +203 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.js +894 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.d.ts +272 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.js +1 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.mts +272 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +274 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js +942 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +954 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.d.mts +272 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.js +1 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.mjs +1 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.mjs +889 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/index.js +5 -0
- package/dist/wasm/node_modules/@emnapi/wasi-threads/package.json +50 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/README.md +171 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
- package/dist/wasm/node_modules/@nodelib/fs.scandir/package.json +44 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/LICENSE +21 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/README.md +126 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/index.js +26 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
- package/dist/wasm/node_modules/@nodelib/fs.stat/package.json +37 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/LICENSE +21 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/README.md +215 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/index.js +34 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
- package/dist/wasm/node_modules/@nodelib/fs.walk/package.json +44 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/LICENSE +21 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/README.md +193 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json +11 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +423 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +2932 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +2932 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +1 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.js +2954 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +1 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js +158 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/index.js +13 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/jspi.js +46 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/load.js +97 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/memory.js +35 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js +103 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js +268 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js +3 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +192 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +316 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +1599 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js +141 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js +220 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js +128 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js +13 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs +153 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/index.mjs +9 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs +39 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/load.mjs +89 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs +28 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs +97 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs +256 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/fs.mjs +1 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +186 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +310 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +1593 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs +135 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs +216 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs +113 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs +9 -0
- package/dist/wasm/node_modules/@tybys/wasm-util/package.json +58 -0
- package/dist/wasm/node_modules/@types/braces/LICENSE +21 -0
- package/dist/wasm/node_modules/@types/braces/README.md +15 -0
- package/dist/wasm/node_modules/@types/braces/index.d.ts +100 -0
- package/dist/wasm/node_modules/@types/braces/package.json +36 -0
- package/dist/wasm/node_modules/@types/micromatch/LICENSE +21 -0
- package/dist/wasm/node_modules/@types/micromatch/README.md +15 -0
- package/dist/wasm/node_modules/@types/micromatch/index.d.ts +670 -0
- package/dist/wasm/node_modules/@types/micromatch/package.json +28 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/README.md +17 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/AliasFS.d.ts +16 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/AliasFS.js +24 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/CwdFS.d.ts +15 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/CwdFS.js +36 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/FakeFS.d.ts +398 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/FakeFS.js +451 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/JailFS.d.ts +16 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/JailFS.js +35 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/LazyFS.d.ts +13 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/LazyFS.js +26 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/MountFS.d.ts +278 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/MountFS.js +873 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NoFS.d.ts +78 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NoFS.js +229 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodeFS.d.ts +223 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodeFS.js +476 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodePathFS.d.ts +18 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodePathFS.js +47 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/PosixFS.d.ts +9 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/PosixFS.js +18 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/ProxiedFS.d.ts +229 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js +255 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/VirtualFS.d.ts +19 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/VirtualFS.js +89 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.d.ts +19 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js +271 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.d.ts +22 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js +65 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.d.ts +59 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js +139 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.d.ts +6 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js +67 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/constants.d.ts +13 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/constants.js +16 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/errors.d.ts +36 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/errors.js +54 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/index.d.ts +48 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/index.js +55 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.d.ts +81 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js +254 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.d.ts +5 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js +265 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/path.d.ts +84 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/path.js +103 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/statUtils.d.ts +81 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/statUtils.js +238 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/xfs.d.ts +18 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/lib/xfs.js +123 -0
- package/dist/wasm/node_modules/@yarnpkg/fslib/package.json +42 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.d.ts +1 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js +530 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.pegjs +17 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.d.ts +92 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.js +3653 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.pegjs +189 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.d.ts +1 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.js +1911 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.pegjs +125 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/index.d.ts +6 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/index.js +24 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/resolution.d.ts +12 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/resolution.js +31 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/shell.d.ts +19 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/shell.js +170 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/syml.d.ts +11 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/lib/syml.js +132 -0
- package/dist/wasm/node_modules/@yarnpkg/parsers/package.json +46 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/README.md +38 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/boot-cli-dev.js +3 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/cli.d.ts +2 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/cli.js +19 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/commands/entry.d.ts +8 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/commands/entry.js +60 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/errors.d.ts +6 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/errors.js +13 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/globUtils.d.ts +23 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/globUtils.js +47 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/index.d.ts +56 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/index.js +926 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/pipe.d.ts +54 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/lib/pipe.js +281 -0
- package/dist/wasm/node_modules/@yarnpkg/shell/package.json +54 -0
- package/dist/wasm/node_modules/ansi-styles/index.d.ts +345 -0
- package/dist/wasm/node_modules/ansi-styles/index.js +163 -0
- package/dist/wasm/node_modules/ansi-styles/license +9 -0
- package/dist/wasm/node_modules/ansi-styles/package.json +56 -0
- package/dist/wasm/node_modules/ansi-styles/readme.md +152 -0
- package/dist/wasm/node_modules/argparse/CHANGELOG.md +216 -0
- package/dist/wasm/node_modules/argparse/LICENSE +254 -0
- package/dist/wasm/node_modules/argparse/README.md +84 -0
- package/dist/wasm/node_modules/argparse/argparse.js +3707 -0
- package/dist/wasm/node_modules/argparse/lib/sub.js +67 -0
- package/dist/wasm/node_modules/argparse/lib/textwrap.js +440 -0
- package/dist/wasm/node_modules/argparse/package.json +31 -0
- package/dist/wasm/node_modules/braces/LICENSE +21 -0
- package/dist/wasm/node_modules/braces/README.md +586 -0
- package/dist/wasm/node_modules/braces/index.js +170 -0
- package/dist/wasm/node_modules/braces/lib/compile.js +60 -0
- package/dist/wasm/node_modules/braces/lib/constants.js +57 -0
- package/dist/wasm/node_modules/braces/lib/expand.js +113 -0
- package/dist/wasm/node_modules/braces/lib/parse.js +331 -0
- package/dist/wasm/node_modules/braces/lib/stringify.js +32 -0
- package/dist/wasm/node_modules/braces/lib/utils.js +122 -0
- package/dist/wasm/node_modules/braces/package.json +77 -0
- package/dist/wasm/node_modules/chalk/index.d.ts +415 -0
- package/dist/wasm/node_modules/chalk/license +9 -0
- package/dist/wasm/node_modules/chalk/package.json +68 -0
- package/dist/wasm/node_modules/chalk/readme.md +341 -0
- package/dist/wasm/node_modules/chalk/source/index.js +229 -0
- package/dist/wasm/node_modules/chalk/source/templates.js +134 -0
- package/dist/wasm/node_modules/chalk/source/util.js +39 -0
- package/dist/wasm/node_modules/clipanion/README.md +98 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.d.ts +225 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.js +406 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.mjs +398 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/Command.d.ts +144 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/Command.js +91 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/Command.mjs +67 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.d.ts +11 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.js +54 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.mjs +50 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.d.ts +8 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.js +17 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.mjs +13 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.d.ts +10 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.js +19 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.mjs +15 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.d.ts +3 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.js +13 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.mjs +3 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.d.ts +10 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.js +20 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.mjs +16 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/index.d.ts +7 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/index.js +19 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/index.mjs +8 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.d.ts +17 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.js +37 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.mjs +33 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.d.ts +14 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.js +34 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.mjs +30 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.d.ts +15 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.js +41 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.mjs +37 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.d.ts +18 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.js +35 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.mjs +31 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.d.ts +18 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.js +51 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.mjs +47 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.d.ts +49 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.js +84 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.mjs +80 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.d.ts +7 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.js +26 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.mjs +7 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.d.ts +25 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.js +59 -0
- package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.mjs +50 -0
- package/dist/wasm/node_modules/clipanion/lib/constants.d.ts +11 -0
- package/dist/wasm/node_modules/clipanion/lib/constants.js +27 -0
- package/dist/wasm/node_modules/clipanion/lib/constants.mjs +13 -0
- package/dist/wasm/node_modules/clipanion/lib/core.d.ts +462 -0
- package/dist/wasm/node_modules/clipanion/lib/core.js +827 -0
- package/dist/wasm/node_modules/clipanion/lib/core.mjs +800 -0
- package/dist/wasm/node_modules/clipanion/lib/demos/advanced.d.ts +22 -0
- package/dist/wasm/node_modules/clipanion/lib/errors.d.ts +52 -0
- package/dist/wasm/node_modules/clipanion/lib/errors.js +70 -0
- package/dist/wasm/node_modules/clipanion/lib/errors.mjs +64 -0
- package/dist/wasm/node_modules/clipanion/lib/format.d.ts +19 -0
- package/dist/wasm/node_modules/clipanion/lib/format.js +74 -0
- package/dist/wasm/node_modules/clipanion/lib/format.mjs +68 -0
- package/dist/wasm/node_modules/clipanion/package.json +68 -0
- package/dist/wasm/node_modules/color-convert/CHANGELOG.md +54 -0
- package/dist/wasm/node_modules/color-convert/LICENSE +21 -0
- package/dist/wasm/node_modules/color-convert/README.md +68 -0
- package/dist/wasm/node_modules/color-convert/conversions.js +839 -0
- package/dist/wasm/node_modules/color-convert/index.js +81 -0
- package/dist/wasm/node_modules/color-convert/package.json +48 -0
- package/dist/wasm/node_modules/color-convert/route.js +97 -0
- package/dist/wasm/node_modules/color-name/LICENSE +8 -0
- package/dist/wasm/node_modules/color-name/README.md +11 -0
- package/dist/wasm/node_modules/color-name/index.js +152 -0
- package/dist/wasm/node_modules/color-name/package.json +28 -0
- package/dist/wasm/node_modules/cross-spawn/LICENSE +21 -0
- package/dist/wasm/node_modules/cross-spawn/README.md +89 -0
- package/dist/wasm/node_modules/cross-spawn/index.js +39 -0
- package/dist/wasm/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/dist/wasm/node_modules/cross-spawn/lib/parse.js +91 -0
- package/dist/wasm/node_modules/cross-spawn/lib/util/escape.js +47 -0
- package/dist/wasm/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/dist/wasm/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/dist/wasm/node_modules/cross-spawn/package.json +73 -0
- package/dist/wasm/node_modules/fast-glob/LICENSE +21 -0
- package/dist/wasm/node_modules/fast-glob/README.md +830 -0
- package/dist/wasm/node_modules/fast-glob/out/index.d.ts +40 -0
- package/dist/wasm/node_modules/fast-glob/out/index.js +102 -0
- package/dist/wasm/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
- package/dist/wasm/node_modules/fast-glob/out/managers/tasks.js +110 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/async.d.ts +9 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/async.js +23 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/filters/entry.d.ts +17 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/filters/entry.js +85 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/filters/error.js +15 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/provider.js +48 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/stream.js +31 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/sync.js +23 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
- package/dist/wasm/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/async.d.ts +10 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/async.js +35 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/reader.js +33 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/stream.js +55 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
- package/dist/wasm/node_modules/fast-glob/out/readers/sync.js +43 -0
- package/dist/wasm/node_modules/fast-glob/out/settings.d.ts +164 -0
- package/dist/wasm/node_modules/fast-glob/out/settings.js +59 -0
- package/dist/wasm/node_modules/fast-glob/out/types/index.d.ts +31 -0
- package/dist/wasm/node_modules/fast-glob/out/types/index.js +2 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/array.d.ts +2 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/array.js +22 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/errno.js +7 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/fs.js +19 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/index.d.ts +8 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/index.js +17 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/path.d.ts +13 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/path.js +68 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/pattern.d.ts +49 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/pattern.js +206 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/stream.js +17 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/string.d.ts +2 -0
- package/dist/wasm/node_modules/fast-glob/out/utils/string.js +11 -0
- package/dist/wasm/node_modules/fast-glob/package.json +81 -0
- package/dist/wasm/node_modules/fastq/LICENSE +13 -0
- package/dist/wasm/node_modules/fastq/README.md +310 -0
- package/dist/wasm/node_modules/fastq/SECURITY.md +15 -0
- package/dist/wasm/node_modules/fastq/bench.js +66 -0
- package/dist/wasm/node_modules/fastq/eslint.config.js +11 -0
- package/dist/wasm/node_modules/fastq/example.js +14 -0
- package/dist/wasm/node_modules/fastq/example.mjs +9 -0
- package/dist/wasm/node_modules/fastq/index.d.ts +59 -0
- package/dist/wasm/node_modules/fastq/package.json +49 -0
- package/dist/wasm/node_modules/fastq/queue.js +348 -0
- package/dist/wasm/node_modules/fastq/test/example.ts +83 -0
- package/dist/wasm/node_modules/fastq/test/promise.js +356 -0
- package/dist/wasm/node_modules/fastq/test/test.js +808 -0
- package/dist/wasm/node_modules/fastq/test/tsconfig.json +11 -0
- package/dist/wasm/node_modules/fill-range/LICENSE +21 -0
- package/dist/wasm/node_modules/fill-range/README.md +237 -0
- package/dist/wasm/node_modules/fill-range/index.js +248 -0
- package/dist/wasm/node_modules/fill-range/package.json +74 -0
- package/dist/wasm/node_modules/glob-parent/CHANGELOG.md +110 -0
- package/dist/wasm/node_modules/glob-parent/LICENSE +15 -0
- package/dist/wasm/node_modules/glob-parent/README.md +137 -0
- package/dist/wasm/node_modules/glob-parent/index.js +42 -0
- package/dist/wasm/node_modules/glob-parent/package.json +48 -0
- package/dist/wasm/node_modules/has-flag/index.d.ts +39 -0
- package/dist/wasm/node_modules/has-flag/index.js +8 -0
- package/dist/wasm/node_modules/has-flag/license +9 -0
- package/dist/wasm/node_modules/has-flag/package.json +46 -0
- package/dist/wasm/node_modules/has-flag/readme.md +89 -0
- package/dist/wasm/node_modules/is-extglob/LICENSE +21 -0
- package/dist/wasm/node_modules/is-extglob/README.md +107 -0
- package/dist/wasm/node_modules/is-extglob/index.js +20 -0
- package/dist/wasm/node_modules/is-extglob/package.json +69 -0
- package/dist/wasm/node_modules/is-glob/LICENSE +21 -0
- package/dist/wasm/node_modules/is-glob/README.md +206 -0
- package/dist/wasm/node_modules/is-glob/index.js +150 -0
- package/dist/wasm/node_modules/is-glob/package.json +81 -0
- package/dist/wasm/node_modules/is-number/LICENSE +21 -0
- package/dist/wasm/node_modules/is-number/README.md +187 -0
- package/dist/wasm/node_modules/is-number/index.js +18 -0
- package/dist/wasm/node_modules/is-number/package.json +82 -0
- package/dist/wasm/node_modules/isexe/.npmignore +2 -0
- package/dist/wasm/node_modules/isexe/LICENSE +15 -0
- package/dist/wasm/node_modules/isexe/README.md +51 -0
- package/dist/wasm/node_modules/isexe/index.js +57 -0
- package/dist/wasm/node_modules/isexe/mode.js +41 -0
- package/dist/wasm/node_modules/isexe/package.json +31 -0
- package/dist/wasm/node_modules/isexe/test/basic.js +221 -0
- package/dist/wasm/node_modules/isexe/windows.js +42 -0
- package/dist/wasm/node_modules/js-yaml/LICENSE +21 -0
- package/dist/wasm/node_modules/js-yaml/README.md +246 -0
- package/dist/wasm/node_modules/js-yaml/bin/js-yaml.js +126 -0
- package/dist/wasm/node_modules/js-yaml/dist/js-yaml.js +3874 -0
- package/dist/wasm/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
- package/dist/wasm/node_modules/js-yaml/dist/js-yaml.mjs +3851 -0
- package/dist/wasm/node_modules/js-yaml/index.js +30 -0
- package/dist/wasm/node_modules/js-yaml/lib/common.js +59 -0
- package/dist/wasm/node_modules/js-yaml/lib/dumper.js +979 -0
- package/dist/wasm/node_modules/js-yaml/lib/exception.js +55 -0
- package/dist/wasm/node_modules/js-yaml/lib/loader.js +1733 -0
- package/dist/wasm/node_modules/js-yaml/lib/schema/core.js +11 -0
- package/dist/wasm/node_modules/js-yaml/lib/schema/default.js +22 -0
- package/dist/wasm/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
- package/dist/wasm/node_modules/js-yaml/lib/schema/json.js +19 -0
- package/dist/wasm/node_modules/js-yaml/lib/schema.js +121 -0
- package/dist/wasm/node_modules/js-yaml/lib/snippet.js +101 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/binary.js +125 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/bool.js +35 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/float.js +97 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/int.js +156 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/map.js +8 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/merge.js +12 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/null.js +35 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/omap.js +44 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/pairs.js +53 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/seq.js +8 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/set.js +29 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/str.js +8 -0
- package/dist/wasm/node_modules/js-yaml/lib/type/timestamp.js +88 -0
- package/dist/wasm/node_modules/js-yaml/lib/type.js +65 -0
- package/dist/wasm/node_modules/js-yaml/package.json +65 -0
- package/dist/wasm/node_modules/merge2/LICENSE +21 -0
- package/dist/wasm/node_modules/merge2/README.md +144 -0
- package/dist/wasm/node_modules/merge2/index.js +144 -0
- package/dist/wasm/node_modules/merge2/package.json +43 -0
- package/dist/wasm/node_modules/micromatch/LICENSE +21 -0
- package/dist/wasm/node_modules/micromatch/README.md +1024 -0
- package/dist/wasm/node_modules/micromatch/index.js +474 -0
- package/dist/wasm/node_modules/micromatch/package.json +119 -0
- package/dist/wasm/node_modules/path-key/index.d.ts +40 -0
- package/dist/wasm/node_modules/path-key/index.js +16 -0
- package/dist/wasm/node_modules/path-key/license +9 -0
- package/dist/wasm/node_modules/path-key/package.json +39 -0
- package/dist/wasm/node_modules/path-key/readme.md +61 -0
- package/dist/wasm/node_modules/picomatch/LICENSE +21 -0
- package/dist/wasm/node_modules/picomatch/README.md +716 -0
- package/dist/wasm/node_modules/picomatch/index.js +3 -0
- package/dist/wasm/node_modules/picomatch/lib/constants.js +184 -0
- package/dist/wasm/node_modules/picomatch/lib/parse.js +1392 -0
- package/dist/wasm/node_modules/picomatch/lib/picomatch.js +342 -0
- package/dist/wasm/node_modules/picomatch/lib/scan.js +391 -0
- package/dist/wasm/node_modules/picomatch/lib/utils.js +64 -0
- package/dist/wasm/node_modules/picomatch/package.json +81 -0
- package/dist/wasm/node_modules/queue-microtask/LICENSE +20 -0
- package/dist/wasm/node_modules/queue-microtask/README.md +90 -0
- package/dist/wasm/node_modules/queue-microtask/index.d.ts +2 -0
- package/dist/wasm/node_modules/queue-microtask/index.js +9 -0
- package/dist/wasm/node_modules/queue-microtask/package.json +55 -0
- package/dist/wasm/node_modules/reusify/.github/dependabot.yml +7 -0
- package/dist/wasm/node_modules/reusify/.github/workflows/ci.yml +96 -0
- package/dist/wasm/node_modules/reusify/LICENSE +22 -0
- package/dist/wasm/node_modules/reusify/README.md +139 -0
- package/dist/wasm/node_modules/reusify/SECURITY.md +15 -0
- package/dist/wasm/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
- package/dist/wasm/node_modules/reusify/benchmarks/fib.js +13 -0
- package/dist/wasm/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
- package/dist/wasm/node_modules/reusify/eslint.config.js +14 -0
- package/dist/wasm/node_modules/reusify/package.json +50 -0
- package/dist/wasm/node_modules/reusify/reusify.d.ts +14 -0
- package/dist/wasm/node_modules/reusify/reusify.js +33 -0
- package/dist/wasm/node_modules/reusify/test.js +66 -0
- package/dist/wasm/node_modules/reusify/tsconfig.json +11 -0
- package/dist/wasm/node_modules/run-parallel/LICENSE +20 -0
- package/dist/wasm/node_modules/run-parallel/README.md +85 -0
- package/dist/wasm/node_modules/run-parallel/index.js +51 -0
- package/dist/wasm/node_modules/run-parallel/package.json +58 -0
- package/dist/wasm/node_modules/shebang-command/index.js +19 -0
- package/dist/wasm/node_modules/shebang-command/license +9 -0
- package/dist/wasm/node_modules/shebang-command/package.json +34 -0
- package/dist/wasm/node_modules/shebang-command/readme.md +34 -0
- package/dist/wasm/node_modules/shebang-regex/index.d.ts +22 -0
- package/dist/wasm/node_modules/shebang-regex/index.js +2 -0
- package/dist/wasm/node_modules/shebang-regex/license +9 -0
- package/dist/wasm/node_modules/shebang-regex/package.json +35 -0
- package/dist/wasm/node_modules/shebang-regex/readme.md +33 -0
- package/dist/wasm/node_modules/supports-color/browser.js +5 -0
- package/dist/wasm/node_modules/supports-color/index.js +135 -0
- package/dist/wasm/node_modules/supports-color/license +9 -0
- package/dist/wasm/node_modules/supports-color/package.json +53 -0
- package/dist/wasm/node_modules/supports-color/readme.md +76 -0
- package/dist/wasm/node_modules/to-regex-range/LICENSE +21 -0
- package/dist/wasm/node_modules/to-regex-range/README.md +305 -0
- package/dist/wasm/node_modules/to-regex-range/index.js +288 -0
- package/dist/wasm/node_modules/to-regex-range/package.json +88 -0
- package/dist/wasm/node_modules/tslib/CopyrightNotice.txt +15 -0
- package/dist/wasm/node_modules/tslib/LICENSE.txt +12 -0
- package/dist/wasm/node_modules/tslib/README.md +164 -0
- package/dist/wasm/node_modules/tslib/SECURITY.md +41 -0
- package/dist/wasm/node_modules/tslib/modules/index.d.ts +38 -0
- package/dist/wasm/node_modules/tslib/modules/index.js +70 -0
- package/dist/wasm/node_modules/tslib/modules/package.json +3 -0
- package/dist/wasm/node_modules/tslib/package.json +47 -0
- package/dist/wasm/node_modules/tslib/tslib.d.ts +460 -0
- package/dist/wasm/node_modules/tslib/tslib.es6.html +1 -0
- package/dist/wasm/node_modules/tslib/tslib.es6.js +402 -0
- package/dist/wasm/node_modules/tslib/tslib.es6.mjs +401 -0
- package/dist/wasm/node_modules/tslib/tslib.html +1 -0
- package/dist/wasm/node_modules/tslib/tslib.js +484 -0
- package/dist/wasm/node_modules/typanion/README.md +117 -0
- package/dist/wasm/node_modules/typanion/lib/index.d.ts +5 -0
- package/dist/wasm/node_modules/typanion/lib/index.js +1305 -0
- package/dist/wasm/node_modules/typanion/lib/index.mjs +1249 -0
- package/dist/wasm/node_modules/typanion/lib/internal/format.d.ts +5 -0
- package/dist/wasm/node_modules/typanion/lib/internal/regexps.d.ts +5 -0
- package/dist/wasm/node_modules/typanion/lib/internal/tools.d.ts +5 -0
- package/dist/wasm/node_modules/typanion/lib/predicates/cascadingPredicates.d.ts +114 -0
- package/dist/wasm/node_modules/typanion/lib/predicates/helperPredicates.d.ts +80 -0
- package/dist/wasm/node_modules/typanion/lib/predicates/typePredicates.d.ts +205 -0
- package/dist/wasm/node_modules/typanion/lib/tools.d.ts +90 -0
- package/dist/wasm/node_modules/typanion/lib/types.d.ts +22 -0
- package/dist/wasm/node_modules/typanion/package.json +40 -0
- package/dist/wasm/node_modules/which/CHANGELOG.md +166 -0
- package/dist/wasm/node_modules/which/LICENSE +15 -0
- package/dist/wasm/node_modules/which/README.md +54 -0
- package/dist/wasm/node_modules/which/bin/node-which +52 -0
- package/dist/wasm/node_modules/which/package.json +43 -0
- package/dist/wasm/node_modules/which/which.js +125 -0
- package/dist/wasm/package.json +10 -0
- package/dist/wasm/pnpm.mjs +8 -0
- package/dist/wasm/pnpm.wasm +4 -0
- package/dist/wasm/pnpx.mjs +8 -0
- package/dist/wasm/run.mjs +147 -0
- package/dist/wasm/worker.mjs +56 -0
- package/install.js +18 -21
- package/package.json +15 -15
- package/pn +2 -74
- package/pnpm +2 -94
- package/pnpx +2 -74
- package/pnx +2 -74
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupCopyIndex = setupCopyIndex;
|
|
4
|
+
exports.copyPromise = copyPromise;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const constants = tslib_1.__importStar(require("../constants"));
|
|
7
|
+
const path_1 = require("../path");
|
|
8
|
+
const defaultTime = new Date(constants.SAFE_TIME * 1000);
|
|
9
|
+
const defaultTimeMs = defaultTime.getTime();
|
|
10
|
+
async function setupCopyIndex(destinationFs, linkStrategy) {
|
|
11
|
+
const hexCharacters = `0123456789abcdef`;
|
|
12
|
+
await destinationFs.mkdirPromise(linkStrategy.indexPath, { recursive: true });
|
|
13
|
+
const promises = [];
|
|
14
|
+
for (const l1 of hexCharacters)
|
|
15
|
+
for (const l2 of hexCharacters)
|
|
16
|
+
promises.push(destinationFs.mkdirPromise(destinationFs.pathUtils.join(linkStrategy.indexPath, `${l1}${l2}`), { recursive: true }));
|
|
17
|
+
await Promise.all(promises);
|
|
18
|
+
return linkStrategy.indexPath;
|
|
19
|
+
}
|
|
20
|
+
async function copyPromise(destinationFs, destination, sourceFs, source, opts) {
|
|
21
|
+
const normalizedDestination = destinationFs.pathUtils.normalize(destination);
|
|
22
|
+
const normalizedSource = sourceFs.pathUtils.normalize(source);
|
|
23
|
+
const prelayout = [];
|
|
24
|
+
const postlayout = [];
|
|
25
|
+
const { atime, mtime } = opts.stableTime
|
|
26
|
+
? { atime: defaultTime, mtime: defaultTime }
|
|
27
|
+
: await sourceFs.lstatPromise(normalizedSource);
|
|
28
|
+
await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] });
|
|
29
|
+
await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true });
|
|
30
|
+
for (const operation of prelayout)
|
|
31
|
+
await operation();
|
|
32
|
+
await Promise.all(postlayout.map(operation => {
|
|
33
|
+
return operation();
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) {
|
|
37
|
+
const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null;
|
|
38
|
+
const sourceStat = await sourceFs.lstatPromise(source);
|
|
39
|
+
const { atime, mtime } = opts.stableTime
|
|
40
|
+
? { atime: defaultTime, mtime: defaultTime }
|
|
41
|
+
: sourceStat;
|
|
42
|
+
let updated;
|
|
43
|
+
switch (true) {
|
|
44
|
+
case sourceStat.isDirectory():
|
|
45
|
+
{
|
|
46
|
+
updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
case sourceStat.isFile():
|
|
50
|
+
{
|
|
51
|
+
updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
case sourceStat.isSymbolicLink():
|
|
55
|
+
{
|
|
56
|
+
updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
default: {
|
|
60
|
+
throw new Error(`Unsupported file type (${sourceStat.mode})`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// We aren't allowed to modify the destination if we work with the index,
|
|
64
|
+
// since otherwise we'd accidentally propagate the changes to all projects.
|
|
65
|
+
if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
|
|
66
|
+
if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) {
|
|
67
|
+
postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime));
|
|
68
|
+
updated = true;
|
|
69
|
+
}
|
|
70
|
+
if (destinationStat === null || (destinationStat.mode & 0o777) !== (sourceStat.mode & 0o777)) {
|
|
71
|
+
postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 0o777));
|
|
72
|
+
updated = true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return updated;
|
|
76
|
+
}
|
|
77
|
+
async function maybeLStat(baseFs, p) {
|
|
78
|
+
try {
|
|
79
|
+
return await baseFs.lstatPromise(p);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
|
|
86
|
+
if (destinationStat !== null && !destinationStat.isDirectory()) {
|
|
87
|
+
if (opts.overwrite) {
|
|
88
|
+
prelayout.push(async () => destinationFs.removePromise(destination));
|
|
89
|
+
destinationStat = null;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
let updated = false;
|
|
96
|
+
if (destinationStat === null) {
|
|
97
|
+
prelayout.push(async () => {
|
|
98
|
+
try {
|
|
99
|
+
await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode });
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
if (err.code !== `EEXIST`) {
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
updated = true;
|
|
108
|
+
}
|
|
109
|
+
const entries = await sourceFs.readdirPromise(source);
|
|
110
|
+
const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts;
|
|
111
|
+
if (opts.stableSort) {
|
|
112
|
+
for (const entry of entries.sort()) {
|
|
113
|
+
if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) {
|
|
114
|
+
updated = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => {
|
|
120
|
+
await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts);
|
|
121
|
+
}));
|
|
122
|
+
if (entriesUpdateStatus.some(status => status)) {
|
|
123
|
+
updated = true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return updated;
|
|
127
|
+
}
|
|
128
|
+
async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) {
|
|
129
|
+
const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
|
|
130
|
+
const defaultMode = 0o644;
|
|
131
|
+
const sourceMode = sourceStat.mode & 0o777;
|
|
132
|
+
// add mode to the index file name if it's not the default b/c different packages could have the file with same content, but different modes
|
|
133
|
+
const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`;
|
|
134
|
+
const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`);
|
|
135
|
+
let AtomicBehavior;
|
|
136
|
+
(function (AtomicBehavior) {
|
|
137
|
+
AtomicBehavior[AtomicBehavior["Lock"] = 0] = "Lock";
|
|
138
|
+
AtomicBehavior[AtomicBehavior["Rename"] = 1] = "Rename";
|
|
139
|
+
})(AtomicBehavior || (AtomicBehavior = {}));
|
|
140
|
+
let atomicBehavior = AtomicBehavior.Rename;
|
|
141
|
+
let indexStat = await maybeLStat(destinationFs, indexPath);
|
|
142
|
+
if (destinationStat) {
|
|
143
|
+
const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino;
|
|
144
|
+
const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs;
|
|
145
|
+
if (isDestinationHardlinkedFromIndex) {
|
|
146
|
+
// If the index is modified, we will want to repair it. However, the
|
|
147
|
+
// default logic ensuring atomicity (creating a file in a temporary
|
|
148
|
+
// place before atomically moving it into its final location) won't
|
|
149
|
+
// work: we'd lose all the existing hardlinks.
|
|
150
|
+
//
|
|
151
|
+
// To avoid that, when repairing a file, we fallback to the slow but
|
|
152
|
+
// safer `lockPromise`-based mutex, which will prevent multiple
|
|
153
|
+
// processes to modify the file without impacting their inode.
|
|
154
|
+
//
|
|
155
|
+
// Give that the repair mechanism should be very rarely needed in
|
|
156
|
+
// situation where performance is critical, it should be ok.
|
|
157
|
+
//
|
|
158
|
+
if (isIndexModified && linkStrategy.autoRepair) {
|
|
159
|
+
atomicBehavior = AtomicBehavior.Lock;
|
|
160
|
+
indexStat = null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (!isDestinationHardlinkedFromIndex) {
|
|
164
|
+
if (opts.overwrite) {
|
|
165
|
+
prelayout.push(async () => destinationFs.removePromise(destination));
|
|
166
|
+
destinationStat = null;
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const tempPath = !indexStat && atomicBehavior === AtomicBehavior.Rename
|
|
174
|
+
? `${indexPath}.${Math.floor(Math.random() * 0x100000000).toString(16).padStart(8, `0`)}`
|
|
175
|
+
: null;
|
|
176
|
+
let tempPathCleaned = false;
|
|
177
|
+
prelayout.push(async () => {
|
|
178
|
+
if (!indexStat) {
|
|
179
|
+
if (atomicBehavior === AtomicBehavior.Lock) {
|
|
180
|
+
await destinationFs.lockPromise(indexPath, async () => {
|
|
181
|
+
const content = await sourceFs.readFilePromise(source);
|
|
182
|
+
await destinationFs.writeFilePromise(indexPath, content);
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if (atomicBehavior === AtomicBehavior.Rename && tempPath) {
|
|
186
|
+
const content = await sourceFs.readFilePromise(source);
|
|
187
|
+
await destinationFs.writeFilePromise(tempPath, content);
|
|
188
|
+
// We use `linkPromise` rather than `renamePromise` because the later
|
|
189
|
+
// overwrites the destination if it already exists; usually this
|
|
190
|
+
// wouldn't be a problem, but since we care about preserving the
|
|
191
|
+
// hardlink identity of the destination, we can't do that.
|
|
192
|
+
//
|
|
193
|
+
// So instead we create a hardlink of the source file (which will
|
|
194
|
+
// fail with EEXIST if the destination already exists), and we remove
|
|
195
|
+
// the source in the postlayout steps.
|
|
196
|
+
//
|
|
197
|
+
try {
|
|
198
|
+
await destinationFs.linkPromise(tempPath, indexPath);
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
if (err.code === `EEXIST`) {
|
|
202
|
+
tempPathCleaned = true;
|
|
203
|
+
await destinationFs.unlinkPromise(tempPath);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
throw err;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (!destinationStat) {
|
|
212
|
+
await destinationFs.linkPromise(indexPath, destination);
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
postlayout.push(async () => {
|
|
216
|
+
if (!indexStat) {
|
|
217
|
+
await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
|
|
218
|
+
if (sourceMode !== defaultMode) {
|
|
219
|
+
await destinationFs.chmodPromise(indexPath, sourceMode);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (tempPath && !tempPathCleaned) {
|
|
223
|
+
await destinationFs.unlinkPromise(tempPath);
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
|
|
229
|
+
if (destinationStat !== null) {
|
|
230
|
+
if (opts.overwrite) {
|
|
231
|
+
prelayout.push(async () => destinationFs.removePromise(destination));
|
|
232
|
+
destinationStat = null;
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// TODO: Add support for file cloning, by adding a flag inside the FakeFS
|
|
239
|
+
// instances to detect which "namespace" they're part of (for example, the
|
|
240
|
+
// NodeFS and the ZipFS would be different namespaces since you can't clone
|
|
241
|
+
// from one disk to the other; on the other hand, a CwdFS would share the
|
|
242
|
+
// namespace from its base FS and thus would support cloning).
|
|
243
|
+
prelayout.push(async () => {
|
|
244
|
+
const content = await sourceFs.readFilePromise(source);
|
|
245
|
+
await destinationFs.writeFilePromise(destination, content);
|
|
246
|
+
});
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
249
|
+
async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
|
|
250
|
+
if (opts.linkStrategy?.type === `HardlinkFromIndex`) {
|
|
251
|
+
return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
|
|
258
|
+
if (destinationStat !== null) {
|
|
259
|
+
if (opts.overwrite) {
|
|
260
|
+
prelayout.push(async () => destinationFs.removePromise(destination));
|
|
261
|
+
destinationStat = null;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
prelayout.push(async () => {
|
|
268
|
+
await destinationFs.symlinkPromise((0, path_1.convertPath)(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination);
|
|
269
|
+
});
|
|
270
|
+
return true;
|
|
271
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NoParamCallback } from 'fs';
|
|
2
|
+
import { Dir, DirentNoPath, FakeFS } from '../FakeFS';
|
|
3
|
+
import { Filename, Path } from '../path';
|
|
4
|
+
export type CustomDirOptions = {
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
};
|
|
7
|
+
export declare class CustomDir<P extends Path> implements Dir<P> {
|
|
8
|
+
readonly path: P;
|
|
9
|
+
private readonly nextDirent;
|
|
10
|
+
private readonly opts;
|
|
11
|
+
constructor(path: P, nextDirent: () => DirentNoPath | null, opts?: CustomDirOptions);
|
|
12
|
+
closed: boolean;
|
|
13
|
+
throwIfClosed(): void;
|
|
14
|
+
[Symbol.asyncIterator](): AsyncGenerator<DirentNoPath, void, unknown>;
|
|
15
|
+
read(): Promise<DirentNoPath>;
|
|
16
|
+
read(cb: (err: NodeJS.ErrnoException | null, dirent: DirentNoPath | null) => void): void;
|
|
17
|
+
readSync(): DirentNoPath | null;
|
|
18
|
+
close(): Promise<void>;
|
|
19
|
+
close(cb: NoParamCallback): void;
|
|
20
|
+
closeSync(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function opendir<P extends Path>(fakeFs: FakeFS<P>, path: P, entries: Array<Filename>, opts?: CustomDirOptions): CustomDir<P>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomDir = void 0;
|
|
4
|
+
exports.opendir = opendir;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const errors = tslib_1.__importStar(require("../errors"));
|
|
7
|
+
class CustomDir {
|
|
8
|
+
constructor(path, nextDirent, opts = {}) {
|
|
9
|
+
this.path = path;
|
|
10
|
+
this.nextDirent = nextDirent;
|
|
11
|
+
this.opts = opts;
|
|
12
|
+
this.closed = false;
|
|
13
|
+
}
|
|
14
|
+
throwIfClosed() {
|
|
15
|
+
if (this.closed) {
|
|
16
|
+
throw errors.ERR_DIR_CLOSED();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async *[Symbol.asyncIterator]() {
|
|
20
|
+
try {
|
|
21
|
+
let dirent;
|
|
22
|
+
while ((dirent = await this.read()) !== null) {
|
|
23
|
+
yield dirent;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
await this.close();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
read(cb) {
|
|
31
|
+
const dirent = this.readSync();
|
|
32
|
+
if (typeof cb !== `undefined`)
|
|
33
|
+
return cb(null, dirent);
|
|
34
|
+
return Promise.resolve(dirent);
|
|
35
|
+
}
|
|
36
|
+
readSync() {
|
|
37
|
+
this.throwIfClosed();
|
|
38
|
+
return this.nextDirent();
|
|
39
|
+
}
|
|
40
|
+
close(cb) {
|
|
41
|
+
this.closeSync();
|
|
42
|
+
if (typeof cb !== `undefined`)
|
|
43
|
+
return cb(null);
|
|
44
|
+
return Promise.resolve();
|
|
45
|
+
}
|
|
46
|
+
closeSync() {
|
|
47
|
+
this.throwIfClosed();
|
|
48
|
+
this.opts.onClose?.();
|
|
49
|
+
this.closed = true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.CustomDir = CustomDir;
|
|
53
|
+
function opendir(fakeFs, path, entries, opts) {
|
|
54
|
+
const nextDirent = () => {
|
|
55
|
+
const filename = entries.shift();
|
|
56
|
+
if (typeof filename === `undefined`)
|
|
57
|
+
return null;
|
|
58
|
+
const entryPath = fakeFs.pathUtils.join(path, filename);
|
|
59
|
+
return Object.assign(fakeFs.statSync(entryPath), {
|
|
60
|
+
name: filename,
|
|
61
|
+
path: undefined,
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
return new CustomDir(path, nextDirent, opts);
|
|
65
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { BigIntStats, Stats } from 'fs';
|
|
3
|
+
import { StatWatcher, WatchFileCallback, WatchFileOptions, FakeFS } from '../../FakeFS';
|
|
4
|
+
import { Path } from '../../path';
|
|
5
|
+
export declare enum Event {
|
|
6
|
+
Change = "change",
|
|
7
|
+
Stop = "stop"
|
|
8
|
+
}
|
|
9
|
+
export declare enum Status {
|
|
10
|
+
Ready = "ready",
|
|
11
|
+
Running = "running",
|
|
12
|
+
Stopped = "stopped"
|
|
13
|
+
}
|
|
14
|
+
export declare function assertStatus<T extends Status>(current: Status, expected: T): asserts current is T;
|
|
15
|
+
export type ListenerOptions = Omit<Required<WatchFileOptions>, `bigint`>;
|
|
16
|
+
export type CustomStatWatcherOptions = {
|
|
17
|
+
bigint?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare class CustomStatWatcher<P extends Path> extends EventEmitter implements StatWatcher {
|
|
20
|
+
readonly fakeFs: FakeFS<P>;
|
|
21
|
+
readonly path: P;
|
|
22
|
+
readonly bigint: boolean;
|
|
23
|
+
private status;
|
|
24
|
+
private changeListeners;
|
|
25
|
+
private lastStats;
|
|
26
|
+
private startTimeout;
|
|
27
|
+
static create<P extends Path>(fakeFs: FakeFS<P>, path: P, opts?: CustomStatWatcherOptions): CustomStatWatcher<P>;
|
|
28
|
+
private constructor();
|
|
29
|
+
start(): void;
|
|
30
|
+
stop(): void;
|
|
31
|
+
stat(): Stats | BigIntStats;
|
|
32
|
+
/**
|
|
33
|
+
* Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes.
|
|
34
|
+
*
|
|
35
|
+
* @param opts.persistent Decides whether the interval should be immediately unref-ed.
|
|
36
|
+
*/
|
|
37
|
+
makeInterval(opts: ListenerOptions): NodeJS.Timeout;
|
|
38
|
+
/**
|
|
39
|
+
* Registers a listener and assigns it an interval.
|
|
40
|
+
*/
|
|
41
|
+
registerChangeListener(listener: WatchFileCallback, opts: ListenerOptions): void;
|
|
42
|
+
/**
|
|
43
|
+
* Unregisters the listener and clears the assigned interval.
|
|
44
|
+
*/
|
|
45
|
+
unregisterChangeListener(listener: WatchFileCallback): void;
|
|
46
|
+
/**
|
|
47
|
+
* Unregisters all listeners and clears all assigned intervals.
|
|
48
|
+
*/
|
|
49
|
+
unregisterAllChangeListeners(): void;
|
|
50
|
+
hasChangeListeners(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Refs all stored intervals.
|
|
53
|
+
*/
|
|
54
|
+
ref(): this;
|
|
55
|
+
/**
|
|
56
|
+
* Unrefs all stored intervals.
|
|
57
|
+
*/
|
|
58
|
+
unref(): this;
|
|
59
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomStatWatcher = exports.Status = exports.Event = void 0;
|
|
4
|
+
exports.assertStatus = assertStatus;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const events_1 = require("events");
|
|
7
|
+
const statUtils = tslib_1.__importStar(require("../../statUtils"));
|
|
8
|
+
var Event;
|
|
9
|
+
(function (Event) {
|
|
10
|
+
Event["Change"] = "change";
|
|
11
|
+
Event["Stop"] = "stop";
|
|
12
|
+
})(Event || (exports.Event = Event = {}));
|
|
13
|
+
var Status;
|
|
14
|
+
(function (Status) {
|
|
15
|
+
Status["Ready"] = "ready";
|
|
16
|
+
Status["Running"] = "running";
|
|
17
|
+
Status["Stopped"] = "stopped";
|
|
18
|
+
})(Status || (exports.Status = Status = {}));
|
|
19
|
+
function assertStatus(current, expected) {
|
|
20
|
+
if (current !== expected) {
|
|
21
|
+
throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
class CustomStatWatcher extends events_1.EventEmitter {
|
|
25
|
+
static create(fakeFs, path, opts) {
|
|
26
|
+
const statWatcher = new CustomStatWatcher(fakeFs, path, opts);
|
|
27
|
+
statWatcher.start();
|
|
28
|
+
return statWatcher;
|
|
29
|
+
}
|
|
30
|
+
constructor(fakeFs, path, { bigint = false } = {}) {
|
|
31
|
+
super();
|
|
32
|
+
this.status = Status.Ready;
|
|
33
|
+
this.changeListeners = new Map();
|
|
34
|
+
this.startTimeout = null;
|
|
35
|
+
this.fakeFs = fakeFs;
|
|
36
|
+
this.path = path;
|
|
37
|
+
this.bigint = bigint;
|
|
38
|
+
this.lastStats = this.stat();
|
|
39
|
+
}
|
|
40
|
+
start() {
|
|
41
|
+
assertStatus(this.status, Status.Ready);
|
|
42
|
+
this.status = Status.Running;
|
|
43
|
+
// Node allows other listeners to be registered up to 3 milliseconds
|
|
44
|
+
// after the watcher has been started, so that's what we're doing too
|
|
45
|
+
this.startTimeout = setTimeout(() => {
|
|
46
|
+
this.startTimeout = null;
|
|
47
|
+
// Per the Node FS docs:
|
|
48
|
+
// "When an fs.watchFile operation results in an ENOENT error,
|
|
49
|
+
// it will invoke the listener once, with all the fields zeroed
|
|
50
|
+
// (or, for dates, the Unix Epoch)."
|
|
51
|
+
if (!this.fakeFs.existsSync(this.path)) {
|
|
52
|
+
this.emit(Event.Change, this.lastStats, this.lastStats);
|
|
53
|
+
}
|
|
54
|
+
}, 3);
|
|
55
|
+
}
|
|
56
|
+
stop() {
|
|
57
|
+
assertStatus(this.status, Status.Running);
|
|
58
|
+
this.status = Status.Stopped;
|
|
59
|
+
if (this.startTimeout !== null) {
|
|
60
|
+
clearTimeout(this.startTimeout);
|
|
61
|
+
this.startTimeout = null;
|
|
62
|
+
}
|
|
63
|
+
this.emit(Event.Stop);
|
|
64
|
+
}
|
|
65
|
+
stat() {
|
|
66
|
+
try {
|
|
67
|
+
return this.fakeFs.statSync(this.path, { bigint: this.bigint });
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// From observation, all errors seem to be mostly ignored by Node.
|
|
71
|
+
// Checked with ENOENT, ENOTDIR, EPERM
|
|
72
|
+
const statInstance = this.bigint
|
|
73
|
+
? new statUtils.BigIntStatsEntry()
|
|
74
|
+
: new statUtils.StatEntry();
|
|
75
|
+
return statUtils.clearStats(statInstance);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes.
|
|
80
|
+
*
|
|
81
|
+
* @param opts.persistent Decides whether the interval should be immediately unref-ed.
|
|
82
|
+
*/
|
|
83
|
+
makeInterval(opts) {
|
|
84
|
+
const interval = setInterval(() => {
|
|
85
|
+
const currentStats = this.stat();
|
|
86
|
+
const previousStats = this.lastStats;
|
|
87
|
+
if (statUtils.areStatsEqual(currentStats, previousStats))
|
|
88
|
+
return;
|
|
89
|
+
this.lastStats = currentStats;
|
|
90
|
+
this.emit(Event.Change, currentStats, previousStats);
|
|
91
|
+
}, opts.interval);
|
|
92
|
+
return opts.persistent ? interval : interval.unref();
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Registers a listener and assigns it an interval.
|
|
96
|
+
*/
|
|
97
|
+
registerChangeListener(listener, opts) {
|
|
98
|
+
this.addListener(Event.Change, listener);
|
|
99
|
+
this.changeListeners.set(listener, this.makeInterval(opts));
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Unregisters the listener and clears the assigned interval.
|
|
103
|
+
*/
|
|
104
|
+
unregisterChangeListener(listener) {
|
|
105
|
+
this.removeListener(Event.Change, listener);
|
|
106
|
+
const interval = this.changeListeners.get(listener);
|
|
107
|
+
if (typeof interval !== `undefined`)
|
|
108
|
+
clearInterval(interval);
|
|
109
|
+
this.changeListeners.delete(listener);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Unregisters all listeners and clears all assigned intervals.
|
|
113
|
+
*/
|
|
114
|
+
unregisterAllChangeListeners() {
|
|
115
|
+
for (const listener of this.changeListeners.keys()) {
|
|
116
|
+
this.unregisterChangeListener(listener);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
hasChangeListeners() {
|
|
120
|
+
return this.changeListeners.size > 0;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Refs all stored intervals.
|
|
124
|
+
*/
|
|
125
|
+
ref() {
|
|
126
|
+
for (const interval of this.changeListeners.values())
|
|
127
|
+
interval.ref();
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Unrefs all stored intervals.
|
|
132
|
+
*/
|
|
133
|
+
unref() {
|
|
134
|
+
for (const interval of this.changeListeners.values())
|
|
135
|
+
interval.unref();
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.CustomStatWatcher = CustomStatWatcher;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FakeFS, WatchFileOptions, WatchFileCallback } from '../FakeFS';
|
|
2
|
+
import { Path } from '../path';
|
|
3
|
+
import { CustomStatWatcher } from './watchFile/CustomStatWatcher';
|
|
4
|
+
export declare function watchFile<P extends Path>(fakeFs: FakeFS<P>, path: P, a: WatchFileOptions | WatchFileCallback, b?: WatchFileCallback): CustomStatWatcher<P>;
|
|
5
|
+
export declare function unwatchFile<P extends Path>(fakeFs: FakeFS<P>, path: P, cb?: WatchFileCallback): void;
|
|
6
|
+
export declare function unwatchAllFiles(fakeFs: FakeFS<Path>): void;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.watchFile = watchFile;
|
|
4
|
+
exports.unwatchFile = unwatchFile;
|
|
5
|
+
exports.unwatchAllFiles = unwatchAllFiles;
|
|
6
|
+
const CustomStatWatcher_1 = require("./watchFile/CustomStatWatcher");
|
|
7
|
+
const statWatchersByFakeFS = new WeakMap();
|
|
8
|
+
function watchFile(fakeFs, path, a, b) {
|
|
9
|
+
let bigint;
|
|
10
|
+
let persistent;
|
|
11
|
+
let interval;
|
|
12
|
+
let listener;
|
|
13
|
+
switch (typeof a) {
|
|
14
|
+
case `function`:
|
|
15
|
+
{
|
|
16
|
+
bigint = false;
|
|
17
|
+
persistent = true;
|
|
18
|
+
interval = 5007;
|
|
19
|
+
listener = a;
|
|
20
|
+
}
|
|
21
|
+
break;
|
|
22
|
+
default:
|
|
23
|
+
{
|
|
24
|
+
({
|
|
25
|
+
bigint = false,
|
|
26
|
+
persistent = true,
|
|
27
|
+
interval = 5007,
|
|
28
|
+
} = a);
|
|
29
|
+
listener = b;
|
|
30
|
+
}
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
let statWatchers = statWatchersByFakeFS.get(fakeFs);
|
|
34
|
+
if (typeof statWatchers === `undefined`)
|
|
35
|
+
statWatchersByFakeFS.set(fakeFs, statWatchers = new Map());
|
|
36
|
+
let statWatcher = statWatchers.get(path);
|
|
37
|
+
if (typeof statWatcher === `undefined`) {
|
|
38
|
+
statWatcher = CustomStatWatcher_1.CustomStatWatcher.create(fakeFs, path, { bigint });
|
|
39
|
+
statWatchers.set(path, statWatcher);
|
|
40
|
+
}
|
|
41
|
+
statWatcher.registerChangeListener(listener, { persistent, interval });
|
|
42
|
+
return statWatcher;
|
|
43
|
+
}
|
|
44
|
+
function unwatchFile(fakeFs, path, cb) {
|
|
45
|
+
const statWatchers = statWatchersByFakeFS.get(fakeFs);
|
|
46
|
+
if (typeof statWatchers === `undefined`)
|
|
47
|
+
return;
|
|
48
|
+
const statWatcher = statWatchers.get(path);
|
|
49
|
+
if (typeof statWatcher === `undefined`)
|
|
50
|
+
return;
|
|
51
|
+
if (typeof cb === `undefined`)
|
|
52
|
+
statWatcher.unregisterAllChangeListeners();
|
|
53
|
+
else
|
|
54
|
+
statWatcher.unregisterChangeListener(cb);
|
|
55
|
+
if (!statWatcher.hasChangeListeners()) {
|
|
56
|
+
statWatcher.stop();
|
|
57
|
+
statWatchers.delete(path);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function unwatchAllFiles(fakeFs) {
|
|
61
|
+
const statWatchers = statWatchersByFakeFS.get(fakeFs);
|
|
62
|
+
if (typeof statWatchers === `undefined`)
|
|
63
|
+
return;
|
|
64
|
+
for (const path of statWatchers.keys()) {
|
|
65
|
+
unwatchFile(fakeFs, path);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const S_IFMT = 61440;
|
|
2
|
+
export declare const S_IFDIR = 16384;
|
|
3
|
+
export declare const S_IFREG = 32768;
|
|
4
|
+
export declare const S_IFLNK = 40960;
|
|
5
|
+
/**
|
|
6
|
+
* Unix timestamp for `1984-06-22T21:50:00.000Z`
|
|
7
|
+
*
|
|
8
|
+
* It needs to be after 1980-01-01 because that's what Zip supports, and it
|
|
9
|
+
* needs to have a slight offset to account for different timezones (because
|
|
10
|
+
* zip assumes that all times are local to whoever writes the file, which is
|
|
11
|
+
* really silly).
|
|
12
|
+
*/
|
|
13
|
+
export declare const SAFE_TIME = 456789000;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SAFE_TIME = exports.S_IFLNK = exports.S_IFREG = exports.S_IFDIR = exports.S_IFMT = void 0;
|
|
4
|
+
exports.S_IFMT = 0o170000;
|
|
5
|
+
exports.S_IFDIR = 0o040000;
|
|
6
|
+
exports.S_IFREG = 0o100000;
|
|
7
|
+
exports.S_IFLNK = 0o120000;
|
|
8
|
+
/**
|
|
9
|
+
* Unix timestamp for `1984-06-22T21:50:00.000Z`
|
|
10
|
+
*
|
|
11
|
+
* It needs to be after 1980-01-01 because that's what Zip supports, and it
|
|
12
|
+
* needs to have a slight offset to account for different timezones (because
|
|
13
|
+
* zip assumes that all times are local to whoever writes the file, which is
|
|
14
|
+
* really silly).
|
|
15
|
+
*/
|
|
16
|
+
exports.SAFE_TIME = 456789000;
|