@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/integrity.js
CHANGED
|
@@ -1,120 +1,119 @@
|
|
|
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
|
-
DlxHashMismatchError: () => DlxHashMismatchError,
|
|
24
|
-
computeHashes: () => computeHashes,
|
|
25
|
-
isChecksumString: () => isChecksumString,
|
|
26
|
-
isIntegrityString: () => isIntegrityString,
|
|
27
|
-
normalizeHash: () => normalizeHash,
|
|
28
|
-
verifyHash: () => verifyHash
|
|
29
|
-
});
|
|
30
|
-
module.exports = __toCommonJS(integrity_exports);
|
|
31
|
-
var import_node_crypto = require("node:crypto");
|
|
32
|
-
var import_hash = require("./crypto/hash");
|
|
33
|
-
var import_buffer = require("./primordials/buffer");
|
|
34
|
-
var import_error = require("./primordials/error");
|
|
35
|
-
var import_string = require("./primordials/string");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_crypto_hash = require('./crypto/hash.js');
|
|
5
|
+
const require_primordials_buffer = require('./primordials/buffer.js');
|
|
6
|
+
const require_primordials_error = require('./primordials/error.js');
|
|
7
|
+
const require_primordials_string = require('./primordials/string.js');
|
|
8
|
+
let node_crypto = require("node:crypto");
|
|
9
|
+
|
|
10
|
+
//#region src/integrity.ts
|
|
11
|
+
/**
|
|
12
|
+
* @file Integrity specification helpers for downloads and file verification.
|
|
13
|
+
* Used by `dlx/binary-download` and external-tools resolvers; safe to consume
|
|
14
|
+
* from any module that needs to verify bytes against an expected hash. Single
|
|
15
|
+
* supported format per flavor:
|
|
16
|
+
*
|
|
17
|
+
* - integrity: SRI with sha512 only (what npm registry returns)
|
|
18
|
+
* - checksum: sha256 hex (what `shasum -a 256` produces; common for binary
|
|
19
|
+
* release assets on GitHub) Callers may pass a {@link HashSpec} as a bare
|
|
20
|
+
* string (sniffed via format) or as an explicit `{ type, value }` object.
|
|
21
|
+
* The normalized form carried around internally is always the object.
|
|
22
|
+
*/
|
|
36
23
|
const INTEGRITY_PREFIX = "sha512-";
|
|
37
24
|
const INTEGRITY_BODY_RE = /^[A-Za-z0-9+/=]+$/;
|
|
38
25
|
const CHECKSUM_RE = /^[a-f0-9]{64}$/i;
|
|
26
|
+
/**
|
|
27
|
+
* Compute both integrity (sha512 SRI) and checksum (sha256 hex) for a buffer of
|
|
28
|
+
* bytes.
|
|
29
|
+
*/
|
|
39
30
|
function computeHashes(bytes) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
return {
|
|
32
|
+
integrity: `sha512-${/* @__PURE__ */ require_crypto_hash.hash("sha512", bytes, "base64")}`,
|
|
33
|
+
checksum: /* @__PURE__ */ require_crypto_hash.hash("sha256", bytes, "hex")
|
|
34
|
+
};
|
|
43
35
|
}
|
|
44
36
|
function isChecksumString(s) {
|
|
45
|
-
|
|
37
|
+
return CHECKSUM_RE.test(s);
|
|
46
38
|
}
|
|
47
39
|
function isIntegrityString(s) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const body = (0, import_string.StringPrototypeSlice)(s, INTEGRITY_PREFIX.length);
|
|
52
|
-
return body.length > 0 && INTEGRITY_BODY_RE.test(body);
|
|
40
|
+
if (!require_primordials_string.StringPrototypeStartsWith(s, INTEGRITY_PREFIX)) return false;
|
|
41
|
+
const body = require_primordials_string.StringPrototypeSlice(s, 7);
|
|
42
|
+
return body.length > 0 && INTEGRITY_BODY_RE.test(body);
|
|
53
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Normalize a {@link HashSpec} to its canonical `{ type, value }` form.
|
|
46
|
+
*
|
|
47
|
+
* - Object form is trusted (its `value` is validated for shape).
|
|
48
|
+
* - Bare string matching sha512 SRI → integrity.
|
|
49
|
+
* - Bare string of 64 hex chars → checksum.
|
|
50
|
+
* - Anything else throws TypeError.
|
|
51
|
+
*
|
|
52
|
+
* @throws TypeError if the string is not a recognized format, or if an explicit
|
|
53
|
+
* object's value doesn't match its declared type.
|
|
54
|
+
*/
|
|
54
55
|
function normalizeHash(spec) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return { type: "integrity", value: spec };
|
|
83
|
-
}
|
|
84
|
-
if (isChecksumString(spec)) {
|
|
85
|
-
return { type: "checksum", value: spec };
|
|
86
|
-
}
|
|
87
|
-
throw new import_error.TypeErrorCtor(
|
|
88
|
-
`Unrecognized hash format. Expected SRI integrity ("sha512-<base64>") or sha256 hex (64 hex chars), got: ${spec}`
|
|
89
|
-
);
|
|
56
|
+
if (typeof spec === "object" && spec !== null) {
|
|
57
|
+
if (spec.type === "integrity") {
|
|
58
|
+
if (!isIntegrityString(spec.value)) throw new require_primordials_error.TypeErrorCtor(`Expected SRI integrity string "sha512-<base64>", got: ${spec.value}`);
|
|
59
|
+
return {
|
|
60
|
+
type: "integrity",
|
|
61
|
+
value: spec.value
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
if (spec.type === "checksum") {
|
|
65
|
+
if (!isChecksumString(spec.value)) throw new require_primordials_error.TypeErrorCtor(`Expected sha256 hex string (64 hex chars), got: ${spec.value}`);
|
|
66
|
+
return {
|
|
67
|
+
type: "checksum",
|
|
68
|
+
value: spec.value
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
throw new require_primordials_error.TypeErrorCtor(`Unknown hash type: ${spec.type}`);
|
|
72
|
+
}
|
|
73
|
+
if (typeof spec !== "string") throw new require_primordials_error.TypeErrorCtor(`HashSpec must be a string or { type, value } object, got: ${typeof spec}`);
|
|
74
|
+
if (isIntegrityString(spec)) return {
|
|
75
|
+
type: "integrity",
|
|
76
|
+
value: spec
|
|
77
|
+
};
|
|
78
|
+
if (isChecksumString(spec)) return {
|
|
79
|
+
type: "checksum",
|
|
80
|
+
value: spec
|
|
81
|
+
};
|
|
82
|
+
throw new require_primordials_error.TypeErrorCtor(`Unrecognized hash format. Expected SRI integrity ("sha512-<base64>") or sha256 hex (64 hex chars), got: ${spec}`);
|
|
90
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Verify computed hashes against an expected {@link NormalizedHash}. Uses
|
|
86
|
+
* `crypto.timingSafeEqual` for constant-time comparison.
|
|
87
|
+
*
|
|
88
|
+
* @throws DlxHashMismatchError when the hash of the matching type doesn't match
|
|
89
|
+
* the expected value.
|
|
90
|
+
*/
|
|
91
91
|
function verifyHash(expected, computed) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
throw new DlxHashMismatchError(expected, computed);
|
|
97
|
-
}
|
|
92
|
+
const actual = expected.type === "integrity" ? computed.integrity : computed.checksum;
|
|
93
|
+
const expectedBuf = require_primordials_buffer.BufferFrom(expected.value);
|
|
94
|
+
const actualBuf = require_primordials_buffer.BufferFrom(actual);
|
|
95
|
+
if (expectedBuf.length !== actualBuf.length || !(0, node_crypto.timingSafeEqual)(expectedBuf, actualBuf)) throw new DlxHashMismatchError(expected, computed);
|
|
98
96
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Thrown when an expected hash doesn't match the computed hash of the
|
|
99
|
+
* downloaded bytes. Carries both sides for diagnostics.
|
|
100
|
+
*/
|
|
101
|
+
var DlxHashMismatchError = class extends Error {
|
|
102
|
+
expected;
|
|
103
|
+
actual;
|
|
104
|
+
constructor(expected, actual) {
|
|
105
|
+
const actualValue = expected.type === "integrity" ? actual.integrity : actual.checksum;
|
|
106
|
+
super(`Hash mismatch (${expected.type}): expected ${expected.value}, got ${actualValue}`);
|
|
107
|
+
this.name = "DlxHashMismatchError";
|
|
108
|
+
this.expected = expected;
|
|
109
|
+
this.actual = actual;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
//#endregion
|
|
114
|
+
exports.DlxHashMismatchError = DlxHashMismatchError;
|
|
115
|
+
exports.computeHashes = computeHashes;
|
|
116
|
+
exports.isChecksumString = isChecksumString;
|
|
117
|
+
exports.isIntegrityString = isIntegrityString;
|
|
118
|
+
exports.normalizeHash = normalizeHash;
|
|
119
|
+
exports.verifyHash = verifyHash;
|
package/dist/ipc/_internal.js
CHANGED
|
@@ -1,50 +1,36 @@
|
|
|
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
|
-
|
|
31
|
-
const IpcStubSchema = import_typebox.Type.Object({
|
|
32
|
-
/**
|
|
33
|
-
* Process ID that created the stub.
|
|
34
|
-
*/
|
|
35
|
-
pid: import_typebox.Type.Integer({ minimum: 1 }),
|
|
36
|
-
/**
|
|
37
|
-
* Creation timestamp for age validation.
|
|
38
|
-
*/
|
|
39
|
-
timestamp: import_typebox.Type.Number({ exclusiveMinimum: 0 }),
|
|
40
|
-
/**
|
|
41
|
-
* The actual data payload.
|
|
42
|
-
*/
|
|
43
|
-
data: import_typebox.Type.Unknown()
|
|
44
|
-
});
|
|
45
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
-
0 && (module.exports = {
|
|
47
|
-
IpcStubSchema,
|
|
48
|
-
getFs,
|
|
49
|
-
getPath
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_fs = require('../node/fs.js');
|
|
5
|
+
const require_node_path = require('../node/path.js');
|
|
6
|
+
let src_external__sinclair_typebox = require("../external/@sinclair/typebox");
|
|
7
|
+
|
|
8
|
+
//#region src/ipc/_internal.ts
|
|
9
|
+
/**
|
|
10
|
+
* @file Private internals for `ipc/*` modules — lazy node:fs / node:path
|
|
11
|
+
* accessors, the IpcStub schema, and the shared platform check. Used by every
|
|
12
|
+
* public IPC entrypoint.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* IPC stub file schema - validates the structure of stub files. Stub files are
|
|
16
|
+
* used for passing data between processes via filesystem.
|
|
17
|
+
*/
|
|
18
|
+
const IpcStubSchema = src_external__sinclair_typebox.Type.Object({
|
|
19
|
+
/**
|
|
20
|
+
* Process ID that created the stub.
|
|
21
|
+
*/
|
|
22
|
+
pid: src_external__sinclair_typebox.Type.Integer({ minimum: 1 }),
|
|
23
|
+
/**
|
|
24
|
+
* Creation timestamp for age validation.
|
|
25
|
+
*/
|
|
26
|
+
timestamp: src_external__sinclair_typebox.Type.Number({ exclusiveMinimum: 0 }),
|
|
27
|
+
/**
|
|
28
|
+
* The actual data payload.
|
|
29
|
+
*/
|
|
30
|
+
data: src_external__sinclair_typebox.Type.Unknown()
|
|
50
31
|
});
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.IpcStubSchema = IpcStubSchema;
|
|
35
|
+
exports.getFs = require_node_fs.getNodeFs;
|
|
36
|
+
exports.getPath = require_node_path.getNodePath;
|
package/dist/ipc/directory.js
CHANGED
|
@@ -1,66 +1,58 @@
|
|
|
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
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
var directory_exports = {};
|
|
32
|
-
__export(directory_exports, {
|
|
33
|
-
ensureIpcDirectory: () => ensureIpcDirectory
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(directory_exports);
|
|
36
|
-
var import_node_process = __toESM(require("node:process"));
|
|
37
|
-
var import_error = require("../primordials/error");
|
|
38
|
-
var import_internal = require("./_internal");
|
|
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_primordials_error = require('../primordials/error.js');
|
|
6
|
+
const require_node_fs = require('../node/fs.js');
|
|
7
|
+
const require_node_path = require('../node/path.js');
|
|
8
|
+
let node_process = require("node:process");
|
|
9
|
+
node_process = require_runtime.__toESM(node_process);
|
|
10
|
+
|
|
11
|
+
//#region src/ipc/directory.ts
|
|
12
|
+
/**
|
|
13
|
+
* @file Stub-directory creation + permission audit. The IPC directory is
|
|
14
|
+
* created with 0o700 so other users can't read or plant files; on POSIX we
|
|
15
|
+
* also verify ownership and permission bits before any write, since a
|
|
16
|
+
* pre-existing directory could belong to a different user or have permissive
|
|
17
|
+
* modes inherited from umask.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Ensure IPC directory exists for stub file creation. Uses restrictive (0o700)
|
|
21
|
+
* permissions so other users cannot read or write stub files. On POSIX, after
|
|
22
|
+
* `mkdir` we verify the directory is owned by the current user and not
|
|
23
|
+
* world/group-writable — protects against a prior local attacker pre-creating
|
|
24
|
+
* `.socket-ipc/<app>/` with permissive modes and planting symlinks for stub
|
|
25
|
+
* filenames. Throws if the directory fails the check.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
39
29
|
async function ensureIpcDirectory(filePath) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
30
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
31
|
+
const dir = (/* @__PURE__ */ require_node_path.getNodePath()).dirname(filePath);
|
|
32
|
+
await fs.promises.mkdir(dir, {
|
|
33
|
+
recursive: true,
|
|
34
|
+
mode: 448
|
|
35
|
+
});
|
|
36
|
+
/* c8 ignore start */
|
|
37
|
+
if (node_process.default.platform === "win32") return;
|
|
38
|
+
/* c8 ignore stop */
|
|
39
|
+
const stats = await fs.promises.lstat(dir);
|
|
40
|
+
/* c8 ignore start */
|
|
41
|
+
if (!stats.isDirectory()) throw new require_primordials_error.ErrorCtor(`IPC path is not a directory: ${dir}`);
|
|
42
|
+
/* c8 ignore stop */
|
|
43
|
+
const getuid = node_process.default.getuid;
|
|
44
|
+
/* c8 ignore next - process.getuid is always present on POSIX. */
|
|
45
|
+
const ownUid = typeof getuid === "function" ? getuid.call(node_process.default) : -1;
|
|
46
|
+
/* c8 ignore next 5 - Cross-user ownership guard fires only if the
|
|
47
|
+
IPC directory was created by a different uid; can't be triggered
|
|
48
|
+
in-test without spawning a separate user. */
|
|
49
|
+
if (ownUid !== -1 && stats.uid !== ownUid) throw new require_primordials_error.ErrorCtor(`IPC directory ${dir} is owned by another user (uid ${stats.uid}); refusing to use it.`);
|
|
50
|
+
/* c8 ignore next 7 - chmod-tightening fires only if umask leaves
|
|
51
|
+
group/other bits set; default Node umask 0o022 strips group-write
|
|
52
|
+
but keeps group/other read+execute, so the value depends on the
|
|
53
|
+
CI runner's umask. */
|
|
54
|
+
if ((stats.mode & 63) !== 0) await fs.promises.chmod(dir, 448);
|
|
62
55
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
});
|
|
56
|
+
|
|
57
|
+
//#endregion
|
|
58
|
+
exports.ensureIpcDirectory = ensureIpcDirectory;
|
package/dist/ipc/paths.js
CHANGED
|
@@ -1,48 +1,55 @@
|
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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_node_path = require('../node/path.js');
|
|
6
|
+
const require_paths_socket = require('../paths/socket.js');
|
|
7
|
+
let node_process = require("node:process");
|
|
8
|
+
node_process = require_runtime.__toESM(node_process);
|
|
9
|
+
|
|
10
|
+
//#region src/ipc/paths.ts
|
|
11
|
+
/**
|
|
12
|
+
* @file IPC stub path resolution. The on-disk layout is
|
|
13
|
+
* `<tmpDir>/.socket-ipc/<appName>/stub-<pid>.json`, computed here once so
|
|
14
|
+
* writers and readers agree on where stubs land.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Get the IPC stub path for a given application.
|
|
18
|
+
*
|
|
19
|
+
* Generates a unique file path for IPC stub files that are used to pass data
|
|
20
|
+
* between processes. The stub files are stored in a hidden directory within the
|
|
21
|
+
* system's temporary folder.
|
|
22
|
+
*
|
|
23
|
+
* ## Path Structure:
|
|
24
|
+
*
|
|
25
|
+
* - Base: System temp directory (e.g., /tmp on Unix, %TEMP% on Windows)
|
|
26
|
+
* - Directory: `.socket-ipc/{appName}/`
|
|
27
|
+
* - Filename: `stub-{pid}.json`
|
|
28
|
+
*
|
|
29
|
+
* ## Security Features:
|
|
30
|
+
*
|
|
31
|
+
* - Files are isolated per application via appName parameter
|
|
32
|
+
* - Process ID in filename prevents collisions between concurrent processes
|
|
33
|
+
* - Temporary directory location ensures automatic cleanup on system restart
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ;```typescript
|
|
37
|
+
* const stubPath = getIpcStubPath('socket-cli')
|
|
38
|
+
* // Returns: '/tmp/.socket-ipc/socket-cli/stub-12345.json' (Unix)
|
|
39
|
+
* // Returns: 'C:\\Users\\Name\\AppData\\Local\\Temp\\.socket-ipc\\socket-cli\\stub-12345.json' (Windows)
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @param appName - The application identifier (e.g., 'socket-cli',
|
|
43
|
+
* 'socket-dlx')
|
|
44
|
+
*
|
|
45
|
+
* @returns Full path to the IPC stub file
|
|
46
|
+
*/
|
|
39
47
|
function getIpcStubPath(appName) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
const tempDir = require_paths_socket.getOsTmpDir();
|
|
49
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
50
|
+
const stubDir = path.join(tempDir, ".socket-ipc", appName);
|
|
51
|
+
return path.join(stubDir, `stub-${node_process.default.pid}.json`);
|
|
44
52
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
});
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
exports.getIpcStubPath = getIpcStubPath;
|
package/dist/ipc/types.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
"use strict";
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
-
for (let key of __getOwnPropNames(from))
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
}
|
|
14
|
-
return to;
|
|
15
|
-
};
|
|
16
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
17
|
-
var types_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(types_exports);
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|