@socketsecurity/lib 6.0.3 → 6.0.5
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 +22 -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 +793 -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
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Tokenize a shell command line into typed entries (bare strings,
|
|
3
|
+
* operators, comments, globs). Wraps the vendored `shell-quote`. Unlike
|
|
4
|
+
* `argv/parse-args-string` (which flattens to a plain `string[]` for
|
|
5
|
+
* `child_process.spawn`), this preserves shell structure — operator tokens
|
|
6
|
+
* like `&&` / `|` / `;` surface as `{ op }`, comments as `{ comment }` — so a
|
|
7
|
+
* caller can reason about command boundaries. `$VAR` references resolve
|
|
8
|
+
* against `env`; unresolved ones collapse to an empty string.
|
|
9
|
+
*/
|
|
10
|
+
import type { ParseEntry } from '../external/shell-quote';
|
|
11
|
+
export type { ParseEntry, ShellComment, ShellGlob, ShellOp, } from '../external/shell-quote';
|
|
12
|
+
/**
|
|
13
|
+
* Tokenize `cmd` into `ParseEntry` items, preserving operators and comments.
|
|
14
|
+
* Throws on unterminated quotes.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* parseShell('git commit -m "hello world"')
|
|
18
|
+
* // → ['git', 'commit', '-m', 'hello world']
|
|
19
|
+
*
|
|
20
|
+
* parseShell('ls && echo done')
|
|
21
|
+
* // → ['ls', { op: '&&' }, 'echo', 'done']
|
|
22
|
+
*
|
|
23
|
+
* parseShell('echo $HOME', { HOME: '/root' })
|
|
24
|
+
* // → ['echo', '/root']
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseShell(cmd: string, env?: Record<string, string> | ((key: string) => string | undefined) | undefined): ParseEntry[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
let src_external_shell_quote = require("../external/shell-quote");
|
|
5
|
+
|
|
6
|
+
//#region src/shell/parse.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Tokenize a shell command line into typed entries (bare strings,
|
|
9
|
+
* operators, comments, globs). Wraps the vendored `shell-quote`. Unlike
|
|
10
|
+
* `argv/parse-args-string` (which flattens to a plain `string[]` for
|
|
11
|
+
* `child_process.spawn`), this preserves shell structure — operator tokens
|
|
12
|
+
* like `&&` / `|` / `;` surface as `{ op }`, comments as `{ comment }` — so a
|
|
13
|
+
* caller can reason about command boundaries. `$VAR` references resolve
|
|
14
|
+
* against `env`; unresolved ones collapse to an empty string.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Tokenize `cmd` into `ParseEntry` items, preserving operators and comments.
|
|
18
|
+
* Throws on unterminated quotes.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* parseShell('git commit -m "hello world"')
|
|
22
|
+
* // → ['git', 'commit', '-m', 'hello world']
|
|
23
|
+
*
|
|
24
|
+
* parseShell('ls && echo done')
|
|
25
|
+
* // → ['ls', { op: '&&' }, 'echo', 'done']
|
|
26
|
+
*
|
|
27
|
+
* parseShell('echo $HOME', { HOME: '/root' })
|
|
28
|
+
* // → ['echo', '/root']
|
|
29
|
+
*/
|
|
30
|
+
function parseShell(cmd, env) {
|
|
31
|
+
return (0, src_external_shell_quote.parse)(cmd, env);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.parseShell = parseShell;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Escape an argv array into a single shell-safe command string. Wraps the
|
|
3
|
+
* vendored `shell-quote`. Use when building a command line for display, a log
|
|
4
|
+
* line, or a copy-pasteable reproduction — the inverse of `parseShell`. The
|
|
5
|
+
* output targets POSIX `sh` quoting, not `cmd.exe`; spawn callers should pass
|
|
6
|
+
* an argv array to `child_process.spawn` directly rather than quoting into a
|
|
7
|
+
* shell string.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Escape an array of arguments into a shell-safe command string.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* quote(['git', 'commit', '-m', 'hello world'])
|
|
14
|
+
* // → "git commit -m 'hello world'"
|
|
15
|
+
*
|
|
16
|
+
* quote(['echo', '$HOME'])
|
|
17
|
+
* // → "echo \\$HOME"
|
|
18
|
+
*/
|
|
19
|
+
export declare function quote(argv: readonly string[]): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
let src_external_shell_quote = require("../external/shell-quote");
|
|
5
|
+
|
|
6
|
+
//#region src/shell/quote.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Escape an argv array into a single shell-safe command string. Wraps the
|
|
9
|
+
* vendored `shell-quote`. Use when building a command line for display, a log
|
|
10
|
+
* line, or a copy-pasteable reproduction — the inverse of `parseShell`. The
|
|
11
|
+
* output targets POSIX `sh` quoting, not `cmd.exe`; spawn callers should pass
|
|
12
|
+
* an argv array to `child_process.spawn` directly rather than quoting into a
|
|
13
|
+
* shell string.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Escape an array of arguments into a shell-safe command string.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* quote(['git', 'commit', '-m', 'hello world'])
|
|
20
|
+
* // → "git commit -m 'hello world'"
|
|
21
|
+
*
|
|
22
|
+
* quote(['echo', '$HOME'])
|
|
23
|
+
* // → "echo \\$HOME"
|
|
24
|
+
*/
|
|
25
|
+
function quote(argv) {
|
|
26
|
+
return (0, src_external_shell_quote.quote)(argv);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.quote = quote;
|
package/dist/smol/detect.js
CHANGED
|
@@ -1,51 +1,75 @@
|
|
|
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
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_module = require('../node/module.js');
|
|
5
|
+
|
|
6
|
+
//#region src/smol/detect.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Smol detection + lazy-loader for `node:smol-util`. Two
|
|
9
|
+
* responsibilities:
|
|
10
|
+
*
|
|
11
|
+
* 1. `isSmol()` — memoized boolean detector for socket-btm's smol Node binary.
|
|
12
|
+
* Mirrors `isSeaBinary()` from `src/sea.ts`. Probes via
|
|
13
|
+
* `node:module.isBuiltin('node:smol-util')` since only the smol binary
|
|
14
|
+
* registers any `node:smol-*` builtins.
|
|
15
|
+
* 2. `getSmolUtil()` — lazy-loader for the `node:smol-util` binding, which
|
|
16
|
+
* provides native `uncurryThis` and `applyBind` (single V8 dispatch via
|
|
17
|
+
* `args.Data()` + `v8::Function::Call`, skipping the BoundFunction adapter
|
|
18
|
+
* + `Function.prototype.call` trampoline that the JS form
|
|
19
|
+
* `bind.bind(call)(fn)` hits twice per invocation). ~2x faster on hot
|
|
20
|
+
* uncurried-call sites. `getSmolUtil()` returns `undefined` on stock Node
|
|
21
|
+
* + non-Node runtimes. Result is cached across calls; the lazy-loader
|
|
22
|
+
* follows the same shape as `src/node/fs.ts` etc.
|
|
23
|
+
*
|
|
24
|
+
* @see https://github.com/SocketDev/socket-btm — socket-btm builds
|
|
25
|
+
* the smol binary that exposes the `node:smol-util` binding.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Cached smol-binary detection result.
|
|
29
|
+
*/
|
|
28
30
|
let _isSmol;
|
|
31
|
+
/**
|
|
32
|
+
* Cached `node:smol-util` binding. `null` = probed and unavailable; `undefined`
|
|
33
|
+
* = not yet probed. JS truthiness collapses both to "no binding" at the call
|
|
34
|
+
* site.
|
|
35
|
+
*/
|
|
29
36
|
let _smolUtil;
|
|
30
37
|
let _smolUtilProbed = false;
|
|
31
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Returns `node:smol-util` when running on the smol Node binary, otherwise
|
|
40
|
+
* `undefined`. Result is cached across calls.
|
|
41
|
+
*/
|
|
42
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
32
43
|
function getSmolUtil() {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return _smolUtil;
|
|
44
|
+
if (!_smolUtilProbed) {
|
|
45
|
+
_smolUtilProbed = true;
|
|
46
|
+
/* c8 ignore start - smol Node binary only. */
|
|
47
|
+
if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-util")) _smolUtil = require("node:smol-util");
|
|
48
|
+
}
|
|
49
|
+
return _smolUtil;
|
|
40
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Detect if the current process is running on socket-btm's smol Node binary.
|
|
53
|
+
* Memoized on first call.
|
|
54
|
+
*
|
|
55
|
+
* Defensive across runtimes: returns `false` on stock Node, browsers (no
|
|
56
|
+
* `node:module`), Deno / Bun (different module resolution), and worker threads
|
|
57
|
+
* (each has its own builtin table).
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ;```ts
|
|
61
|
+
* import { isSmol } from '@socketsecurity/lib/smol/detect'
|
|
62
|
+
*
|
|
63
|
+
* if (isSmol()) {
|
|
64
|
+
* // running on the smol binary; native fast paths available
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
41
68
|
function isSmol() {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
return _isSmol;
|
|
69
|
+
if (_isSmol === void 0) _isSmol = /* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-util");
|
|
70
|
+
return _isSmol;
|
|
46
71
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
exports.getSmolUtil = getSmolUtil;
|
|
75
|
+
exports.isSmol = isSmol;
|
package/dist/smol/http.js
CHANGED
|
@@ -1,42 +1,38 @@
|
|
|
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
|
-
var http_exports = {};
|
|
22
|
-
__export(http_exports, {
|
|
23
|
-
getSmolHttp: () => getSmolHttp
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(http_exports);
|
|
26
|
-
var import_module = require("../node/module");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_module = require('../node/module.js');
|
|
5
|
+
|
|
6
|
+
//#region src/smol/http.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Lazy-loader for socket-btm's `node:smol-http`. `node:smol-http` is the
|
|
9
|
+
* C++-accelerated HTTP server + client binding shipped by socket-btm's smol
|
|
10
|
+
* Node binary. It backs a pipelined HTTP/1.1 + HTTP/2 client (`request`), a
|
|
11
|
+
* uWS-backed server (`serve`), and a family of fast-path response writers
|
|
12
|
+
* (`fastJsonResponse`, `fastErrorResponse`, etc.) that bypass the
|
|
13
|
+
* `http.ServerResponse` allocation hot path. Returns `undefined` on stock
|
|
14
|
+
* Node + non-Node runtimes. Result is cached across calls.
|
|
15
|
+
*
|
|
16
|
+
* @internal — `src/http-request/` is the natural consumer. Most
|
|
17
|
+
* callers should use the standard `httpRequest` / `httpJson` /
|
|
18
|
+
* `httpText` exports, which already route through this when smol
|
|
19
|
+
* is present.
|
|
20
|
+
*/
|
|
27
21
|
let _smolHttp;
|
|
28
22
|
let _smolHttpProbed = false;
|
|
29
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Returns `node:smol-http` when running on the smol Node binary, otherwise
|
|
25
|
+
* `undefined`. Result is cached across calls.
|
|
26
|
+
*/
|
|
27
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
30
28
|
function getSmolHttp() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return _smolHttp;
|
|
29
|
+
if (!_smolHttpProbed) {
|
|
30
|
+
_smolHttpProbed = true;
|
|
31
|
+
/* c8 ignore start - smol Node binary only. */
|
|
32
|
+
if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-http")) _smolHttp = require("node:smol-http");
|
|
33
|
+
}
|
|
34
|
+
return _smolHttp;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
exports.getSmolHttp = getSmolHttp;
|
package/dist/smol/https.js
CHANGED
|
@@ -1,42 +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
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
var https_exports = {};
|
|
22
|
-
__export(https_exports, {
|
|
23
|
-
getSmolHttps: () => getSmolHttps
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(https_exports);
|
|
26
|
-
var import_module = require("../node/module");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_module = require('../node/module.js');
|
|
5
|
+
|
|
6
|
+
//#region src/smol/https.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Lazy-loader for socket-btm's `node:smol-https`. `node:smol-https` is
|
|
9
|
+
* the HTTPS-flavored server entry shipped by socket-btm's smol Node binary.
|
|
10
|
+
* It wraps `node:smol-http`'s `serve` with performance-oriented TLS defaults
|
|
11
|
+
* (X25519+P-256 curves, pre-vetted cipher list, 24-hour session timeout) and
|
|
12
|
+
* validates that TLS options are present. Returns `undefined` on stock Node +
|
|
13
|
+
* non-Node runtimes. Result is cached across calls.
|
|
14
|
+
*
|
|
15
|
+
* @internal — `src/http-request/` is the natural consumer. Most
|
|
16
|
+
* callers should use the standard server-side helpers, which
|
|
17
|
+
* route through this when smol is present.
|
|
18
|
+
*/
|
|
27
19
|
let _smolHttps;
|
|
28
20
|
let _smolHttpsProbed = false;
|
|
29
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Returns `node:smol-https` when running on the smol Node binary, otherwise
|
|
23
|
+
* `undefined`. Result is cached across calls.
|
|
24
|
+
*/
|
|
25
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
30
26
|
function getSmolHttps() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return _smolHttps;
|
|
27
|
+
if (!_smolHttpsProbed) {
|
|
28
|
+
_smolHttpsProbed = true;
|
|
29
|
+
/* c8 ignore start - smol Node binary only. */
|
|
30
|
+
if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-https")) _smolHttps = require("node:smol-https");
|
|
31
|
+
}
|
|
32
|
+
return _smolHttps;
|
|
38
33
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.getSmolHttps = getSmolHttps;
|
package/dist/smol/manifest.js
CHANGED
|
@@ -1,42 +1,38 @@
|
|
|
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
|
-
var manifest_exports = {};
|
|
22
|
-
__export(manifest_exports, {
|
|
23
|
-
getSmolManifest: () => getSmolManifest
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(manifest_exports);
|
|
26
|
-
var import_module = require("../node/module");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_module = require('../node/module.js');
|
|
5
|
+
|
|
6
|
+
//#region src/smol/manifest.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Lazy-loader for socket-btm's `node:smol-manifest`. `node:smol-manifest`
|
|
9
|
+
* is the manifest + lockfile parser exposed by socket-btm's smol Node binary.
|
|
10
|
+
* It parses package.json, package-lock (npm v1/v2/v3), yarn.lock (classic +
|
|
11
|
+
* berry), and pnpm-lock.yaml (v5/v6/v9) with internal primordial-hardened
|
|
12
|
+
* parsing. Returns `undefined` on stock Node + non-Node runtimes. Result is
|
|
13
|
+
* cached across calls. Callers fall back to the JS parsers under
|
|
14
|
+
* `src/eco/<pm>/parse-*` on the undefined path.
|
|
15
|
+
*
|
|
16
|
+
* @internal — used by `src/eco/manifest/*` leaves to resolve the
|
|
17
|
+
* smol-aware parsers. Most callers should import the specific leaf
|
|
18
|
+
* (`@socketsecurity/lib/eco/manifest/parse`), which already routes
|
|
19
|
+
* through this when smol is present.
|
|
20
|
+
*/
|
|
27
21
|
let _smolManifest;
|
|
28
22
|
let _smolManifestProbed = false;
|
|
29
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Returns `node:smol-manifest` when running on the smol Node binary, otherwise
|
|
25
|
+
* `undefined`. Result is cached across calls.
|
|
26
|
+
*/
|
|
27
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
30
28
|
function getSmolManifest() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return _smolManifest;
|
|
29
|
+
if (!_smolManifestProbed) {
|
|
30
|
+
_smolManifestProbed = true;
|
|
31
|
+
/* c8 ignore start - smol Node binary only. */
|
|
32
|
+
if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-manifest")) _smolManifest = require("node:smol-manifest");
|
|
33
|
+
}
|
|
34
|
+
return _smolManifest;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
exports.getSmolManifest = getSmolManifest;
|
package/dist/smol/path.js
CHANGED
|
@@ -1,42 +1,38 @@
|
|
|
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
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
var path_exports = {};
|
|
22
|
-
__export(path_exports, {
|
|
23
|
-
getSmolPath: () => getSmolPath
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(path_exports);
|
|
26
|
-
var import_module = require("../node/module");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_module = require('../node/module.js');
|
|
5
|
+
|
|
6
|
+
//#region src/smol/path.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Lazy-loader for socket-btm's `node:smol-path` — native fast paths for
|
|
9
|
+
* the hot path-string primitives (`dirname`, `normalize`, …) and, per the
|
|
10
|
+
* socket-btm `node-smol-path` Phase 4 plan, batched filesystem ops (`access`,
|
|
11
|
+
* an in-C++ `findUp`). Returns `undefined` on stock Node, non-Node runtimes,
|
|
12
|
+
* and on socket-btm binaries that haven't shipped the binding yet; callers
|
|
13
|
+
* fall back to the JS implementation. Result is cached. The binding does not
|
|
14
|
+
* exist yet (the plan is unbuilt) — this accessor is the seam so that when it
|
|
15
|
+
* lands, only this file changes and `paths/walk`, `fs/access`, `fs/find-up`
|
|
16
|
+
* light up natively. Today `getSmolPath()` is always `undefined` and the JS
|
|
17
|
+
* paths run.
|
|
18
|
+
*/
|
|
27
19
|
let _smolPath;
|
|
28
20
|
let _smolPathProbed = false;
|
|
29
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Returns the `node:smol-path` binding when running on a smol Node binary that
|
|
23
|
+
* ships it; otherwise `undefined`. Cached across calls.
|
|
24
|
+
*
|
|
25
|
+
* @returns The native binding, or `undefined` to signal "use the JS fallback".
|
|
26
|
+
*/
|
|
27
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
30
28
|
function getSmolPath() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return _smolPath;
|
|
29
|
+
if (!_smolPathProbed) {
|
|
30
|
+
_smolPathProbed = true;
|
|
31
|
+
/* c8 ignore start - smol Node binary only. */
|
|
32
|
+
if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-path")) _smolPath = require("node:smol-path");
|
|
33
|
+
}
|
|
34
|
+
return _smolPath;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
exports.getSmolPath = getSmolPath;
|
package/dist/smol/primordial.js
CHANGED
|
@@ -1,42 +1,40 @@
|
|
|
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
|
-
getSmolPrimordial: () => getSmolPrimordial
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(primordial_exports);
|
|
26
|
-
var import_module = require("../node/module");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_node_module = require('../node/module.js');
|
|
5
|
+
|
|
6
|
+
//#region src/smol/primordial.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Lazy-loader for socket-btm's `node:smol-primordial` binding.
|
|
9
|
+
* `node:smol-primordial` provides V8 Fast API typed implementations of Math.*
|
|
10
|
+
* and Number.is* primordials, registered with `CFunction::Make()` so TurboFan
|
|
11
|
+
* inlines them directly into JIT- compiled JS callers. Bypasses the
|
|
12
|
+
* FunctionCallbackInfo trampoline entirely — ~30-50% gain on hot loops where
|
|
13
|
+
* V8 doesn't already auto-inline. Returns `undefined` on stock Node +
|
|
14
|
+
* non-Node runtimes. Result is cached across calls.
|
|
15
|
+
*
|
|
16
|
+
* @internal — used by `src/primordials.ts` to resolve smol-aware
|
|
17
|
+
* Math.* / Number.is* fast paths. Most callers should use the
|
|
18
|
+
* standard `primordials` exports, which already route through this
|
|
19
|
+
* when smol is present.
|
|
20
|
+
*
|
|
21
|
+
* @see https://v8.dev/blog/v8-release-99 — V8 Fast API Calls overview
|
|
22
|
+
*/
|
|
27
23
|
let _smolPrimordial;
|
|
28
24
|
let _smolPrimordialProbed = false;
|
|
29
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Returns `node:smol-primordial` when running on the smol Node binary,
|
|
27
|
+
* otherwise `undefined`. Result is cached across calls.
|
|
28
|
+
*/
|
|
29
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
30
30
|
function getSmolPrimordial() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return _smolPrimordial;
|
|
31
|
+
if (!_smolPrimordialProbed) {
|
|
32
|
+
_smolPrimordialProbed = true;
|
|
33
|
+
/* c8 ignore start - smol Node binary only. */
|
|
34
|
+
if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-primordial")) _smolPrimordial = require("node:smol-primordial");
|
|
35
|
+
}
|
|
36
|
+
return _smolPrimordial;
|
|
38
37
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.getSmolPrimordial = getSmolPrimordial;
|