@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
package/dist/dlx/detect.js
CHANGED
|
@@ -1,180 +1,266 @@
|
|
|
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
|
-
var import_find_up = require("../fs/find-up");
|
|
36
|
-
var import_socket = require("../paths/socket");
|
|
37
|
-
var import_date = require("../primordials/date");
|
|
38
|
-
var import_json = require("../primordials/json");
|
|
39
|
-
var import_map_set = require("../primordials/map-set");
|
|
40
|
-
var import_fs = require("../node/fs");
|
|
41
|
-
var import_path = require("../node/path");
|
|
42
|
-
const NODE_JS_EXTENSIONS = new import_map_set.SetCtor([".js", ".mjs", ".cjs"]);
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
5
|
+
const require_node_fs = require('../node/fs.js');
|
|
6
|
+
const require_node_path = require('../node/path.js');
|
|
7
|
+
const require_primordials_date = require('../primordials/date.js');
|
|
8
|
+
const require_primordials_json = require('../primordials/json.js');
|
|
9
|
+
const require_paths_socket = require('../paths/socket.js');
|
|
10
|
+
const require_dlx_paths = require('./paths.js');
|
|
11
|
+
const require_fs_find_up = require('../fs/find-up.js');
|
|
12
|
+
|
|
13
|
+
//#region src/dlx/detect.ts
|
|
14
|
+
/**
|
|
15
|
+
* @file Executable type detection for DLX and local filesystem paths. Provides
|
|
16
|
+
* utilities to detect whether a path is a Node.js package or native binary
|
|
17
|
+
* executable. Supports both DLX cache paths and local filesystem paths. Key
|
|
18
|
+
* Functions:
|
|
19
|
+
*
|
|
20
|
+
* - detectExecutableType: Generic entry point for any path
|
|
21
|
+
* - detectDlxExecutableType: DLX cache specific detection
|
|
22
|
+
* - detectLocalExecutableType: Local filesystem specific detection Detection
|
|
23
|
+
* Strategies:
|
|
24
|
+
* - DLX cache: Check for node_modules/ directory
|
|
25
|
+
* - Local paths: Check for package.json with bin field, then file extension
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Node.js script file extensions.
|
|
29
|
+
*/
|
|
30
|
+
const NODE_JS_EXTENSIONS = new require_primordials_map_set.SetCtor([
|
|
31
|
+
".js",
|
|
32
|
+
".mjs",
|
|
33
|
+
".cjs"
|
|
34
|
+
]);
|
|
43
35
|
const PACKAGE_JSON_PATH_CACHE_MAX_SIZE = 200;
|
|
44
36
|
const PACKAGE_JSON_NEGATIVE_TTL_MS = 1e4;
|
|
45
|
-
const packageJsonPathCache = new
|
|
37
|
+
const packageJsonPathCache = new require_primordials_map_set.MapCtor();
|
|
46
38
|
function packageJsonPathCacheSet(key, value) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
39
|
+
if (packageJsonPathCache.has(key)) packageJsonPathCache.delete(key);
|
|
40
|
+
else if (packageJsonPathCache.size >= PACKAGE_JSON_PATH_CACHE_MAX_SIZE) {
|
|
41
|
+
const oldest = packageJsonPathCache.keys().next().value;
|
|
42
|
+
if (oldest !== void 0) packageJsonPathCache.delete(oldest);
|
|
43
|
+
}
|
|
44
|
+
packageJsonPathCache.set(key, {
|
|
45
|
+
path: value,
|
|
46
|
+
at: Date.now()
|
|
47
|
+
});
|
|
56
48
|
}
|
|
57
|
-
const packageJsonContentCache = new
|
|
49
|
+
const packageJsonContentCache = new require_primordials_map_set.MapCtor();
|
|
50
|
+
/**
|
|
51
|
+
* Find package.json in the directory containing the file or parent directories.
|
|
52
|
+
* Results are cached to avoid repeated directory traversal.
|
|
53
|
+
*
|
|
54
|
+
* @private
|
|
55
|
+
*
|
|
56
|
+
* @param filePath - Path to search from.
|
|
57
|
+
*
|
|
58
|
+
* @returns Path to package.json if found, undefined otherwise
|
|
59
|
+
*/
|
|
58
60
|
function findPackageJson(filePath) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
packageJsonPathCache.delete(startDir);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const packageJsonPath = (0, import_find_up.findUpSync)("package.json", { cwd: startDir });
|
|
77
|
-
packageJsonPathCacheSet(startDir, packageJsonPath);
|
|
78
|
-
return packageJsonPath;
|
|
61
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
62
|
+
const nodePath = /* @__PURE__ */ require_node_path.getNodePath();
|
|
63
|
+
const startDir = nodePath.dirname(nodePath.resolve(filePath));
|
|
64
|
+
const cached = packageJsonPathCache.get(startDir);
|
|
65
|
+
if (cached !== void 0) if (cached.path === void 0) {
|
|
66
|
+
if (require_primordials_date.DateNow() - cached.at < PACKAGE_JSON_NEGATIVE_TTL_MS) return;
|
|
67
|
+
packageJsonPathCache.delete(startDir);
|
|
68
|
+
} else if (fs.existsSync(cached.path)) {
|
|
69
|
+
packageJsonPathCacheSet(startDir, cached.path);
|
|
70
|
+
return cached.path;
|
|
71
|
+
} else packageJsonPathCache.delete(startDir);
|
|
72
|
+
const packageJsonPath = /* @__PURE__ */ require_fs_find_up.findUpSync("package.json", { cwd: startDir });
|
|
73
|
+
packageJsonPathCacheSet(startDir, packageJsonPath);
|
|
74
|
+
return packageJsonPath;
|
|
79
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Read and parse package.json with caching. Results are cached to avoid
|
|
78
|
+
* repeated file reads.
|
|
79
|
+
*
|
|
80
|
+
* @private
|
|
81
|
+
*
|
|
82
|
+
* @param packageJsonPath - Path to package.json.
|
|
83
|
+
*
|
|
84
|
+
* @returns Parsed package.json or null if invalid
|
|
85
|
+
*/
|
|
80
86
|
function readPackageJson(packageJsonPath) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
87
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
88
|
+
let mtimeMs = 0;
|
|
89
|
+
try {
|
|
90
|
+
mtimeMs = fs.statSync(packageJsonPath).mtimeMs;
|
|
91
|
+
} catch {
|
|
92
|
+
packageJsonContentCache.delete(packageJsonPath);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const cached = packageJsonContentCache.get(packageJsonPath);
|
|
96
|
+
if (cached !== void 0 && cached.mtimeMs === mtimeMs) return cached.content;
|
|
97
|
+
try {
|
|
98
|
+
const content = require_primordials_json.JSONParse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
99
|
+
packageJsonContentCache.set(packageJsonPath, {
|
|
100
|
+
mtimeMs,
|
|
101
|
+
content
|
|
102
|
+
});
|
|
103
|
+
return content;
|
|
104
|
+
} catch {
|
|
105
|
+
packageJsonContentCache.set(packageJsonPath, {
|
|
106
|
+
mtimeMs,
|
|
107
|
+
content: void 0
|
|
108
|
+
});
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
104
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Detect executable type for paths in DLX cache. Uses filesystem structure
|
|
114
|
+
* (node_modules/ presence).
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ;```typescript
|
|
118
|
+
* const result = detectDlxExecutableType('/tmp/.socket/_dlx/a1b2c3d4/tool')
|
|
119
|
+
* console.log(result.type) // 'package' or 'binary'
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* @param filePath - Path within DLX cache (~/.socket/_dlx/)
|
|
123
|
+
*
|
|
124
|
+
* @returns Detection result
|
|
125
|
+
*/
|
|
105
126
|
function detectDlxExecutableType(filePath) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
method: "dlx-cache",
|
|
123
|
-
inDlxCache: true
|
|
124
|
-
};
|
|
127
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
128
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
129
|
+
const dlxDir = require_paths_socket.getSocketDlxDir();
|
|
130
|
+
const absolutePath = path.resolve(filePath);
|
|
131
|
+
const cacheKey = path.relative(dlxDir, absolutePath).split(path.sep)[0] ?? "";
|
|
132
|
+
const cacheDir = path.join(dlxDir, cacheKey);
|
|
133
|
+
if (fs.existsSync(path.join(cacheDir, "node_modules"))) return {
|
|
134
|
+
type: "package",
|
|
135
|
+
method: "dlx-cache",
|
|
136
|
+
inDlxCache: true
|
|
137
|
+
};
|
|
138
|
+
return {
|
|
139
|
+
type: "binary",
|
|
140
|
+
method: "dlx-cache",
|
|
141
|
+
inDlxCache: true
|
|
142
|
+
};
|
|
125
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Detect if a path is a Node.js package or native binary executable. Works for
|
|
146
|
+
* both DLX cache paths and local filesystem paths.
|
|
147
|
+
*
|
|
148
|
+
* Detection strategy: 1. If in DLX cache: Use detectDlxExecutableType() 2.
|
|
149
|
+
* Otherwise: Use detectLocalExecutableType()
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ;```typescript
|
|
153
|
+
* const result = detectExecutableType('/path/to/tool')
|
|
154
|
+
* if (result.type === 'package') {
|
|
155
|
+
* spawnNode([filePath, ...args])
|
|
156
|
+
* } else {
|
|
157
|
+
* spawn(filePath, args)
|
|
158
|
+
* }
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @param filePath - Path to executable (DLX cache or local filesystem)
|
|
162
|
+
*
|
|
163
|
+
* @returns Detection result with type, method, and metadata
|
|
164
|
+
*/
|
|
126
165
|
function detectExecutableType(filePath) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
return detectLocalExecutableType(filePath);
|
|
166
|
+
if (require_dlx_paths.isInSocketDlx(filePath)) return detectDlxExecutableType(filePath);
|
|
167
|
+
return detectLocalExecutableType(filePath);
|
|
131
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Detect executable type for local filesystem paths. Uses package.json and file
|
|
171
|
+
* extension checks.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ;```typescript
|
|
175
|
+
* const result = detectLocalExecutableType('/usr/local/bin/tool')
|
|
176
|
+
* if (result.type === 'package') {
|
|
177
|
+
* console.log('Node.js package at:', result.packageJsonPath)
|
|
178
|
+
* }
|
|
179
|
+
* ```
|
|
180
|
+
*
|
|
181
|
+
* @param filePath - Local filesystem path (not in DLX cache)
|
|
182
|
+
*
|
|
183
|
+
* @returns Detection result
|
|
184
|
+
*/
|
|
132
185
|
function detectLocalExecutableType(filePath) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return {
|
|
153
|
-
type: "binary",
|
|
154
|
-
method: "file-extension",
|
|
155
|
-
inDlxCache: false
|
|
156
|
-
};
|
|
186
|
+
const packageJsonPath = findPackageJson(filePath);
|
|
187
|
+
if (packageJsonPath !== void 0) {
|
|
188
|
+
if (readPackageJson(packageJsonPath)?.["bin"]) return {
|
|
189
|
+
type: "package",
|
|
190
|
+
method: "package-json",
|
|
191
|
+
packageJsonPath,
|
|
192
|
+
inDlxCache: false
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
if (isJsFilePath(filePath)) return {
|
|
196
|
+
inDlxCache: false,
|
|
197
|
+
method: "file-extension",
|
|
198
|
+
type: "package"
|
|
199
|
+
};
|
|
200
|
+
return {
|
|
201
|
+
type: "binary",
|
|
202
|
+
method: "file-extension",
|
|
203
|
+
inDlxCache: false
|
|
204
|
+
};
|
|
157
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Check if a file path indicates a Node.js script.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ;```typescript
|
|
211
|
+
* isJsFilePath('index.js') // true
|
|
212
|
+
* isJsFilePath('lib.mjs') // true
|
|
213
|
+
* isJsFilePath('tool.exe') // false
|
|
214
|
+
* ```
|
|
215
|
+
*
|
|
216
|
+
* @param filePath - Path to check.
|
|
217
|
+
*
|
|
218
|
+
* @returns True if file has .js, .mjs, or .cjs extension
|
|
219
|
+
*/
|
|
158
220
|
function isJsFilePath(filePath) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return NODE_JS_EXTENSIONS.has(ext);
|
|
221
|
+
const ext = (/* @__PURE__ */ require_node_path.getNodePath()).extname(filePath).toLowerCase();
|
|
222
|
+
return NODE_JS_EXTENSIONS.has(ext);
|
|
162
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Simplified helper: Is this a native binary executable?
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ;```typescript
|
|
229
|
+
* isNativeBinary('/usr/local/bin/tool') // true
|
|
230
|
+
* isNativeBinary('/tmp/project/index.js') // false
|
|
231
|
+
* ```
|
|
232
|
+
*
|
|
233
|
+
* @param filePath - Path to check.
|
|
234
|
+
*
|
|
235
|
+
* @returns True if detected as native binary (not Node.js package)
|
|
236
|
+
*/
|
|
163
237
|
function isNativeBinary(filePath) {
|
|
164
|
-
|
|
238
|
+
return detectExecutableType(filePath).type === "binary";
|
|
165
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Simplified helper: Is this a Node.js package?
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ;```typescript
|
|
245
|
+
* isNodePackage('/tmp/project/index.js') // true
|
|
246
|
+
* isNodePackage('/usr/local/bin/tool') // false
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* @param filePath - Path to check.
|
|
250
|
+
*
|
|
251
|
+
* @returns True if detected as Node.js package
|
|
252
|
+
*/
|
|
166
253
|
function isNodePackage(filePath) {
|
|
167
|
-
|
|
254
|
+
return detectExecutableType(filePath).type === "package";
|
|
168
255
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
});
|
|
256
|
+
|
|
257
|
+
//#endregion
|
|
258
|
+
exports.detectDlxExecutableType = detectDlxExecutableType;
|
|
259
|
+
exports.detectExecutableType = detectExecutableType;
|
|
260
|
+
exports.detectLocalExecutableType = detectLocalExecutableType;
|
|
261
|
+
exports.findPackageJson = findPackageJson;
|
|
262
|
+
exports.isJsFilePath = isJsFilePath;
|
|
263
|
+
exports.isNativeBinary = isNativeBinary;
|
|
264
|
+
exports.isNodePackage = isNodePackage;
|
|
265
|
+
exports.packageJsonPathCacheSet = packageJsonPathCacheSet;
|
|
266
|
+
exports.readPackageJson = readPackageJson;
|
package/dist/dlx/dir.js
CHANGED
|
@@ -1,62 +1,78 @@
|
|
|
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
|
-
__export(dir_exports, {
|
|
23
|
-
clearDlx: () => clearDlx,
|
|
24
|
-
clearDlxSync: () => clearDlxSync,
|
|
25
|
-
dlxDirExists: () => dlxDirExists,
|
|
26
|
-
ensureDlxDir: () => ensureDlxDir,
|
|
27
|
-
ensureDlxDirSync: () => ensureDlxDirSync
|
|
28
|
-
});
|
|
29
|
-
module.exports = __toCommonJS(dir_exports);
|
|
30
|
-
var import_safe = require("../fs/safe");
|
|
31
|
-
var import_socket = require("../paths/socket");
|
|
32
|
-
var import_iterate = require("../promises/iterate");
|
|
33
|
-
var import_fs = require("../node/fs");
|
|
34
|
-
var import_packages = require("./packages");
|
|
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_paths_socket = require('../paths/socket.js');
|
|
6
|
+
const require_fs_safe = require('../fs/safe.js');
|
|
7
|
+
const require_promises_iterate = require('../promises/iterate.js');
|
|
8
|
+
const require_dlx_packages = require('./packages.js');
|
|
9
|
+
|
|
10
|
+
//#region src/dlx/dir.ts
|
|
11
|
+
/**
|
|
12
|
+
* @file Directory management utilities for DLX installations.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Clear all DLX package installations.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ;```typescript
|
|
19
|
+
* await clearDlx()
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
35
22
|
async function clearDlx() {
|
|
36
|
-
|
|
37
|
-
await (0, import_iterate.pEach)(packages, (pkg) => (0, import_packages.removeDlxPackage)(pkg));
|
|
23
|
+
await /* @__PURE__ */ require_promises_iterate.pEach(await require_dlx_packages.listDlxPackagesAsync(), (pkg) => require_dlx_packages.removeDlxPackage(pkg));
|
|
38
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Clear all DLX package installations synchronously.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ;```typescript
|
|
30
|
+
* clearDlxSync()
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
39
33
|
function clearDlxSync() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
(0, import_packages.removeDlxPackageSync)(pkg);
|
|
43
|
-
}
|
|
34
|
+
const packages = require_dlx_packages.listDlxPackages();
|
|
35
|
+
for (const pkg of packages) require_dlx_packages.removeDlxPackageSync(pkg);
|
|
44
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if the DLX directory exists.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ;```typescript
|
|
42
|
+
* if (dlxDirExists()) {
|
|
43
|
+
* console.log('DLX directory is present')
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
45
47
|
function dlxDirExists() {
|
|
46
|
-
|
|
47
|
-
return fs.existsSync((0, import_socket.getSocketDlxDir)());
|
|
48
|
+
return (/* @__PURE__ */ require_node_fs.getNodeFs()).existsSync(require_paths_socket.getSocketDlxDir());
|
|
48
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Ensure the DLX directory exists, creating it if necessary.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ;```typescript
|
|
55
|
+
* await ensureDlxDir()
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
49
58
|
async function ensureDlxDir() {
|
|
50
|
-
|
|
59
|
+
await require_fs_safe.safeMkdir(require_paths_socket.getSocketDlxDir());
|
|
51
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Ensure the DLX directory exists synchronously, creating it if necessary.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ;```typescript
|
|
66
|
+
* ensureDlxDirSync()
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
52
69
|
function ensureDlxDirSync() {
|
|
53
|
-
|
|
70
|
+
require_fs_safe.safeMkdirSync(require_paths_socket.getSocketDlxDir());
|
|
54
71
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
exports.clearDlx = clearDlx;
|
|
75
|
+
exports.clearDlxSync = clearDlxSync;
|
|
76
|
+
exports.dlxDirExists = dlxDirExists;
|
|
77
|
+
exports.ensureDlxDir = ensureDlxDir;
|
|
78
|
+
exports.ensureDlxDirSync = ensureDlxDirSync;
|