@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/fs/find-up.js
CHANGED
|
@@ -1,130 +1,131 @@
|
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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_paths_normalize = require('../paths/normalize.js');
|
|
6
|
+
const require_node_fs = require('../node/fs.js');
|
|
7
|
+
const require_node_path = require('../node/path.js');
|
|
8
|
+
const require_process_abort = require('../process/abort.js');
|
|
9
|
+
const require_arrays_predicates = require('../arrays/predicates.js');
|
|
10
|
+
const require_smol_path = require('../smol/path.js');
|
|
11
|
+
const require_paths_walk = require('../paths/walk.js');
|
|
12
|
+
let node_process = require("node:process");
|
|
13
|
+
node_process = require_runtime.__toESM(node_process);
|
|
14
|
+
|
|
15
|
+
//#region src/fs/find-up.ts
|
|
16
|
+
/**
|
|
17
|
+
* @file Walk parent directories to locate a file or directory by name. The
|
|
18
|
+
* traversal includes the filesystem root (or the caller-supplied `stopAt`
|
|
19
|
+
* boundary) — historically the loop exited at `dir === root` _before_
|
|
20
|
+
* visiting root itself, so a match at e.g. `/.foo` was never found. The
|
|
21
|
+
* current shape visits root, then breaks.
|
|
22
|
+
*/
|
|
23
|
+
const abortSignal = require_process_abort.getAbortSignal();
|
|
24
|
+
/**
|
|
25
|
+
* Find a file or directory by traversing up parent directories. Searches from
|
|
26
|
+
* the starting directory upward to the filesystem root. Useful for finding
|
|
27
|
+
* configuration files or project roots.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ;```ts
|
|
31
|
+
* // Find package.json starting from current directory
|
|
32
|
+
* const pkgPath = await findUp('package.json')
|
|
33
|
+
*
|
|
34
|
+
* // Find any of multiple config files
|
|
35
|
+
* const configPath = await findUp(['.config.js', '.config.json'])
|
|
36
|
+
*
|
|
37
|
+
* // Find a directory instead of file
|
|
38
|
+
* const nodeModules = await findUp('node_modules', { onlyDirectories: true })
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @param name - Filename(s) to search for.
|
|
42
|
+
* @param options - Search options including cwd and type filters.
|
|
43
|
+
*
|
|
44
|
+
* @returns Normalized absolute path if found, undefined otherwise
|
|
45
|
+
*/
|
|
46
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
47
47
|
async function findUp(name, options) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const thePath = path.join(dir, n);
|
|
71
|
-
try {
|
|
72
|
-
const stats = await fs.promises.stat(thePath);
|
|
73
|
-
if (!onlyDirectories && stats.isFile()) {
|
|
74
|
-
return (0, import_normalize.normalizePath)(thePath);
|
|
75
|
-
}
|
|
76
|
-
if (!onlyFiles && stats.isDirectory()) {
|
|
77
|
-
return (0, import_normalize.normalizePath)(thePath);
|
|
78
|
-
}
|
|
79
|
-
} catch {
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return void 0;
|
|
48
|
+
const { cwd = node_process.default.cwd(), signal = abortSignal } = {
|
|
49
|
+
__proto__: null,
|
|
50
|
+
...options
|
|
51
|
+
};
|
|
52
|
+
let { onlyDirectories = false, onlyFiles = true } = {
|
|
53
|
+
__proto__: null,
|
|
54
|
+
...options
|
|
55
|
+
};
|
|
56
|
+
if (onlyDirectories) onlyFiles = false;
|
|
57
|
+
if (onlyFiles) onlyDirectories = false;
|
|
58
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
59
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
60
|
+
const names = require_arrays_predicates.isArray(name) ? name : [name];
|
|
61
|
+
for (const dir of require_paths_walk.walkUp(cwd)) for (const n of names) {
|
|
62
|
+
if (signal?.aborted) return;
|
|
63
|
+
const thePath = path.join(dir, n);
|
|
64
|
+
try {
|
|
65
|
+
const stats = await fs.promises.stat(thePath);
|
|
66
|
+
if (!onlyDirectories && stats.isFile()) return /* @__PURE__ */ require_paths_normalize.normalizePath(thePath);
|
|
67
|
+
if (!onlyFiles && stats.isDirectory()) return /* @__PURE__ */ require_paths_normalize.normalizePath(thePath);
|
|
68
|
+
} catch {}
|
|
69
|
+
}
|
|
84
70
|
}
|
|
85
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Synchronously find a file or directory by traversing up parent directories.
|
|
73
|
+
* Searches from the starting directory upward to the filesystem root or
|
|
74
|
+
* `stopAt` directory. Useful for finding configuration files or project roots
|
|
75
|
+
* in synchronous contexts.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ;```ts
|
|
79
|
+
* // Find package.json starting from current directory
|
|
80
|
+
* const pkgPath = findUpSync('package.json')
|
|
81
|
+
*
|
|
82
|
+
* // Find .git directory but stop at home directory
|
|
83
|
+
* const gitPath = findUpSync('.git', {
|
|
84
|
+
* onlyDirectories: true,
|
|
85
|
+
* stopAt: process.env.HOME,
|
|
86
|
+
* })
|
|
87
|
+
*
|
|
88
|
+
* // Find any of multiple config files
|
|
89
|
+
* const configPath = findUpSync(['.eslintrc.js', '.eslintrc.json'])
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @param name - Filename(s) to search for.
|
|
93
|
+
* @param options - Search options including cwd, stopAt, and type filters.
|
|
94
|
+
*
|
|
95
|
+
* @returns Normalized absolute path if found, undefined otherwise
|
|
96
|
+
*/
|
|
97
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
86
98
|
function findUpSync(name, options) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return (0, import_normalize.normalizePath)(thePath);
|
|
116
|
-
}
|
|
117
|
-
if (!onlyFiles && stats.isDirectory()) {
|
|
118
|
-
return (0, import_normalize.normalizePath)(thePath);
|
|
119
|
-
}
|
|
120
|
-
} catch {
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return void 0;
|
|
99
|
+
const { cwd = node_process.default.cwd(), stopAt } = {
|
|
100
|
+
__proto__: null,
|
|
101
|
+
...options
|
|
102
|
+
};
|
|
103
|
+
let { onlyDirectories = false, onlyFiles = true } = {
|
|
104
|
+
__proto__: null,
|
|
105
|
+
...options
|
|
106
|
+
};
|
|
107
|
+
if (onlyDirectories) onlyFiles = false;
|
|
108
|
+
if (onlyFiles) onlyDirectories = false;
|
|
109
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
110
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
111
|
+
const names = require_arrays_predicates.isArray(name) ? name : [name];
|
|
112
|
+
/* c8 ignore start - native findUp arm only on socket-btm smol binaries; getSmolPath() is undefined on stock Node. */
|
|
113
|
+
const smolFindUp = (/* @__PURE__ */ require_smol_path.getSmolPath())?.findUp;
|
|
114
|
+
if (smolFindUp && stopAt === void 0) {
|
|
115
|
+
const found = smolFindUp(path.resolve(cwd), names, { onlyDirectories });
|
|
116
|
+
return found === void 0 ? void 0 : /* @__PURE__ */ require_paths_normalize.normalizePath(found);
|
|
117
|
+
}
|
|
118
|
+
/* c8 ignore stop */
|
|
119
|
+
for (const dir of require_paths_walk.walkUp(cwd, { stopAt })) for (const n of names) {
|
|
120
|
+
const thePath = path.join(dir, n);
|
|
121
|
+
try {
|
|
122
|
+
const stats = fs.statSync(thePath);
|
|
123
|
+
if (!onlyDirectories && stats.isFile()) return /* @__PURE__ */ require_paths_normalize.normalizePath(thePath);
|
|
124
|
+
if (!onlyFiles && stats.isDirectory()) return /* @__PURE__ */ require_paths_normalize.normalizePath(thePath);
|
|
125
|
+
} catch {}
|
|
126
|
+
}
|
|
125
127
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
});
|
|
128
|
+
|
|
129
|
+
//#endregion
|
|
130
|
+
exports.findUp = findUp;
|
|
131
|
+
exports.findUpSync = findUpSync;
|
package/dist/fs/inspect.js
CHANGED
|
@@ -1,112 +1,181 @@
|
|
|
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
|
-
var import_fs = require("../node/fs");
|
|
34
|
-
var import_normalize = require("../paths/normalize");
|
|
35
|
-
// @__NO_SIDE_EFFECTS__
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_paths__internal = require('../paths/_internal.js');
|
|
5
|
+
const require_node_fs = require('../node/fs.js');
|
|
6
|
+
const require_globs_defaults = require('../globs/defaults.js');
|
|
7
|
+
const require_globs_matcher = require('../globs/matcher.js');
|
|
8
|
+
|
|
9
|
+
//#region src/fs/inspect.ts
|
|
10
|
+
/**
|
|
11
|
+
* @file Filesystem inspection helpers — `stat` / `lstat` wrappers that return
|
|
12
|
+
* `undefined` instead of throwing, and the directory / symlink / emptiness
|
|
13
|
+
* predicates layered on top. Every entry point catches errors and reduces
|
|
14
|
+
* them to a falsy result; callers that need the underlying error code should
|
|
15
|
+
* use `node:fs` directly.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Check if a path is a directory asynchronously. Returns `true` for
|
|
19
|
+
* directories, `false` for files or non-existent paths.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ;```ts
|
|
23
|
+
* if (await isDir('./src')) {
|
|
24
|
+
* console.log('src is a directory')
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @param filepath - Path to check.
|
|
29
|
+
*
|
|
30
|
+
* @returns `true` if path is a directory, `false` otherwise
|
|
31
|
+
*/
|
|
32
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
36
33
|
async function isDir(filepath) {
|
|
37
|
-
|
|
34
|
+
return !!(await /* @__PURE__ */ safeStat(filepath))?.isDirectory();
|
|
38
35
|
}
|
|
39
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Check if a directory is empty synchronously. A directory is considered empty
|
|
38
|
+
* if it contains no files after applying ignore patterns. Uses glob patterns to
|
|
39
|
+
* filter ignored files.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ;```ts
|
|
43
|
+
* // Check if directory is completely empty
|
|
44
|
+
* isDirEmptySync('./build')
|
|
45
|
+
*
|
|
46
|
+
* // Check if directory is empty, ignoring .DS_Store files
|
|
47
|
+
* isDirEmptySync('./cache', { ignore: ['.DS_Store'] })
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @param dirname - Directory path to check.
|
|
51
|
+
* @param options - Options including ignore patterns.
|
|
52
|
+
*
|
|
53
|
+
* @returns `true` if directory is empty (or doesn't exist), `false` otherwise
|
|
54
|
+
*/
|
|
55
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
40
56
|
function isDirEmptySync(dirname, options) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const file = files[i];
|
|
61
|
-
if (file && matcher(file)) {
|
|
62
|
-
ignoredCount += 1;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return ignoredCount === length;
|
|
66
|
-
} catch {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
57
|
+
const { ignore = require_globs_defaults.defaultIgnore } = {
|
|
58
|
+
__proto__: null,
|
|
59
|
+
...options
|
|
60
|
+
};
|
|
61
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
62
|
+
try {
|
|
63
|
+
const files = fs.readdirSync(dirname);
|
|
64
|
+
const { length } = files;
|
|
65
|
+
if (length === 0) return true;
|
|
66
|
+
const matcher = /* @__PURE__ */ require_globs_matcher.getGlobMatcher(ignore, { cwd: /* @__PURE__ */ require_paths__internal.pathLikeToString(dirname) });
|
|
67
|
+
let ignoredCount = 0;
|
|
68
|
+
for (let i = 0; i < length; i += 1) {
|
|
69
|
+
const file = files[i];
|
|
70
|
+
if (file && matcher(file)) ignoredCount += 1;
|
|
71
|
+
}
|
|
72
|
+
return ignoredCount === length;
|
|
73
|
+
} catch {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
69
76
|
}
|
|
70
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Check if a path is a directory synchronously. Returns `true` for directories,
|
|
79
|
+
* `false` for files or non-existent paths.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ;```ts
|
|
83
|
+
* if (isDirSync('./src')) {
|
|
84
|
+
* console.log('src is a directory')
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @param filepath - Path to check.
|
|
89
|
+
*
|
|
90
|
+
* @returns `true` if path is a directory, `false` otherwise
|
|
91
|
+
*/
|
|
92
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
71
93
|
function isDirSync(filepath) {
|
|
72
|
-
|
|
94
|
+
return !!(/* @__PURE__ */ safeStatSync(filepath))?.isDirectory();
|
|
73
95
|
}
|
|
74
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Check if a path is a symbolic link synchronously. Uses `lstat` to check the
|
|
98
|
+
* link itself, not the target.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ;```ts
|
|
102
|
+
* if (isSymlinkSync('./my-link')) {
|
|
103
|
+
* console.log('Path is a symbolic link')
|
|
104
|
+
* }
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @param filepath - Path to check.
|
|
108
|
+
*
|
|
109
|
+
* @returns `true` if path is a symbolic link, `false` otherwise
|
|
110
|
+
*/
|
|
111
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
75
112
|
function isSymlinkSync(filepath) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return false;
|
|
113
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
114
|
+
try {
|
|
115
|
+
return fs.lstatSync(filepath).isSymbolicLink();
|
|
116
|
+
} catch {}
|
|
117
|
+
return false;
|
|
82
118
|
}
|
|
83
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Safely get file stats asynchronously, returning undefined on error. Useful
|
|
121
|
+
* for checking file existence and properties without error handling. Returns
|
|
122
|
+
* undefined for any error (file not found, permission denied, etc.).
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ;```ts
|
|
126
|
+
* // Check if file exists and get its stats
|
|
127
|
+
* const stats = await safeStat('./file.txt')
|
|
128
|
+
* if (stats) {
|
|
129
|
+
* console.log('File size:', stats.size)
|
|
130
|
+
* console.log('Modified:', stats.mtime)
|
|
131
|
+
* }
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @param filepath - Path to check.
|
|
135
|
+
*
|
|
136
|
+
* @returns Promise resolving to Stats object, or undefined on error
|
|
137
|
+
*/
|
|
138
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
84
139
|
async function safeStat(filepath) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
return void 0;
|
|
140
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
141
|
+
try {
|
|
142
|
+
return await fs.promises.stat(filepath);
|
|
143
|
+
} catch {}
|
|
91
144
|
}
|
|
92
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Safely get file stats synchronously, returning undefined on error. Useful for
|
|
147
|
+
* checking file existence and properties without error handling. Returns
|
|
148
|
+
* undefined for any error (file not found, permission denied, etc.).
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ;```ts
|
|
152
|
+
* // Check if file exists and get its size
|
|
153
|
+
* const stats = safeStatSync('./file.txt')
|
|
154
|
+
* if (stats) {
|
|
155
|
+
* console.log('File size:', stats.size)
|
|
156
|
+
* console.log('Is directory:', stats.isDirectory())
|
|
157
|
+
* }
|
|
158
|
+
* ```
|
|
159
|
+
*
|
|
160
|
+
* @param filepath - Path to check.
|
|
161
|
+
*
|
|
162
|
+
* @returns Stats object, or undefined on error
|
|
163
|
+
*/
|
|
164
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
93
165
|
function safeStatSync(filepath) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
return void 0;
|
|
166
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
167
|
+
try {
|
|
168
|
+
return fs.statSync(filepath, {
|
|
169
|
+
__proto__: null,
|
|
170
|
+
throwIfNoEntry: false
|
|
171
|
+
});
|
|
172
|
+
} catch {}
|
|
103
173
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
});
|
|
174
|
+
|
|
175
|
+
//#endregion
|
|
176
|
+
exports.isDir = isDir;
|
|
177
|
+
exports.isDirEmptySync = isDirEmptySync;
|
|
178
|
+
exports.isDirSync = isDirSync;
|
|
179
|
+
exports.isSymlinkSync = isSymlinkSync;
|
|
180
|
+
exports.safeStat = safeStat;
|
|
181
|
+
exports.safeStatSync = safeStatSync;
|
package/dist/fs/path-cache.js
CHANGED
|
@@ -1,35 +1,34 @@
|
|
|
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_paths_rewire = require('../paths/rewire.js');
|
|
5
|
+
const require_fs__internal = require('./_internal.js');
|
|
6
|
+
|
|
7
|
+
//#region src/fs/path-cache.ts
|
|
8
|
+
/**
|
|
9
|
+
* @file Cache-invalidation entry point for the allowed-directories list used by
|
|
10
|
+
* `safeDelete` / `safeDeleteSync`. Loading this module registers
|
|
11
|
+
* `invalidatePathCache` with `paths/rewire.ts` so test-time path overrides
|
|
12
|
+
* flush the cache; the registration is the module's only side effect, so
|
|
13
|
+
* callers that just need to flush the cache imperatively can call
|
|
14
|
+
* `invalidatePathCache()` directly without that side effect repeating.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Invalidate the cached allowed directories. Called automatically by the
|
|
18
|
+
* paths/rewire module when paths are overridden in tests.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ;```typescript
|
|
22
|
+
* invalidatePathCache()
|
|
23
|
+
* // Cached allowed directories are now cleared
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @internal Used for test rewiring
|
|
27
|
+
*/
|
|
28
28
|
function invalidatePathCache() {
|
|
29
|
-
|
|
29
|
+
require_fs__internal.clearAllowedDirectories();
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
31
|
+
require_paths_rewire.registerCacheInvalidation(invalidatePathCache);
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.invalidatePathCache = invalidatePathCache;
|