@socketsecurity/lib 6.0.3 → 6.0.4
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 +16 -0
- package/dist/_virtual/_rolldown/runtime.js +45 -0
- package/dist/abort/signal.js +53 -59
- package/dist/ai/discover.js +110 -110
- package/dist/ai/profiles.js +94 -65
- package/dist/ai/spawn.js +172 -194
- package/dist/ai/types.js +1 -17
- package/dist/ai/worktree.js +160 -183
- package/dist/ansi/constants.js +16 -38
- package/dist/ansi/strip.js +44 -41
- package/dist/archives/_internal.js +64 -73
- package/dist/archives/detect.js +30 -43
- package/dist/archives/extract.js +43 -50
- package/dist/archives/tar.js +197 -228
- package/dist/archives/types.js +1 -17
- package/dist/archives/zip.js +85 -121
- package/dist/argv/flag-predicates.js +203 -101
- package/dist/argv/flag-types.js +96 -113
- package/dist/argv/parse-args-string.d.ts +16 -14
- package/dist/argv/parse-args-string.js +42 -39
- package/dist/argv/parse.js +145 -163
- package/dist/arrays/_internal.js +65 -48
- package/dist/arrays/chunk.js +51 -40
- package/dist/arrays/join.js +87 -35
- package/dist/arrays/predicates.js +46 -28
- package/dist/arrays/unique.js +45 -31
- package/dist/bin/_internal.js +34 -42
- package/dist/bin/check-primordials.js +175 -233
- package/dist/bin/check.js +51 -72
- package/dist/bin/exec.js +70 -74
- package/dist/bin/find.js +151 -134
- package/dist/bin/resolve.js +180 -246
- package/dist/bin/shadow.js +24 -33
- package/dist/bin/socket-lib.js +51 -73
- package/dist/bin/types.js +1 -17
- package/dist/bin/which.js +211 -146
- package/dist/cacache/_internal.js +25 -40
- package/dist/cacache/clear.js +79 -72
- package/dist/cacache/read.js +48 -46
- package/dist/cacache/tmp.js +29 -36
- package/dist/cacache/types.js +1 -17
- package/dist/cacache/write.js +43 -48
- package/dist/cache/ttl/store.js +232 -288
- package/dist/cache/ttl/types.js +1 -17
- package/dist/checks/primordials-defaults.js +83 -89
- package/dist/checks/primordials.js +225 -277
- package/dist/colors/convert.js +45 -37
- package/dist/colors/palette.js +88 -45
- package/dist/colors/socket-palette.js +74 -84
- package/dist/colors/types.js +1 -17
- package/dist/compression/_internal.js +57 -72
- package/dist/compression/brotli.js +94 -127
- package/dist/compression/gzip.js +95 -121
- package/dist/compression/types.js +1 -17
- package/dist/constants/agents.js +61 -113
- package/dist/constants/encoding.js +19 -42
- package/dist/constants/github.js +12 -30
- package/dist/constants/licenses.js +48 -63
- package/dist/constants/lifecycle-script-names.js +31 -45
- package/dist/constants/maintained-node-versions.js +22 -37
- package/dist/constants/node.js +226 -167
- package/dist/constants/package-default-node-range.js +16 -41
- package/dist/constants/package-default-socket-categories.js +12 -30
- package/dist/constants/packages.js +77 -126
- package/dist/constants/platform.js +27 -49
- package/dist/constants/sentinels.js +23 -48
- package/dist/constants/socket.js +42 -87
- package/dist/constants/testing.js +15 -34
- package/dist/constants/time.js +16 -36
- package/dist/constants/typescript.js +32 -52
- package/dist/cover/code.js +111 -142
- package/dist/cover/formatters.js +118 -101
- package/dist/cover/type.js +50 -76
- package/dist/cover/types.js +1 -17
- package/dist/crypto/hash.js +54 -46
- package/dist/debug/_internal.js +62 -71
- package/dist/debug/caller-info.js +53 -64
- package/dist/debug/namespace.js +80 -90
- package/dist/debug/output.js +172 -188
- package/dist/debug/types.js +1 -17
- package/dist/dlx/_internal.js +24 -43
- package/dist/dlx/arborist.js +162 -160
- package/dist/dlx/binary-cache.js +228 -200
- package/dist/dlx/binary-download.js +172 -211
- package/dist/dlx/binary-resolution.js +165 -157
- package/dist/dlx/binary-types.js +1 -17
- package/dist/dlx/binary.js +149 -189
- package/dist/dlx/cache.js +45 -30
- package/dist/dlx/detect.js +245 -159
- package/dist/dlx/dir.js +67 -51
- package/dist/dlx/firewall.js +62 -100
- package/dist/dlx/lockfile.js +122 -127
- package/dist/dlx/manifest.js +264 -274
- package/dist/dlx/package.js +241 -244
- package/dist/dlx/packages.js +99 -96
- package/dist/dlx/paths.js +73 -59
- package/dist/dlx/spec.js +52 -60
- package/dist/dlx/types.js +1 -17
- package/dist/eco/cargo/lockfile-format.js +19 -36
- package/dist/eco/cargo/manifest-format.js +17 -35
- package/dist/eco/cargo/parse-lockfile.js +210 -237
- package/dist/eco/manifest/analyze-lockfile.js +46 -63
- package/dist/eco/manifest/detect-format.js +66 -90
- package/dist/eco/manifest/find-packages.js +39 -64
- package/dist/eco/manifest/get-package-versions.js +27 -48
- package/dist/eco/manifest/get-package.js +21 -40
- package/dist/eco/manifest/manifest-error.js +14 -35
- package/dist/eco/manifest/parse-lockfile.js +40 -86
- package/dist/eco/manifest/parse-manifest.js +26 -43
- package/dist/eco/manifest/parse.js +26 -47
- package/dist/eco/manifest/types.js +1 -17
- package/dist/eco/npm/bun/exec.js +23 -32
- package/dist/eco/npm/manifest-format.js +21 -35
- package/dist/eco/npm/npm/exec.js +51 -61
- package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
- package/dist/eco/npm/npm/flags.js +80 -52
- package/dist/eco/npm/npm/lockfile-format.js +21 -40
- package/dist/eco/npm/npm/parse-git-url.js +26 -40
- package/dist/eco/npm/npm/parse-lockfile.js +184 -210
- package/dist/eco/npm/parse-package-json.js +71 -102
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
- package/dist/eco/npm/pnpm/exec.js +51 -62
- package/dist/eco/npm/pnpm/flags.js +75 -68
- package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
- package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
- package/dist/eco/npm/script.js +82 -90
- package/dist/eco/npm/vlt/exec.js +24 -32
- package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
- package/dist/eco/purl.js +50 -60
- package/dist/eco/types.js +1 -17
- package/dist/effects/pulse-frames.js +64 -65
- package/dist/effects/shimmer-keyframes.js +71 -52
- package/dist/effects/shimmer-terminal.js +81 -50
- package/dist/effects/shimmer.js +290 -153
- package/dist/env/boolean.js +42 -43
- package/dist/env/case-insensitive.js +54 -39
- package/dist/env/ci.js +29 -31
- package/dist/env/debug.js +28 -31
- package/dist/env/github.js +144 -59
- package/dist/env/home.js +38 -31
- package/dist/env/locale.js +59 -39
- package/dist/env/node-auth-token.js +28 -31
- package/dist/env/node-env.js +28 -31
- package/dist/env/npm.js +94 -47
- package/dist/env/number.js +50 -51
- package/dist/env/package-manager.js +95 -83
- package/dist/env/path.js +28 -31
- package/dist/env/pre-commit.js +30 -32
- package/dist/env/proxy.js +121 -122
- package/dist/env/rewire.js +204 -96
- package/dist/env/shell.js +28 -31
- package/dist/env/socket-cli.js +233 -81
- package/dist/env/socket.js +521 -156
- package/dist/env/string.js +43 -44
- package/dist/env/temp-dir.js +59 -39
- package/dist/env/term.js +28 -31
- package/dist/env/test.js +65 -43
- package/dist/env/types.js +1 -17
- package/dist/env/windows.js +78 -43
- package/dist/env/xdg.js +62 -39
- package/dist/errors/message.js +40 -46
- package/dist/errors/predicates.js +61 -49
- package/dist/errors/stack.js +24 -36
- package/dist/events/exit/_internal.js +86 -103
- package/dist/events/exit/handler.js +48 -55
- package/dist/events/exit/intercept.js +49 -70
- package/dist/events/exit/lifecycle.js +92 -101
- package/dist/events/exit/signals.js +25 -31
- package/dist/events/exit/types.js +1 -17
- package/dist/events/warning/handler.js +43 -40
- package/dist/events/warning/suppress.js +111 -90
- package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
- package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
- package/dist/external/@npmcli/package-json.js +12705 -15140
- package/dist/external/@npmcli/promise-spawn.js +451 -472
- package/dist/external/@sinclair/typebox/value.js +7443 -9002
- package/dist/external/@sinclair/typebox.js +7516 -7885
- package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
- package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
- package/dist/external/@socketregistry/yocto-spinner.js +394 -455
- package/dist/external/@yarnpkg/extensions.js +435 -1022
- package/dist/external/adm-zip.js +2313 -2673
- package/dist/external/debug.js +700 -687
- package/dist/external/external-pack.js +2658 -3171
- package/dist/external/fast-sort.js +124 -138
- package/dist/external/get-east-asian-width.js +70 -64
- package/dist/external/libnpmexec.js +28 -31
- package/dist/external/npm-pack.js +43617 -50137
- package/dist/external/p-map.js +198 -222
- package/dist/external/pico-pack.js +6735 -7304
- package/dist/external/pony-cause.js +143 -139
- package/dist/external/shell-quote.js +226 -0
- package/dist/external/spdx-pack.js +1283 -1403
- package/dist/external/streaming-iterables.js +835 -1052
- package/dist/external/tar-fs.js +2769 -3048
- package/dist/external/which.js +267 -251
- package/dist/external/yargs-parser.js +851 -1074
- package/dist/external-tools/bazel/asset-names.js +98 -90
- package/dist/external-tools/bazel/from-download.js +52 -46
- package/dist/external-tools/bazel/from-path.js +27 -38
- package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
- package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
- package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
- package/dist/external-tools/bazel/resolve.js +44 -58
- package/dist/external-tools/bazel/types.js +1 -17
- package/dist/external-tools/cdxgen/asset-names.js +59 -66
- package/dist/external-tools/cdxgen/from-download.js +52 -80
- package/dist/external-tools/cdxgen/from-path.js +19 -37
- package/dist/external-tools/cdxgen/from-vfs.js +22 -43
- package/dist/external-tools/cdxgen/resolve.js +48 -63
- package/dist/external-tools/cdxgen/types.js +1 -17
- package/dist/external-tools/from-download.js +107 -67
- package/dist/external-tools/janus/asset-names.js +44 -51
- package/dist/external-tools/janus/from-download.js +45 -70
- package/dist/external-tools/janus/from-path.js +19 -37
- package/dist/external-tools/janus/from-vfs.js +22 -43
- package/dist/external-tools/janus/resolve.js +45 -63
- package/dist/external-tools/janus/types.js +1 -17
- package/dist/external-tools/jre/asset-names.js +109 -82
- package/dist/external-tools/jre/detect-platform-arch.js +25 -49
- package/dist/external-tools/jre/from-download.js +71 -67
- package/dist/external-tools/jre/from-java-home.js +27 -54
- package/dist/external-tools/jre/from-path.js +27 -49
- package/dist/external-tools/jre/from-vfs.js +39 -60
- package/dist/external-tools/jre/resolve.js +55 -68
- package/dist/external-tools/jre/types.js +1 -17
- package/dist/external-tools/manifest.js +130 -150
- package/dist/external-tools/opengrep/asset-names.js +60 -72
- package/dist/external-tools/opengrep/from-download.js +58 -80
- package/dist/external-tools/opengrep/from-path.js +19 -37
- package/dist/external-tools/opengrep/from-vfs.js +23 -43
- package/dist/external-tools/opengrep/resolve.js +43 -63
- package/dist/external-tools/opengrep/types.js +1 -17
- package/dist/external-tools/sbt/asset-names.js +21 -30
- package/dist/external-tools/sbt/from-download.js +50 -61
- package/dist/external-tools/sbt/from-path.js +23 -38
- package/dist/external-tools/sbt/from-vfs.js +30 -44
- package/dist/external-tools/sbt/resolve.js +45 -63
- package/dist/external-tools/sbt/types.js +1 -17
- package/dist/external-tools/synp/asset-names.js +11 -29
- package/dist/external-tools/synp/from-download.js +24 -41
- package/dist/external-tools/synp/from-path.js +19 -37
- package/dist/external-tools/synp/from-vfs.js +22 -43
- package/dist/external-tools/synp/resolve.js +43 -62
- package/dist/external-tools/synp/types.js +1 -17
- package/dist/external-tools/trivy/asset-names.js +51 -62
- package/dist/external-tools/trivy/from-download.js +42 -64
- package/dist/external-tools/trivy/from-path.js +19 -37
- package/dist/external-tools/trivy/from-vfs.js +22 -43
- package/dist/external-tools/trivy/resolve.js +43 -63
- package/dist/external-tools/trivy/types.js +1 -17
- package/dist/external-tools/trufflehog/asset-names.js +54 -66
- package/dist/external-tools/trufflehog/from-download.js +44 -62
- package/dist/external-tools/trufflehog/from-path.js +21 -37
- package/dist/external-tools/trufflehog/from-vfs.js +26 -43
- package/dist/external-tools/trufflehog/resolve.js +43 -63
- package/dist/external-tools/trufflehog/types.js +1 -17
- package/dist/external-tools/uv/asset-names.js +64 -74
- package/dist/external-tools/uv/from-download.js +44 -65
- package/dist/external-tools/uv/from-path.js +19 -37
- package/dist/external-tools/uv/from-vfs.js +22 -43
- package/dist/external-tools/uv/resolve.js +42 -63
- package/dist/external-tools/uv/types.js +1 -17
- package/dist/fs/_internal.js +40 -42
- package/dist/fs/access.js +57 -54
- package/dist/fs/encoding.js +80 -97
- package/dist/fs/find-up.js +126 -125
- package/dist/fs/inspect.js +168 -99
- package/dist/fs/path-cache.js +31 -32
- package/dist/fs/read-dir.js +102 -79
- package/dist/fs/read-file.js +177 -118
- package/dist/fs/read-json-cache.js +150 -134
- package/dist/fs/read-json.js +172 -187
- package/dist/fs/resolve-module.js +35 -58
- package/dist/fs/safe.js +278 -169
- package/dist/fs/types.js +1 -17
- package/dist/fs/unique.js +52 -48
- package/dist/fs/validate.js +56 -40
- package/dist/fs/write-json.js +109 -75
- package/dist/git/_internal.js +251 -216
- package/dist/git/changed.js +191 -74
- package/dist/git/repo.js +118 -104
- package/dist/git/staged.js +172 -62
- package/dist/git/types.js +1 -17
- package/dist/git/unstaged.js +175 -62
- package/dist/github/constants.js +25 -33
- package/dist/github/errors.js +46 -38
- package/dist/github/fetch.js +137 -82
- package/dist/github/ghsa.js +217 -151
- package/dist/github/refs-cache.js +54 -43
- package/dist/github/refs-graphql.js +97 -89
- package/dist/github/refs-rest.js +70 -101
- package/dist/github/refs.js +105 -64
- package/dist/github/token.js +96 -48
- package/dist/github/types.js +1 -17
- package/dist/globs/_internal.js +73 -82
- package/dist/globs/defaults.js +40 -59
- package/dist/globs/match.js +93 -77
- package/dist/globs/matcher.js +104 -92
- package/dist/globs/stream.js +43 -55
- package/dist/globs/types.js +1 -17
- package/dist/http-request/_internal.js +11 -38
- package/dist/http-request/browser-fetch.js +19 -29
- package/dist/http-request/browser.js +188 -206
- package/dist/http-request/checksums.js +101 -65
- package/dist/http-request/download-types.js +1 -17
- package/dist/http-request/download.js +195 -196
- package/dist/http-request/errors.js +39 -47
- package/dist/http-request/headers.js +95 -80
- package/dist/http-request/http-request.js +10 -35
- package/dist/http-request/node.js +71 -97
- package/dist/http-request/request-attempt.js +232 -285
- package/dist/http-request/request-types.js +1 -17
- package/dist/http-request/request.js +106 -108
- package/dist/http-request/response-reader.js +47 -51
- package/dist/http-request/response-types.js +22 -38
- package/dist/http-request/user-agent.js +73 -55
- package/dist/integrity.js +105 -106
- package/dist/ipc/_internal.js +34 -48
- package/dist/ipc/directory.js +55 -63
- package/dist/ipc/paths.js +52 -45
- package/dist/ipc/types.js +1 -17
- package/dist/ipc/write.js +81 -74
- package/dist/ipc-cli/get.js +29 -56
- package/dist/ipc-cli/types.js +1 -17
- package/dist/json/edit.js +182 -242
- package/dist/json/format.js +202 -103
- package/dist/json/parse.js +206 -109
- package/dist/json/types.js +1 -17
- package/dist/links/create.js +93 -60
- package/dist/links/types.js +1 -17
- package/dist/logger/_internal.js +109 -73
- package/dist/logger/browser.js +45 -56
- package/dist/logger/colors.js +31 -49
- package/dist/logger/console.js +89 -112
- package/dist/logger/default.js +19 -33
- package/dist/logger/logger.js +5 -29
- package/dist/logger/node.js +794 -854
- package/dist/logger/symbols-builder.js +54 -56
- package/dist/logger/symbols.js +135 -118
- package/dist/logger/types.js +1 -17
- package/dist/memo/_internal.js +39 -49
- package/dist/memo/async.js +133 -117
- package/dist/memo/clear.js +25 -34
- package/dist/memo/decorator.js +43 -37
- package/dist/memo/memoize.js +97 -88
- package/dist/memo/once.js +42 -41
- package/dist/memo/types.js +1 -17
- package/dist/memo/weak.js +45 -41
- package/dist/node/async-hooks.js +9 -30
- package/dist/node/child-process.js +9 -30
- package/dist/node/crypto.js +9 -30
- package/dist/node/events.js +9 -30
- package/dist/node/fs-promises.js +9 -30
- package/dist/node/fs.js +9 -30
- package/dist/node/http.js +9 -30
- package/dist/node/https.js +9 -30
- package/dist/node/module.js +20 -34
- package/dist/node/os.js +9 -30
- package/dist/node/path.js +9 -30
- package/dist/node/timers-promises.js +9 -30
- package/dist/node/url.js +9 -30
- package/dist/node/util.js +9 -30
- package/dist/objects/getters.js +185 -126
- package/dist/objects/inspect.js +85 -52
- package/dist/objects/mutate.js +96 -76
- package/dist/objects/predicates.js +112 -59
- package/dist/objects/sort.js +120 -76
- package/dist/objects/types.js +1 -17
- package/dist/packages/edit-class.js +198 -265
- package/dist/packages/edit.js +79 -86
- package/dist/packages/exports.js +146 -157
- package/dist/packages/isolation.js +159 -209
- package/dist/packages/licenses.js +207 -189
- package/dist/packages/manifest.js +134 -172
- package/dist/packages/normalize.js +91 -102
- package/dist/packages/operations.d.ts +2 -0
- package/dist/packages/operations.js +283 -254
- package/dist/packages/provenance.js +195 -245
- package/dist/packages/specs.js +94 -84
- package/dist/packages/types.js +1 -17
- package/dist/packages/validation.js +49 -50
- package/dist/paths/_internal.js +82 -86
- package/dist/paths/conversion.js +112 -65
- package/dist/paths/dirnames.js +17 -42
- package/dist/paths/exts.js +23 -54
- package/dist/paths/filenames.js +21 -50
- package/dist/paths/globs.js +15 -38
- package/dist/paths/normalize.js +215 -236
- package/dist/paths/packages.js +34 -49
- package/dist/paths/predicates.js +184 -106
- package/dist/paths/resolve.js +146 -128
- package/dist/paths/rewire.js +108 -72
- package/dist/paths/socket.js +252 -132
- package/dist/paths/walk.js +55 -60
- package/dist/perf/_internal.js +10 -28
- package/dist/perf/enabled.js +21 -30
- package/dist/perf/metrics.js +81 -67
- package/dist/perf/report.js +79 -80
- package/dist/perf/timer.js +180 -126
- package/dist/perf/types.js +1 -17
- package/dist/pkg-ext/data.js +29 -82
- package/dist/pkg-ext/types.js +1 -17
- package/dist/primordials/array.js +120 -198
- package/dist/primordials/buffer.js +28 -51
- package/dist/primordials/date.js +26 -51
- package/dist/primordials/error.js +33 -59
- package/dist/primordials/function.js +21 -41
- package/dist/primordials/globals.js +25 -48
- package/dist/primordials/json.js +14 -30
- package/dist/primordials/map-set.js +88 -152
- package/dist/primordials/math.js +59 -116
- package/dist/primordials/number.js +41 -76
- package/dist/primordials/object.js +56 -116
- package/dist/primordials/promise.js +28 -52
- package/dist/primordials/reflect.js +24 -52
- package/dist/primordials/regexp.js +25 -47
- package/dist/primordials/string.js +114 -167
- package/dist/primordials/symbol.js +40 -72
- package/dist/primordials/uncurry.js +38 -55
- package/dist/primordials/url.js +27 -66
- package/dist/process/_internal.js +7 -32
- package/dist/process/abort.js +29 -35
- package/dist/process/lock-instance.js +26 -30
- package/dist/process/lock-manager.js +279 -307
- package/dist/process/lock-types.js +1 -17
- package/dist/process/spawn/_internal.js +43 -55
- package/dist/process/spawn/child.js +172 -211
- package/dist/process/spawn/errors.js +116 -113
- package/dist/process/spawn/stdio.js +51 -35
- package/dist/process/spawn/types.js +1 -17
- package/dist/process/transient.js +49 -66
- package/dist/promises/_internal.js +31 -34
- package/dist/promises/iterate.js +238 -102
- package/dist/promises/options.js +123 -101
- package/dist/promises/queue.js +115 -136
- package/dist/promises/resolvers.js +77 -46
- package/dist/promises/retry.js +156 -101
- package/dist/promises/types.js +1 -17
- package/dist/regexps/escape.js +32 -30
- package/dist/regexps/hex.js +16 -33
- package/dist/regexps/spec.js +53 -81
- package/dist/releases/github-archives.js +127 -118
- package/dist/releases/github-asset-url.js +162 -146
- package/dist/releases/github-assets.js +37 -49
- package/dist/releases/github-auth.js +32 -48
- package/dist/releases/github-downloads.js +118 -138
- package/dist/releases/github-listing.js +175 -145
- package/dist/releases/github-retry-config.js +41 -47
- package/dist/releases/github-types.js +1 -17
- package/dist/releases/socket-btm.js +273 -192
- package/dist/schema/parse.js +35 -36
- package/dist/schema/types.js +1 -17
- package/dist/schema/validate.js +118 -99
- package/dist/sea/detect.js +57 -52
- package/dist/secrets/_internal.js +86 -67
- package/dist/secrets/find.js +96 -77
- package/dist/secrets/keychain.js +315 -309
- package/dist/secrets/linux.js +133 -135
- package/dist/secrets/macos.js +151 -147
- package/dist/secrets/rc.js +182 -181
- package/dist/secrets/socket-api-token.js +28 -43
- package/dist/secrets/types.js +1 -17
- package/dist/secrets/windows.js +184 -242
- package/dist/shadow/skip.js +51 -70
- package/dist/shadow/types.js +1 -17
- package/dist/shell/parse.d.ts +26 -0
- package/dist/shell/parse.js +35 -0
- package/dist/shell/quote.d.ts +19 -0
- package/dist/shell/quote.js +30 -0
- package/dist/smol/detect.js +67 -43
- package/dist/smol/http.js +33 -37
- package/dist/smol/https.js +31 -37
- package/dist/smol/manifest.js +33 -37
- package/dist/smol/path.js +33 -37
- package/dist/smol/primordial.js +35 -37
- package/dist/smol/purl.js +34 -37
- package/dist/smol/versions.js +31 -37
- package/dist/smol/vfs.js +46 -38
- package/dist/sorts/_internal.js +14 -40
- package/dist/sorts/natural.js +57 -64
- package/dist/sorts/semver.js +33 -43
- package/dist/sorts/strings.js +24 -30
- package/dist/sorts/types.js +1 -17
- package/dist/spinner/default.js +72 -63
- package/dist/spinner/format.js +86 -71
- package/dist/spinner/spinner.js +749 -797
- package/dist/spinner/types.js +1 -17
- package/dist/spinner/with.js +193 -137
- package/dist/ssri/convert.js +64 -47
- package/dist/ssri/parse.js +38 -37
- package/dist/ssri/validate.js +51 -34
- package/dist/stdio/_internal.js +50 -46
- package/dist/stdio/clear.js +208 -86
- package/dist/stdio/divider.js +170 -97
- package/dist/stdio/footer.js +116 -110
- package/dist/stdio/header.js +117 -90
- package/dist/stdio/progress.js +189 -218
- package/dist/stdio/prompts.js +244 -168
- package/dist/stdio/stderr.js +173 -78
- package/dist/stdio/stdout.js +177 -94
- package/dist/streams/parallel.js +58 -50
- package/dist/streams/transform.js +36 -45
- package/dist/strings/format.js +145 -63
- package/dist/strings/predicates.js +56 -34
- package/dist/strings/search.js +52 -42
- package/dist/strings/transform.js +113 -72
- package/dist/strings/types.js +1 -17
- package/dist/strings/width.js +89 -82
- package/dist/tables/bordered.js +81 -81
- package/dist/tables/padding.js +36 -46
- package/dist/tables/simple.js +62 -70
- package/dist/tables/types.js +1 -17
- package/dist/temporal/instant.js +72 -81
- package/dist/temporal/now.js +40 -31
- package/dist/temporal/slots.js +42 -36
- package/dist/temporal/system.js +36 -36
- package/dist/temporal/temporal.js +11 -41
- package/dist/themes/context.js +131 -69
- package/dist/themes/resolve.js +207 -132
- package/dist/themes/themes.js +225 -194
- package/dist/themes/types.js +1 -17
- package/dist/url/parse.js +48 -51
- package/dist/url/predicates.js +24 -31
- package/dist/url/search-params.js +133 -101
- package/dist/url/types.js +1 -17
- package/dist/versions/_internal.js +31 -33
- package/dist/versions/compare.js +80 -58
- package/dist/versions/modify.js +41 -39
- package/dist/versions/parse.js +88 -64
- package/dist/versions/range.js +58 -41
- package/dist/versions/types.js +1 -17
- package/dist/words/article.js +22 -30
- package/dist/words/capitalize.js +25 -34
- package/dist/words/pluralize.js +23 -31
- package/dist/words/types.js +1 -17
- package/package.json +17 -5
package/dist/stdio/stderr.js
CHANGED
|
@@ -1,99 +1,194 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
-
mod
|
|
29
|
-
));
|
|
30
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
var stderr_exports = {};
|
|
32
|
-
__export(stderr_exports, {
|
|
33
|
-
clearLine: () => clearLine,
|
|
34
|
-
cursorTo: () => cursorTo,
|
|
35
|
-
getColumns: () => getColumns,
|
|
36
|
-
getRows: () => getRows,
|
|
37
|
-
isTTY: () => isTTY,
|
|
38
|
-
stderr: () => stderr,
|
|
39
|
-
writeError: () => writeError,
|
|
40
|
-
writeErrorFormatted: () => writeErrorFormatted,
|
|
41
|
-
writeErrorLine: () => writeErrorLine,
|
|
42
|
-
writeStackTrace: () => writeStackTrace,
|
|
43
|
-
writeWarning: () => writeWarning
|
|
44
|
-
});
|
|
45
|
-
module.exports = __toCommonJS(stderr_exports);
|
|
46
|
-
var import_node_process = __toESM(require("node:process"));
|
|
47
|
-
var import_internal = require("./_internal");
|
|
48
|
-
const stderr = import_node_process.default.stderr;
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
|
+
const require_stdio__internal = require('./_internal.js');
|
|
6
|
+
let node_process = require("node:process");
|
|
7
|
+
node_process = require_runtime.__toESM(node_process);
|
|
8
|
+
|
|
9
|
+
//#region src/stdio/stderr.ts
|
|
10
|
+
/**
|
|
11
|
+
* @file Standard error stream utilities. Provides utilities for writing to
|
|
12
|
+
* stderr with formatting and control.
|
|
13
|
+
*/
|
|
14
|
+
const stderr = node_process.default.stderr;
|
|
15
|
+
/**
|
|
16
|
+
* Clear the current line on stderr. Only works in TTY environments.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ;```ts
|
|
20
|
+
* writeError('Processing...')
|
|
21
|
+
* clearLine()
|
|
22
|
+
* writeError('Done!')
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
49
25
|
function clearLine() {
|
|
50
|
-
|
|
26
|
+
require_stdio__internal.clearLineOn(stderr);
|
|
51
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Move cursor to specific position on stderr. Only works in TTY environments.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ;```ts
|
|
33
|
+
* cursorTo(0) // Move to start of line
|
|
34
|
+
* cursorTo(10, 5) // Move to column 10, row 5
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @param x - Column position (0-based)
|
|
38
|
+
* @param y - Row position (0-based, optional)
|
|
39
|
+
*/
|
|
52
40
|
function cursorTo(x, y) {
|
|
53
|
-
|
|
41
|
+
require_stdio__internal.cursorToOn(stderr, x, y);
|
|
54
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Get the number of columns (width) in the terminal.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const width = getColumns()
|
|
49
|
+
* console.error(`Terminal is ${width} characters wide`)
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @default 80
|
|
53
|
+
*
|
|
54
|
+
* @returns Terminal width in characters
|
|
55
|
+
*/
|
|
55
56
|
function getColumns() {
|
|
56
|
-
|
|
57
|
+
return require_stdio__internal.getColumnsOf(stderr);
|
|
57
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Get the number of rows (height) in the terminal.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const height = getRows()
|
|
65
|
+
* console.error(`Terminal is ${height} lines tall`)
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @default 24
|
|
69
|
+
*
|
|
70
|
+
* @returns Terminal height in lines
|
|
71
|
+
*/
|
|
58
72
|
function getRows() {
|
|
59
|
-
|
|
73
|
+
return require_stdio__internal.getRowsOf(stderr);
|
|
60
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if stderr is connected to a TTY (terminal).
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ;```ts
|
|
80
|
+
* if (isTTY()) {
|
|
81
|
+
* // Show colored error messages
|
|
82
|
+
* } else {
|
|
83
|
+
* // Use plain text
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @returns `true` if stderr is a TTY, `false` if piped/redirected
|
|
88
|
+
*/
|
|
61
89
|
function isTTY() {
|
|
62
|
-
|
|
90
|
+
return require_stdio__internal.isTTYOf(stderr);
|
|
63
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Write text to stderr without adding a newline.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ;```ts
|
|
97
|
+
* writeError('Downloading...')
|
|
98
|
+
* // Later update progress
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @param text - Text to write.
|
|
102
|
+
*/
|
|
64
103
|
function writeError(text) {
|
|
65
|
-
|
|
104
|
+
stderr.write(text);
|
|
66
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Write a formatted error message to stderr.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ;```ts
|
|
111
|
+
* writeErrorFormatted('File not found')
|
|
112
|
+
* // Output: 'Error: File not found'
|
|
113
|
+
*
|
|
114
|
+
* writeErrorFormatted('Connection failed', 'Network')
|
|
115
|
+
* // Output: 'Network: Connection failed'
|
|
116
|
+
* ```
|
|
117
|
+
*
|
|
118
|
+
* @default prefix 'Error'
|
|
119
|
+
*
|
|
120
|
+
* @param message - Error message text.
|
|
121
|
+
* @param prefix - Prefix label for the error.
|
|
122
|
+
*/
|
|
67
123
|
function writeErrorFormatted(message, prefix = "Error") {
|
|
68
|
-
|
|
69
|
-
writeErrorLine(formatted);
|
|
124
|
+
writeErrorLine(`${prefix}: ${message}`);
|
|
70
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Write a line to stderr with trailing newline. Used for error messages,
|
|
128
|
+
* warnings, and diagnostic output. Passing no argument writes an empty line.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ;```ts
|
|
132
|
+
* writeErrorLine('Error: File not found')
|
|
133
|
+
* writeErrorLine() // Write empty line
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* @default text ''
|
|
137
|
+
*
|
|
138
|
+
* @param text - Text to write (defaults to the empty string)
|
|
139
|
+
*/
|
|
71
140
|
function writeErrorLine(text = "") {
|
|
72
|
-
|
|
73
|
-
`);
|
|
141
|
+
stderr.write(`${text}\n`);
|
|
74
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Write an error's stack trace to stderr. Falls back to formatted error message
|
|
145
|
+
* if no stack is available.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ;```ts
|
|
149
|
+
* try {
|
|
150
|
+
* throw new ErrorCtor('Something went wrong')
|
|
151
|
+
* } catch (e) {
|
|
152
|
+
* writeStackTrace(e as Error)
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @param error - Error object to write.
|
|
157
|
+
*/
|
|
75
158
|
function writeStackTrace(error) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
} else {
|
|
79
|
-
writeErrorFormatted(error.message);
|
|
80
|
-
}
|
|
159
|
+
if (error.stack) writeErrorLine(error.stack);
|
|
160
|
+
else writeErrorFormatted(error.message);
|
|
81
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Write a formatted warning message to stderr.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ;```ts
|
|
167
|
+
* writeWarning('Deprecated API usage')
|
|
168
|
+
* // Output: 'Warning: Deprecated API usage'
|
|
169
|
+
*
|
|
170
|
+
* writeWarning('Invalid config', 'Config')
|
|
171
|
+
* // Output: 'Config: Invalid config'
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* @default prefix 'Warning'
|
|
175
|
+
*
|
|
176
|
+
* @param message - Warning message text.
|
|
177
|
+
* @param prefix - Prefix label for the warning.
|
|
178
|
+
*/
|
|
82
179
|
function writeWarning(message, prefix = "Warning") {
|
|
83
|
-
|
|
84
|
-
writeErrorLine(formatted);
|
|
180
|
+
writeErrorLine(`${prefix}: ${message}`);
|
|
85
181
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
});
|
|
182
|
+
|
|
183
|
+
//#endregion
|
|
184
|
+
exports.clearLine = clearLine;
|
|
185
|
+
exports.cursorTo = cursorTo;
|
|
186
|
+
exports.getColumns = getColumns;
|
|
187
|
+
exports.getRows = getRows;
|
|
188
|
+
exports.isTTY = isTTY;
|
|
189
|
+
exports.stderr = stderr;
|
|
190
|
+
exports.writeError = writeError;
|
|
191
|
+
exports.writeErrorFormatted = writeErrorFormatted;
|
|
192
|
+
exports.writeErrorLine = writeErrorLine;
|
|
193
|
+
exports.writeStackTrace = writeStackTrace;
|
|
194
|
+
exports.writeWarning = writeWarning;
|
package/dist/stdio/stdout.js
CHANGED
|
@@ -1,118 +1,201 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
-
mod
|
|
29
|
-
));
|
|
30
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
var stdout_exports = {};
|
|
32
|
-
__export(stdout_exports, {
|
|
33
|
-
clearLine: () => clearLine,
|
|
34
|
-
clearScreenDown: () => clearScreenDown,
|
|
35
|
-
cursorTo: () => cursorTo,
|
|
36
|
-
ensureCursorOnExit: () => ensureCursorOnExit,
|
|
37
|
-
getColumns: () => getColumns,
|
|
38
|
-
getRows: () => getRows,
|
|
39
|
-
hideCursor: () => hideCursor,
|
|
40
|
-
isTTY: () => isTTY,
|
|
41
|
-
showCursor: () => showCursor,
|
|
42
|
-
stdout: () => stdout,
|
|
43
|
-
write: () => write,
|
|
44
|
-
writeLine: () => writeLine
|
|
45
|
-
});
|
|
46
|
-
module.exports = __toCommonJS(stdout_exports);
|
|
47
|
-
var import_node_process = __toESM(require("node:process"));
|
|
48
|
-
var import_node_tty = require("node:tty");
|
|
49
|
-
var import_internal = require("./_internal");
|
|
50
|
-
const stdout = import_node_process.default.stdout;
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
|
+
const require_stdio__internal = require('./_internal.js');
|
|
6
|
+
let node_process = require("node:process");
|
|
7
|
+
node_process = require_runtime.__toESM(node_process);
|
|
8
|
+
let node_tty = require("node:tty");
|
|
9
|
+
|
|
10
|
+
//#region src/stdio/stdout.ts
|
|
11
|
+
/**
|
|
12
|
+
* @file Standard output stream utilities. Provides utilities for writing to
|
|
13
|
+
* stdout with formatting and control.
|
|
14
|
+
*/
|
|
15
|
+
const stdout = node_process.default.stdout;
|
|
51
16
|
let _cursorExitRegistered = false;
|
|
17
|
+
/**
|
|
18
|
+
* Clear the current line on stdout. Only works in TTY environments.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ;```ts
|
|
22
|
+
* write('Processing...')
|
|
23
|
+
* clearLine()
|
|
24
|
+
* write('Done!')
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
52
27
|
function clearLine() {
|
|
53
|
-
|
|
28
|
+
require_stdio__internal.clearLineOn(stdout);
|
|
54
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Clear screen from cursor position down to bottom. Only works in TTY
|
|
32
|
+
* environments.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ;```ts
|
|
36
|
+
* cursorTo(0, 5)
|
|
37
|
+
* clearScreenDown() // Clear from row 5 to bottom
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
55
40
|
function clearScreenDown() {
|
|
56
|
-
|
|
57
|
-
stdout.clearScreenDown();
|
|
58
|
-
}
|
|
41
|
+
if (stdout.isTTY) stdout.clearScreenDown();
|
|
59
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Move cursor to specific position on stdout. Only works in TTY environments.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ;```ts
|
|
48
|
+
* cursorTo(0) // Move to start of line
|
|
49
|
+
* cursorTo(10, 5) // Move to column 10, row 5
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @param x - Column position (0-based)
|
|
53
|
+
* @param y - Row position (0-based, optional)
|
|
54
|
+
*/
|
|
60
55
|
function cursorTo(x, y) {
|
|
61
|
-
|
|
56
|
+
require_stdio__internal.cursorToOn(stdout, x, y);
|
|
62
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Register handlers to ensure cursor is shown on process exit. Prevents hidden
|
|
60
|
+
* cursor after abnormal termination. Handles SIGINT (Ctrl+C) and SIGTERM
|
|
61
|
+
* signals.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ;```ts
|
|
65
|
+
* ensureCursorOnExit()
|
|
66
|
+
* hideCursor()
|
|
67
|
+
* // Even if process crashes, cursor will be restored
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
63
70
|
function ensureCursorOnExit() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
import_node_process.default.exit(143);
|
|
76
|
-
});
|
|
71
|
+
if (_cursorExitRegistered) return;
|
|
72
|
+
_cursorExitRegistered = true;
|
|
73
|
+
node_process.default.on("exit", showCursor);
|
|
74
|
+
node_process.default.on("SIGINT", () => {
|
|
75
|
+
showCursor();
|
|
76
|
+
node_process.default.exit(130);
|
|
77
|
+
});
|
|
78
|
+
node_process.default.on("SIGTERM", () => {
|
|
79
|
+
showCursor();
|
|
80
|
+
node_process.default.exit(143);
|
|
81
|
+
});
|
|
77
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the number of columns (width) in the terminal.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const width = getColumns()
|
|
89
|
+
* console.log(`Terminal is ${width} characters wide`)
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @default 80
|
|
93
|
+
*
|
|
94
|
+
* @returns Terminal width in characters
|
|
95
|
+
*/
|
|
78
96
|
function getColumns() {
|
|
79
|
-
|
|
97
|
+
return require_stdio__internal.getColumnsOf(stdout);
|
|
80
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the number of rows (height) in the terminal.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* const height = getRows()
|
|
105
|
+
* console.log(`Terminal is ${height} lines tall`)
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* @default 24
|
|
109
|
+
*
|
|
110
|
+
* @returns Terminal height in lines
|
|
111
|
+
*/
|
|
81
112
|
function getRows() {
|
|
82
|
-
|
|
113
|
+
return require_stdio__internal.getRowsOf(stdout);
|
|
83
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Hide the cursor on stdout. Useful for cleaner output during animations.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ;```ts
|
|
120
|
+
* hideCursor()
|
|
121
|
+
* // Show animation
|
|
122
|
+
* showCursor()
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
84
125
|
function hideCursor() {
|
|
85
|
-
|
|
86
|
-
stdout.write("\x1B[?25l");
|
|
87
|
-
}
|
|
126
|
+
if (stdout.isTTY && stdout instanceof node_tty.WriteStream) stdout.write("\x1B[?25l");
|
|
88
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Check if stdout is connected to a TTY (terminal).
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ;```ts
|
|
133
|
+
* if (isTTY()) {
|
|
134
|
+
* // Show interactive UI
|
|
135
|
+
* } else {
|
|
136
|
+
* // Use simple text output
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @returns `true` if stdout is a TTY, `false` if piped/redirected
|
|
141
|
+
*/
|
|
89
142
|
function isTTY() {
|
|
90
|
-
|
|
143
|
+
return require_stdio__internal.isTTYOf(stdout);
|
|
91
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Show the cursor on stdout. Should be called after `hideCursor()`.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ;```ts
|
|
150
|
+
* hideCursor()
|
|
151
|
+
* // Show animation
|
|
152
|
+
* showCursor()
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
92
155
|
function showCursor() {
|
|
93
|
-
|
|
94
|
-
stdout.write("\x1B[?25h");
|
|
95
|
-
}
|
|
156
|
+
if (stdout.isTTY && stdout instanceof node_tty.WriteStream) stdout.write("\x1B[?25h");
|
|
96
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Write text to stdout without adding a newline.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ;```ts
|
|
163
|
+
* write('Loading...')
|
|
164
|
+
* // Later: clear and update
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* @param text - Text to write.
|
|
168
|
+
*/
|
|
97
169
|
function write(text) {
|
|
98
|
-
|
|
170
|
+
stdout.write(text);
|
|
99
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Write a line to stdout with trailing newline.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ;```ts
|
|
177
|
+
* writeLine('Hello, world!')
|
|
178
|
+
* writeLine() // Write empty line
|
|
179
|
+
* ```
|
|
180
|
+
*
|
|
181
|
+
* @default text ''
|
|
182
|
+
*
|
|
183
|
+
* @param text - Text to write.
|
|
184
|
+
*/
|
|
100
185
|
function writeLine(text = "") {
|
|
101
|
-
|
|
102
|
-
`);
|
|
186
|
+
stdout.write(`${text}\n`);
|
|
103
187
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
});
|
|
188
|
+
|
|
189
|
+
//#endregion
|
|
190
|
+
exports.clearLine = clearLine;
|
|
191
|
+
exports.clearScreenDown = clearScreenDown;
|
|
192
|
+
exports.cursorTo = cursorTo;
|
|
193
|
+
exports.ensureCursorOnExit = ensureCursorOnExit;
|
|
194
|
+
exports.getColumns = getColumns;
|
|
195
|
+
exports.getRows = getRows;
|
|
196
|
+
exports.hideCursor = hideCursor;
|
|
197
|
+
exports.isTTY = isTTY;
|
|
198
|
+
exports.showCursor = showCursor;
|
|
199
|
+
exports.stdout = stdout;
|
|
200
|
+
exports.write = write;
|
|
201
|
+
exports.writeLine = writeLine;
|
package/dist/streams/parallel.js
CHANGED
|
@@ -1,55 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
// @__NO_SIDE_EFFECTS__
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_promises_options = require('../promises/options.js');
|
|
5
|
+
const require_promises_retry = require('../promises/retry.js');
|
|
6
|
+
let src_external_streaming_iterables = require("../external/streaming-iterables");
|
|
7
|
+
|
|
8
|
+
//#region src/streams/parallel.ts
|
|
9
|
+
/**
|
|
10
|
+
* @file Parallel iteration helpers — `parallelMap()` and the fire-and-forget
|
|
11
|
+
* `parallelEach()`. Built on top of `streaming-iterables.parallelMap` with
|
|
12
|
+
* the project's `pRetry` wrapper applied per item.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Execute a function for each item in an iterable in parallel.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ;```typescript
|
|
19
|
+
* const urls = ['https://a.io', 'https://b.io']
|
|
20
|
+
* await parallelEach(
|
|
21
|
+
* urls,
|
|
22
|
+
* async url => {
|
|
23
|
+
* await fetch(url)
|
|
24
|
+
* },
|
|
25
|
+
* { concurrency: 4 },
|
|
26
|
+
* )
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
31
30
|
async function parallelEach(iterable, func, options) {
|
|
32
|
-
|
|
33
|
-
}
|
|
31
|
+
for await (const _ of /* @__PURE__ */ parallelMap(iterable, func, options));
|
|
34
32
|
}
|
|
35
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Map over an iterable in parallel with concurrency control.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ;```typescript
|
|
38
|
+
* const ids = [1, 2, 3]
|
|
39
|
+
* for await (const result of parallelMap(
|
|
40
|
+
* ids,
|
|
41
|
+
* async id => {
|
|
42
|
+
* return await fetchData(id)
|
|
43
|
+
* },
|
|
44
|
+
* 4,
|
|
45
|
+
* )) {
|
|
46
|
+
* console.log(result)
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
36
51
|
function parallelMap(iterable, func, options) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
return result2;
|
|
46
|
-
},
|
|
47
|
-
iterable
|
|
48
|
-
);
|
|
49
|
-
return result;
|
|
52
|
+
const opts = /* @__PURE__ */ require_promises_options.normalizeIterationOptions(options);
|
|
53
|
+
return (0, src_external_streaming_iterables.parallelMap)(opts.concurrency, async (item) => {
|
|
54
|
+
return await /* @__PURE__ */ require_promises_retry.pRetry((...args) => func(args[0]), {
|
|
55
|
+
...opts.retries,
|
|
56
|
+
args: [item]
|
|
57
|
+
});
|
|
58
|
+
}, iterable);
|
|
50
59
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.parallelEach = parallelEach;
|
|
63
|
+
exports.parallelMap = parallelMap;
|