@socketsecurity/lib 5.27.0 → 6.0.0
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 +69 -27
- package/README.md +1 -1
- package/dist/abort/signal.d.ts +28 -0
- package/dist/{abort.js → abort/signal.js} +12 -10
- package/dist/ai/discover.d.mts +50 -0
- package/dist/ai/discover.js +128 -0
- package/dist/ai/profiles.d.mts +39 -0
- package/dist/ai/profiles.js +61 -0
- package/dist/ai/spawn.d.mts +49 -0
- package/dist/ai/spawn.js +207 -0
- package/dist/ai/types.d.mts +117 -0
- package/dist/ai/types.js +18 -0
- package/dist/ai/worktree.d.mts +104 -0
- package/dist/ai/worktree.js +200 -0
- package/dist/ansi/constants.d.ts +10 -0
- package/dist/ansi/constants.js +45 -0
- package/dist/ansi/strip.d.ts +33 -0
- package/dist/{ansi.js → ansi/strip.js} +7 -24
- package/dist/archives/_internal.d.ts +39 -0
- package/dist/archives/_internal.js +87 -0
- package/dist/archives/detect.d.ts +19 -0
- package/dist/archives/detect.js +46 -0
- package/dist/archives/extract.d.ts +22 -0
- package/dist/archives/extract.js +53 -0
- package/dist/archives/tar.d.ts +42 -0
- package/dist/archives/tar.js +233 -0
- package/dist/archives/types.d.ts +34 -0
- package/dist/archives/types.js +18 -0
- package/dist/archives/zip.d.ts +20 -0
- package/dist/archives/zip.js +124 -0
- package/dist/argv/flag-predicates.d.ts +179 -0
- package/dist/argv/flag-predicates.js +118 -0
- package/dist/argv/flag-types.d.ts +123 -0
- package/dist/argv/flag-types.js +116 -0
- package/dist/argv/parse.d.ts +34 -33
- package/dist/argv/parse.js +6 -4
- package/dist/arrays/_internal.d.ts +43 -0
- package/dist/{arrays.js → arrays/_internal.js} +8 -41
- package/dist/arrays/chunk.d.ts +37 -0
- package/dist/arrays/chunk.js +43 -0
- package/dist/arrays/join.d.ts +76 -0
- package/dist/{env/helpers.js → arrays/join.js} +12 -18
- package/dist/arrays/predicates.d.ts +40 -0
- package/dist/arrays/predicates.js +30 -0
- package/dist/arrays/unique.d.ts +36 -0
- package/dist/arrays/unique.js +34 -0
- package/dist/bin/_internal.d.ts +22 -0
- package/dist/bin/_internal.js +43 -0
- package/dist/bin/check-primordials.d.ts +44 -0
- package/dist/bin/check-primordials.js +245 -0
- package/dist/bin/check.d.ts +10 -0
- package/dist/bin/check.js +77 -0
- package/dist/bin/exec.d.ts +37 -0
- package/dist/bin/exec.js +79 -0
- package/dist/bin/find.d.ts +58 -0
- package/dist/bin/find.js +143 -0
- package/dist/bin/resolve.d.ts +30 -0
- package/dist/bin/resolve.js +249 -0
- package/dist/bin/shadow.d.ts +16 -0
- package/dist/bin/shadow.js +36 -0
- package/dist/bin/socket-lib.d.ts +13 -0
- package/dist/bin/socket-lib.js +79 -0
- package/dist/bin/types.d.ts +34 -0
- package/dist/bin/types.js +18 -0
- package/dist/bin/which.d.ts +111 -0
- package/dist/bin/which.js +155 -0
- package/dist/cacache/_internal.d.ts +15 -0
- package/dist/cacache/_internal.js +43 -0
- package/dist/cacache/clear.d.ts +43 -0
- package/dist/cacache/clear.js +77 -0
- package/dist/cacache/read.d.ts +31 -0
- package/dist/cacache/read.js +51 -0
- package/dist/cacache/tmp.d.ts +18 -0
- package/dist/cacache/tmp.js +39 -0
- package/dist/cacache/types.d.ts +37 -0
- package/dist/cacache/types.js +18 -0
- package/dist/cacache/write.d.ts +31 -0
- package/dist/cacache/write.js +53 -0
- package/dist/checks/primordials.d.ts +118 -0
- package/dist/checks/primordials.js +293 -0
- package/dist/colors/convert.d.ts +35 -0
- package/dist/colors/convert.js +42 -0
- package/dist/colors/palette.d.ts +7 -0
- package/dist/{colors.js → colors/palette.js} +5 -17
- package/dist/colors/types.d.ts +29 -0
- package/dist/colors/types.js +18 -0
- package/dist/compression/_internal.d.ts +33 -0
- package/dist/compression/_internal.js +77 -0
- package/dist/compression/brotli.d.ts +82 -0
- package/dist/compression/brotli.js +147 -0
- package/dist/compression/gzip.d.ts +70 -0
- package/dist/compression/gzip.js +142 -0
- package/dist/compression/types.d.ts +37 -0
- package/dist/compression/types.js +18 -0
- package/dist/constants/agents.d.ts +4 -3
- package/dist/constants/agents.js +7 -4
- package/dist/constants/encoding.d.ts +3 -3
- package/dist/constants/github.d.ts +2 -3
- package/dist/constants/licenses.d.ts +5 -5
- package/dist/constants/licenses.js +2 -2
- package/dist/constants/lifecycle-script-names.d.ts +3 -4
- package/dist/constants/lifecycle-script-names.js +2 -2
- package/dist/constants/maintained-node-versions.d.ts +1 -1
- package/dist/constants/maintained-node-versions.js +3 -4
- package/dist/constants/node.d.ts +21 -20
- package/dist/constants/node.js +4 -4
- package/dist/constants/package-default-node-range.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.js +2 -2
- package/dist/constants/packages.d.ts +4 -4
- package/dist/constants/packages.js +7 -5
- package/dist/constants/platform.d.ts +3 -1
- package/dist/constants/platform.js +3 -10
- package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
- package/dist/constants/{core.js → sentinels.js} +3 -3
- package/dist/constants/socket.d.ts +4 -6
- package/dist/constants/socket.js +6 -9
- package/dist/constants/testing.d.ts +3 -3
- package/dist/constants/time.d.ts +3 -3
- package/dist/constants/typescript.d.ts +3 -3
- package/dist/cover/code.d.ts +11 -3
- package/dist/cover/code.js +26 -36
- package/dist/cover/formatters.d.ts +19 -15
- package/dist/cover/formatters.js +21 -18
- package/dist/cover/type.d.ts +4 -3
- package/dist/cover/type.js +9 -8
- package/dist/cover/types.d.ts +1 -1
- package/dist/crypto/hash.d.ts +36 -0
- package/dist/{crypto.js → crypto/hash.js} +17 -17
- package/dist/debug/_internal.d.ts +25 -0
- package/dist/debug/_internal.js +77 -0
- package/dist/debug/caller-info.d.ts +12 -0
- package/dist/debug/caller-info.js +67 -0
- package/dist/debug/namespace.d.ts +35 -0
- package/dist/debug/namespace.js +101 -0
- package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
- package/dist/debug/output.js +209 -0
- package/dist/debug/types.d.ts +21 -0
- package/dist/debug/types.js +18 -0
- package/dist/dlx/_internal.d.ts +10 -0
- package/dist/dlx/_internal.js +47 -0
- package/dist/dlx/arborist.d.ts +86 -61
- package/dist/dlx/arborist.js +30 -35
- package/dist/dlx/binary-cache.d.ts +108 -0
- package/dist/dlx/binary-cache.js +212 -0
- package/dist/dlx/binary-download.d.ts +67 -0
- package/dist/dlx/binary-download.js +216 -0
- package/dist/dlx/binary-resolution.d.ts +61 -0
- package/dist/dlx/binary-resolution.js +164 -0
- package/dist/dlx/binary-types.d.ts +144 -0
- package/dist/dlx/binary-types.js +18 -0
- package/dist/dlx/binary.d.ts +39 -268
- package/dist/dlx/binary.js +38 -319
- package/dist/dlx/cache.d.ts +21 -16
- package/dist/dlx/cache.js +2 -2
- package/dist/dlx/detect.d.ts +94 -68
- package/dist/dlx/detect.js +32 -35
- package/dist/dlx/dir.d.ts +20 -18
- package/dist/dlx/dir.js +7 -14
- package/dist/dlx/firewall.d.ts +27 -0
- package/dist/dlx/firewall.js +107 -0
- package/dist/dlx/lockfile.d.ts +73 -56
- package/dist/dlx/lockfile.js +36 -44
- package/dist/dlx/manifest.d.ts +50 -51
- package/dist/dlx/manifest.js +51 -52
- package/dist/dlx/package.d.ts +83 -249
- package/dist/dlx/package.js +48 -268
- package/dist/dlx/packages.d.ts +22 -20
- package/dist/dlx/packages.js +15 -20
- package/dist/dlx/paths.d.ts +26 -23
- package/dist/dlx/paths.js +8 -15
- package/dist/dlx/spec.d.ts +25 -0
- package/dist/dlx/spec.js +63 -0
- package/dist/dlx/types.d.ts +142 -0
- package/dist/dlx/types.js +18 -0
- package/dist/eco/cargo/lockfile-format.d.ts +8 -0
- package/dist/eco/cargo/lockfile-format.js +39 -0
- package/dist/eco/cargo/manifest-format.d.ts +7 -0
- package/dist/eco/cargo/manifest-format.js +38 -0
- package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
- package/dist/eco/cargo/parse-lockfile.js +257 -0
- package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
- package/dist/eco/manifest/analyze-lockfile.js +67 -0
- package/dist/eco/manifest/detect-format.d.ts +15 -0
- package/dist/eco/manifest/detect-format.js +98 -0
- package/dist/eco/manifest/find-packages.d.ts +14 -0
- package/dist/eco/manifest/find-packages.js +69 -0
- package/dist/eco/manifest/get-package-versions.d.ts +8 -0
- package/dist/eco/manifest/get-package-versions.js +52 -0
- package/dist/eco/manifest/get-package.d.ts +10 -0
- package/dist/eco/manifest/get-package.js +44 -0
- package/dist/eco/manifest/manifest-error.d.ts +18 -0
- package/dist/eco/manifest/manifest-error.js +37 -0
- package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
- package/dist/eco/manifest/parse-lockfile.js +91 -0
- package/dist/eco/manifest/parse-manifest.d.ts +12 -0
- package/dist/eco/manifest/parse-manifest.js +48 -0
- package/dist/eco/manifest/parse.d.ts +9 -0
- package/dist/eco/manifest/parse.js +52 -0
- package/dist/eco/manifest/types.d.ts +10 -0
- package/dist/eco/manifest/types.js +18 -0
- package/dist/eco/npm/bun/exec.d.ts +15 -0
- package/dist/eco/npm/bun/exec.js +35 -0
- package/dist/eco/npm/manifest-format.d.ts +11 -0
- package/dist/eco/npm/manifest-format.js +38 -0
- package/dist/eco/npm/npm/exec.d.ts +24 -0
- package/dist/eco/npm/npm/exec.js +64 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
- package/dist/eco/npm/npm/flags.d.ts +62 -0
- package/dist/eco/npm/npm/flags.js +63 -0
- package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/npm/lockfile-format.js +42 -0
- package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
- package/dist/eco/npm/npm/parse-git-url.js +43 -0
- package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
- package/dist/eco/npm/npm/parse-lockfile.js +224 -0
- package/dist/eco/npm/parse-package-json.d.ts +16 -0
- package/dist/eco/npm/parse-package-json.js +115 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
- package/dist/eco/npm/pnpm/exec.d.ts +26 -0
- package/dist/eco/npm/pnpm/exec.js +65 -0
- package/dist/eco/npm/pnpm/flags.d.ts +44 -0
- package/dist/eco/npm/pnpm/flags.js +76 -0
- package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
- package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
- package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
- package/dist/eco/npm/script.d.ts +35 -0
- package/dist/eco/npm/script.js +93 -0
- package/dist/eco/npm/vlt/exec.d.ts +16 -0
- package/dist/eco/npm/vlt/exec.js +35 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
- package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
- package/dist/{types.js → eco/purl.js} +3 -3
- package/dist/eco/types.d.ts +51 -0
- package/dist/eco/types.js +18 -0
- package/dist/effects/pulse-frames.d.ts +16 -17
- package/dist/effects/pulse-frames.js +4 -4
- package/dist/effects/shimmer-keyframes.d.ts +39 -37
- package/dist/effects/shimmer-terminal.d.ts +43 -42
- package/dist/effects/shimmer-terminal.js +3 -3
- package/dist/effects/shimmer.d.ts +172 -153
- package/dist/effects/shimmer.js +78 -76
- package/dist/env/boolean.d.ts +33 -0
- package/dist/env/boolean.js +46 -0
- package/dist/env/case-insensitive.d.ts +42 -0
- package/dist/env/case-insensitive.js +42 -0
- package/dist/env/ci.d.ts +11 -12
- package/dist/env/debug.d.ts +10 -10
- package/dist/env/github.d.ts +71 -74
- package/dist/env/home.d.ts +15 -14
- package/dist/env/locale.d.ts +26 -29
- package/dist/env/node-auth-token.d.ts +10 -10
- package/dist/env/node-env.d.ts +10 -10
- package/dist/env/npm.d.ts +45 -47
- package/dist/env/number.d.ts +29 -0
- package/dist/env/number.js +54 -0
- package/dist/env/package-manager.d.ts +36 -33
- package/dist/env/package-manager.js +3 -3
- package/dist/env/path.d.ts +10 -10
- package/dist/env/pre-commit.d.ts +11 -11
- package/dist/env/pre-commit.js +2 -2
- package/dist/env/proxy.d.ts +44 -0
- package/dist/env/proxy.js +126 -0
- package/dist/env/rewire.d.ts +105 -99
- package/dist/env/rewire.js +11 -8
- package/dist/env/shell.d.ts +10 -10
- package/dist/env/socket-cli.d.ts +109 -125
- package/dist/env/socket-cli.js +7 -12
- package/dist/env/socket.d.ts +347 -130
- package/dist/env/socket.js +107 -8
- package/dist/env/string.d.ts +28 -0
- package/dist/env/string.js +47 -0
- package/dist/env/temp-dir.d.ts +26 -29
- package/dist/env/term.d.ts +10 -10
- package/dist/env/test.d.ts +29 -31
- package/dist/env/test.js +5 -4
- package/dist/env/types.d.ts +62 -0
- package/dist/env/types.js +18 -0
- package/dist/env/windows.d.ts +37 -38
- package/dist/env/xdg.d.ts +29 -29
- package/dist/errors/message.d.ts +27 -0
- package/dist/errors/message.js +49 -0
- package/dist/errors/predicates.d.ts +46 -0
- package/dist/{errors.js → errors/predicates.js} +13 -43
- package/dist/errors/stack.d.ts +16 -0
- package/dist/errors/stack.js +39 -0
- package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
- package/dist/external/@npmcli/package-json.js +300 -82
- package/dist/external/@npmcli/promise-spawn.js +15 -1
- package/dist/external/@socketregistry/packageurl-js.js +7 -1
- package/dist/external/@socketregistry/yocto-spinner.js +5 -1
- package/dist/external/@yarnpkg/extensions.js +1 -1
- package/dist/external/adm-zip.js +20 -4
- package/dist/external/debug.js +15 -1
- package/dist/external/external-pack.js +20 -4
- package/dist/external/fast-sort.js +3 -1
- package/dist/external/get-east-asian-width.js +3 -1
- package/dist/external/libnpmexec.js +5 -1
- package/dist/external/npm-pack.js +344 -113
- package/dist/external/p-map.js +7 -1
- package/dist/external/pico-pack.js +17 -1
- package/dist/external/pony-cause.js +1 -1
- package/dist/external/spdx-pack.js +3 -1
- package/dist/external/supports-color.js +1 -1
- package/dist/external/tar-fs.js +15 -1
- package/dist/external/which.js +11 -1
- package/dist/external/yargs-parser.js +15 -1
- package/dist/external-tools/bazel/asset-names.d.ts +66 -0
- package/dist/external-tools/bazel/asset-names.js +96 -0
- package/dist/external-tools/bazel/from-download.d.ts +49 -0
- package/dist/external-tools/bazel/from-download.js +49 -0
- package/dist/external-tools/bazel/from-path.d.ts +8 -0
- package/dist/external-tools/bazel/from-path.js +41 -0
- package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
- package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
- package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
- package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
- package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
- package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
- package/dist/external-tools/bazel/resolve.d.ts +35 -0
- package/dist/external-tools/bazel/resolve.js +68 -0
- package/dist/external-tools/bazel/types.d.ts +22 -0
- package/dist/external-tools/bazel/types.js +18 -0
- package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
- package/dist/external-tools/cdxgen/asset-names.js +79 -0
- package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
- package/dist/external-tools/cdxgen/from-download.js +83 -0
- package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
- package/dist/external-tools/cdxgen/from-path.js +40 -0
- package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
- package/dist/external-tools/cdxgen/from-vfs.js +47 -0
- package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
- package/dist/external-tools/cdxgen/resolve.js +73 -0
- package/dist/external-tools/cdxgen/types.d.ts +33 -0
- package/dist/external-tools/cdxgen/types.js +18 -0
- package/dist/external-tools/from-download.d.ts +162 -0
- package/dist/external-tools/from-download.js +72 -0
- package/dist/external-tools/janus/asset-names.d.ts +36 -0
- package/dist/external-tools/janus/asset-names.js +52 -0
- package/dist/external-tools/janus/from-download.d.ts +26 -0
- package/dist/external-tools/janus/from-download.js +65 -0
- package/dist/external-tools/janus/from-path.d.ts +5 -0
- package/dist/external-tools/janus/from-path.js +40 -0
- package/dist/external-tools/janus/from-vfs.d.ts +7 -0
- package/dist/external-tools/janus/from-vfs.js +47 -0
- package/dist/external-tools/janus/resolve.d.ts +28 -0
- package/dist/external-tools/janus/resolve.js +73 -0
- package/dist/external-tools/janus/types.d.ts +24 -0
- package/dist/external-tools/janus/types.js +18 -0
- package/dist/external-tools/jre/asset-names.d.ts +91 -0
- package/dist/external-tools/jre/asset-names.js +88 -0
- package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
- package/dist/external-tools/jre/detect-platform-arch.js +52 -0
- package/dist/external-tools/jre/from-download.d.ts +62 -0
- package/dist/external-tools/jre/from-download.js +70 -0
- package/dist/external-tools/jre/from-java-home.d.ts +10 -0
- package/dist/external-tools/jre/from-java-home.js +57 -0
- package/dist/external-tools/jre/from-path.d.ts +9 -0
- package/dist/external-tools/jre/from-path.js +52 -0
- package/dist/external-tools/jre/from-vfs.d.ts +17 -0
- package/dist/external-tools/jre/from-vfs.js +64 -0
- package/dist/external-tools/jre/resolve.d.ts +40 -0
- package/dist/external-tools/jre/resolve.js +78 -0
- package/dist/external-tools/jre/types.d.ts +28 -0
- package/dist/external-tools/jre/types.js +18 -0
- package/dist/external-tools/manifest.d.ts +105 -0
- package/dist/external-tools/manifest.js +167 -0
- package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
- package/dist/external-tools/opengrep/asset-names.js +78 -0
- package/dist/external-tools/opengrep/from-download.d.ts +17 -0
- package/dist/external-tools/opengrep/from-download.js +83 -0
- package/dist/external-tools/opengrep/from-path.d.ts +5 -0
- package/dist/external-tools/opengrep/from-path.js +40 -0
- package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
- package/dist/external-tools/opengrep/from-vfs.js +47 -0
- package/dist/external-tools/opengrep/resolve.d.ts +26 -0
- package/dist/external-tools/opengrep/resolve.js +73 -0
- package/dist/external-tools/opengrep/types.d.ts +24 -0
- package/dist/external-tools/opengrep/types.js +18 -0
- package/dist/external-tools/sbt/asset-names.d.ts +31 -0
- package/dist/external-tools/sbt/asset-names.js +33 -0
- package/dist/external-tools/sbt/from-download.d.ts +44 -0
- package/dist/external-tools/sbt/from-download.js +64 -0
- package/dist/external-tools/sbt/from-path.d.ts +8 -0
- package/dist/external-tools/sbt/from-path.js +41 -0
- package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
- package/dist/external-tools/sbt/from-vfs.js +48 -0
- package/dist/external-tools/sbt/resolve.d.ts +31 -0
- package/dist/external-tools/sbt/resolve.js +73 -0
- package/dist/external-tools/sbt/types.d.ts +32 -0
- package/dist/external-tools/sbt/types.js +18 -0
- package/dist/external-tools/synp/asset-names.d.ts +14 -0
- package/dist/external-tools/synp/asset-names.js +32 -0
- package/dist/external-tools/synp/from-download.d.ts +18 -0
- package/dist/external-tools/synp/from-download.js +44 -0
- package/dist/external-tools/synp/from-path.d.ts +5 -0
- package/dist/external-tools/synp/from-path.js +40 -0
- package/dist/external-tools/synp/from-vfs.d.ts +7 -0
- package/dist/external-tools/synp/from-vfs.js +47 -0
- package/dist/external-tools/synp/resolve.d.ts +21 -0
- package/dist/external-tools/synp/resolve.js +72 -0
- package/dist/external-tools/synp/types.d.ts +19 -0
- package/dist/external-tools/synp/types.js +18 -0
- package/dist/external-tools/trivy/asset-names.d.ts +34 -0
- package/dist/external-tools/trivy/asset-names.js +68 -0
- package/dist/external-tools/trivy/from-download.d.ts +17 -0
- package/dist/external-tools/trivy/from-download.js +67 -0
- package/dist/external-tools/trivy/from-path.d.ts +5 -0
- package/dist/external-tools/trivy/from-path.js +40 -0
- package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
- package/dist/external-tools/trivy/from-vfs.js +47 -0
- package/dist/external-tools/trivy/resolve.d.ts +26 -0
- package/dist/external-tools/trivy/resolve.js +73 -0
- package/dist/external-tools/trivy/types.d.ts +24 -0
- package/dist/external-tools/trivy/types.js +18 -0
- package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
- package/dist/external-tools/trufflehog/asset-names.js +72 -0
- package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
- package/dist/external-tools/trufflehog/from-download.js +65 -0
- package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
- package/dist/external-tools/trufflehog/from-path.js +40 -0
- package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
- package/dist/external-tools/trufflehog/from-vfs.js +47 -0
- package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
- package/dist/external-tools/trufflehog/resolve.js +73 -0
- package/dist/external-tools/trufflehog/types.d.ts +25 -0
- package/dist/external-tools/trufflehog/types.js +18 -0
- package/dist/external-tools/uv/asset-names.d.ts +36 -0
- package/dist/external-tools/uv/asset-names.js +80 -0
- package/dist/external-tools/uv/from-download.d.ts +17 -0
- package/dist/external-tools/uv/from-download.js +68 -0
- package/dist/external-tools/uv/from-path.d.ts +5 -0
- package/dist/external-tools/uv/from-path.js +40 -0
- package/dist/external-tools/uv/from-vfs.d.ts +7 -0
- package/dist/external-tools/uv/from-vfs.js +47 -0
- package/dist/external-tools/uv/resolve.d.ts +25 -0
- package/dist/external-tools/uv/resolve.js +73 -0
- package/dist/external-tools/uv/types.d.ts +24 -0
- package/dist/external-tools/uv/types.js +18 -0
- package/dist/fs/_internal.d.ts +22 -0
- package/dist/fs/_internal.js +48 -0
- package/dist/fs/encoding.d.ts +49 -0
- package/dist/fs/encoding.js +102 -0
- package/dist/fs/find-up.d.ts +58 -0
- package/dist/fs/find-up.js +152 -0
- package/dist/fs/inspect.d.ts +117 -0
- package/dist/fs/inspect.js +112 -0
- package/dist/fs/path-cache.d.ts +21 -0
- package/dist/fs/path-cache.js +35 -0
- package/dist/fs/read-dir.d.ts +66 -0
- package/dist/fs/read-dir.js +86 -0
- package/dist/fs/read-file.d.ts +150 -0
- package/dist/fs/read-file.js +131 -0
- package/dist/fs/read-json.d.ts +72 -0
- package/dist/fs/read-json.js +120 -0
- package/dist/fs/safe.d.ts +153 -0
- package/dist/fs/safe.js +182 -0
- package/dist/fs/types.d.ts +277 -0
- package/dist/fs/types.js +18 -0
- package/dist/fs/unique.d.ts +29 -0
- package/dist/fs/unique.js +51 -0
- package/dist/fs/validate.d.ts +40 -0
- package/dist/fs/validate.js +46 -0
- package/dist/fs/write-json.d.ts +78 -0
- package/dist/fs/write-json.js +83 -0
- package/dist/git/_internal.d.ts +105 -0
- package/dist/git/_internal.js +236 -0
- package/dist/git/changed.d.ts +145 -0
- package/dist/git/changed.js +83 -0
- package/dist/git/repo.d.ts +62 -0
- package/dist/git/repo.js +111 -0
- package/dist/git/staged.d.ts +138 -0
- package/dist/git/staged.js +71 -0
- package/dist/git/types.d.ts +109 -0
- package/dist/git/types.js +18 -0
- package/dist/git/unstaged.d.ts +141 -0
- package/dist/git/unstaged.js +71 -0
- package/dist/github/constants.d.ts +18 -0
- package/dist/github/constants.js +36 -0
- package/dist/github/errors.d.ts +36 -0
- package/dist/github/errors.js +40 -0
- package/dist/github/fetch.d.ts +89 -0
- package/dist/github/fetch.js +87 -0
- package/dist/github/ghsa.d.ts +118 -0
- package/dist/github/ghsa.js +178 -0
- package/dist/github/refs-cache.d.ts +40 -0
- package/dist/github/refs-cache.js +49 -0
- package/dist/github/refs-graphql.d.ts +42 -0
- package/dist/github/refs-graphql.js +109 -0
- package/dist/github/refs-rest.d.ts +23 -0
- package/dist/github/refs-rest.js +104 -0
- package/dist/github/refs.d.ts +84 -0
- package/dist/github/refs.js +67 -0
- package/dist/github/token.d.ts +77 -0
- package/dist/github/token.js +55 -0
- package/dist/github/types.d.ts +277 -0
- package/dist/github/types.js +18 -0
- package/dist/globs/_internal.d.ts +46 -0
- package/dist/globs/_internal.js +96 -0
- package/dist/globs/defaults.d.ts +7 -0
- package/dist/globs/defaults.js +61 -0
- package/dist/globs/glob.d.ts +59 -0
- package/dist/globs/glob.js +84 -0
- package/dist/globs/matcher.d.ts +46 -0
- package/dist/globs/matcher.js +99 -0
- package/dist/globs/stream.d.ts +18 -0
- package/dist/globs/stream.js +58 -0
- package/dist/globs/types.d.ts +35 -0
- package/dist/globs/types.js +18 -0
- package/dist/http-request/_internal.d.ts +18 -0
- package/dist/http-request/_internal.js +39 -0
- package/dist/http-request/checksums.d.ts +69 -0
- package/dist/http-request/checksums.js +72 -0
- package/dist/http-request/convenience.d.ts +104 -0
- package/dist/http-request/convenience.js +96 -0
- package/dist/http-request/download-types.d.ts +224 -0
- package/dist/http-request/download-types.js +18 -0
- package/dist/http-request/download.d.ts +71 -0
- package/dist/http-request/download.js +201 -0
- package/dist/http-request/errors.d.ts +23 -0
- package/dist/http-request/errors.js +50 -0
- package/dist/http-request/headers.d.ts +57 -0
- package/dist/http-request/headers.js +86 -0
- package/dist/http-request/request-attempt.d.ts +21 -0
- package/dist/http-request/request-attempt.js +284 -0
- package/dist/http-request/request-types.d.ts +238 -0
- package/dist/http-request/request-types.js +18 -0
- package/dist/http-request/request.d.ts +59 -0
- package/dist/http-request/request.js +106 -0
- package/dist/http-request/response-reader.d.ts +25 -0
- package/dist/http-request/response-reader.js +54 -0
- package/dist/http-request/response-types.d.ts +123 -0
- package/dist/http-request/response-types.js +40 -0
- package/dist/http-request/user-agent.d.ts +55 -0
- package/dist/http-request/user-agent.js +61 -0
- package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
- package/dist/{dlx/integrity.js → integrity.js} +25 -19
- package/dist/ipc/_internal.d.ts +25 -0
- package/dist/ipc/_internal.js +50 -0
- package/dist/ipc/directory.d.ts +18 -0
- package/dist/ipc/directory.js +66 -0
- package/dist/ipc/paths.d.ts +37 -0
- package/dist/ipc/paths.js +48 -0
- package/dist/ipc/types.d.ts +22 -0
- package/dist/ipc/types.js +18 -0
- package/dist/ipc/write.d.ts +39 -0
- package/dist/ipc/write.js +77 -0
- package/dist/ipc-cli/get.d.ts +21 -0
- package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
- package/dist/ipc-cli/types.d.ts +14 -0
- package/dist/ipc-cli/types.js +18 -0
- package/dist/json/edit.d.ts +22 -8
- package/dist/json/edit.js +85 -96
- package/dist/json/format.d.ts +100 -86
- package/dist/json/format.js +4 -3
- package/dist/json/parse.d.ts +113 -88
- package/dist/json/parse.js +30 -24
- package/dist/json/types.d.ts +133 -117
- package/dist/links/link.d.ts +65 -0
- package/dist/{links.js → links/link.js} +10 -10
- package/dist/links/types.d.ts +19 -0
- package/dist/links/types.js +18 -0
- package/dist/logger/_internal.d.ts +82 -0
- package/dist/logger/_internal.js +80 -0
- package/dist/logger/colors.d.ts +18 -0
- package/dist/logger/colors.js +54 -0
- package/dist/logger/console.d.ts +33 -0
- package/dist/logger/console.js +119 -0
- package/dist/logger/logger.d.ts +405 -0
- package/dist/logger/logger.js +854 -0
- package/dist/logger/symbols-builder.d.ts +29 -0
- package/dist/logger/symbols-builder.js +61 -0
- package/dist/logger/symbols.d.ts +61 -0
- package/dist/logger/symbols.js +129 -0
- package/dist/logger/types.d.ts +88 -0
- package/dist/logger/types.js +18 -0
- package/dist/memo/_internal.d.ts +16 -0
- package/dist/memo/_internal.js +53 -0
- package/dist/memo/async.d.ts +32 -0
- package/dist/memo/async.js +120 -0
- package/dist/memo/clear.d.ts +15 -0
- package/dist/memo/clear.js +37 -0
- package/dist/memo/decorator.d.ts +29 -0
- package/dist/memo/decorator.js +40 -0
- package/dist/memo/memoize.d.ts +33 -0
- package/dist/memo/memoize.js +91 -0
- package/dist/memo/once.d.ts +25 -0
- package/dist/memo/once.js +44 -0
- package/dist/memo/types.d.ts +43 -0
- package/dist/memo/types.js +18 -0
- package/dist/memo/weak.d.ts +26 -0
- package/dist/memo/weak.js +44 -0
- package/dist/node/async-hooks.d.ts +2 -2
- package/dist/node/child-process.d.ts +5 -7
- package/dist/node/crypto.d.ts +2 -2
- package/dist/node/events.d.ts +2 -2
- package/dist/node/fs-promises.d.ts +2 -2
- package/dist/node/fs.d.ts +6 -10
- package/dist/node/http.d.ts +2 -2
- package/dist/node/https.d.ts +2 -2
- package/dist/node/module.d.ts +7 -0
- package/dist/node/module.js +41 -0
- package/dist/node/os.d.ts +2 -2
- package/dist/node/path.d.ts +2 -2
- package/dist/node/timers-promises.d.ts +2 -2
- package/dist/node/url.d.ts +2 -2
- package/dist/node/util.d.ts +2 -2
- package/dist/objects/getters.d.ts +116 -0
- package/dist/objects/getters.js +137 -0
- package/dist/objects/inspect.d.ts +67 -0
- package/dist/objects/inspect.js +59 -0
- package/dist/objects/mutate.d.ts +72 -0
- package/dist/objects/mutate.js +81 -0
- package/dist/objects/predicates.d.ts +96 -0
- package/dist/objects/predicates.js +68 -0
- package/dist/objects/sort.d.ts +88 -0
- package/dist/objects/sort.js +85 -0
- package/dist/objects/types.d.ts +68 -0
- package/dist/objects/types.js +18 -0
- package/dist/packages/edit-class.d.ts +39 -0
- package/dist/packages/edit-class.js +269 -0
- package/dist/packages/edit.d.ts +60 -61
- package/dist/packages/edit.js +21 -286
- package/dist/packages/exports.d.ts +30 -28
- package/dist/packages/exports.js +38 -34
- package/dist/packages/isolation.d.ts +16 -7
- package/dist/packages/isolation.js +50 -57
- package/dist/packages/licenses.d.ts +49 -45
- package/dist/packages/licenses.js +13 -18
- package/dist/packages/manifest.d.ts +14 -14
- package/dist/packages/manifest.js +16 -15
- package/dist/packages/normalize.d.ts +17 -16
- package/dist/packages/normalize.js +20 -17
- package/dist/packages/operations.d.ts +49 -36
- package/dist/packages/operations.js +30 -15
- package/dist/packages/provenance.d.ts +22 -9
- package/dist/packages/provenance.js +76 -66
- package/dist/packages/specs.d.ts +21 -21
- package/dist/packages/specs.js +7 -7
- package/dist/{packages.d.ts → packages/types.d.ts} +12 -20
- package/dist/packages/types.js +18 -0
- package/dist/packages/validation.d.ts +13 -13
- package/dist/packages/validation.js +2 -2
- package/dist/paths/_internal.d.ts +51 -0
- package/dist/paths/_internal.js +102 -0
- package/dist/paths/conversion.d.ts +82 -0
- package/dist/paths/conversion.js +74 -0
- package/dist/paths/dirnames.d.ts +1 -1
- package/dist/paths/exts.d.ts +1 -1
- package/dist/paths/filenames.d.ts +1 -1
- package/dist/paths/globs.d.ts +1 -1
- package/dist/paths/normalize.d.ts +30 -440
- package/dist/paths/normalize.js +49 -289
- package/dist/paths/packages.d.ts +7 -1
- package/dist/paths/packages.js +7 -12
- package/dist/paths/predicates.d.ts +129 -0
- package/dist/paths/predicates.js +121 -0
- package/dist/paths/resolve.d.ts +71 -0
- package/dist/paths/resolve.js +135 -0
- package/dist/paths/rewire.d.ts +37 -38
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +146 -47
- package/dist/paths/socket.js +23 -25
- package/dist/perf/_internal.d.ts +10 -0
- package/dist/perf/_internal.js +30 -0
- package/dist/perf/enabled.d.ts +13 -0
- package/dist/perf/enabled.js +33 -0
- package/dist/perf/metrics.d.ts +51 -0
- package/dist/perf/metrics.js +74 -0
- package/dist/perf/report.d.ts +40 -0
- package/dist/perf/report.js +85 -0
- package/dist/perf/timer.d.ts +100 -0
- package/dist/perf/timer.js +137 -0
- package/dist/perf/types.d.ts +15 -0
- package/dist/perf/types.js +18 -0
- package/dist/pkg-ext/data.d.ts +8 -0
- package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
- package/dist/pkg-ext/types.d.ts +6 -0
- package/dist/pkg-ext/types.js +18 -0
- package/dist/primordials/array.d.ts +73 -0
- package/dist/primordials/array.js +220 -0
- package/dist/primordials/buffer.d.ts +17 -0
- package/dist/primordials/buffer.js +61 -0
- package/dist/primordials/date.d.ts +16 -0
- package/dist/primordials/date.js +56 -0
- package/dist/primordials/error.d.ts +19 -0
- package/dist/primordials/error.js +75 -0
- package/dist/primordials/function.d.ts +10 -0
- package/dist/primordials/function.js +42 -0
- package/dist/primordials/globals.d.ts +17 -0
- package/dist/primordials/globals.js +54 -0
- package/dist/primordials/json.d.ts +11 -0
- package/dist/primordials/json.js +33 -0
- package/dist/primordials/map-set.d.ts +35 -0
- package/dist/primordials/map-set.js +115 -0
- package/dist/primordials/math.d.ts +51 -0
- package/dist/primordials/math.js +161 -0
- package/dist/primordials/number.d.ts +25 -0
- package/dist/primordials/number.js +92 -0
- package/dist/primordials/object.d.ts +74 -0
- package/dist/primordials/object.js +142 -0
- package/dist/primordials/promise.d.ts +34 -0
- package/dist/primordials/promise.js +61 -0
- package/dist/primordials/reflect.d.ts +18 -0
- package/dist/primordials/reflect.js +66 -0
- package/dist/primordials/regexp.d.ts +14 -0
- package/dist/primordials/regexp.js +50 -0
- package/dist/primordials/string.d.ts +71 -0
- package/dist/primordials/string.js +174 -0
- package/dist/primordials/symbol.d.ts +28 -0
- package/dist/primordials/symbol.js +94 -0
- package/dist/primordials/uncurry.d.ts +18 -0
- package/dist/primordials/uncurry.js +65 -0
- package/dist/primordials/url.d.ts +13 -0
- package/dist/primordials/url.js +69 -0
- package/dist/process/_internal.d.ts +8 -0
- package/dist/process/_internal.js +33 -0
- package/dist/process/abort.d.ts +20 -0
- package/dist/{constants/process.js → process/abort.js} +3 -3
- package/dist/process/lock-instance.d.ts +19 -0
- package/dist/process/lock-instance.js +31 -0
- package/dist/process/lock-manager.d.ts +152 -0
- package/dist/{process-lock.js → process/lock-manager.js} +97 -105
- package/dist/process/lock-types.d.ts +43 -0
- package/dist/process/lock-types.js +18 -0
- package/dist/process/transient.d.ts +22 -0
- package/dist/{temporary-executor.js → process/transient.js} +8 -8
- package/dist/promise-queue/queue.d.ts +51 -0
- package/dist/{promise-queue.js → promise-queue/queue.js} +27 -22
- package/dist/promise-queue/types.d.ts +10 -0
- package/dist/promise-queue/types.js +18 -0
- package/dist/promises/_internal.d.ts +15 -0
- package/dist/promises/_internal.js +41 -0
- package/dist/promises/iterate.d.ts +190 -0
- package/dist/promises/iterate.js +111 -0
- package/dist/promises/options.d.ts +76 -0
- package/dist/promises/options.js +108 -0
- package/dist/promises/resolvers.d.ts +55 -0
- package/dist/promises/resolvers.js +49 -0
- package/dist/promises/retry.d.ts +105 -0
- package/dist/promises/retry.js +104 -0
- package/dist/promises/types.d.ts +190 -0
- package/dist/promises/types.js +18 -0
- package/dist/regexps/escape.d.ts +6 -0
- package/dist/regexps/escape.js +32 -0
- package/dist/regexps/hex.d.ts +7 -0
- package/dist/regexps/hex.js +38 -0
- package/dist/regexps/spec.d.ts +15 -0
- package/dist/{regexps.js → regexps/spec.js} +32 -36
- package/dist/releases/github-archives.d.ts +47 -36
- package/dist/releases/github-archives.js +21 -35
- package/dist/releases/github-asset-url.d.ts +72 -0
- package/dist/releases/github-asset-url.js +167 -0
- package/dist/releases/github-assets.d.ts +13 -11
- package/dist/releases/github-assets.js +2 -2
- package/dist/releases/github-auth.d.ts +9 -9
- package/dist/releases/github-downloads.d.ts +31 -26
- package/dist/releases/github-downloads.js +22 -34
- package/dist/releases/github-listing.d.ts +105 -0
- package/dist/releases/github-listing.js +171 -0
- package/dist/releases/github-types.d.ts +45 -19
- package/dist/releases/socket-btm.d.ts +149 -99
- package/dist/releases/socket-btm.js +14 -20
- package/dist/schema/parse.d.ts +14 -15
- package/dist/schema/parse.js +2 -2
- package/dist/schema/types.d.ts +49 -37
- package/dist/schema/validate.d.ts +42 -19
- package/dist/schema/validate.js +15 -6
- package/dist/sea/detect.d.ts +37 -0
- package/dist/sea/{util.js → detect.js} +6 -6
- package/dist/secrets/_internal.d.ts +57 -0
- package/dist/secrets/_internal.js +84 -0
- package/dist/secrets/find.d.ts +79 -0
- package/dist/secrets/find.js +84 -0
- package/dist/secrets/keychain.d.ts +138 -0
- package/dist/secrets/keychain.js +328 -0
- package/dist/secrets/linux.d.ts +20 -0
- package/dist/secrets/linux.js +151 -0
- package/dist/secrets/macos.d.ts +36 -0
- package/dist/secrets/macos.js +165 -0
- package/dist/secrets/rc.d.ts +139 -0
- package/dist/secrets/rc.js +196 -0
- package/dist/secrets/socket-api-token.d.ts +23 -0
- package/dist/secrets/socket-api-token.js +50 -0
- package/dist/secrets/types.d.ts +69 -0
- package/dist/secrets/types.js +18 -0
- package/dist/secrets/windows.d.ts +50 -0
- package/dist/secrets/windows.js +318 -0
- package/dist/shadow/skip.d.ts +25 -0
- package/dist/{shadow.js → shadow/skip.js} +4 -4
- package/dist/shadow/types.d.ts +8 -0
- package/dist/shadow/types.js +18 -0
- package/dist/signal-exit/_internal.d.ts +68 -0
- package/dist/signal-exit/_internal.js +127 -0
- package/dist/signal-exit/intercept.d.ts +8 -0
- package/dist/signal-exit/intercept.js +75 -0
- package/dist/signal-exit/lifecycle.d.ts +28 -0
- package/dist/signal-exit/lifecycle.js +109 -0
- package/dist/signal-exit/register.d.ts +20 -0
- package/dist/signal-exit/register.js +58 -0
- package/dist/signal-exit/signals.d.ts +16 -0
- package/dist/signal-exit/signals.js +34 -0
- package/dist/signal-exit/types.d.ts +21 -0
- package/dist/signal-exit/types.js +18 -0
- package/dist/smol/detect.d.ts +80 -0
- package/dist/smol/{util.js → detect.js} +16 -24
- package/dist/smol/http.d.ts +60 -0
- package/dist/smol/http.js +42 -0
- package/dist/smol/https.d.ts +59 -0
- package/dist/smol/https.js +42 -0
- package/dist/smol/manifest.d.ts +140 -0
- package/dist/smol/manifest.js +42 -0
- package/dist/smol/primordial.d.ts +16 -21
- package/dist/smol/primordial.js +7 -11
- package/dist/smol/purl.d.ts +84 -0
- package/dist/smol/purl.js +42 -0
- package/dist/smol/versions.d.ts +11 -14
- package/dist/smol/versions.js +7 -11
- package/dist/smol/vfs.d.ts +99 -0
- package/dist/smol/vfs.js +43 -0
- package/dist/sorts/_internal.d.ts +9 -0
- package/dist/sorts/_internal.js +47 -0
- package/dist/sorts/natural.d.ts +39 -0
- package/dist/{sorts.js → sorts/natural.js} +5 -42
- package/dist/sorts/semver.d.ts +15 -0
- package/dist/sorts/semver.js +46 -0
- package/dist/sorts/strings.d.ts +16 -0
- package/dist/sorts/strings.js +33 -0
- package/dist/sorts/types.d.ts +7 -0
- package/dist/sorts/types.js +18 -0
- package/dist/spawn/_internal.d.ts +24 -0
- package/dist/spawn/_internal.js +62 -0
- package/dist/spawn/errors.d.ts +45 -0
- package/dist/spawn/errors.js +118 -0
- package/dist/spawn/spawn.d.ts +134 -0
- package/dist/{spawn.js → spawn/spawn.js} +29 -147
- package/dist/spawn/stdio.d.ts +37 -0
- package/dist/spawn/stdio.js +38 -0
- package/dist/spawn/types.d.ts +325 -0
- package/dist/spawn/types.js +18 -0
- package/dist/spinner/format.d.ts +64 -0
- package/dist/spinner/format.js +83 -0
- package/dist/spinner/registry.d.ts +49 -0
- package/dist/spinner/registry.js +70 -0
- package/dist/spinner/spinner.d.ts +40 -0
- package/dist/spinner/spinner.js +802 -0
- package/dist/spinner/types.d.ts +368 -0
- package/dist/spinner/types.js +18 -0
- package/dist/spinner/with.d.ts +125 -0
- package/dist/spinner/with.js +144 -0
- package/dist/ssri/convert.d.ts +48 -0
- package/dist/{ssri.js → ssri/convert.js} +11 -34
- package/dist/ssri/parse.d.ts +27 -0
- package/dist/ssri/parse.js +40 -0
- package/dist/ssri/validate.d.ts +41 -0
- package/dist/ssri/validate.js +39 -0
- package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
- package/dist/stdio/{_stream.js → _internal.js} +3 -3
- package/dist/stdio/clear.d.ts +98 -84
- package/dist/stdio/divider.d.ts +100 -78
- package/dist/stdio/divider.js +36 -14
- package/dist/stdio/footer.d.ts +75 -51
- package/dist/stdio/footer.js +28 -18
- package/dist/stdio/header.d.ts +61 -50
- package/dist/stdio/header.js +15 -13
- package/dist/stdio/progress.d.ts +67 -57
- package/dist/stdio/progress.js +55 -51
- package/dist/stdio/prompts.d.ts +147 -100
- package/dist/stdio/prompts.js +23 -15
- package/dist/stdio/stderr.d.ts +86 -84
- package/dist/stdio/stderr.js +6 -6
- package/dist/stdio/stdout.d.ts +77 -78
- package/dist/stdio/stdout.js +6 -6
- package/dist/streams/parallel.d.ts +40 -0
- package/dist/{streams.js → streams/parallel.js} +10 -27
- package/dist/streams/transform.d.ts +20 -0
- package/dist/streams/transform.js +48 -0
- package/dist/strings/format.d.ts +115 -0
- package/dist/strings/format.js +73 -0
- package/dist/strings/predicates.d.ts +52 -0
- package/dist/strings/predicates.js +39 -0
- package/dist/strings/search.d.ts +34 -0
- package/dist/strings/search.js +45 -0
- package/dist/strings/transform.d.ts +80 -0
- package/dist/strings/transform.js +79 -0
- package/dist/strings/types.d.ts +38 -0
- package/dist/strings/types.js +18 -0
- package/dist/strings/width.d.ts +42 -0
- package/dist/strings/width.js +95 -0
- package/dist/tables/bordered.d.ts +44 -0
- package/dist/tables/bordered.js +84 -0
- package/dist/tables/padding.d.ts +18 -0
- package/dist/tables/padding.js +51 -0
- package/dist/tables/simple.d.ts +36 -0
- package/dist/tables/simple.js +73 -0
- package/dist/tables/types.d.ts +15 -0
- package/dist/tables/types.js +18 -0
- package/dist/temporal/instant.d.ts +39 -0
- package/dist/temporal/instant.js +91 -0
- package/dist/temporal/now.d.ts +24 -0
- package/dist/temporal/now.js +34 -0
- package/dist/temporal/slots.d.ts +32 -0
- package/dist/temporal/slots.js +45 -0
- package/dist/temporal/system.d.ts +20 -0
- package/dist/temporal/system.js +42 -0
- package/dist/temporal/temporal.d.ts +22 -0
- package/dist/temporal/temporal.js +43 -0
- package/dist/themes/context.d.ts +65 -48
- package/dist/themes/context.js +6 -2
- package/dist/themes/resolve.d.ts +90 -0
- package/dist/themes/{utils.js → resolve.js} +6 -6
- package/dist/themes/themes.d.ts +14 -16
- package/dist/themes/types.d.ts +93 -35
- package/dist/ttl-cache/cache.d.ts +29 -0
- package/dist/{cache-with-ttl.js → ttl-cache/cache.js} +45 -37
- package/dist/ttl-cache/types.d.ts +109 -0
- package/dist/ttl-cache/types.js +18 -0
- package/dist/url/parse.d.ts +26 -0
- package/dist/url/parse.js +57 -0
- package/dist/url/predicates.d.ts +15 -0
- package/dist/url/predicates.js +34 -0
- package/dist/url/search-params.d.ts +71 -0
- package/dist/{url.js → url/search-params.js} +19 -54
- package/dist/url/types.d.ts +20 -0
- package/dist/url/types.js +18 -0
- package/dist/versions/_internal.d.ts +24 -0
- package/dist/versions/_internal.js +37 -0
- package/dist/versions/compare.d.ts +57 -0
- package/dist/versions/compare.js +65 -0
- package/dist/versions/modify.d.ts +28 -0
- package/dist/versions/modify.js +44 -0
- package/dist/versions/parse.d.ts +67 -0
- package/dist/versions/parse.js +77 -0
- package/dist/versions/range.d.ts +45 -0
- package/dist/versions/range.js +50 -0
- package/dist/versions/types.d.ts +13 -0
- package/dist/versions/types.js +18 -0
- package/dist/warnings/event-target.d.ts +31 -0
- package/dist/warnings/event-target.js +43 -0
- package/dist/warnings/suppress.d.ts +65 -0
- package/dist/{suppress-warnings.js → warnings/suppress.js} +16 -28
- package/dist/words/article.d.ts +14 -0
- package/dist/words/article.js +33 -0
- package/dist/words/capitalize.d.ts +15 -0
- package/dist/{words.js → words/capitalize.js} +5 -18
- package/dist/words/pluralize.d.ts +16 -0
- package/dist/words/pluralize.js +34 -0
- package/dist/words/types.d.ts +7 -0
- package/dist/words/types.js +18 -0
- package/package.json +1939 -244
- package/dist/abort.d.ts +0 -27
- package/dist/agent.d.ts +0 -196
- package/dist/agent.js +0 -287
- package/dist/ansi.d.ts +0 -39
- package/dist/archives.d.ts +0 -95
- package/dist/archives.js +0 -408
- package/dist/argv/flags.d.ts +0 -292
- package/dist/argv/flags.js +0 -297
- package/dist/arrays.d.ts +0 -168
- package/dist/bin.d.ts +0 -181
- package/dist/bin.js +0 -544
- package/dist/cacache.d.ts +0 -130
- package/dist/cacache.js +0 -156
- package/dist/cache-with-ttl.d.ts +0 -165
- package/dist/colors.d.ts +0 -49
- package/dist/constants/process.d.ts +0 -20
- package/dist/crypto.d.ts +0 -36
- package/dist/debug.js +0 -337
- package/dist/env/helpers.d.ts +0 -66
- package/dist/env.d.ts +0 -182
- package/dist/env.js +0 -205
- package/dist/errors.d.ts +0 -100
- package/dist/fs.d.ts +0 -916
- package/dist/fs.js +0 -808
- package/dist/git.d.ts +0 -546
- package/dist/git.js +0 -409
- package/dist/github.d.ts +0 -526
- package/dist/github.js +0 -448
- package/dist/globs.d.ts +0 -119
- package/dist/globs.js +0 -282
- package/dist/http-request.d.ts +0 -951
- package/dist/http-request.js +0 -761
- package/dist/ipc-cli.d.ts +0 -28
- package/dist/ipc.d.ts +0 -76
- package/dist/ipc.js +0 -130
- package/dist/links.d.ts +0 -69
- package/dist/logger.d.ts +0 -993
- package/dist/logger.js +0 -1498
- package/dist/memoization.d.ts +0 -131
- package/dist/memoization.js +0 -243
- package/dist/objects.d.ts +0 -500
- package/dist/objects.js +0 -303
- package/dist/package-extensions.d.ts +0 -9
- package/dist/packages.js +0 -132
- package/dist/performance.d.ts +0 -181
- package/dist/performance.js +0 -233
- package/dist/primordials.d.ts +0 -420
- package/dist/primordials.js +0 -1116
- package/dist/process-lock.d.ts +0 -180
- package/dist/promise-queue.d.ts +0 -48
- package/dist/promises.d.ts +0 -506
- package/dist/promises.js +0 -292
- package/dist/regexps.d.ts +0 -6
- package/dist/releases/github-api.d.ts +0 -56
- package/dist/releases/github-api.js +0 -275
- package/dist/sea/util.d.ts +0 -43
- package/dist/shadow.d.ts +0 -28
- package/dist/signal-exit.d.ts +0 -50
- package/dist/signal-exit.js +0 -247
- package/dist/smol/util.d.ts +0 -87
- package/dist/sorts.d.ts +0 -59
- package/dist/spawn.d.ts +0 -454
- package/dist/spinner.d.ts +0 -444
- package/dist/spinner.js +0 -988
- package/dist/ssri.d.ts +0 -90
- package/dist/streams.d.ts +0 -45
- package/dist/strings.d.ts +0 -414
- package/dist/strings.js +0 -218
- package/dist/suppress-warnings.d.ts +0 -81
- package/dist/tables.d.ts +0 -73
- package/dist/tables.js +0 -133
- package/dist/temporary-executor.d.ts +0 -20
- package/dist/themes/utils.d.ts +0 -86
- package/dist/url.d.ts +0 -114
- package/dist/versions.d.ts +0 -207
- package/dist/versions.js +0 -181
- package/dist/words.d.ts +0 -39
package/dist/fs.d.ts
DELETED
|
@@ -1,916 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview File system utilities with cross-platform path handling.
|
|
3
|
-
* Provides enhanced fs operations, glob matching, and directory traversal functions.
|
|
4
|
-
*/
|
|
5
|
-
import { type Remap } from './objects';
|
|
6
|
-
import type { Abortable } from 'node:events';
|
|
7
|
-
import type { MakeDirectoryOptions, ObjectEncodingOptions, OpenMode, PathLike } from 'node:fs';
|
|
8
|
-
import type { JsonReviver } from './json/types';
|
|
9
|
-
/**
|
|
10
|
-
* Supported text encodings for Node.js Buffers.
|
|
11
|
-
* Includes ASCII, UTF-8/16, base64, binary, and hexadecimal encodings.
|
|
12
|
-
*/
|
|
13
|
-
export type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex';
|
|
14
|
-
/**
|
|
15
|
-
* Options for asynchronous `findUp` operations.
|
|
16
|
-
*/
|
|
17
|
-
export interface FindUpOptions {
|
|
18
|
-
/**
|
|
19
|
-
* Starting directory for the search.
|
|
20
|
-
* @default process.cwd()
|
|
21
|
-
*/
|
|
22
|
-
cwd?: string | undefined;
|
|
23
|
-
/**
|
|
24
|
-
* Only match directories, not files.
|
|
25
|
-
* @default false
|
|
26
|
-
*/
|
|
27
|
-
onlyDirectories?: boolean | undefined;
|
|
28
|
-
/**
|
|
29
|
-
* Only match files, not directories.
|
|
30
|
-
* @default true
|
|
31
|
-
*/
|
|
32
|
-
onlyFiles?: boolean | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Abort signal to cancel the search operation.
|
|
35
|
-
*/
|
|
36
|
-
signal?: AbortSignal | undefined;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Options for synchronous `findUpSync` operations.
|
|
40
|
-
*/
|
|
41
|
-
export interface FindUpSyncOptions {
|
|
42
|
-
/**
|
|
43
|
-
* Starting directory for the search.
|
|
44
|
-
* @default process.cwd()
|
|
45
|
-
*/
|
|
46
|
-
cwd?: string | undefined;
|
|
47
|
-
/**
|
|
48
|
-
* Directory to stop searching at (inclusive).
|
|
49
|
-
* When provided, search will stop at this directory even if the root hasn't been reached.
|
|
50
|
-
*/
|
|
51
|
-
stopAt?: string | undefined;
|
|
52
|
-
/**
|
|
53
|
-
* Only match directories, not files.
|
|
54
|
-
* @default false
|
|
55
|
-
*/
|
|
56
|
-
onlyDirectories?: boolean | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* Only match files, not directories.
|
|
59
|
-
* @default true
|
|
60
|
-
*/
|
|
61
|
-
onlyFiles?: boolean | undefined;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Options for checking if a directory is empty.
|
|
65
|
-
*/
|
|
66
|
-
export interface IsDirEmptyOptions {
|
|
67
|
-
/**
|
|
68
|
-
* Glob patterns for files to ignore when checking emptiness.
|
|
69
|
-
* Files matching these patterns are not counted.
|
|
70
|
-
* @default defaultIgnore
|
|
71
|
-
*/
|
|
72
|
-
ignore?: string[] | readonly string[] | undefined;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Represents any valid JSON content type.
|
|
76
|
-
*/
|
|
77
|
-
export type JsonContent = unknown;
|
|
78
|
-
/**
|
|
79
|
-
* Options for reading directories with filtering and sorting.
|
|
80
|
-
*/
|
|
81
|
-
export interface ReadDirOptions {
|
|
82
|
-
/**
|
|
83
|
-
* Glob patterns for directories to ignore.
|
|
84
|
-
* @default undefined
|
|
85
|
-
*/
|
|
86
|
-
ignore?: string[] | readonly string[] | undefined;
|
|
87
|
-
/**
|
|
88
|
-
* Include empty directories in results.
|
|
89
|
-
* When `false`, empty directories are filtered out.
|
|
90
|
-
* @default true
|
|
91
|
-
*/
|
|
92
|
-
includeEmpty?: boolean | undefined;
|
|
93
|
-
/**
|
|
94
|
-
* Sort directory names alphabetically using natural sort order.
|
|
95
|
-
* @default true
|
|
96
|
-
*/
|
|
97
|
-
sort?: boolean | undefined;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Options for reading files with encoding and abort support.
|
|
101
|
-
* Can be either an options object, an encoding string, or null.
|
|
102
|
-
*/
|
|
103
|
-
export type ReadFileOptions = Remap<ObjectEncodingOptions & Abortable & {
|
|
104
|
-
flag?: OpenMode | undefined;
|
|
105
|
-
}> | BufferEncoding | null;
|
|
106
|
-
/**
|
|
107
|
-
* Options for reading and parsing JSON files.
|
|
108
|
-
*/
|
|
109
|
-
export type ReadJsonOptions = Remap<ReadFileOptions & {
|
|
110
|
-
/**
|
|
111
|
-
* Whether to throw errors on parse failure.
|
|
112
|
-
* When `false`, returns `undefined` on error instead of throwing.
|
|
113
|
-
* @default true
|
|
114
|
-
*/
|
|
115
|
-
throws?: boolean | undefined;
|
|
116
|
-
/**
|
|
117
|
-
* JSON reviver function to transform parsed values.
|
|
118
|
-
* Same as the second parameter to `JSON.parse()`.
|
|
119
|
-
*/
|
|
120
|
-
reviver?: Parameters<typeof JSON.parse>[1] | undefined;
|
|
121
|
-
}>;
|
|
122
|
-
/**
|
|
123
|
-
* Options for read operations with abort support.
|
|
124
|
-
*/
|
|
125
|
-
export interface ReadOptions extends Abortable {
|
|
126
|
-
/**
|
|
127
|
-
* Character encoding to use for reading.
|
|
128
|
-
* @default 'utf8'
|
|
129
|
-
*/
|
|
130
|
-
encoding?: BufferEncoding | string | undefined;
|
|
131
|
-
/**
|
|
132
|
-
* File system flag for reading behavior.
|
|
133
|
-
* @default 'r'
|
|
134
|
-
*/
|
|
135
|
-
flag?: string | undefined;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Options for file/directory removal operations.
|
|
139
|
-
*/
|
|
140
|
-
export interface RemoveOptions {
|
|
141
|
-
/**
|
|
142
|
-
* Force deletion even outside normally safe directories.
|
|
143
|
-
* When `false`, prevents deletion outside temp, cacache, and ~/.socket.
|
|
144
|
-
* @default true for safe directories, false otherwise
|
|
145
|
-
*/
|
|
146
|
-
force?: boolean | undefined;
|
|
147
|
-
/**
|
|
148
|
-
* Maximum number of retry attempts on failure.
|
|
149
|
-
* @default 3
|
|
150
|
-
*/
|
|
151
|
-
maxRetries?: number | undefined;
|
|
152
|
-
/**
|
|
153
|
-
* Recursively delete directories and contents.
|
|
154
|
-
* @default true
|
|
155
|
-
*/
|
|
156
|
-
recursive?: boolean | undefined;
|
|
157
|
-
/**
|
|
158
|
-
* Delay in milliseconds between retry attempts.
|
|
159
|
-
* @default 200
|
|
160
|
-
*/
|
|
161
|
-
retryDelay?: number | undefined;
|
|
162
|
-
/**
|
|
163
|
-
* Abort signal to cancel the operation.
|
|
164
|
-
*/
|
|
165
|
-
signal?: AbortSignal | undefined;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Options for safe read operations that don't throw on errors.
|
|
169
|
-
*/
|
|
170
|
-
export interface SafeReadOptions extends ReadOptions {
|
|
171
|
-
/**
|
|
172
|
-
* Default value to return on read failure.
|
|
173
|
-
* If not provided, `undefined` is returned on error.
|
|
174
|
-
*/
|
|
175
|
-
defaultValue?: unknown | undefined;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Result of file readability validation.
|
|
179
|
-
* Contains lists of valid and invalid file paths.
|
|
180
|
-
*/
|
|
181
|
-
export interface ValidateFilesResult {
|
|
182
|
-
/**
|
|
183
|
-
* File paths that passed validation and are readable.
|
|
184
|
-
*/
|
|
185
|
-
validPaths: string[];
|
|
186
|
-
/**
|
|
187
|
-
* File paths that failed validation (unreadable, permission denied, or non-existent).
|
|
188
|
-
* Common with Yarn Berry PnP virtual filesystem, pnpm symlinks, or filesystem race conditions.
|
|
189
|
-
*/
|
|
190
|
-
invalidPaths: string[];
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Options for writing JSON files with formatting control.
|
|
194
|
-
*/
|
|
195
|
-
export interface WriteJsonOptions extends WriteOptions {
|
|
196
|
-
/**
|
|
197
|
-
* End-of-line sequence to use.
|
|
198
|
-
* @default '\n'
|
|
199
|
-
* @example
|
|
200
|
-
* ```ts
|
|
201
|
-
* // Windows-style line endings
|
|
202
|
-
* writeJson('data.json', data, { EOL: '\r\n' })
|
|
203
|
-
* ```
|
|
204
|
-
*/
|
|
205
|
-
EOL?: string | undefined;
|
|
206
|
-
/**
|
|
207
|
-
* Whether to add a final newline at end of file.
|
|
208
|
-
* @default true
|
|
209
|
-
*/
|
|
210
|
-
finalEOL?: boolean | undefined;
|
|
211
|
-
/**
|
|
212
|
-
* JSON replacer function to transform values during stringification.
|
|
213
|
-
* Same as the second parameter to `JSON.stringify()`.
|
|
214
|
-
*/
|
|
215
|
-
replacer?: JsonReviver | undefined;
|
|
216
|
-
/**
|
|
217
|
-
* Number of spaces for indentation, or string to use for indentation.
|
|
218
|
-
* @default 2
|
|
219
|
-
* @example
|
|
220
|
-
* ```ts
|
|
221
|
-
* // Use tabs instead of spaces
|
|
222
|
-
* writeJson('data.json', data, { spaces: '\t' })
|
|
223
|
-
*
|
|
224
|
-
* // Use 4 spaces for indentation
|
|
225
|
-
* writeJson('data.json', data, { spaces: 4 })
|
|
226
|
-
* ```
|
|
227
|
-
*/
|
|
228
|
-
spaces?: number | string | undefined;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Options for write operations with encoding and mode control.
|
|
232
|
-
*/
|
|
233
|
-
export interface WriteOptions extends Abortable {
|
|
234
|
-
/**
|
|
235
|
-
* Character encoding for writing.
|
|
236
|
-
* @default 'utf8'
|
|
237
|
-
*/
|
|
238
|
-
encoding?: BufferEncoding | string | undefined;
|
|
239
|
-
/**
|
|
240
|
-
* File mode (permissions) to set.
|
|
241
|
-
* Uses standard Unix permission bits (e.g., 0o644).
|
|
242
|
-
* @default 0o666 (read/write for all, respecting umask)
|
|
243
|
-
*/
|
|
244
|
-
mode?: number | undefined;
|
|
245
|
-
/**
|
|
246
|
-
* File system flag for write behavior.
|
|
247
|
-
* @default 'w' (create or truncate)
|
|
248
|
-
*/
|
|
249
|
-
flag?: string | undefined;
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Find a file or directory by traversing up parent directories.
|
|
253
|
-
* Searches from the starting directory upward to the filesystem root.
|
|
254
|
-
* Useful for finding configuration files or project roots.
|
|
255
|
-
*
|
|
256
|
-
* @param name - Filename(s) to search for
|
|
257
|
-
* @param options - Search options including cwd and type filters
|
|
258
|
-
* @returns Normalized absolute path if found, undefined otherwise
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* ```ts
|
|
262
|
-
* // Find package.json starting from current directory
|
|
263
|
-
* const pkgPath = await findUp('package.json')
|
|
264
|
-
*
|
|
265
|
-
* // Find any of multiple config files
|
|
266
|
-
* const configPath = await findUp(['.config.js', '.config.json'])
|
|
267
|
-
*
|
|
268
|
-
* // Find a directory instead of file
|
|
269
|
-
* const nodeModules = await findUp('node_modules', { onlyDirectories: true })
|
|
270
|
-
* ```
|
|
271
|
-
*/
|
|
272
|
-
export declare function findUp(name: string | string[] | readonly string[], options?: FindUpOptions | undefined): Promise<string | undefined>;
|
|
273
|
-
/**
|
|
274
|
-
* Synchronously find a file or directory by traversing up parent directories.
|
|
275
|
-
* Searches from the starting directory upward to the filesystem root or `stopAt` directory.
|
|
276
|
-
* Useful for finding configuration files or project roots in synchronous contexts.
|
|
277
|
-
*
|
|
278
|
-
* @param name - Filename(s) to search for
|
|
279
|
-
* @param options - Search options including cwd, stopAt, and type filters
|
|
280
|
-
* @returns Normalized absolute path if found, undefined otherwise
|
|
281
|
-
*
|
|
282
|
-
* @example
|
|
283
|
-
* ```ts
|
|
284
|
-
* // Find package.json starting from current directory
|
|
285
|
-
* const pkgPath = findUpSync('package.json')
|
|
286
|
-
*
|
|
287
|
-
* // Find .git directory but stop at home directory
|
|
288
|
-
* const gitPath = findUpSync('.git', {
|
|
289
|
-
* onlyDirectories: true,
|
|
290
|
-
* stopAt: process.env.HOME
|
|
291
|
-
* })
|
|
292
|
-
*
|
|
293
|
-
* // Find any of multiple config files
|
|
294
|
-
* const configPath = findUpSync(['.eslintrc.js', '.eslintrc.json'])
|
|
295
|
-
* ```
|
|
296
|
-
*/
|
|
297
|
-
export declare function findUpSync(name: string | string[] | readonly string[], options?: FindUpSyncOptions | undefined): string | undefined;
|
|
298
|
-
/**
|
|
299
|
-
* Invalidate the cached allowed directories.
|
|
300
|
-
* Called automatically by the paths/rewire module when paths are overridden in tests.
|
|
301
|
-
*
|
|
302
|
-
* @internal Used for test rewiring
|
|
303
|
-
*
|
|
304
|
-
* @example
|
|
305
|
-
* ```typescript
|
|
306
|
-
* invalidatePathCache()
|
|
307
|
-
* // Cached allowed directories are now cleared
|
|
308
|
-
* ```
|
|
309
|
-
*/
|
|
310
|
-
export declare function invalidatePathCache(): void;
|
|
311
|
-
/**
|
|
312
|
-
* Check if a path is a directory asynchronously.
|
|
313
|
-
* Returns `true` for directories, `false` for files or non-existent paths.
|
|
314
|
-
*
|
|
315
|
-
* @param filepath - Path to check
|
|
316
|
-
* @returns `true` if path is a directory, `false` otherwise
|
|
317
|
-
*
|
|
318
|
-
* @example
|
|
319
|
-
* ```ts
|
|
320
|
-
* if (await isDir('./src')) {
|
|
321
|
-
* console.log('src is a directory')
|
|
322
|
-
* }
|
|
323
|
-
* ```
|
|
324
|
-
*/
|
|
325
|
-
export declare function isDir(filepath: PathLike): Promise<boolean>;
|
|
326
|
-
/**
|
|
327
|
-
* Check if a directory is empty synchronously.
|
|
328
|
-
* A directory is considered empty if it contains no files after applying ignore patterns.
|
|
329
|
-
* Uses glob patterns to filter ignored files.
|
|
330
|
-
*
|
|
331
|
-
* @param dirname - Directory path to check
|
|
332
|
-
* @param options - Options including ignore patterns
|
|
333
|
-
* @returns `true` if directory is empty (or doesn't exist), `false` otherwise
|
|
334
|
-
*
|
|
335
|
-
* @example
|
|
336
|
-
* ```ts
|
|
337
|
-
* // Check if directory is completely empty
|
|
338
|
-
* isDirEmptySync('./build')
|
|
339
|
-
*
|
|
340
|
-
* // Check if directory is empty, ignoring .DS_Store files
|
|
341
|
-
* isDirEmptySync('./cache', { ignore: ['.DS_Store'] })
|
|
342
|
-
* ```
|
|
343
|
-
*/
|
|
344
|
-
export declare function isDirEmptySync(dirname: PathLike, options?: IsDirEmptyOptions | undefined): boolean;
|
|
345
|
-
/**
|
|
346
|
-
* Check if a path is a directory synchronously.
|
|
347
|
-
* Returns `true` for directories, `false` for files or non-existent paths.
|
|
348
|
-
*
|
|
349
|
-
* @param filepath - Path to check
|
|
350
|
-
* @returns `true` if path is a directory, `false` otherwise
|
|
351
|
-
*
|
|
352
|
-
* @example
|
|
353
|
-
* ```ts
|
|
354
|
-
* if (isDirSync('./src')) {
|
|
355
|
-
* console.log('src is a directory')
|
|
356
|
-
* }
|
|
357
|
-
* ```
|
|
358
|
-
*/
|
|
359
|
-
export declare function isDirSync(filepath: PathLike): boolean;
|
|
360
|
-
/**
|
|
361
|
-
* Check if a path is a symbolic link synchronously.
|
|
362
|
-
* Uses `lstat` to check the link itself, not the target.
|
|
363
|
-
*
|
|
364
|
-
* @param filepath - Path to check
|
|
365
|
-
* @returns `true` if path is a symbolic link, `false` otherwise
|
|
366
|
-
*
|
|
367
|
-
* @example
|
|
368
|
-
* ```ts
|
|
369
|
-
* if (isSymLinkSync('./my-link')) {
|
|
370
|
-
* console.log('Path is a symbolic link')
|
|
371
|
-
* }
|
|
372
|
-
* ```
|
|
373
|
-
*/
|
|
374
|
-
export declare function isSymLinkSync(filepath: PathLike): boolean;
|
|
375
|
-
/**
|
|
376
|
-
* Normalize encoding string to canonical form.
|
|
377
|
-
* Handles common encodings inline for performance, delegates to slowCases for others.
|
|
378
|
-
*
|
|
379
|
-
* Based on Node.js internal/util.js normalizeEncoding implementation.
|
|
380
|
-
* @see https://github.com/nodejs/node/blob/ae62b36d442b7bf987e85ae6e0df0f02cc1bb17f/lib/internal/util.js#L247-L310
|
|
381
|
-
*
|
|
382
|
-
* @param enc - Encoding to normalize (can be null/undefined)
|
|
383
|
-
* @returns Normalized encoding string, defaults to 'utf8'
|
|
384
|
-
*
|
|
385
|
-
* @example
|
|
386
|
-
* ```ts
|
|
387
|
-
* normalizeEncoding('UTF-8') // Returns 'utf8'
|
|
388
|
-
* normalizeEncoding('binary') // Returns 'latin1'
|
|
389
|
-
* normalizeEncoding('ucs-2') // Returns 'utf16le'
|
|
390
|
-
* normalizeEncoding(null) // Returns 'utf8'
|
|
391
|
-
* ```
|
|
392
|
-
*/
|
|
393
|
-
export declare function normalizeEncoding(enc: BufferEncoding | string | null | undefined): BufferEncoding;
|
|
394
|
-
/**
|
|
395
|
-
* Move the "slow cases" to a separate function to make sure this function gets
|
|
396
|
-
* inlined properly. That prioritizes the common case.
|
|
397
|
-
*
|
|
398
|
-
* Based on Node.js internal/util.js normalizeEncoding implementation.
|
|
399
|
-
* @see https://github.com/nodejs/node/blob/ae62b36d442b7bf987e85ae6e0df0f02cc1bb17f/lib/internal/util.js#L247-L310
|
|
400
|
-
*
|
|
401
|
-
* @param enc - Encoding to normalize
|
|
402
|
-
* @returns Normalized encoding string, defaults to 'utf8' for unknown encodings
|
|
403
|
-
*
|
|
404
|
-
* @example
|
|
405
|
-
* ```typescript
|
|
406
|
-
* normalizeEncodingSlow('ucs2') // 'utf16le'
|
|
407
|
-
* normalizeEncodingSlow('LATIN1') // 'latin1'
|
|
408
|
-
* normalizeEncodingSlow('binary') // 'latin1'
|
|
409
|
-
* ```
|
|
410
|
-
*/
|
|
411
|
-
export declare function normalizeEncodingSlow(enc: string): BufferEncoding;
|
|
412
|
-
/**
|
|
413
|
-
* Read directory names asynchronously with filtering and sorting.
|
|
414
|
-
* Returns only directory names (not files), with optional filtering for empty directories
|
|
415
|
-
* and glob-based ignore patterns. Results are naturally sorted by default.
|
|
416
|
-
*
|
|
417
|
-
* @param dirname - Directory path to read
|
|
418
|
-
* @param options - Options for filtering and sorting
|
|
419
|
-
* @returns Array of directory names, empty array on error
|
|
420
|
-
*
|
|
421
|
-
* @example
|
|
422
|
-
* ```ts
|
|
423
|
-
* // Get all subdirectories, sorted naturally
|
|
424
|
-
* const dirs = await readDirNames('./packages')
|
|
425
|
-
*
|
|
426
|
-
* // Get non-empty directories only
|
|
427
|
-
* const nonEmpty = await readDirNames('./cache', { includeEmpty: false })
|
|
428
|
-
*
|
|
429
|
-
* // Get directories without sorting
|
|
430
|
-
* const unsorted = await readDirNames('./src', { sort: false })
|
|
431
|
-
* ```
|
|
432
|
-
*/
|
|
433
|
-
export declare function readDirNames(dirname: PathLike, options?: ReadDirOptions | undefined): Promise<string[]>;
|
|
434
|
-
/**
|
|
435
|
-
* Read directory names synchronously with filtering and sorting.
|
|
436
|
-
* Returns only directory names (not files), with optional filtering for empty directories
|
|
437
|
-
* and glob-based ignore patterns. Results are naturally sorted by default.
|
|
438
|
-
*
|
|
439
|
-
* @param dirname - Directory path to read
|
|
440
|
-
* @param options - Options for filtering and sorting
|
|
441
|
-
* @returns Array of directory names, empty array on error
|
|
442
|
-
*
|
|
443
|
-
* @example
|
|
444
|
-
* ```ts
|
|
445
|
-
* // Get all subdirectories, sorted naturally
|
|
446
|
-
* const dirs = readDirNamesSync('./packages')
|
|
447
|
-
*
|
|
448
|
-
* // Get non-empty directories only, ignoring node_modules
|
|
449
|
-
* const nonEmpty = readDirNamesSync('./src', {
|
|
450
|
-
* includeEmpty: false,
|
|
451
|
-
* ignore: ['node_modules']
|
|
452
|
-
* })
|
|
453
|
-
* ```
|
|
454
|
-
*/
|
|
455
|
-
export declare function readDirNamesSync(dirname: PathLike, options?: ReadDirOptions): string[];
|
|
456
|
-
/**
|
|
457
|
-
* Read a file as binary data asynchronously.
|
|
458
|
-
* Returns a Buffer without encoding the contents.
|
|
459
|
-
* Useful for reading images, archives, or other binary formats.
|
|
460
|
-
*
|
|
461
|
-
* @param filepath - Path to file
|
|
462
|
-
* @param options - Read options (encoding is forced to null for binary)
|
|
463
|
-
* @returns Promise resolving to Buffer containing file contents
|
|
464
|
-
*
|
|
465
|
-
* @example
|
|
466
|
-
* ```ts
|
|
467
|
-
* // Read an image file
|
|
468
|
-
* const imageBuffer = await readFileBinary('./image.png')
|
|
469
|
-
*
|
|
470
|
-
* // Read with abort signal
|
|
471
|
-
* const buffer = await readFileBinary('./data.bin', { signal: abortSignal })
|
|
472
|
-
* ```
|
|
473
|
-
*/
|
|
474
|
-
export declare function readFileBinary(filepath: PathLike, options?: ReadFileOptions | undefined): Promise<NonSharedBuffer>;
|
|
475
|
-
/**
|
|
476
|
-
* Read a file as binary data synchronously.
|
|
477
|
-
* Returns a Buffer without encoding the contents.
|
|
478
|
-
* Useful for reading images, archives, or other binary formats.
|
|
479
|
-
*
|
|
480
|
-
* @param filepath - Path to file
|
|
481
|
-
* @param options - Read options (encoding is forced to null for binary)
|
|
482
|
-
* @returns Buffer containing file contents
|
|
483
|
-
*
|
|
484
|
-
* @example
|
|
485
|
-
* ```ts
|
|
486
|
-
* // Read an image file
|
|
487
|
-
* const imageBuffer = readFileBinarySync('./logo.png')
|
|
488
|
-
*
|
|
489
|
-
* // Read a compressed file
|
|
490
|
-
* const gzipData = readFileBinarySync('./archive.gz')
|
|
491
|
-
* ```
|
|
492
|
-
*/
|
|
493
|
-
export declare function readFileBinarySync(filepath: PathLike, options?: ReadFileOptions | undefined): string | NonSharedBuffer;
|
|
494
|
-
/**
|
|
495
|
-
* Read a file as UTF-8 text asynchronously.
|
|
496
|
-
* Returns a string with the file contents decoded as UTF-8.
|
|
497
|
-
* This is the most common way to read text files.
|
|
498
|
-
*
|
|
499
|
-
* @param filepath - Path to file
|
|
500
|
-
* @param options - Read options including encoding and abort signal
|
|
501
|
-
* @returns Promise resolving to string containing file contents
|
|
502
|
-
*
|
|
503
|
-
* @example
|
|
504
|
-
* ```ts
|
|
505
|
-
* // Read a text file
|
|
506
|
-
* const content = await readFileUtf8('./README.md')
|
|
507
|
-
*
|
|
508
|
-
* // Read with custom encoding
|
|
509
|
-
* const content = await readFileUtf8('./data.txt', { encoding: 'utf-8' })
|
|
510
|
-
* ```
|
|
511
|
-
*/
|
|
512
|
-
export declare function readFileUtf8(filepath: PathLike, options?: ReadFileOptions | undefined): Promise<string>;
|
|
513
|
-
/**
|
|
514
|
-
* Read a file as UTF-8 text synchronously.
|
|
515
|
-
* Returns a string with the file contents decoded as UTF-8.
|
|
516
|
-
* This is the most common way to read text files synchronously.
|
|
517
|
-
*
|
|
518
|
-
* @param filepath - Path to file
|
|
519
|
-
* @param options - Read options including encoding
|
|
520
|
-
* @returns String containing file contents
|
|
521
|
-
*
|
|
522
|
-
* @example
|
|
523
|
-
* ```ts
|
|
524
|
-
* // Read a configuration file
|
|
525
|
-
* const config = readFileUtf8Sync('./config.txt')
|
|
526
|
-
*
|
|
527
|
-
* // Read with custom options
|
|
528
|
-
* const data = readFileUtf8Sync('./data.txt', { encoding: 'utf8' })
|
|
529
|
-
* ```
|
|
530
|
-
*/
|
|
531
|
-
export declare function readFileUtf8Sync(filepath: PathLike, options?: ReadFileOptions | undefined): string | NonSharedBuffer;
|
|
532
|
-
/**
|
|
533
|
-
* Read and parse a JSON file asynchronously.
|
|
534
|
-
* Reads the file as UTF-8 text and parses it as JSON.
|
|
535
|
-
* Optionally accepts a reviver function to transform parsed values.
|
|
536
|
-
*
|
|
537
|
-
* @param filepath - Path to JSON file
|
|
538
|
-
* @param options - Read and parse options
|
|
539
|
-
* @returns Promise resolving to parsed JSON value, or undefined if throws is false and an error occurs
|
|
540
|
-
*
|
|
541
|
-
* @example
|
|
542
|
-
* ```ts
|
|
543
|
-
* // Read and parse package.json
|
|
544
|
-
* const pkg = await readJson('./package.json')
|
|
545
|
-
*
|
|
546
|
-
* // Read JSON with custom reviver
|
|
547
|
-
* const data = await readJson('./data.json', {
|
|
548
|
-
* reviver: (key, value) => {
|
|
549
|
-
* if (key === 'date') return new Date(value)
|
|
550
|
-
* return value
|
|
551
|
-
* }
|
|
552
|
-
* })
|
|
553
|
-
*
|
|
554
|
-
* // Don't throw on parse errors
|
|
555
|
-
* const config = await readJson('./config.json', { throws: false })
|
|
556
|
-
* if (config === undefined) {
|
|
557
|
-
* console.log('Failed to parse config')
|
|
558
|
-
* }
|
|
559
|
-
* ```
|
|
560
|
-
*/
|
|
561
|
-
export declare function readJson(filepath: PathLike, options?: ReadJsonOptions | string | undefined): Promise<import("./json/types").JsonValue | undefined>;
|
|
562
|
-
/**
|
|
563
|
-
* Read and parse a JSON file synchronously.
|
|
564
|
-
* Reads the file as UTF-8 text and parses it as JSON.
|
|
565
|
-
* Optionally accepts a reviver function to transform parsed values.
|
|
566
|
-
*
|
|
567
|
-
* @param filepath - Path to JSON file
|
|
568
|
-
* @param options - Read and parse options
|
|
569
|
-
* @returns Parsed JSON value, or undefined if throws is false and an error occurs
|
|
570
|
-
*
|
|
571
|
-
* @example
|
|
572
|
-
* ```ts
|
|
573
|
-
* // Read and parse tsconfig.json
|
|
574
|
-
* const tsconfig = readJsonSync('./tsconfig.json')
|
|
575
|
-
*
|
|
576
|
-
* // Read JSON with custom reviver
|
|
577
|
-
* const data = readJsonSync('./data.json', {
|
|
578
|
-
* reviver: (key, value) => {
|
|
579
|
-
* if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}/.test(value)) {
|
|
580
|
-
* return new Date(value)
|
|
581
|
-
* }
|
|
582
|
-
* return value
|
|
583
|
-
* }
|
|
584
|
-
* })
|
|
585
|
-
*
|
|
586
|
-
* // Don't throw on parse errors
|
|
587
|
-
* const config = readJsonSync('./config.json', { throws: false })
|
|
588
|
-
* ```
|
|
589
|
-
*/
|
|
590
|
-
export declare function readJsonSync(filepath: PathLike, options?: ReadJsonOptions | string | undefined): import("./json/types").JsonValue | undefined;
|
|
591
|
-
/**
|
|
592
|
-
* Safely delete a file or directory asynchronously with built-in protections.
|
|
593
|
-
*
|
|
594
|
-
* Uses [`del`](https://socket.dev/npm/package/del/overview/8.0.1) for safer deletion with these safety features:
|
|
595
|
-
* - By default, prevents deleting the current working directory (cwd) and above
|
|
596
|
-
* - Allows deleting within cwd (descendant paths) without force option
|
|
597
|
-
* - Automatically uses force: true for temp directory, cacache, and ~/.socket subdirectories
|
|
598
|
-
* - Protects against accidental deletion of parent directories via `../` paths
|
|
599
|
-
*
|
|
600
|
-
* @param filepath - Path or array of paths to delete (supports glob patterns)
|
|
601
|
-
* @param options - Deletion options including force, retries, and recursion
|
|
602
|
-
* @param options.force - Set to true to allow deleting cwd and above (use with caution)
|
|
603
|
-
* @throws {Error} When attempting to delete protected paths without force option
|
|
604
|
-
*
|
|
605
|
-
* @example
|
|
606
|
-
* ```ts
|
|
607
|
-
* // Delete files within cwd (safe by default)
|
|
608
|
-
* await safeDelete('./build')
|
|
609
|
-
* await safeDelete('./dist')
|
|
610
|
-
*
|
|
611
|
-
* // Delete with glob patterns
|
|
612
|
-
* await safeDelete(['./temp/**', '!./temp/keep.txt'])
|
|
613
|
-
*
|
|
614
|
-
* // Delete with custom retry settings
|
|
615
|
-
* await safeDelete('./flaky-dir', { maxRetries: 5, retryDelay: 500 })
|
|
616
|
-
*
|
|
617
|
-
* // Force delete cwd or above (requires explicit force: true)
|
|
618
|
-
* await safeDelete('../parent-dir', { force: true })
|
|
619
|
-
* ```
|
|
620
|
-
*/
|
|
621
|
-
export declare function safeDelete(filepath: PathLike | PathLike[], options?: RemoveOptions | undefined): Promise<void>;
|
|
622
|
-
/**
|
|
623
|
-
* Safely delete a file or directory synchronously with built-in protections.
|
|
624
|
-
*
|
|
625
|
-
* Uses [`del`](https://socket.dev/npm/package/del/overview/8.0.1) for safer deletion with these safety features:
|
|
626
|
-
* - By default, prevents deleting the current working directory (cwd) and above
|
|
627
|
-
* - Allows deleting within cwd (descendant paths) without force option
|
|
628
|
-
* - Automatically uses force: true for temp directory, cacache, and ~/.socket subdirectories
|
|
629
|
-
* - Protects against accidental deletion of parent directories via `../` paths
|
|
630
|
-
*
|
|
631
|
-
* @param filepath - Path or array of paths to delete (supports glob patterns)
|
|
632
|
-
* @param options - Deletion options including force, retries, and recursion
|
|
633
|
-
* @param options.force - Set to true to allow deleting cwd and above (use with caution)
|
|
634
|
-
* @throws {Error} When attempting to delete protected paths without force option
|
|
635
|
-
*
|
|
636
|
-
* @example
|
|
637
|
-
* ```ts
|
|
638
|
-
* // Delete files within cwd (safe by default)
|
|
639
|
-
* safeDeleteSync('./build')
|
|
640
|
-
* safeDeleteSync('./dist')
|
|
641
|
-
*
|
|
642
|
-
* // Delete with glob patterns
|
|
643
|
-
* safeDeleteSync(['./temp/**', '!./temp/keep.txt'])
|
|
644
|
-
*
|
|
645
|
-
* // Delete multiple paths
|
|
646
|
-
* safeDeleteSync(['./coverage', './reports'])
|
|
647
|
-
*
|
|
648
|
-
* // Force delete cwd or above (requires explicit force: true)
|
|
649
|
-
* safeDeleteSync('../parent-dir', { force: true })
|
|
650
|
-
* ```
|
|
651
|
-
*/
|
|
652
|
-
export declare function safeDeleteSync(filepath: PathLike | PathLike[], options?: RemoveOptions | undefined): void;
|
|
653
|
-
/**
|
|
654
|
-
* Safely create a directory asynchronously, ignoring EEXIST errors.
|
|
655
|
-
* This function wraps fs.promises.mkdir and handles the race condition where
|
|
656
|
-
* the directory might already exist, which is common in concurrent code.
|
|
657
|
-
*
|
|
658
|
-
* Unlike fs.promises.mkdir with recursive:true, this function:
|
|
659
|
-
* - Silently ignores EEXIST errors (directory already exists)
|
|
660
|
-
* - Re-throws all other errors (permissions, invalid path, etc.)
|
|
661
|
-
* - Works reliably in multi-process/concurrent scenarios
|
|
662
|
-
* - Defaults to recursive: true for convenient nested directory creation
|
|
663
|
-
*
|
|
664
|
-
* @param path - Directory path to create
|
|
665
|
-
* @param options - Options including recursive (default: true) and mode settings
|
|
666
|
-
* @returns Promise that resolves when directory is created or already exists
|
|
667
|
-
*
|
|
668
|
-
* @example
|
|
669
|
-
* ```ts
|
|
670
|
-
* // Create a directory recursively by default, no error if it exists
|
|
671
|
-
* await safeMkdir('./config')
|
|
672
|
-
*
|
|
673
|
-
* // Create nested directories (recursive: true is the default)
|
|
674
|
-
* await safeMkdir('./data/cache/temp')
|
|
675
|
-
*
|
|
676
|
-
* // Create with specific permissions
|
|
677
|
-
* await safeMkdir('./secure', { mode: 0o700 })
|
|
678
|
-
*
|
|
679
|
-
* // Explicitly disable recursive behavior
|
|
680
|
-
* await safeMkdir('./single-level', { recursive: false })
|
|
681
|
-
* ```
|
|
682
|
-
*/
|
|
683
|
-
export declare function safeMkdir(path: PathLike, options?: MakeDirectoryOptions | undefined): Promise<void>;
|
|
684
|
-
/**
|
|
685
|
-
* Safely create a directory synchronously, ignoring EEXIST errors.
|
|
686
|
-
* This function wraps fs.mkdirSync and handles the race condition where
|
|
687
|
-
* the directory might already exist, which is common in concurrent code.
|
|
688
|
-
*
|
|
689
|
-
* Unlike fs.mkdirSync with recursive:true, this function:
|
|
690
|
-
* - Silently ignores EEXIST errors (directory already exists)
|
|
691
|
-
* - Re-throws all other errors (permissions, invalid path, etc.)
|
|
692
|
-
* - Works reliably in multi-process/concurrent scenarios
|
|
693
|
-
* - Defaults to recursive: true for convenient nested directory creation
|
|
694
|
-
*
|
|
695
|
-
* @param path - Directory path to create
|
|
696
|
-
* @param options - Options including recursive (default: true) and mode settings
|
|
697
|
-
*
|
|
698
|
-
* @example
|
|
699
|
-
* ```ts
|
|
700
|
-
* // Create a directory recursively by default, no error if it exists
|
|
701
|
-
* safeMkdirSync('./config')
|
|
702
|
-
*
|
|
703
|
-
* // Create nested directories (recursive: true is the default)
|
|
704
|
-
* safeMkdirSync('./data/cache/temp')
|
|
705
|
-
*
|
|
706
|
-
* // Create with specific permissions
|
|
707
|
-
* safeMkdirSync('./secure', { mode: 0o700 })
|
|
708
|
-
*
|
|
709
|
-
* // Explicitly disable recursive behavior
|
|
710
|
-
* safeMkdirSync('./single-level', { recursive: false })
|
|
711
|
-
* ```
|
|
712
|
-
*/
|
|
713
|
-
export declare function safeMkdirSync(path: PathLike, options?: MakeDirectoryOptions | undefined): void;
|
|
714
|
-
/**
|
|
715
|
-
* Safely read a file asynchronously, returning undefined on error.
|
|
716
|
-
* Useful when you want to attempt reading a file without handling errors explicitly.
|
|
717
|
-
* Returns undefined for any error (file not found, permission denied, etc.).
|
|
718
|
-
* Defaults to UTF-8 encoding, returning a string unless encoding is explicitly set to null.
|
|
719
|
-
*
|
|
720
|
-
* @param filepath - Path to file
|
|
721
|
-
* @param options - Read options including encoding and default value
|
|
722
|
-
* @returns Promise resolving to file contents (string by default), or undefined on error
|
|
723
|
-
*
|
|
724
|
-
* @example
|
|
725
|
-
* ```ts
|
|
726
|
-
* // Try to read a file as UTF-8 string (default), get undefined if it doesn't exist
|
|
727
|
-
* const content = await safeReadFile('./optional-config.txt')
|
|
728
|
-
* if (content) {
|
|
729
|
-
* console.log('Config found:', content)
|
|
730
|
-
* }
|
|
731
|
-
*
|
|
732
|
-
* // Read with specific encoding
|
|
733
|
-
* const data = await safeReadFile('./data.txt', { encoding: 'utf8' })
|
|
734
|
-
*
|
|
735
|
-
* // Read as Buffer by setting encoding to null
|
|
736
|
-
* const buffer = await safeReadFile('./binary.dat', { encoding: null })
|
|
737
|
-
* ```
|
|
738
|
-
*/
|
|
739
|
-
export declare function safeReadFile(filepath: PathLike, options: SafeReadOptions & {
|
|
740
|
-
encoding: null;
|
|
741
|
-
}): Promise<Buffer | undefined>;
|
|
742
|
-
export declare function safeReadFile(filepath: PathLike, options?: SafeReadOptions | undefined): Promise<string | undefined>;
|
|
743
|
-
/**
|
|
744
|
-
* Safely read a file synchronously, returning undefined on error.
|
|
745
|
-
* Useful when you want to attempt reading a file without handling errors explicitly.
|
|
746
|
-
* Returns undefined for any error (file not found, permission denied, etc.).
|
|
747
|
-
* Defaults to UTF-8 encoding, returning a string unless encoding is explicitly set to null.
|
|
748
|
-
*
|
|
749
|
-
* @param filepath - Path to file
|
|
750
|
-
* @param options - Read options including encoding and default value
|
|
751
|
-
* @returns File contents (string by default), or undefined on error
|
|
752
|
-
*
|
|
753
|
-
* @example
|
|
754
|
-
* ```ts
|
|
755
|
-
* // Try to read a config file as UTF-8 string (default)
|
|
756
|
-
* const config = safeReadFileSync('./config.txt')
|
|
757
|
-
* if (config) {
|
|
758
|
-
* console.log('Config loaded successfully')
|
|
759
|
-
* }
|
|
760
|
-
*
|
|
761
|
-
* // Read with explicit encoding
|
|
762
|
-
* const data = safeReadFileSync('./data.txt', { encoding: 'utf8' })
|
|
763
|
-
*
|
|
764
|
-
* // Read binary file by setting encoding to null
|
|
765
|
-
* const buffer = safeReadFileSync('./image.png', { encoding: null })
|
|
766
|
-
* ```
|
|
767
|
-
*/
|
|
768
|
-
export declare function safeReadFileSync(filepath: PathLike, options: SafeReadOptions & {
|
|
769
|
-
encoding: null;
|
|
770
|
-
}): Buffer | undefined;
|
|
771
|
-
export declare function safeReadFileSync(filepath: PathLike, options?: SafeReadOptions | undefined): string | undefined;
|
|
772
|
-
/**
|
|
773
|
-
* Safely get file stats asynchronously, returning undefined on error.
|
|
774
|
-
* Useful for checking file existence and properties without error handling.
|
|
775
|
-
* Returns undefined for any error (file not found, permission denied, etc.).
|
|
776
|
-
*
|
|
777
|
-
* @param filepath - Path to check
|
|
778
|
-
* @returns Promise resolving to Stats object, or undefined on error
|
|
779
|
-
*
|
|
780
|
-
* @example
|
|
781
|
-
* ```ts
|
|
782
|
-
* // Check if file exists and get its stats
|
|
783
|
-
* const stats = await safeStats('./file.txt')
|
|
784
|
-
* if (stats) {
|
|
785
|
-
* console.log('File size:', stats.size)
|
|
786
|
-
* console.log('Modified:', stats.mtime)
|
|
787
|
-
* }
|
|
788
|
-
* ```
|
|
789
|
-
*/
|
|
790
|
-
export declare function safeStats(filepath: PathLike): Promise<import("fs").Stats | undefined>;
|
|
791
|
-
/**
|
|
792
|
-
* Safely get file stats synchronously, returning undefined on error.
|
|
793
|
-
* Useful for checking file existence and properties without error handling.
|
|
794
|
-
* Returns undefined for any error (file not found, permission denied, etc.).
|
|
795
|
-
*
|
|
796
|
-
* @param filepath - Path to check
|
|
797
|
-
* @returns Stats object, or undefined on error
|
|
798
|
-
*
|
|
799
|
-
* @example
|
|
800
|
-
* ```ts
|
|
801
|
-
* // Check if file exists and get its size
|
|
802
|
-
* const stats = safeStatsSync('./file.txt')
|
|
803
|
-
* if (stats) {
|
|
804
|
-
* console.log('File size:', stats.size)
|
|
805
|
-
* console.log('Is directory:', stats.isDirectory())
|
|
806
|
-
* }
|
|
807
|
-
* ```
|
|
808
|
-
*/
|
|
809
|
-
export declare function safeStatsSync(filepath: PathLike): import("fs").BigIntStats | import("fs").Stats | undefined;
|
|
810
|
-
/**
|
|
811
|
-
* Generate a unique filepath by adding number suffix if the path exists.
|
|
812
|
-
* Appends `-1`, `-2`, etc. before the file extension until a non-existent path is found.
|
|
813
|
-
* Useful for creating files without overwriting existing ones.
|
|
814
|
-
*
|
|
815
|
-
* @param filepath - Desired file path
|
|
816
|
-
* @returns Normalized unique filepath (original if it doesn't exist, or with number suffix)
|
|
817
|
-
*
|
|
818
|
-
* @example
|
|
819
|
-
* ```ts
|
|
820
|
-
* // If 'report.pdf' exists, returns 'report-1.pdf'
|
|
821
|
-
* const uniquePath = uniqueSync('./report.pdf')
|
|
822
|
-
*
|
|
823
|
-
* // If 'data.json' and 'data-1.json' exist, returns 'data-2.json'
|
|
824
|
-
* const path = uniqueSync('./data.json')
|
|
825
|
-
*
|
|
826
|
-
* // If 'backup' doesn't exist, returns 'backup' unchanged
|
|
827
|
-
* const backupPath = uniqueSync('./backup')
|
|
828
|
-
* ```
|
|
829
|
-
*/
|
|
830
|
-
export declare function uniqueSync(filepath: PathLike): string;
|
|
831
|
-
/**
|
|
832
|
-
* Validate that file paths are readable before processing.
|
|
833
|
-
* Filters out files from glob results that cannot be accessed (common with
|
|
834
|
-
* Yarn Berry PnP virtual filesystem, pnpm content-addressable store symlinks,
|
|
835
|
-
* or filesystem race conditions in CI/CD environments).
|
|
836
|
-
*
|
|
837
|
-
* This defensive pattern prevents ENOENT errors when files exist in glob
|
|
838
|
-
* results but are not accessible via standard filesystem operations.
|
|
839
|
-
*
|
|
840
|
-
* @param filepaths - Array of file paths to validate
|
|
841
|
-
* @returns Object with `validPaths` (readable) and `invalidPaths` (unreadable)
|
|
842
|
-
*
|
|
843
|
-
* @example
|
|
844
|
-
* ```ts
|
|
845
|
-
* import { validateFiles } from '@socketsecurity/lib/fs'
|
|
846
|
-
*
|
|
847
|
-
* const files = ['package.json', '.pnp.cjs/virtual-file.json']
|
|
848
|
-
* const { validPaths, invalidPaths } = validateFiles(files)
|
|
849
|
-
*
|
|
850
|
-
* console.log(`Valid: ${validPaths.length}`)
|
|
851
|
-
* console.log(`Invalid: ${invalidPaths.length}`)
|
|
852
|
-
* ```
|
|
853
|
-
*
|
|
854
|
-
* @example
|
|
855
|
-
* ```ts
|
|
856
|
-
* // Typical usage in Socket CLI commands
|
|
857
|
-
* const packagePaths = await getPackageFilesForScan(targets)
|
|
858
|
-
* const { validPaths } = validateFiles(packagePaths)
|
|
859
|
-
* await sdk.uploadManifestFiles(orgSlug, validPaths)
|
|
860
|
-
* ```
|
|
861
|
-
*/
|
|
862
|
-
export declare function validateFiles(filepaths: string[] | readonly string[]): ValidateFilesResult;
|
|
863
|
-
/**
|
|
864
|
-
* Write JSON content to a file asynchronously with formatting.
|
|
865
|
-
* Stringifies the value with configurable indentation and line endings.
|
|
866
|
-
* Automatically adds a final newline by default for POSIX compliance.
|
|
867
|
-
*
|
|
868
|
-
* @param filepath - Path to write to
|
|
869
|
-
* @param jsonContent - Value to stringify and write
|
|
870
|
-
* @param options - Write options including formatting and encoding
|
|
871
|
-
* @returns Promise that resolves when write completes
|
|
872
|
-
*
|
|
873
|
-
* @example
|
|
874
|
-
* ```ts
|
|
875
|
-
* // Write formatted JSON with default 2-space indentation
|
|
876
|
-
* await writeJson('./data.json', { name: 'example', version: '1.0.0' })
|
|
877
|
-
*
|
|
878
|
-
* // Write with custom indentation
|
|
879
|
-
* await writeJson('./config.json', config, { spaces: 4 })
|
|
880
|
-
*
|
|
881
|
-
* // Write with tabs instead of spaces
|
|
882
|
-
* await writeJson('./data.json', data, { spaces: '\t' })
|
|
883
|
-
*
|
|
884
|
-
* // Write without final newline
|
|
885
|
-
* await writeJson('./inline.json', obj, { finalEOL: false })
|
|
886
|
-
*
|
|
887
|
-
* // Write with Windows line endings
|
|
888
|
-
* await writeJson('./win.json', data, { EOL: '\r\n' })
|
|
889
|
-
* ```
|
|
890
|
-
*/
|
|
891
|
-
export declare function writeJson(filepath: PathLike, jsonContent: unknown, options?: WriteJsonOptions | string): Promise<void>;
|
|
892
|
-
/**
|
|
893
|
-
* Write JSON content to a file synchronously with formatting.
|
|
894
|
-
* Stringifies the value with configurable indentation and line endings.
|
|
895
|
-
* Automatically adds a final newline by default for POSIX compliance.
|
|
896
|
-
*
|
|
897
|
-
* @param filepath - Path to write to
|
|
898
|
-
* @param jsonContent - Value to stringify and write
|
|
899
|
-
* @param options - Write options including formatting and encoding
|
|
900
|
-
*
|
|
901
|
-
* @example
|
|
902
|
-
* ```ts
|
|
903
|
-
* // Write formatted JSON with default 2-space indentation
|
|
904
|
-
* writeJsonSync('./package.json', pkg)
|
|
905
|
-
*
|
|
906
|
-
* // Write with custom indentation
|
|
907
|
-
* writeJsonSync('./tsconfig.json', tsconfig, { spaces: 4 })
|
|
908
|
-
*
|
|
909
|
-
* // Write with tabs for indentation
|
|
910
|
-
* writeJsonSync('./data.json', data, { spaces: '\t' })
|
|
911
|
-
*
|
|
912
|
-
* // Write compacted (no indentation)
|
|
913
|
-
* writeJsonSync('./compact.json', data, { spaces: 0 })
|
|
914
|
-
* ```
|
|
915
|
-
*/
|
|
916
|
-
export declare function writeJsonSync(filepath: PathLike, jsonContent: unknown, options?: WriteJsonOptions | string | undefined): void;
|