@socketsecurity/lib 0.0.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +270 -0
- package/LICENSE +21 -0
- package/README.md +80 -2
- package/data/extensions.json +28 -0
- package/dist/abort.d.ts +11 -0
- package/dist/abort.js +62 -0
- package/dist/abort.js.map +7 -0
- package/dist/agent.d.ts +102 -0
- package/dist/agent.js +288 -0
- package/dist/agent.js.map +7 -0
- package/dist/ansi.d.ts +29 -0
- package/dist/ansi.js +62 -0
- package/dist/ansi.js.map +7 -0
- package/dist/argv/flags.d.ts +199 -0
- package/dist/argv/flags.js +284 -0
- package/dist/argv/flags.js.map +7 -0
- package/dist/argv/parse.d.ts +76 -0
- package/dist/argv/parse.js +173 -0
- package/dist/argv/parse.js.map +7 -0
- package/dist/arrays.d.ts +29 -0
- package/dist/arrays.js +87 -0
- package/dist/arrays.js.map +7 -0
- package/dist/bin.d.ts +50 -0
- package/dist/bin.js +405 -0
- package/dist/bin.js.map +7 -0
- package/dist/cacache.d.ts +86 -0
- package/dist/cacache.js +140 -0
- package/dist/cacache.js.map +7 -0
- package/dist/cache-with-ttl.d.ts +133 -0
- package/dist/cache-with-ttl.js +225 -0
- package/dist/cache-with-ttl.js.map +7 -0
- package/dist/constants/agents.d.ts +37 -0
- package/dist/constants/agents.js +128 -0
- package/dist/constants/agents.js.map +7 -0
- package/dist/constants/core.d.ts +22 -0
- package/dist/constants/core.js +59 -0
- package/dist/constants/core.js.map +7 -0
- package/dist/constants/encoding.d.ts +13 -0
- package/dist/constants/encoding.js +50 -0
- package/dist/constants/encoding.js.map +7 -0
- package/dist/constants/github.d.ts +7 -0
- package/dist/constants/github.js +32 -0
- package/dist/constants/github.js.map +7 -0
- package/dist/constants/licenses.d.ts +8 -0
- package/dist/constants/licenses.js +68 -0
- package/dist/constants/licenses.js.map +7 -0
- package/dist/constants/node.d.ts +29 -0
- package/dist/constants/node.js +173 -0
- package/dist/constants/node.js.map +7 -0
- package/dist/constants/packages.d.ts +19 -0
- package/dist/constants/packages.js +130 -0
- package/dist/constants/packages.js.map +7 -0
- package/dist/constants/paths.d.ts +51 -0
- package/dist/constants/paths.js +152 -0
- package/dist/constants/paths.js.map +7 -0
- package/dist/constants/platform.d.ts +6 -0
- package/dist/constants/platform.js +43 -0
- package/dist/constants/platform.js.map +7 -0
- package/dist/constants/process.d.ts +7 -0
- package/dist/constants/process.js +54 -0
- package/dist/constants/process.js.map +7 -0
- package/dist/constants/socket.d.ts +29 -0
- package/dist/constants/socket.js +83 -0
- package/dist/constants/socket.js.map +7 -0
- package/dist/constants/testing.d.ts +9 -0
- package/dist/constants/testing.js +38 -0
- package/dist/constants/testing.js.map +7 -0
- package/dist/constants/time.d.ts +11 -0
- package/dist/constants/time.js +41 -0
- package/dist/constants/time.js.map +7 -0
- package/dist/constants/typescript.d.ts +6 -0
- package/dist/constants/typescript.js +56 -0
- package/dist/constants/typescript.js.map +7 -0
- package/dist/cover/code.d.ts +8 -0
- package/dist/cover/code.js +137 -0
- package/dist/cover/code.js.map +7 -0
- package/dist/cover/formatters.d.ts +9 -0
- package/dist/cover/formatters.js +103 -0
- package/dist/cover/formatters.js.map +7 -0
- package/dist/cover/type.d.ts +7 -0
- package/dist/cover/type.js +65 -0
- package/dist/cover/type.js.map +7 -0
- package/dist/cover/types.d.ts +70 -0
- package/dist/cover/types.js +17 -0
- package/dist/cover/types.js.map +7 -0
- package/dist/debug.d.ts +99 -0
- package/dist/debug.js +345 -0
- package/dist/debug.js.map +7 -0
- package/dist/dlx-binary.d.ts +49 -0
- package/dist/dlx-binary.js +261 -0
- package/dist/dlx-binary.js.map +7 -0
- package/dist/dlx.d.ts +64 -0
- package/dist/dlx.js +168 -0
- package/dist/dlx.js.map +7 -0
- package/dist/download-lock.d.ts +48 -0
- package/dist/download-lock.js +139 -0
- package/dist/download-lock.js.map +7 -0
- package/dist/effects/pulse-frames.d.ts +23 -0
- package/dist/effects/pulse-frames.js +66 -0
- package/dist/effects/pulse-frames.js.map +7 -0
- package/dist/effects/text-shimmer.d.ts +37 -0
- package/dist/effects/text-shimmer.js +175 -0
- package/dist/effects/text-shimmer.js.map +7 -0
- package/dist/effects/types.d.ts +41 -0
- package/dist/effects/types.js +17 -0
- package/dist/effects/types.js.map +7 -0
- package/dist/effects/ultra.d.ts +16 -0
- package/dist/effects/ultra.js +63 -0
- package/dist/effects/ultra.js.map +7 -0
- package/dist/env/appdata.d.ts +1 -0
- package/dist/env/appdata.js +30 -0
- package/dist/env/appdata.js.map +7 -0
- package/dist/env/ci.d.ts +1 -0
- package/dist/env/ci.js +31 -0
- package/dist/env/ci.js.map +7 -0
- package/dist/env/comspec.d.ts +1 -0
- package/dist/env/comspec.js +30 -0
- package/dist/env/comspec.js.map +7 -0
- package/dist/env/debug.d.ts +1 -0
- package/dist/env/debug.js +30 -0
- package/dist/env/debug.js.map +7 -0
- package/dist/env/getters.d.ts +40 -0
- package/dist/env/getters.js +283 -0
- package/dist/env/getters.js.map +7 -0
- package/dist/env/github-api-url.d.ts +1 -0
- package/dist/env/github-api-url.js +30 -0
- package/dist/env/github-api-url.js.map +7 -0
- package/dist/env/github-base-ref.d.ts +1 -0
- package/dist/env/github-base-ref.js +30 -0
- package/dist/env/github-base-ref.js.map +7 -0
- package/dist/env/github-ref-name.d.ts +1 -0
- package/dist/env/github-ref-name.js +30 -0
- package/dist/env/github-ref-name.js.map +7 -0
- package/dist/env/github-ref-type.d.ts +1 -0
- package/dist/env/github-ref-type.js +30 -0
- package/dist/env/github-ref-type.js.map +7 -0
- package/dist/env/github-repository.d.ts +1 -0
- package/dist/env/github-repository.js +30 -0
- package/dist/env/github-repository.js.map +7 -0
- package/dist/env/github-server-url.d.ts +1 -0
- package/dist/env/github-server-url.js +30 -0
- package/dist/env/github-server-url.js.map +7 -0
- package/dist/env/github-token.d.ts +1 -0
- package/dist/env/github-token.js +30 -0
- package/dist/env/github-token.js.map +7 -0
- package/dist/env/helpers.d.ts +6 -0
- package/dist/env/helpers.js +49 -0
- package/dist/env/helpers.js.map +7 -0
- package/dist/env/home.d.ts +1 -0
- package/dist/env/home.js +30 -0
- package/dist/env/home.js.map +7 -0
- package/dist/env/jest-worker-id.d.ts +1 -0
- package/dist/env/jest-worker-id.js +30 -0
- package/dist/env/jest-worker-id.js.map +7 -0
- package/dist/env/lang.d.ts +1 -0
- package/dist/env/lang.js +30 -0
- package/dist/env/lang.js.map +7 -0
- package/dist/env/lc-all.d.ts +1 -0
- package/dist/env/lc-all.js +30 -0
- package/dist/env/lc-all.js.map +7 -0
- package/dist/env/lc-messages.d.ts +1 -0
- package/dist/env/lc-messages.js +30 -0
- package/dist/env/lc-messages.js.map +7 -0
- package/dist/env/localappdata.d.ts +1 -0
- package/dist/env/localappdata.js +30 -0
- package/dist/env/localappdata.js.map +7 -0
- package/dist/env/node-auth-token.d.ts +1 -0
- package/dist/env/node-auth-token.js +30 -0
- package/dist/env/node-auth-token.js.map +7 -0
- package/dist/env/node-env.d.ts +1 -0
- package/dist/env/node-env.js +30 -0
- package/dist/env/node-env.js.map +7 -0
- package/dist/env/npm-config-registry.d.ts +1 -0
- package/dist/env/npm-config-registry.js +30 -0
- package/dist/env/npm-config-registry.js.map +7 -0
- package/dist/env/npm-config-user-agent.d.ts +1 -0
- package/dist/env/npm-config-user-agent.js +30 -0
- package/dist/env/npm-config-user-agent.js.map +7 -0
- package/dist/env/npm-lifecycle-event.d.ts +1 -0
- package/dist/env/npm-lifecycle-event.js +30 -0
- package/dist/env/npm-lifecycle-event.js.map +7 -0
- package/dist/env/npm-registry.d.ts +1 -0
- package/dist/env/npm-registry.js +30 -0
- package/dist/env/npm-registry.js.map +7 -0
- package/dist/env/npm-token.d.ts +1 -0
- package/dist/env/npm-token.js +30 -0
- package/dist/env/npm-token.js.map +7 -0
- package/dist/env/path.d.ts +1 -0
- package/dist/env/path.js +30 -0
- package/dist/env/path.js.map +7 -0
- package/dist/env/pre-commit.d.ts +1 -0
- package/dist/env/pre-commit.js +31 -0
- package/dist/env/pre-commit.js.map +7 -0
- package/dist/env/shell.d.ts +1 -0
- package/dist/env/shell.js +30 -0
- package/dist/env/shell.js.map +7 -0
- package/dist/env/socket-accept-risks.d.ts +1 -0
- package/dist/env/socket-accept-risks.js +31 -0
- package/dist/env/socket-accept-risks.js.map +7 -0
- package/dist/env/socket-api-base-url.d.ts +1 -0
- package/dist/env/socket-api-base-url.js +30 -0
- package/dist/env/socket-api-base-url.js.map +7 -0
- package/dist/env/socket-api-proxy.d.ts +1 -0
- package/dist/env/socket-api-proxy.js +30 -0
- package/dist/env/socket-api-proxy.js.map +7 -0
- package/dist/env/socket-api-timeout.d.ts +1 -0
- package/dist/env/socket-api-timeout.js +31 -0
- package/dist/env/socket-api-timeout.js.map +7 -0
- package/dist/env/socket-api-token.d.ts +1 -0
- package/dist/env/socket-api-token.js +30 -0
- package/dist/env/socket-api-token.js.map +7 -0
- package/dist/env/socket-cacache-dir.d.ts +1 -0
- package/dist/env/socket-cacache-dir.js +30 -0
- package/dist/env/socket-cacache-dir.js.map +7 -0
- package/dist/env/socket-cli-accept-risks.d.ts +1 -0
- package/dist/env/socket-cli-accept-risks.js +33 -0
- package/dist/env/socket-cli-accept-risks.js.map +7 -0
- package/dist/env/socket-cli-api-base-url.d.ts +1 -0
- package/dist/env/socket-cli-api-base-url.js +30 -0
- package/dist/env/socket-cli-api-base-url.js.map +7 -0
- package/dist/env/socket-cli-api-proxy.d.ts +1 -0
- package/dist/env/socket-cli-api-proxy.js +30 -0
- package/dist/env/socket-cli-api-proxy.js.map +7 -0
- package/dist/env/socket-cli-api-timeout.d.ts +1 -0
- package/dist/env/socket-cli-api-timeout.js +31 -0
- package/dist/env/socket-cli-api-timeout.js.map +7 -0
- package/dist/env/socket-cli-api-token.d.ts +1 -0
- package/dist/env/socket-cli-api-token.js +30 -0
- package/dist/env/socket-cli-api-token.js.map +7 -0
- package/dist/env/socket-cli-config.d.ts +1 -0
- package/dist/env/socket-cli-config.js +30 -0
- package/dist/env/socket-cli-config.js.map +7 -0
- package/dist/env/socket-cli-fix.d.ts +1 -0
- package/dist/env/socket-cli-fix.js +30 -0
- package/dist/env/socket-cli-fix.js.map +7 -0
- package/dist/env/socket-cli-no-api-token.d.ts +1 -0
- package/dist/env/socket-cli-no-api-token.js +33 -0
- package/dist/env/socket-cli-no-api-token.js.map +7 -0
- package/dist/env/socket-cli-optimize.d.ts +1 -0
- package/dist/env/socket-cli-optimize.js +31 -0
- package/dist/env/socket-cli-optimize.js.map +7 -0
- package/dist/env/socket-cli-org-slug.d.ts +1 -0
- package/dist/env/socket-cli-org-slug.js +30 -0
- package/dist/env/socket-cli-org-slug.js.map +7 -0
- package/dist/env/socket-cli-shadow-accept-risks.d.ts +1 -0
- package/dist/env/socket-cli-shadow-accept-risks.js +33 -0
- package/dist/env/socket-cli-shadow-accept-risks.js.map +7 -0
- package/dist/env/socket-cli-shadow-api-token.d.ts +1 -0
- package/dist/env/socket-cli-shadow-api-token.js +30 -0
- package/dist/env/socket-cli-shadow-api-token.js.map +7 -0
- package/dist/env/socket-cli-shadow-bin.d.ts +1 -0
- package/dist/env/socket-cli-shadow-bin.js +30 -0
- package/dist/env/socket-cli-shadow-bin.js.map +7 -0
- package/dist/env/socket-cli-shadow-progress.d.ts +1 -0
- package/dist/env/socket-cli-shadow-progress.js +33 -0
- package/dist/env/socket-cli-shadow-progress.js.map +7 -0
- package/dist/env/socket-cli-shadow-silent.d.ts +1 -0
- package/dist/env/socket-cli-shadow-silent.js +33 -0
- package/dist/env/socket-cli-shadow-silent.js.map +7 -0
- package/dist/env/socket-cli-view-all-risks.d.ts +1 -0
- package/dist/env/socket-cli-view-all-risks.js +33 -0
- package/dist/env/socket-cli-view-all-risks.js.map +7 -0
- package/dist/env/socket-config.d.ts +1 -0
- package/dist/env/socket-config.js +30 -0
- package/dist/env/socket-config.js.map +7 -0
- package/dist/env/socket-debug.d.ts +1 -0
- package/dist/env/socket-debug.js +30 -0
- package/dist/env/socket-debug.js.map +7 -0
- package/dist/env/socket-home.d.ts +1 -0
- package/dist/env/socket-home.js +30 -0
- package/dist/env/socket-home.js.map +7 -0
- package/dist/env/socket-no-api-token.d.ts +1 -0
- package/dist/env/socket-no-api-token.js +31 -0
- package/dist/env/socket-no-api-token.js.map +7 -0
- package/dist/env/socket-npm-registry.d.ts +1 -0
- package/dist/env/socket-npm-registry.js +30 -0
- package/dist/env/socket-npm-registry.js.map +7 -0
- package/dist/env/socket-org-slug.d.ts +1 -0
- package/dist/env/socket-org-slug.js +30 -0
- package/dist/env/socket-org-slug.js.map +7 -0
- package/dist/env/socket-registry-url.d.ts +1 -0
- package/dist/env/socket-registry-url.js +30 -0
- package/dist/env/socket-registry-url.js.map +7 -0
- package/dist/env/socket-view-all-risks.d.ts +1 -0
- package/dist/env/socket-view-all-risks.js +31 -0
- package/dist/env/socket-view-all-risks.js.map +7 -0
- package/dist/env/temp.d.ts +1 -0
- package/dist/env/temp.js +30 -0
- package/dist/env/temp.js.map +7 -0
- package/dist/env/term.d.ts +1 -0
- package/dist/env/term.js +30 -0
- package/dist/env/term.js.map +7 -0
- package/dist/env/tmp.d.ts +1 -0
- package/dist/env/tmp.js +30 -0
- package/dist/env/tmp.js.map +7 -0
- package/dist/env/tmpdir.d.ts +1 -0
- package/dist/env/tmpdir.js +30 -0
- package/dist/env/tmpdir.js.map +7 -0
- package/dist/env/userprofile.d.ts +1 -0
- package/dist/env/userprofile.js +30 -0
- package/dist/env/userprofile.js.map +7 -0
- package/dist/env/vitest.d.ts +1 -0
- package/dist/env/vitest.js +31 -0
- package/dist/env/vitest.js.map +7 -0
- package/dist/env/xdg-cache-home.d.ts +1 -0
- package/dist/env/xdg-cache-home.js +30 -0
- package/dist/env/xdg-cache-home.js.map +7 -0
- package/dist/env/xdg-config-home.d.ts +1 -0
- package/dist/env/xdg-config-home.js +30 -0
- package/dist/env/xdg-config-home.js.map +7 -0
- package/dist/env/xdg-data-home.d.ts +1 -0
- package/dist/env/xdg-data-home.js +30 -0
- package/dist/env/xdg-data-home.js.map +7 -0
- package/dist/env.d.ts +15 -0
- package/dist/env.js +63 -0
- package/dist/env.js.map +7 -0
- package/dist/external/@inquirer/checkbox.js +4 -0
- package/dist/external/@inquirer/confirm.js +22 -0
- package/dist/external/@inquirer/core.js +4 -0
- package/dist/external/@inquirer/input.js +1 -0
- package/dist/external/@inquirer/password.js +1 -0
- package/dist/external/@inquirer/prompts.js +4 -0
- package/dist/external/@inquirer/search.js +1 -0
- package/dist/external/@inquirer/select.js +25 -0
- package/dist/external/@npmcli/package-json/index.js +1 -0
- package/dist/external/@npmcli/package-json/lib/read-package.js +1 -0
- package/dist/external/@npmcli/package-json/lib/sort.js +1 -0
- package/dist/external/@npmcli/promise-spawn.js +5 -0
- package/dist/external/@socketregistry/is-unicode-supported.d.ts +2 -0
- package/dist/external/@socketregistry/is-unicode-supported.js +5 -0
- package/dist/external/@socketregistry/packageurl-js.js +34 -0
- package/dist/external/@socketregistry/yocto-spinner.d.ts +12 -0
- package/dist/external/@socketregistry/yocto-spinner.js +8 -0
- package/dist/external/@yarnpkg/extensions.d.ts +5 -0
- package/dist/external/@yarnpkg/extensions.js +5 -0
- package/dist/external/cacache.d.ts +93 -0
- package/dist/external/cacache.js +32 -0
- package/dist/external/debug.d.ts +25 -0
- package/dist/external/debug.js +9 -0
- package/dist/external/del.d.ts +1 -0
- package/dist/external/del.js +54 -0
- package/dist/external/fast-glob.js +54 -0
- package/dist/external/fast-sort.d.ts +4 -0
- package/dist/external/fast-sort.js +5 -0
- package/dist/external/get-east-asian-width.d.ts +5 -0
- package/dist/external/get-east-asian-width.js +5 -0
- package/dist/external/libnpmpack.d.ts +3 -0
- package/dist/external/libnpmpack.js +225 -0
- package/dist/external/make-fetch-happen.d.ts +16 -0
- package/dist/external/make-fetch-happen.js +69 -0
- package/dist/external/normalize-package-data.js +6 -0
- package/dist/external/npm-package-arg.js +6 -0
- package/dist/external/pacote.d.ts +19 -0
- package/dist/external/pacote.js +105 -0
- package/dist/external/picomatch.js +5 -0
- package/dist/external/semver.d.ts +3 -0
- package/dist/external/semver.js +5 -0
- package/dist/external/spdx-correct.js +5 -0
- package/dist/external/spdx-expression-parse.js +5 -0
- package/dist/external/streaming-iterables.js +5 -0
- package/dist/external/validate-npm-package-name.js +5 -0
- package/dist/external/which.js +5 -0
- package/dist/external/yargs-parser.d.ts +3 -0
- package/dist/external/yargs-parser.js +26 -0
- package/dist/external/yoctocolors-cjs.d.ts +38 -0
- package/dist/external/yoctocolors-cjs.js +5 -0
- package/dist/external/zod.d.ts +1 -0
- package/dist/external/zod.js +27 -0
- package/dist/fs.d.ts +184 -0
- package/dist/fs.js +610 -0
- package/dist/fs.js.map +7 -0
- package/dist/functions.d.ts +27 -0
- package/dist/functions.js +70 -0
- package/dist/functions.js.map +7 -0
- package/dist/git.d.ts +93 -0
- package/dist/git.js +321 -0
- package/dist/git.js.map +7 -0
- package/dist/github.d.ts +121 -0
- package/dist/github.js +203 -0
- package/dist/github.js.map +7 -0
- package/dist/globs.d.ts +46 -0
- package/dist/globs.js +154 -0
- package/dist/globs.js.map +7 -0
- package/dist/http-request.d.ts +53 -0
- package/dist/http-request.js +315 -0
- package/dist/http-request.js.map +7 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +7 -0
- package/dist/ipc.d.ts +366 -0
- package/dist/ipc.js +234 -0
- package/dist/ipc.js.map +7 -0
- package/dist/json.d.ts +23 -0
- package/dist/json.js +75 -0
- package/dist/json.js.map +7 -0
- package/dist/logger.d.ts +183 -0
- package/dist/logger.js +653 -0
- package/dist/logger.js.map +7 -0
- package/dist/maintained-node-versions.d.ts +7 -0
- package/dist/maintained-node-versions.js +37 -0
- package/dist/maintained-node-versions.js.map +7 -0
- package/dist/memoization.d.ts +142 -0
- package/dist/memoization.js +212 -0
- package/dist/memoization.js.map +7 -0
- package/dist/objects.d.ts +146 -0
- package/dist/objects.js +321 -0
- package/dist/objects.js.map +7 -0
- package/dist/packages/editable.d.ts +107 -0
- package/dist/packages/editable.js +358 -0
- package/dist/packages/editable.js.map +7 -0
- package/dist/packages/exports.d.ts +30 -0
- package/dist/packages/exports.js +164 -0
- package/dist/packages/exports.js.map +7 -0
- package/dist/packages/isolation.d.ts +22 -0
- package/dist/packages/isolation.js +197 -0
- package/dist/packages/isolation.js.map +7 -0
- package/dist/packages/licenses.d.ts +68 -0
- package/dist/packages/licenses.js +216 -0
- package/dist/packages/licenses.js.map +7 -0
- package/dist/packages/manifest.d.ts +16 -0
- package/dist/packages/manifest.js +192 -0
- package/dist/packages/manifest.js.map +7 -0
- package/dist/packages/normalize.d.ts +21 -0
- package/dist/packages/normalize.js +122 -0
- package/dist/packages/normalize.js.map +7 -0
- package/dist/packages/operations.d.ts +54 -0
- package/dist/packages/operations.js +306 -0
- package/dist/packages/operations.js.map +7 -0
- package/dist/packages/paths.d.ts +10 -0
- package/dist/packages/paths.js +55 -0
- package/dist/packages/paths.js.map +7 -0
- package/dist/packages/provenance.d.ts +10 -0
- package/dist/packages/provenance.js +180 -0
- package/dist/packages/provenance.js.map +7 -0
- package/dist/packages/registry.d.ts +8 -0
- package/dist/packages/registry.js +30 -0
- package/dist/packages/registry.js.map +7 -0
- package/dist/packages/specs.d.ts +28 -0
- package/dist/packages/specs.js +85 -0
- package/dist/packages/specs.js.map +7 -0
- package/dist/packages/validation.d.ts +15 -0
- package/dist/packages/validation.js +53 -0
- package/dist/packages/validation.js.map +7 -0
- package/dist/packages.d.ts +154 -0
- package/dist/packages.js +131 -0
- package/dist/packages.js.map +7 -0
- package/dist/path.d.ts +74 -0
- package/dist/path.js +442 -0
- package/dist/path.js.map +7 -0
- package/dist/paths.d.ts +42 -0
- package/dist/paths.js +145 -0
- package/dist/paths.js.map +7 -0
- package/dist/performance.d.ts +178 -0
- package/dist/performance.js +219 -0
- package/dist/performance.js.map +7 -0
- package/dist/promise-queue.d.ts +35 -0
- package/dist/promise-queue.js +111 -0
- package/dist/promise-queue.js.map +7 -0
- package/dist/promises.d.ts +67 -0
- package/dist/promises.js +268 -0
- package/dist/promises.js.map +7 -0
- package/dist/prompts.d.ts +27 -0
- package/dist/prompts.js +60 -0
- package/dist/prompts.js.map +7 -0
- package/dist/regexps.d.ts +13 -0
- package/dist/regexps.js +32 -0
- package/dist/regexps.js.map +7 -0
- package/dist/sea.d.ts +10 -0
- package/dist/sea.js +46 -0
- package/dist/sea.js.map +7 -0
- package/dist/shadow.d.ts +17 -0
- package/dist/shadow.js +60 -0
- package/dist/shadow.js.map +7 -0
- package/dist/signal-exit.d.ts +23 -0
- package/dist/signal-exit.js +250 -0
- package/dist/signal-exit.js.map +7 -0
- package/dist/sorts.d.ts +28 -0
- package/dist/sorts.js +96 -0
- package/dist/sorts.js.map +7 -0
- package/dist/spawn.d.ts +207 -0
- package/dist/spawn.js +201 -0
- package/dist/spawn.js.map +7 -0
- package/dist/spinner.d.ts +208 -0
- package/dist/spinner.js +729 -0
- package/dist/spinner.js.map +7 -0
- package/dist/ssri.d.ts +95 -0
- package/dist/ssri.js +73 -0
- package/dist/ssri.js.map +7 -0
- package/dist/stdio/clear.d.ts +40 -0
- package/dist/stdio/clear.js +84 -0
- package/dist/stdio/clear.js.map +7 -0
- package/dist/stdio/divider.d.ts +48 -0
- package/dist/stdio/divider.js +81 -0
- package/dist/stdio/divider.js.map +7 -0
- package/dist/stdio/footer.d.ts +25 -0
- package/dist/stdio/footer.js +96 -0
- package/dist/stdio/footer.js.map +7 -0
- package/dist/stdio/header.d.ts +25 -0
- package/dist/stdio/header.js +102 -0
- package/dist/stdio/header.js.map +7 -0
- package/dist/stdio/mask.d.ts +72 -0
- package/dist/stdio/mask.js +187 -0
- package/dist/stdio/mask.js.map +7 -0
- package/dist/stdio/progress.d.ts +51 -0
- package/dist/stdio/progress.js +171 -0
- package/dist/stdio/progress.js.map +7 -0
- package/dist/stdio/prompts.d.ts +46 -0
- package/dist/stdio/prompts.js +90 -0
- package/dist/stdio/prompts.js.map +7 -0
- package/dist/stdio/stderr.d.ts +48 -0
- package/dist/stdio/stderr.js +91 -0
- package/dist/stdio/stderr.js.map +7 -0
- package/dist/stdio/stdout.d.ts +48 -0
- package/dist/stdio/stdout.js +105 -0
- package/dist/stdio/stdout.js.map +7 -0
- package/dist/streams.d.ts +20 -0
- package/dist/streams.js +80 -0
- package/dist/streams.js.map +7 -0
- package/dist/strings.d.ts +139 -0
- package/dist/strings.js +253 -0
- package/dist/strings.js.map +7 -0
- package/dist/suppress-warnings.d.ts +66 -0
- package/dist/suppress-warnings.js +100 -0
- package/dist/suppress-warnings.js.map +7 -0
- package/dist/tables.d.ts +69 -0
- package/dist/tables.js +130 -0
- package/dist/tables.js.map +7 -0
- package/dist/temporary-executor.d.ts +9 -0
- package/dist/temporary-executor.js +54 -0
- package/dist/temporary-executor.js.map +7 -0
- package/dist/types.d.ts +65 -0
- package/dist/types.js +74 -0
- package/dist/types.js.map +7 -0
- package/dist/url.d.ts +60 -0
- package/dist/url.js +144 -0
- package/dist/url.js.map +7 -0
- package/dist/utils/get-ipc.d.ts +16 -0
- package/dist/utils/get-ipc.js +60 -0
- package/dist/utils/get-ipc.js.map +7 -0
- package/dist/validation/json-parser.d.ts +10 -0
- package/dist/validation/json-parser.js +129 -0
- package/dist/validation/json-parser.js.map +7 -0
- package/dist/validation/types.d.ts +40 -0
- package/dist/validation/types.js +17 -0
- package/dist/validation/types.js.map +7 -0
- package/dist/versions.d.ts +87 -0
- package/dist/versions.js +155 -0
- package/dist/versions.js.map +7 -0
- package/dist/words.d.ts +22 -0
- package/dist/words.js +52 -0
- package/dist/words.js.map +7 -0
- package/dist/zod.d.ts +5 -0
- package/dist/zod.js +29 -0
- package/dist/zod.js.map +7 -0
- package/package.json +856 -7
package/dist/sea.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* Socket Lib - Built with esbuild */
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var sea_exports = {};
|
|
20
|
+
__export(sea_exports, {
|
|
21
|
+
getSeaBinaryPath: () => getSeaBinaryPath,
|
|
22
|
+
isSeaBinary: () => isSeaBinary
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(sea_exports);
|
|
25
|
+
var import_path = require("./path");
|
|
26
|
+
let _isSea;
|
|
27
|
+
function getSeaBinaryPath() {
|
|
28
|
+
return isSeaBinary() && process.argv[0] ? (0, import_path.normalizePath)(process.argv[0]) : void 0;
|
|
29
|
+
}
|
|
30
|
+
function isSeaBinary() {
|
|
31
|
+
if (_isSea === void 0) {
|
|
32
|
+
try {
|
|
33
|
+
const seaModule = require("node:sea");
|
|
34
|
+
_isSea = seaModule.isSea();
|
|
35
|
+
} catch {
|
|
36
|
+
_isSea = false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return _isSea ?? false;
|
|
40
|
+
}
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
getSeaBinaryPath,
|
|
44
|
+
isSeaBinary
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=sea.js.map
|
package/dist/sea.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/sea.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @fileoverview SEA (Single Executable Application) detection utilities for Socket ecosystem.\n * Provides reliable detection of whether the current process is running\n * as a Node.js Single Executable Application.\n */\n\nimport { normalizePath } from './path'\n\n/**\n * Cached SEA detection result.\n */\nlet _isSea: boolean | undefined\n\n/**\n * Get the current SEA binary path.\n * Only valid when running as a SEA binary.\n */\nexport function getSeaBinaryPath(): string | undefined {\n return isSeaBinary() && process.argv[0]\n ? normalizePath(process.argv[0])\n : undefined\n}\n\n/**\n * Detect if the current process is running as a SEA binary.\n * Uses Node.js 24+ native API with caching for performance.\n */\nexport function isSeaBinary(): boolean {\n if (_isSea === undefined) {\n try {\n // Use Node.js 24+ native SEA detection API.\n // eslint-disable-next-line n/no-unsupported-features/node-builtins\n const seaModule = require('node:sea')\n _isSea = seaModule.isSea()\n } catch {\n // Node.js < 24 or SEA module not available.\n _isSea = false\n }\n }\n return _isSea ?? false\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAA8B;AAK9B,IAAI;AAMG,SAAS,mBAAuC;AACrD,SAAO,YAAY,KAAK,QAAQ,KAAK,CAAC,QAClC,2BAAc,QAAQ,KAAK,CAAC,CAAC,IAC7B;AACN;AAMO,SAAS,cAAuB;AACrC,MAAI,WAAW,QAAW;AACxB,QAAI;AAGF,YAAM,YAAY,QAAQ,UAAU;AACpC,eAAS,UAAU,MAAM;AAAA,IAC3B,QAAQ;AAEN,eAAS;AAAA,IACX;AAAA,EACF;AACA,SAAO,UAAU;AACnB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/shadow.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ShadowInstallationOptions {
|
|
2
|
+
cwd?: string | undefined;
|
|
3
|
+
win32?: boolean | undefined;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Determines if shadow binaries should be installed.
|
|
7
|
+
* Shadows should NOT be installed when:
|
|
8
|
+
* - Running in a temporary execution context (exec/npx/dlx)
|
|
9
|
+
* - On Windows with an existing binary path (required for Windows to function)
|
|
10
|
+
*
|
|
11
|
+
* @param binPath - Path to the binary being shadowed
|
|
12
|
+
* @param options - Configuration options
|
|
13
|
+
* @param options.cwd - Current working directory path to check
|
|
14
|
+
* @param options.win32 - Whether running on Windows
|
|
15
|
+
* @returns true if shadow installation should be skipped
|
|
16
|
+
*/
|
|
17
|
+
export declare function shouldSkipShadow(binPath: string, options?: ShadowInstallationOptions | undefined): boolean;
|
package/dist/shadow.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* Socket Lib - Built with esbuild */
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var shadow_exports = {};
|
|
20
|
+
__export(shadow_exports, {
|
|
21
|
+
shouldSkipShadow: () => shouldSkipShadow
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(shadow_exports);
|
|
24
|
+
var import_path = require("./path");
|
|
25
|
+
function shouldSkipShadow(binPath, options) {
|
|
26
|
+
const { cwd = process.cwd(), win32 = false } = {
|
|
27
|
+
__proto__: null,
|
|
28
|
+
...options
|
|
29
|
+
};
|
|
30
|
+
if (win32 && binPath) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
const userAgent = process.env["npm_config_user_agent"];
|
|
34
|
+
if (userAgent?.includes("exec") || userAgent?.includes("npx") || userAgent?.includes("dlx")) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
const normalizedCwd = (0, import_path.normalizePath)(cwd);
|
|
38
|
+
const npmCache = process.env["npm_config_cache"];
|
|
39
|
+
if (npmCache && normalizedCwd.includes((0, import_path.normalizePath)(npmCache))) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
const tempPatterns = [
|
|
43
|
+
// npm's npx cache directory
|
|
44
|
+
"_npx",
|
|
45
|
+
// pnpm dlx temporary store
|
|
46
|
+
".pnpm-store",
|
|
47
|
+
// Common dlx directory prefix
|
|
48
|
+
"dlx-",
|
|
49
|
+
// Yarn Berry PnP virtual packages.
|
|
50
|
+
".yarn/$$",
|
|
51
|
+
// Yarn on Windows uses normalized forward slash paths.
|
|
52
|
+
"AppData/Local/Temp/xfs-"
|
|
53
|
+
];
|
|
54
|
+
return tempPatterns.some((pattern) => normalizedCwd.includes(pattern));
|
|
55
|
+
}
|
|
56
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
57
|
+
0 && (module.exports = {
|
|
58
|
+
shouldSkipShadow
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=shadow.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/shadow.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @fileoverview Shadow binary installation utilities for Socket ecosystem.\n * Provides logic to determine when shadow binary installation should be skipped.\n */\n\nimport { normalizePath } from './path'\n\nexport interface ShadowInstallationOptions {\n cwd?: string | undefined\n win32?: boolean | undefined\n}\n\n/**\n * Determines if shadow binaries should be installed.\n * Shadows should NOT be installed when:\n * - Running in a temporary execution context (exec/npx/dlx)\n * - On Windows with an existing binary path (required for Windows to function)\n *\n * @param binPath - Path to the binary being shadowed\n * @param options - Configuration options\n * @param options.cwd - Current working directory path to check\n * @param options.win32 - Whether running on Windows\n * @returns true if shadow installation should be skipped\n */\nexport function shouldSkipShadow(\n binPath: string,\n options?: ShadowInstallationOptions | undefined,\n): boolean {\n const { cwd = process.cwd(), win32 = false } = {\n __proto__: null,\n ...options,\n } as ShadowInstallationOptions\n\n // Windows compatibility: Skip shadow installation if binary is already found.\n //\n // This check is required because Windows handles executables differently than Unix:\n // 1. File locking - Windows locks running executables, so cmd-shim creation would\n // fail with EBUSY/EACCES errors when trying to create wrapper files.\n // 2. PATH conflicts - Attempting to shadow an already-resolved binary can create\n // circular references or ambiguous command resolution.\n // 3. Registry integration - Windows package managers often use system-level\n // integrations beyond just PATH that our shadowing would interfere with.\n //\n // Without this check, users would see \"Access Denied\" or file locking errors\n // that are difficult to debug. This is not a performance optimization - the\n // shadow installation will fail without it.\n if (win32 && binPath) {\n return true\n }\n\n // Check environment variable for exec/npx/dlx indicators.\n const userAgent = process.env['npm_config_user_agent']\n if (\n userAgent?.includes('exec') ||\n userAgent?.includes('npx') ||\n userAgent?.includes('dlx')\n ) {\n return true\n }\n\n // Normalize the cwd path for consistent checking across platforms.\n const normalizedCwd = normalizePath(cwd)\n\n // Check if running from npm's npx cache.\n const npmCache = process.env['npm_config_cache']\n if (npmCache && normalizedCwd.includes(normalizePath(npmCache))) {\n return true\n }\n\n // Check common temporary execution path patterns.\n const tempPatterns = [\n // npm's npx cache directory\n '_npx',\n // pnpm dlx temporary store\n '.pnpm-store',\n // Common dlx directory prefix\n 'dlx-',\n // Yarn Berry PnP virtual packages.\n '.yarn/$$',\n // Yarn on Windows uses normalized forward slash paths.\n 'AppData/Local/Temp/xfs-',\n ]\n\n return tempPatterns.some(pattern => normalizedCwd.includes(pattern))\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,kBAA8B;AAmBvB,SAAS,iBACd,SACA,SACS;AACT,QAAM,EAAE,MAAM,QAAQ,IAAI,GAAG,QAAQ,MAAM,IAAI;AAAA,IAC7C,WAAW;AAAA,IACX,GAAG;AAAA,EACL;AAeA,MAAI,SAAS,SAAS;AACpB,WAAO;AAAA,EACT;AAGA,QAAM,YAAY,QAAQ,IAAI,uBAAuB;AACrD,MACE,WAAW,SAAS,MAAM,KAC1B,WAAW,SAAS,KAAK,KACzB,WAAW,SAAS,KAAK,GACzB;AACA,WAAO;AAAA,EACT;AAGA,QAAM,oBAAgB,2BAAc,GAAG;AAGvC,QAAM,WAAW,QAAQ,IAAI,kBAAkB;AAC/C,MAAI,YAAY,cAAc,aAAS,2BAAc,QAAQ,CAAC,GAAG;AAC/D,WAAO;AAAA,EACT;AAGA,QAAM,eAAe;AAAA;AAAA,IAEnB;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA,EACF;AAEA,SAAO,aAAa,KAAK,aAAW,cAAc,SAAS,OAAO,CAAC;AACrE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load signal handlers and hook into process exit events.
|
|
3
|
+
*/
|
|
4
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
5
|
+
export declare function load(): void;
|
|
6
|
+
export interface OnExitOptions {
|
|
7
|
+
alwaysLast?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Register a callback to run on process exit or signal.
|
|
11
|
+
*/
|
|
12
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
13
|
+
export declare function onExit(cb: (code: number | null, signal: string | null) => void, options?: OnExitOptions | undefined): () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Get the list of signals that are currently being monitored.
|
|
16
|
+
*/
|
|
17
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
18
|
+
export declare function signals(): string[] | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Unload signal handlers and restore original process behavior.
|
|
21
|
+
*/
|
|
22
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
23
|
+
export declare function unload(): void;
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/* Socket Lib - Built with esbuild */
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var signal_exit_exports = {};
|
|
20
|
+
__export(signal_exit_exports, {
|
|
21
|
+
load: () => load,
|
|
22
|
+
onExit: () => onExit,
|
|
23
|
+
signals: () => signals,
|
|
24
|
+
unload: () => unload
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(signal_exit_exports);
|
|
27
|
+
const ReflectApply = Reflect.apply;
|
|
28
|
+
const globalProcess = globalThis.process;
|
|
29
|
+
const originalProcessEmit = globalProcess?.emit;
|
|
30
|
+
const platform = globalProcess?.platform ?? "";
|
|
31
|
+
const originalProcessReallyExit = globalProcess?.reallyExit;
|
|
32
|
+
const WIN32 = platform === "win32";
|
|
33
|
+
let _events;
|
|
34
|
+
// @__NO_SIDE_EFFECTS__
|
|
35
|
+
function getEvents() {
|
|
36
|
+
if (_events === void 0) {
|
|
37
|
+
_events = require("node:events");
|
|
38
|
+
}
|
|
39
|
+
return _events;
|
|
40
|
+
}
|
|
41
|
+
let _emitter;
|
|
42
|
+
// @__NO_SIDE_EFFECTS__
|
|
43
|
+
function getEmitter() {
|
|
44
|
+
if (_emitter === void 0) {
|
|
45
|
+
if (globalProcess?.__signal_exit_emitter__) {
|
|
46
|
+
_emitter = globalProcess.__signal_exit_emitter__;
|
|
47
|
+
} else if (globalProcess) {
|
|
48
|
+
const EventEmitter = (/* @__PURE__ */ getEvents()).EventEmitter;
|
|
49
|
+
_emitter = globalProcess.__signal_exit_emitter__ = new EventEmitter();
|
|
50
|
+
_emitter.count = 0;
|
|
51
|
+
_emitter.emitted = { __proto__: null };
|
|
52
|
+
}
|
|
53
|
+
if (_emitter && !_emitter.infinite) {
|
|
54
|
+
_emitter.setMaxListeners(Number.POSITIVE_INFINITY);
|
|
55
|
+
_emitter.infinite = true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return _emitter;
|
|
59
|
+
}
|
|
60
|
+
let _sigListeners;
|
|
61
|
+
// @__NO_SIDE_EFFECTS__
|
|
62
|
+
function getSignalListeners() {
|
|
63
|
+
if (_sigListeners === void 0) {
|
|
64
|
+
_sigListeners = { __proto__: null };
|
|
65
|
+
const emitter = /* @__PURE__ */ getEmitter();
|
|
66
|
+
const sigs = /* @__PURE__ */ getSignals();
|
|
67
|
+
for (const sig of sigs) {
|
|
68
|
+
_sigListeners[sig] = function listener() {
|
|
69
|
+
const listeners = globalProcess?.listeners(sig) || [];
|
|
70
|
+
if (listeners.length === emitter.count) {
|
|
71
|
+
/* @__PURE__ */ unload();
|
|
72
|
+
/* @__PURE__ */ emit("exit", null, sig);
|
|
73
|
+
/* @__PURE__ */ emit("afterexit", null, sig);
|
|
74
|
+
const killSig = WIN32 && sig === "SIGHUP" ? "SIGINT" : sig;
|
|
75
|
+
globalProcess?.kill(globalProcess?.pid, killSig);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return _sigListeners;
|
|
81
|
+
}
|
|
82
|
+
let _signals;
|
|
83
|
+
// @__NO_SIDE_EFFECTS__
|
|
84
|
+
function getSignals() {
|
|
85
|
+
if (_signals === void 0) {
|
|
86
|
+
_signals = ["SIGABRT", "SIGALRM", "SIGHUP", "SIGINT", "SIGTERM"];
|
|
87
|
+
if (!WIN32) {
|
|
88
|
+
_signals.push(
|
|
89
|
+
"SIGVTALRM",
|
|
90
|
+
"SIGXCPU",
|
|
91
|
+
"SIGXFSZ",
|
|
92
|
+
"SIGUSR2",
|
|
93
|
+
"SIGTRAP",
|
|
94
|
+
"SIGSYS",
|
|
95
|
+
"SIGQUIT",
|
|
96
|
+
"SIGIOT"
|
|
97
|
+
// should detect profiler and enable/disable accordingly.
|
|
98
|
+
// see #21
|
|
99
|
+
// 'SIGPROF'
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
if (platform === "linux") {
|
|
103
|
+
_signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT", "SIGUNUSED");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return _signals;
|
|
107
|
+
}
|
|
108
|
+
// @__NO_SIDE_EFFECTS__
|
|
109
|
+
function emit(event, code, signal) {
|
|
110
|
+
const emitter = /* @__PURE__ */ getEmitter();
|
|
111
|
+
if (emitter.emitted?.[event]) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (emitter.emitted) {
|
|
115
|
+
emitter.emitted[event] = true;
|
|
116
|
+
}
|
|
117
|
+
emitter.emit(event, code, signal);
|
|
118
|
+
}
|
|
119
|
+
let loaded = false;
|
|
120
|
+
// @__NO_SIDE_EFFECTS__
|
|
121
|
+
function load() {
|
|
122
|
+
if (loaded || !globalProcess) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
loaded = true;
|
|
126
|
+
const emitter = /* @__PURE__ */ getEmitter();
|
|
127
|
+
if (emitter.count !== void 0) {
|
|
128
|
+
emitter.count += 1;
|
|
129
|
+
}
|
|
130
|
+
const sigs = /* @__PURE__ */ getSignals();
|
|
131
|
+
const sigListeners = /* @__PURE__ */ getSignalListeners();
|
|
132
|
+
_signals = sigs.filter((sig) => {
|
|
133
|
+
try {
|
|
134
|
+
globalProcess.on(
|
|
135
|
+
sig,
|
|
136
|
+
sigListeners[sig]
|
|
137
|
+
);
|
|
138
|
+
return true;
|
|
139
|
+
} catch {
|
|
140
|
+
}
|
|
141
|
+
return false;
|
|
142
|
+
});
|
|
143
|
+
globalProcess.emit = processEmit;
|
|
144
|
+
globalProcess.reallyExit = processReallyExit;
|
|
145
|
+
}
|
|
146
|
+
// @__NO_SIDE_EFFECTS__
|
|
147
|
+
function processEmit(eventName, exitCode, ...args) {
|
|
148
|
+
if (eventName === "exit") {
|
|
149
|
+
let actualExitCode = exitCode;
|
|
150
|
+
if (actualExitCode === void 0) {
|
|
151
|
+
const processExitCode = globalProcess?.exitCode;
|
|
152
|
+
actualExitCode = typeof processExitCode === "number" ? processExitCode : void 0;
|
|
153
|
+
} else if (globalProcess) {
|
|
154
|
+
globalProcess.exitCode = actualExitCode;
|
|
155
|
+
}
|
|
156
|
+
const result = ReflectApply(
|
|
157
|
+
originalProcessEmit,
|
|
158
|
+
this,
|
|
159
|
+
[eventName, actualExitCode, ...args]
|
|
160
|
+
);
|
|
161
|
+
const numExitCode = typeof actualExitCode === "number" ? actualExitCode : null;
|
|
162
|
+
/* @__PURE__ */ emit("exit", numExitCode, null);
|
|
163
|
+
/* @__PURE__ */ emit("afterexit", numExitCode, null);
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
return ReflectApply(
|
|
167
|
+
originalProcessEmit,
|
|
168
|
+
this,
|
|
169
|
+
[eventName, exitCode, ...args]
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
// @__NO_SIDE_EFFECTS__
|
|
173
|
+
function processReallyExit(code) {
|
|
174
|
+
const exitCode = code || 0;
|
|
175
|
+
if (globalProcess) {
|
|
176
|
+
globalProcess.exitCode = exitCode;
|
|
177
|
+
}
|
|
178
|
+
/* @__PURE__ */ emit("exit", exitCode, null);
|
|
179
|
+
/* @__PURE__ */ emit("afterexit", exitCode, null);
|
|
180
|
+
ReflectApply(
|
|
181
|
+
originalProcessReallyExit,
|
|
182
|
+
globalProcess,
|
|
183
|
+
[exitCode]
|
|
184
|
+
);
|
|
185
|
+
throw new Error("processReallyExit should never return");
|
|
186
|
+
}
|
|
187
|
+
// @__NO_SIDE_EFFECTS__
|
|
188
|
+
function onExit(cb, options) {
|
|
189
|
+
if (!globalProcess) {
|
|
190
|
+
return function remove() {
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
if (typeof cb !== "function") {
|
|
194
|
+
throw new TypeError("a callback must be provided for exit handler");
|
|
195
|
+
}
|
|
196
|
+
if (loaded === false) {
|
|
197
|
+
/* @__PURE__ */ load();
|
|
198
|
+
}
|
|
199
|
+
const { alwaysLast } = { __proto__: null, ...options };
|
|
200
|
+
let eventName = "exit";
|
|
201
|
+
if (alwaysLast) {
|
|
202
|
+
eventName = "afterexit";
|
|
203
|
+
}
|
|
204
|
+
const emitter = /* @__PURE__ */ getEmitter();
|
|
205
|
+
emitter.on(eventName, cb);
|
|
206
|
+
return function remove() {
|
|
207
|
+
emitter.removeListener(eventName, cb);
|
|
208
|
+
if (!emitter.listeners("exit").length && !emitter.listeners("afterexit").length) {
|
|
209
|
+
/* @__PURE__ */ unload();
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
// @__NO_SIDE_EFFECTS__
|
|
214
|
+
function signals() {
|
|
215
|
+
return _signals;
|
|
216
|
+
}
|
|
217
|
+
// @__NO_SIDE_EFFECTS__
|
|
218
|
+
function unload() {
|
|
219
|
+
if (!loaded || !globalProcess) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
loaded = false;
|
|
223
|
+
const sigs = /* @__PURE__ */ getSignals();
|
|
224
|
+
const sigListeners = /* @__PURE__ */ getSignalListeners();
|
|
225
|
+
for (const sig of sigs) {
|
|
226
|
+
try {
|
|
227
|
+
globalProcess.removeListener(
|
|
228
|
+
sig,
|
|
229
|
+
sigListeners[sig]
|
|
230
|
+
);
|
|
231
|
+
} catch {
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
globalProcess.emit = originalProcessEmit;
|
|
235
|
+
if (originalProcessReallyExit !== void 0) {
|
|
236
|
+
globalProcess.reallyExit = originalProcessReallyExit;
|
|
237
|
+
}
|
|
238
|
+
const emitter = /* @__PURE__ */ getEmitter();
|
|
239
|
+
if (emitter.count !== void 0) {
|
|
240
|
+
emitter.count -= 1;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
244
|
+
0 && (module.exports = {
|
|
245
|
+
load,
|
|
246
|
+
onExit,
|
|
247
|
+
signals,
|
|
248
|
+
unload
|
|
249
|
+
});
|
|
250
|
+
//# sourceMappingURL=signal-exit.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/signal-exit.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @fileoverview Process signal handling utilities.\n * Provides cross-platform signal exit detection and cleanup handlers.\n */\n\n// Inlined signal-exit:\n// https://socket.dev/npm/package/signal-exit/overview/4.1.0\n// ISC License\n// Copyright (c) 2015-2023 Benjamin Coe, Isaac Z. Schlueter, and Contributors\n\n// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems. Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL. It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\n\n// IMPORTANT: Do not use destructuring here - use direct assignment instead.\n// tsgo has a bug that incorrectly transpiles destructured exports, resulting in\n// `exports.SomeName = void 0;` which causes runtime errors.\n// See: https://github.com/SocketDev/socket-packageurl-js/issues/3\nconst ReflectApply = Reflect.apply\nconst globalProcess = globalThis.process as\n | (NodeJS.Process & {\n // biome-ignore lint/suspicious/noExplicitAny: Signal exit emitter can be any event emitter.\n __signal_exit_emitter__?: any\n reallyExit?: (code?: number | undefined) => never\n })\n | undefined\nconst originalProcessEmit = globalProcess?.emit\nconst platform = globalProcess?.platform ?? ''\nconst originalProcessReallyExit = globalProcess?.reallyExit as\n | ((code?: number | undefined) => never)\n | undefined\nconst WIN32 = platform === 'win32'\n\nlet _events: typeof import('node:events') | undefined\n/*@__NO_SIDE_EFFECTS__*/\nfunction getEvents() {\n if (_events === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _events = /*@__PURE__*/ require('node:events')\n }\n return _events as typeof import('node:events')\n}\n\n// Type for tracking emitted signals.\ntype EmittedSignals = {\n // Using string as signals can include custom events like 'exit' and 'afterexit'.\n [signal: string]: boolean\n}\n\ntype SignalExitEmitter = import('node:events').EventEmitter & {\n count?: number\n emitted?: EmittedSignals\n infinite?: boolean\n}\nlet _emitter: SignalExitEmitter | undefined\n/*@__NO_SIDE_EFFECTS__*/\nfunction getEmitter() {\n if (_emitter === undefined) {\n if (globalProcess?.__signal_exit_emitter__) {\n _emitter = globalProcess.__signal_exit_emitter__\n } else if (globalProcess) {\n const EventEmitter = getEvents().EventEmitter\n _emitter = globalProcess.__signal_exit_emitter__ =\n new EventEmitter() as SignalExitEmitter\n _emitter.count = 0\n _emitter.emitted = { __proto__: null } as unknown as EmittedSignals\n }\n // Because this emitter is a global, we have to check to see if a\n // previous version of this library failed to enable infinite listeners.\n // I know what you're about to say. But literally everything about\n // signal-exit is a compromise with evil. Get used to it.\n if (_emitter && !_emitter.infinite) {\n _emitter.setMaxListeners(Number.POSITIVE_INFINITY)\n _emitter.infinite = true\n }\n }\n return _emitter as SignalExitEmitter\n}\n\ntype SignalListener = () => void\n// Type for signal listeners indexed by signal name.\ntype SignalListenerMap = {\n [signal: string]: SignalListener\n}\nlet _sigListeners: SignalListenerMap | undefined\n/*@__NO_SIDE_EFFECTS__*/\nfunction getSignalListeners() {\n if (_sigListeners === undefined) {\n _sigListeners = { __proto__: null } as unknown as SignalListenerMap\n const emitter = getEmitter()\n const sigs = getSignals()\n for (const sig of sigs) {\n _sigListeners[sig] = function listener() {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = globalProcess?.listeners(sig as NodeJS.Signals) || []\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n emit('afterexit', null, sig)\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead.\n const killSig = WIN32 && sig === 'SIGHUP' ? 'SIGINT' : sig\n globalProcess?.kill(globalProcess?.pid, killSig)\n }\n }\n }\n }\n return _sigListeners as SignalListenerMap\n}\n\nlet _signals: string[] | undefined\n/*@__NO_SIDE_EFFECTS__*/\nfunction getSignals() {\n if (_signals === undefined) {\n _signals = ['SIGABRT', 'SIGALRM', 'SIGHUP', 'SIGINT', 'SIGTERM']\n if (!WIN32) {\n _signals.push(\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT',\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n }\n if (platform === 'linux') {\n _signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT', 'SIGUNUSED')\n }\n }\n return _signals as string[]\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nfunction emit(event: string, code: number | null, signal: string | null): void {\n const emitter = getEmitter()\n if (emitter.emitted?.[event]) {\n return\n }\n if (emitter.emitted) {\n emitter.emitted[event] = true\n }\n emitter.emit(event, code, signal)\n}\n\nlet loaded = false\n\n/**\n * Load signal handlers and hook into process exit events.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function load(): void {\n if (loaded || !globalProcess) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n const emitter = getEmitter()\n if (emitter.count !== undefined) {\n emitter.count += 1\n }\n\n const sigs = getSignals()\n const sigListeners = getSignalListeners()\n _signals = sigs.filter(sig => {\n try {\n globalProcess.on(\n sig as NodeJS.Signals,\n sigListeners[sig] as SignalListener,\n )\n return true\n } catch {}\n return false\n })\n\n globalProcess.emit = processEmit as typeof globalProcess.emit\n globalProcess.reallyExit = processReallyExit\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nfunction processEmit(\n this: NodeJS.Process,\n eventName: string,\n exitCode?: number | undefined,\n // biome-ignore lint/suspicious/noExplicitAny: Process emit args can be any type.\n ...args: any[]\n): boolean {\n if (eventName === 'exit') {\n let actualExitCode = exitCode\n if (actualExitCode === undefined) {\n const processExitCode = globalProcess?.exitCode\n actualExitCode =\n typeof processExitCode === 'number' ? processExitCode : undefined\n } else if (globalProcess) {\n globalProcess.exitCode = actualExitCode\n }\n const result = ReflectApply(\n originalProcessEmit as (...args: unknown[]) => boolean,\n this,\n [eventName, actualExitCode, ...args],\n ) as boolean\n const numExitCode =\n typeof actualExitCode === 'number' ? actualExitCode : null\n emit('exit', numExitCode, null)\n emit('afterexit', numExitCode, null)\n return result\n }\n return ReflectApply(\n originalProcessEmit as (...args: unknown[]) => boolean,\n this,\n [eventName, exitCode, ...args],\n ) as boolean\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nfunction processReallyExit(code?: number | undefined): never {\n const exitCode = code || 0\n if (globalProcess) {\n globalProcess.exitCode = exitCode\n }\n emit('exit', exitCode, null)\n emit('afterexit', exitCode, null)\n ReflectApply(\n originalProcessReallyExit as (code?: number) => never,\n globalProcess,\n [exitCode],\n )\n throw new Error('processReallyExit should never return')\n}\n\nexport interface OnExitOptions {\n alwaysLast?: boolean\n}\n\n/**\n * Register a callback to run on process exit or signal.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function onExit(\n cb: (code: number | null, signal: string | null) => void,\n options?: OnExitOptions | undefined,\n): () => void {\n if (!globalProcess) {\n return function remove() {}\n }\n if (typeof cb !== 'function') {\n throw new TypeError('a callback must be provided for exit handler')\n }\n if (loaded === false) {\n load()\n }\n const { alwaysLast } = { __proto__: null, ...options } as OnExitOptions\n\n let eventName = 'exit'\n if (alwaysLast) {\n eventName = 'afterexit'\n }\n\n const emitter = getEmitter()\n emitter.on(eventName, cb)\n\n return function remove() {\n emitter.removeListener(eventName, cb)\n if (\n !emitter.listeners('exit').length &&\n !emitter.listeners('afterexit').length\n ) {\n unload()\n }\n }\n}\n\n/**\n * Get the list of signals that are currently being monitored.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function signals(): string[] | undefined {\n return _signals\n}\n\n/**\n * Unload signal handlers and restore original process behavior.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function unload(): void {\n if (!loaded || !globalProcess) {\n return\n }\n loaded = false\n\n const sigs = getSignals()\n const sigListeners = getSignalListeners()\n for (const sig of sigs) {\n try {\n globalProcess.removeListener(\n sig as NodeJS.Signals,\n sigListeners[sig] as SignalListener,\n )\n } catch {}\n }\n globalProcess.emit = originalProcessEmit as typeof globalProcess.emit\n if (originalProcessReallyExit !== undefined) {\n globalProcess.reallyExit = originalProcessReallyExit\n }\n const emitter = getEmitter()\n if (emitter.count !== undefined) {\n emitter.count -= 1\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/sorts.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compare two strings using locale-aware comparison.
|
|
3
|
+
*/
|
|
4
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
5
|
+
export declare function localeCompare(x: string, y: string): number;
|
|
6
|
+
/**
|
|
7
|
+
* Compare two strings using natural sorting (numeric-aware, case-insensitive).
|
|
8
|
+
*/
|
|
9
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
10
|
+
export declare function naturalCompare(x: string, y: string): number;
|
|
11
|
+
// Type for fast-sort sorter function.
|
|
12
|
+
type FastSortFunction = ReturnType<typeof import('fast-sort').createNewSortInstance>;
|
|
13
|
+
/**
|
|
14
|
+
* Sort an array using natural comparison.
|
|
15
|
+
*/
|
|
16
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
17
|
+
export declare function naturalSorter<T>(arrayToSort: T[]): ReturnType<FastSortFunction>;
|
|
18
|
+
/**
|
|
19
|
+
* Simple string comparison.
|
|
20
|
+
*/
|
|
21
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
22
|
+
export declare function compareStr(a: string, b: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* Compare semantic versions.
|
|
25
|
+
*/
|
|
26
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
27
|
+
export declare function compareSemver(a: string, b: string): number;
|
|
28
|
+
export {};
|
package/dist/sorts.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/* Socket Lib - Built with esbuild */
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var sorts_exports = {};
|
|
20
|
+
__export(sorts_exports, {
|
|
21
|
+
compareSemver: () => compareSemver,
|
|
22
|
+
compareStr: () => compareStr,
|
|
23
|
+
localeCompare: () => localeCompare,
|
|
24
|
+
naturalCompare: () => naturalCompare,
|
|
25
|
+
naturalSorter: () => naturalSorter
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(sorts_exports);
|
|
28
|
+
let _localeCompare;
|
|
29
|
+
// @__NO_SIDE_EFFECTS__
|
|
30
|
+
function localeCompare(x, y) {
|
|
31
|
+
if (_localeCompare === void 0) {
|
|
32
|
+
_localeCompare = new Intl.Collator().compare;
|
|
33
|
+
}
|
|
34
|
+
return _localeCompare(x, y);
|
|
35
|
+
}
|
|
36
|
+
let _naturalCompare;
|
|
37
|
+
// @__NO_SIDE_EFFECTS__
|
|
38
|
+
function naturalCompare(x, y) {
|
|
39
|
+
if (_naturalCompare === void 0) {
|
|
40
|
+
_naturalCompare = new Intl.Collator(
|
|
41
|
+
// The `undefined` locale means it uses the default locale of the user's
|
|
42
|
+
// environment.
|
|
43
|
+
void 0,
|
|
44
|
+
{
|
|
45
|
+
// Enables numeric sorting: numbers in strings are compared by value,
|
|
46
|
+
// e.g. 'file2' comes before 'file10' as numbers and not 'file10' before
|
|
47
|
+
// 'file2' as plain text.
|
|
48
|
+
numeric: true,
|
|
49
|
+
// Makes the comparison case-insensitive and ignores diacritics, e.g.
|
|
50
|
+
// 'a', 'A', and 'á' are treated as equivalent.
|
|
51
|
+
sensitivity: "base"
|
|
52
|
+
}
|
|
53
|
+
).compare;
|
|
54
|
+
}
|
|
55
|
+
return _naturalCompare(x, y);
|
|
56
|
+
}
|
|
57
|
+
let _naturalSorter;
|
|
58
|
+
// @__NO_SIDE_EFFECTS__
|
|
59
|
+
function naturalSorter(arrayToSort) {
|
|
60
|
+
if (_naturalSorter === void 0) {
|
|
61
|
+
const fastSort = require("./external/fast-sort");
|
|
62
|
+
_naturalSorter = fastSort.createNewSortInstance({
|
|
63
|
+
comparer: naturalCompare
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return _naturalSorter?.(arrayToSort);
|
|
67
|
+
}
|
|
68
|
+
// @__NO_SIDE_EFFECTS__
|
|
69
|
+
function compareStr(a, b) {
|
|
70
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
71
|
+
}
|
|
72
|
+
// @__NO_SIDE_EFFECTS__
|
|
73
|
+
function compareSemver(a, b) {
|
|
74
|
+
const semver = require("./external/semver");
|
|
75
|
+
const validA = semver.valid(a);
|
|
76
|
+
const validB = semver.valid(b);
|
|
77
|
+
if (!validA && !validB) {
|
|
78
|
+
return 0;
|
|
79
|
+
}
|
|
80
|
+
if (!validA) {
|
|
81
|
+
return -1;
|
|
82
|
+
}
|
|
83
|
+
if (!validB) {
|
|
84
|
+
return 1;
|
|
85
|
+
}
|
|
86
|
+
return semver.compare(a, b);
|
|
87
|
+
}
|
|
88
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
+
0 && (module.exports = {
|
|
90
|
+
compareSemver,
|
|
91
|
+
compareStr,
|
|
92
|
+
localeCompare,
|
|
93
|
+
naturalCompare,
|
|
94
|
+
naturalSorter
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=sorts.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/sorts.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @fileoverview Sorting comparison functions including locale-aware and natural sorting.\n * Provides various comparison utilities for arrays and collections.\n */\n\nlet _localeCompare: ((x: string, y: string) => number) | undefined\n/**\n * Compare two strings using locale-aware comparison.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function localeCompare(x: string, y: string): number {\n if (_localeCompare === undefined) {\n // Lazily call new Intl.Collator() because in Node it can take 10-14ms.\n _localeCompare = new Intl.Collator().compare\n }\n return _localeCompare(x, y)\n}\n\nlet _naturalCompare: ((x: string, y: string) => number) | undefined\n/**\n * Compare two strings using natural sorting (numeric-aware, case-insensitive).\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function naturalCompare(x: string, y: string): number {\n if (_naturalCompare === undefined) {\n // Lazily call new Intl.Collator() because in Node it can take 10-14ms.\n _naturalCompare = new Intl.Collator(\n // The `undefined` locale means it uses the default locale of the user's\n // environment.\n undefined,\n {\n // Enables numeric sorting: numbers in strings are compared by value,\n // e.g. 'file2' comes before 'file10' as numbers and not 'file10' before\n // 'file2' as plain text.\n numeric: true,\n // Makes the comparison case-insensitive and ignores diacritics, e.g.\n // 'a', 'A', and '\u00E1' are treated as equivalent.\n sensitivity: 'base',\n },\n ).compare\n }\n return _naturalCompare(x, y)\n}\n\n// Type for fast-sort sorter function.\ntype FastSortFunction = ReturnType<\n typeof import('fast-sort').createNewSortInstance\n>\n\nlet _naturalSorter: FastSortFunction | undefined\n/**\n * Sort an array using natural comparison.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function naturalSorter<T>(\n arrayToSort: T[],\n): ReturnType<FastSortFunction> {\n if (_naturalSorter === undefined) {\n const fastSort = /*@__PURE__*/ require('./external/fast-sort')\n // biome-ignore lint/suspicious/noExplicitAny: Fast-sort API requires dynamic method access.\n _naturalSorter = (fastSort as any).createNewSortInstance({\n comparer: naturalCompare,\n })\n }\n return _naturalSorter?.(arrayToSort)\n}\n\n/**\n * Simple string comparison.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function compareStr(a: string, b: string): number {\n return a < b ? -1 : a > b ? 1 : 0\n}\n\n/**\n * Compare semantic versions.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function compareSemver(a: string, b: string): number {\n const semver = /*@__PURE__*/ require('./external/semver')\n const validA = semver.valid(a)\n const validB = semver.valid(b)\n\n if (!validA && !validB) {\n return 0\n }\n if (!validA) {\n return -1\n }\n if (!validB) {\n return 1\n }\n // biome-ignore lint/suspicious/noExplicitAny: Semver API requires dynamic method access.\n return (semver as any).compare(a, b)\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAI;AAAA;AAKG,SAAS,cAAc,GAAW,GAAmB;AAC1D,MAAI,mBAAmB,QAAW;AAEhC,qBAAiB,IAAI,KAAK,SAAS,EAAE;AAAA,EACvC;AACA,SAAO,eAAe,GAAG,CAAC;AAC5B;AAEA,IAAI;AAAA;AAKG,SAAS,eAAe,GAAW,GAAmB;AAC3D,MAAI,oBAAoB,QAAW;AAEjC,sBAAkB,IAAI,KAAK;AAAA;AAAA;AAAA,MAGzB;AAAA,MACA;AAAA;AAAA;AAAA;AAAA,QAIE,SAAS;AAAA;AAAA;AAAA,QAGT,aAAa;AAAA,MACf;AAAA,IACF,EAAE;AAAA,EACJ;AACA,SAAO,gBAAgB,GAAG,CAAC;AAC7B;AAOA,IAAI;AAAA;AAKG,SAAS,cACd,aAC8B;AAC9B,MAAI,mBAAmB,QAAW;AAChC,UAAM,WAAyB,QAAQ,sBAAsB;AAE7D,qBAAkB,SAAiB,sBAAsB;AAAA,MACvD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AACA,SAAO,iBAAiB,WAAW;AACrC;AAAA;AAMO,SAAS,WAAW,GAAW,GAAmB;AACvD,SAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;AAClC;AAAA;AAMO,SAAS,cAAc,GAAW,GAAmB;AAC1D,QAAM,SAAuB,QAAQ,mBAAmB;AACxD,QAAM,SAAS,OAAO,MAAM,CAAC;AAC7B,QAAM,SAAS,OAAO,MAAM,CAAC;AAE7B,MAAI,CAAC,UAAU,CAAC,QAAQ;AACtB,WAAO;AAAA,EACT;AACA,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,SAAQ,OAAe,QAAQ,GAAG,CAAC;AACrC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|