@socketsecurity/lib 6.0.2 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/_virtual/_rolldown/runtime.js +45 -0
  3. package/dist/abort/signal.js +53 -59
  4. package/dist/ai/discover.js +110 -110
  5. package/dist/ai/profiles.d.mts +48 -25
  6. package/dist/ai/profiles.js +95 -59
  7. package/dist/ai/spawn.d.mts +2 -2
  8. package/dist/ai/spawn.js +172 -194
  9. package/dist/ai/types.d.mts +3 -3
  10. package/dist/ai/types.js +1 -17
  11. package/dist/ai/worktree.d.mts +2 -2
  12. package/dist/ai/worktree.js +160 -183
  13. package/dist/ansi/constants.js +16 -38
  14. package/dist/ansi/strip.js +44 -41
  15. package/dist/archives/_internal.js +64 -73
  16. package/dist/archives/detect.js +30 -43
  17. package/dist/archives/extract.js +43 -50
  18. package/dist/archives/tar.js +197 -228
  19. package/dist/archives/types.js +1 -17
  20. package/dist/archives/zip.js +85 -121
  21. package/dist/argv/flag-predicates.js +203 -101
  22. package/dist/argv/flag-types.js +96 -113
  23. package/dist/argv/parse-args-string.d.ts +16 -14
  24. package/dist/argv/parse-args-string.js +42 -39
  25. package/dist/argv/parse.js +145 -163
  26. package/dist/arrays/_internal.js +65 -48
  27. package/dist/arrays/chunk.js +51 -40
  28. package/dist/arrays/join.js +87 -35
  29. package/dist/arrays/predicates.js +46 -28
  30. package/dist/arrays/unique.js +45 -31
  31. package/dist/bin/_internal.js +34 -42
  32. package/dist/bin/check-primordials.js +175 -233
  33. package/dist/bin/check.js +51 -72
  34. package/dist/bin/exec.js +70 -74
  35. package/dist/bin/find.js +151 -134
  36. package/dist/bin/resolve.js +180 -246
  37. package/dist/bin/shadow.js +24 -33
  38. package/dist/bin/socket-lib.js +51 -73
  39. package/dist/bin/types.js +1 -17
  40. package/dist/bin/which.js +211 -146
  41. package/dist/cacache/_internal.js +25 -40
  42. package/dist/cacache/clear.js +79 -72
  43. package/dist/cacache/read.js +48 -46
  44. package/dist/cacache/tmp.js +29 -36
  45. package/dist/cacache/types.js +1 -17
  46. package/dist/cacache/write.js +43 -48
  47. package/dist/cache/ttl/store.js +232 -288
  48. package/dist/cache/ttl/types.js +1 -17
  49. package/dist/checks/primordials-defaults.js +83 -89
  50. package/dist/checks/primordials.js +225 -277
  51. package/dist/colors/convert.js +45 -37
  52. package/dist/colors/palette.js +88 -45
  53. package/dist/colors/socket-palette.js +74 -84
  54. package/dist/colors/types.js +1 -17
  55. package/dist/compression/_internal.js +57 -72
  56. package/dist/compression/brotli.js +94 -127
  57. package/dist/compression/gzip.js +95 -121
  58. package/dist/compression/types.js +1 -17
  59. package/dist/constants/agents.js +61 -113
  60. package/dist/constants/encoding.js +19 -42
  61. package/dist/constants/github.js +12 -30
  62. package/dist/constants/licenses.js +48 -63
  63. package/dist/constants/lifecycle-script-names.js +31 -45
  64. package/dist/constants/maintained-node-versions.js +22 -37
  65. package/dist/constants/node.js +226 -167
  66. package/dist/constants/package-default-node-range.js +16 -41
  67. package/dist/constants/package-default-socket-categories.js +12 -30
  68. package/dist/constants/packages.js +77 -126
  69. package/dist/constants/platform.js +27 -49
  70. package/dist/constants/sentinels.js +23 -48
  71. package/dist/constants/socket.js +42 -87
  72. package/dist/constants/testing.js +15 -34
  73. package/dist/constants/time.js +16 -36
  74. package/dist/constants/typescript.js +32 -52
  75. package/dist/cover/code.js +111 -142
  76. package/dist/cover/formatters.js +118 -101
  77. package/dist/cover/type.js +50 -76
  78. package/dist/cover/types.js +1 -17
  79. package/dist/crypto/hash.js +54 -46
  80. package/dist/debug/_internal.js +62 -71
  81. package/dist/debug/caller-info.js +53 -64
  82. package/dist/debug/namespace.js +80 -90
  83. package/dist/debug/output.js +172 -188
  84. package/dist/debug/types.js +1 -17
  85. package/dist/dlx/_internal.js +24 -43
  86. package/dist/dlx/arborist.js +162 -160
  87. package/dist/dlx/binary-cache.js +228 -200
  88. package/dist/dlx/binary-download.js +172 -211
  89. package/dist/dlx/binary-resolution.js +165 -157
  90. package/dist/dlx/binary-types.js +1 -17
  91. package/dist/dlx/binary.js +149 -189
  92. package/dist/dlx/cache.js +45 -30
  93. package/dist/dlx/detect.js +245 -167
  94. package/dist/dlx/dir.js +67 -51
  95. package/dist/dlx/firewall.js +62 -100
  96. package/dist/dlx/lockfile.js +122 -127
  97. package/dist/dlx/manifest.js +264 -274
  98. package/dist/dlx/package.js +241 -244
  99. package/dist/dlx/packages.js +99 -96
  100. package/dist/dlx/paths.js +73 -59
  101. package/dist/dlx/spec.js +52 -60
  102. package/dist/dlx/types.js +1 -17
  103. package/dist/eco/cargo/lockfile-format.js +19 -36
  104. package/dist/eco/cargo/manifest-format.js +17 -35
  105. package/dist/eco/cargo/parse-lockfile.js +210 -237
  106. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  107. package/dist/eco/manifest/detect-format.js +66 -90
  108. package/dist/eco/manifest/find-packages.js +39 -64
  109. package/dist/eco/manifest/get-package-versions.js +27 -48
  110. package/dist/eco/manifest/get-package.js +21 -40
  111. package/dist/eco/manifest/manifest-error.js +14 -35
  112. package/dist/eco/manifest/parse-lockfile.js +40 -86
  113. package/dist/eco/manifest/parse-manifest.js +26 -43
  114. package/dist/eco/manifest/parse.js +26 -47
  115. package/dist/eco/manifest/types.js +1 -17
  116. package/dist/eco/npm/bun/exec.js +23 -32
  117. package/dist/eco/npm/manifest-format.js +21 -35
  118. package/dist/eco/npm/npm/exec.js +51 -61
  119. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  120. package/dist/eco/npm/npm/flags.js +80 -52
  121. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  122. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  123. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  124. package/dist/eco/npm/parse-package-json.js +71 -102
  125. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  126. package/dist/eco/npm/pnpm/exec.js +51 -62
  127. package/dist/eco/npm/pnpm/flags.js +75 -68
  128. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  129. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  130. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  131. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  132. package/dist/eco/npm/script.js +82 -90
  133. package/dist/eco/npm/vlt/exec.js +24 -32
  134. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  135. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  136. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  137. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  138. package/dist/eco/purl.js +50 -60
  139. package/dist/eco/types.js +1 -17
  140. package/dist/effects/pulse-frames.js +64 -65
  141. package/dist/effects/shimmer-keyframes.js +71 -52
  142. package/dist/effects/shimmer-terminal.js +81 -50
  143. package/dist/effects/shimmer.js +290 -153
  144. package/dist/env/boolean.js +42 -43
  145. package/dist/env/case-insensitive.js +54 -39
  146. package/dist/env/ci.js +29 -31
  147. package/dist/env/debug.js +28 -31
  148. package/dist/env/github.js +144 -59
  149. package/dist/env/home.js +38 -31
  150. package/dist/env/locale.js +59 -39
  151. package/dist/env/node-auth-token.js +28 -31
  152. package/dist/env/node-env.js +28 -31
  153. package/dist/env/npm.js +94 -47
  154. package/dist/env/number.js +50 -51
  155. package/dist/env/package-manager.js +95 -83
  156. package/dist/env/path.js +28 -31
  157. package/dist/env/pre-commit.js +30 -32
  158. package/dist/env/proxy.js +121 -122
  159. package/dist/env/rewire.js +204 -96
  160. package/dist/env/shell.js +28 -31
  161. package/dist/env/socket-cli.js +233 -81
  162. package/dist/env/socket.js +521 -156
  163. package/dist/env/string.js +43 -44
  164. package/dist/env/temp-dir.js +59 -39
  165. package/dist/env/term.js +28 -31
  166. package/dist/env/test.js +65 -43
  167. package/dist/env/types.js +1 -17
  168. package/dist/env/windows.js +78 -43
  169. package/dist/env/xdg.js +62 -39
  170. package/dist/errors/message.js +40 -46
  171. package/dist/errors/predicates.js +61 -49
  172. package/dist/errors/stack.js +24 -36
  173. package/dist/events/exit/_internal.js +86 -103
  174. package/dist/events/exit/handler.js +48 -55
  175. package/dist/events/exit/intercept.js +49 -70
  176. package/dist/events/exit/lifecycle.js +92 -101
  177. package/dist/events/exit/signals.js +25 -31
  178. package/dist/events/exit/types.js +1 -17
  179. package/dist/events/warning/handler.js +43 -40
  180. package/dist/events/warning/suppress.js +111 -90
  181. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  182. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  183. package/dist/external/@npmcli/package-json.js +12705 -15140
  184. package/dist/external/@npmcli/promise-spawn.js +451 -472
  185. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  186. package/dist/external/@sinclair/typebox.js +7516 -7885
  187. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  188. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  189. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  190. package/dist/external/@yarnpkg/extensions.js +435 -1022
  191. package/dist/external/adm-zip.js +2313 -2673
  192. package/dist/external/debug.js +700 -687
  193. package/dist/external/external-pack.js +2658 -3171
  194. package/dist/external/fast-sort.js +124 -138
  195. package/dist/external/get-east-asian-width.js +70 -64
  196. package/dist/external/libnpmexec.js +28 -31
  197. package/dist/external/npm-pack.js +43617 -50137
  198. package/dist/external/p-map.js +198 -222
  199. package/dist/external/pico-pack.js +6735 -7304
  200. package/dist/external/pony-cause.js +143 -139
  201. package/dist/external/shell-quote.js +226 -0
  202. package/dist/external/spdx-pack.js +1283 -1403
  203. package/dist/external/streaming-iterables.js +835 -1052
  204. package/dist/external/tar-fs.js +2769 -3048
  205. package/dist/external/which.js +267 -251
  206. package/dist/external/yargs-parser.js +851 -1074
  207. package/dist/external-tools/bazel/asset-names.js +98 -90
  208. package/dist/external-tools/bazel/from-download.js +52 -46
  209. package/dist/external-tools/bazel/from-path.js +27 -38
  210. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  211. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  212. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  213. package/dist/external-tools/bazel/resolve.js +44 -58
  214. package/dist/external-tools/bazel/types.js +1 -17
  215. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  216. package/dist/external-tools/cdxgen/from-download.js +52 -80
  217. package/dist/external-tools/cdxgen/from-path.js +19 -37
  218. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  219. package/dist/external-tools/cdxgen/resolve.js +48 -63
  220. package/dist/external-tools/cdxgen/types.js +1 -17
  221. package/dist/external-tools/from-download.js +107 -67
  222. package/dist/external-tools/janus/asset-names.js +44 -51
  223. package/dist/external-tools/janus/from-download.js +45 -70
  224. package/dist/external-tools/janus/from-path.js +19 -37
  225. package/dist/external-tools/janus/from-vfs.js +22 -43
  226. package/dist/external-tools/janus/resolve.js +45 -63
  227. package/dist/external-tools/janus/types.js +1 -17
  228. package/dist/external-tools/jre/asset-names.js +109 -82
  229. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  230. package/dist/external-tools/jre/from-download.js +71 -67
  231. package/dist/external-tools/jre/from-java-home.js +27 -54
  232. package/dist/external-tools/jre/from-path.js +27 -49
  233. package/dist/external-tools/jre/from-vfs.js +39 -60
  234. package/dist/external-tools/jre/resolve.js +55 -68
  235. package/dist/external-tools/jre/types.js +1 -17
  236. package/dist/external-tools/manifest.js +130 -150
  237. package/dist/external-tools/opengrep/asset-names.js +60 -72
  238. package/dist/external-tools/opengrep/from-download.js +58 -80
  239. package/dist/external-tools/opengrep/from-path.js +19 -37
  240. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  241. package/dist/external-tools/opengrep/resolve.js +43 -63
  242. package/dist/external-tools/opengrep/types.js +1 -17
  243. package/dist/external-tools/sbt/asset-names.js +21 -30
  244. package/dist/external-tools/sbt/from-download.js +50 -61
  245. package/dist/external-tools/sbt/from-path.js +23 -38
  246. package/dist/external-tools/sbt/from-vfs.js +30 -44
  247. package/dist/external-tools/sbt/resolve.js +45 -63
  248. package/dist/external-tools/sbt/types.js +1 -17
  249. package/dist/external-tools/synp/asset-names.js +11 -29
  250. package/dist/external-tools/synp/from-download.js +24 -41
  251. package/dist/external-tools/synp/from-path.js +19 -37
  252. package/dist/external-tools/synp/from-vfs.js +22 -43
  253. package/dist/external-tools/synp/resolve.js +43 -62
  254. package/dist/external-tools/synp/types.js +1 -17
  255. package/dist/external-tools/trivy/asset-names.js +51 -62
  256. package/dist/external-tools/trivy/from-download.js +42 -64
  257. package/dist/external-tools/trivy/from-path.js +19 -37
  258. package/dist/external-tools/trivy/from-vfs.js +22 -43
  259. package/dist/external-tools/trivy/resolve.js +43 -63
  260. package/dist/external-tools/trivy/types.js +1 -17
  261. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  262. package/dist/external-tools/trufflehog/from-download.js +44 -62
  263. package/dist/external-tools/trufflehog/from-path.js +21 -37
  264. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  265. package/dist/external-tools/trufflehog/resolve.js +43 -63
  266. package/dist/external-tools/trufflehog/types.js +1 -17
  267. package/dist/external-tools/uv/asset-names.js +64 -74
  268. package/dist/external-tools/uv/from-download.js +44 -65
  269. package/dist/external-tools/uv/from-path.js +19 -37
  270. package/dist/external-tools/uv/from-vfs.js +22 -43
  271. package/dist/external-tools/uv/resolve.js +42 -63
  272. package/dist/external-tools/uv/types.js +1 -17
  273. package/dist/fs/_internal.js +40 -42
  274. package/dist/fs/access.d.ts +32 -0
  275. package/dist/fs/access.js +66 -0
  276. package/dist/fs/encoding.js +80 -97
  277. package/dist/fs/find-up.js +126 -147
  278. package/dist/fs/inspect.js +168 -99
  279. package/dist/fs/path-cache.js +31 -32
  280. package/dist/fs/read-dir.js +102 -79
  281. package/dist/fs/read-file.js +177 -118
  282. package/dist/fs/read-json-cache.js +150 -134
  283. package/dist/fs/read-json.js +172 -187
  284. package/dist/fs/resolve-module.d.ts +57 -0
  285. package/dist/fs/resolve-module.js +40 -0
  286. package/dist/fs/safe.js +278 -169
  287. package/dist/fs/types.js +1 -17
  288. package/dist/fs/unique.js +52 -48
  289. package/dist/fs/validate.js +56 -43
  290. package/dist/fs/write-json.js +109 -75
  291. package/dist/git/_internal.js +251 -216
  292. package/dist/git/changed.js +191 -74
  293. package/dist/git/repo.js +118 -104
  294. package/dist/git/staged.js +172 -62
  295. package/dist/git/types.js +1 -17
  296. package/dist/git/unstaged.js +175 -62
  297. package/dist/github/constants.js +25 -33
  298. package/dist/github/errors.js +46 -38
  299. package/dist/github/fetch.js +137 -82
  300. package/dist/github/ghsa.js +217 -151
  301. package/dist/github/refs-cache.js +54 -43
  302. package/dist/github/refs-graphql.js +97 -89
  303. package/dist/github/refs-rest.js +70 -101
  304. package/dist/github/refs.js +105 -64
  305. package/dist/github/token.js +96 -48
  306. package/dist/github/types.js +1 -17
  307. package/dist/globs/_internal.js +73 -82
  308. package/dist/globs/defaults.js +40 -59
  309. package/dist/globs/match.js +93 -77
  310. package/dist/globs/matcher.js +104 -92
  311. package/dist/globs/stream.js +43 -55
  312. package/dist/globs/types.js +1 -17
  313. package/dist/http-request/_internal.js +11 -38
  314. package/dist/http-request/browser-fetch.js +19 -29
  315. package/dist/http-request/browser.js +188 -206
  316. package/dist/http-request/checksums.js +101 -65
  317. package/dist/http-request/download-types.js +1 -17
  318. package/dist/http-request/download.js +195 -196
  319. package/dist/http-request/errors.js +39 -47
  320. package/dist/http-request/headers.js +95 -80
  321. package/dist/http-request/http-request.js +10 -35
  322. package/dist/http-request/node.js +71 -97
  323. package/dist/http-request/request-attempt.js +232 -285
  324. package/dist/http-request/request-types.js +1 -17
  325. package/dist/http-request/request.js +106 -108
  326. package/dist/http-request/response-reader.js +47 -51
  327. package/dist/http-request/response-types.js +22 -38
  328. package/dist/http-request/user-agent.js +73 -55
  329. package/dist/integrity.js +105 -106
  330. package/dist/ipc/_internal.js +34 -48
  331. package/dist/ipc/directory.js +55 -63
  332. package/dist/ipc/paths.js +52 -45
  333. package/dist/ipc/types.js +1 -17
  334. package/dist/ipc/write.js +81 -74
  335. package/dist/ipc-cli/get.js +29 -56
  336. package/dist/ipc-cli/types.js +1 -17
  337. package/dist/json/edit.js +182 -242
  338. package/dist/json/format.js +202 -103
  339. package/dist/json/parse.js +206 -109
  340. package/dist/json/types.js +1 -17
  341. package/dist/links/create.js +93 -60
  342. package/dist/links/types.js +1 -17
  343. package/dist/logger/_internal.js +109 -73
  344. package/dist/logger/browser.js +45 -56
  345. package/dist/logger/colors.js +31 -49
  346. package/dist/logger/console.js +89 -112
  347. package/dist/logger/default.js +19 -33
  348. package/dist/logger/logger.js +5 -29
  349. package/dist/logger/node.js +794 -854
  350. package/dist/logger/symbols-builder.js +54 -56
  351. package/dist/logger/symbols.js +135 -118
  352. package/dist/logger/types.js +1 -17
  353. package/dist/memo/_internal.js +39 -49
  354. package/dist/memo/async.js +133 -117
  355. package/dist/memo/clear.js +25 -34
  356. package/dist/memo/decorator.js +43 -37
  357. package/dist/memo/memoize.js +97 -88
  358. package/dist/memo/once.js +42 -41
  359. package/dist/memo/types.js +1 -17
  360. package/dist/memo/weak.js +45 -41
  361. package/dist/node/async-hooks.js +9 -30
  362. package/dist/node/child-process.js +9 -30
  363. package/dist/node/crypto.js +9 -30
  364. package/dist/node/events.js +9 -30
  365. package/dist/node/fs-promises.js +9 -30
  366. package/dist/node/fs.js +9 -30
  367. package/dist/node/http.js +9 -30
  368. package/dist/node/https.js +9 -30
  369. package/dist/node/module.js +20 -34
  370. package/dist/node/os.js +9 -30
  371. package/dist/node/path.js +9 -30
  372. package/dist/node/timers-promises.js +9 -30
  373. package/dist/node/url.js +9 -30
  374. package/dist/node/util.js +9 -30
  375. package/dist/objects/getters.js +185 -126
  376. package/dist/objects/inspect.js +85 -52
  377. package/dist/objects/mutate.js +96 -76
  378. package/dist/objects/predicates.js +112 -59
  379. package/dist/objects/sort.js +120 -76
  380. package/dist/objects/types.js +1 -17
  381. package/dist/packages/edit-class.js +198 -265
  382. package/dist/packages/edit.js +79 -86
  383. package/dist/packages/exports.js +146 -157
  384. package/dist/packages/isolation.js +159 -209
  385. package/dist/packages/licenses.js +207 -189
  386. package/dist/packages/manifest.js +134 -172
  387. package/dist/packages/normalize.js +91 -102
  388. package/dist/packages/operations.d.ts +2 -0
  389. package/dist/packages/operations.js +283 -254
  390. package/dist/packages/provenance.js +195 -245
  391. package/dist/packages/specs.js +94 -84
  392. package/dist/packages/types.js +1 -17
  393. package/dist/packages/validation.js +49 -50
  394. package/dist/paths/_internal.js +82 -86
  395. package/dist/paths/conversion.js +112 -65
  396. package/dist/paths/dirnames.js +17 -42
  397. package/dist/paths/exts.js +23 -54
  398. package/dist/paths/filenames.js +21 -50
  399. package/dist/paths/globs.js +15 -38
  400. package/dist/paths/normalize.js +215 -236
  401. package/dist/paths/packages.js +34 -49
  402. package/dist/paths/predicates.js +184 -106
  403. package/dist/paths/resolve.js +146 -128
  404. package/dist/paths/rewire.js +108 -72
  405. package/dist/paths/socket.js +252 -132
  406. package/dist/paths/walk.d.ts +40 -0
  407. package/dist/paths/walk.js +58 -0
  408. package/dist/perf/_internal.js +10 -28
  409. package/dist/perf/enabled.js +21 -30
  410. package/dist/perf/metrics.js +81 -67
  411. package/dist/perf/report.js +79 -80
  412. package/dist/perf/timer.js +180 -126
  413. package/dist/perf/types.js +1 -17
  414. package/dist/pkg-ext/data.js +29 -82
  415. package/dist/pkg-ext/types.js +1 -17
  416. package/dist/primordials/array.js +120 -198
  417. package/dist/primordials/buffer.js +28 -51
  418. package/dist/primordials/date.js +26 -51
  419. package/dist/primordials/error.js +33 -59
  420. package/dist/primordials/function.js +21 -41
  421. package/dist/primordials/globals.js +25 -48
  422. package/dist/primordials/json.js +14 -30
  423. package/dist/primordials/map-set.js +88 -152
  424. package/dist/primordials/math.js +59 -116
  425. package/dist/primordials/number.js +41 -76
  426. package/dist/primordials/object.js +56 -116
  427. package/dist/primordials/promise.js +28 -52
  428. package/dist/primordials/reflect.js +24 -52
  429. package/dist/primordials/regexp.js +25 -47
  430. package/dist/primordials/string.js +114 -167
  431. package/dist/primordials/symbol.js +40 -72
  432. package/dist/primordials/uncurry.js +38 -55
  433. package/dist/primordials/url.js +27 -66
  434. package/dist/process/_internal.js +7 -32
  435. package/dist/process/abort.js +29 -35
  436. package/dist/process/lock-instance.js +26 -30
  437. package/dist/process/lock-manager.js +279 -307
  438. package/dist/process/lock-types.js +1 -17
  439. package/dist/process/spawn/_internal.js +43 -55
  440. package/dist/process/spawn/child.js +172 -211
  441. package/dist/process/spawn/errors.js +116 -113
  442. package/dist/process/spawn/stdio.js +51 -35
  443. package/dist/process/spawn/types.js +1 -17
  444. package/dist/process/transient.js +49 -66
  445. package/dist/promises/_internal.d.ts +8 -2
  446. package/dist/promises/_internal.js +31 -38
  447. package/dist/promises/iterate.js +238 -102
  448. package/dist/promises/options.js +123 -101
  449. package/dist/promises/queue.js +115 -136
  450. package/dist/promises/resolvers.js +77 -46
  451. package/dist/promises/retry.js +156 -101
  452. package/dist/promises/types.js +1 -17
  453. package/dist/regexps/escape.js +32 -30
  454. package/dist/regexps/hex.js +16 -33
  455. package/dist/regexps/spec.js +53 -81
  456. package/dist/releases/github-archives.js +127 -118
  457. package/dist/releases/github-asset-url.js +162 -155
  458. package/dist/releases/github-assets.js +37 -49
  459. package/dist/releases/github-auth.js +32 -48
  460. package/dist/releases/github-downloads.js +118 -138
  461. package/dist/releases/github-listing.js +175 -154
  462. package/dist/releases/github-retry-config.d.ts +31 -0
  463. package/dist/releases/github-retry-config.js +46 -0
  464. package/dist/releases/github-types.js +1 -17
  465. package/dist/releases/socket-btm.js +273 -192
  466. package/dist/schema/parse.js +35 -36
  467. package/dist/schema/types.js +1 -17
  468. package/dist/schema/validate.js +118 -99
  469. package/dist/sea/detect.js +57 -52
  470. package/dist/secrets/_internal.js +86 -67
  471. package/dist/secrets/find.js +96 -77
  472. package/dist/secrets/keychain.js +315 -309
  473. package/dist/secrets/linux.js +133 -135
  474. package/dist/secrets/macos.js +151 -147
  475. package/dist/secrets/rc.js +182 -181
  476. package/dist/secrets/socket-api-token.js +28 -43
  477. package/dist/secrets/types.js +1 -17
  478. package/dist/secrets/windows.js +184 -242
  479. package/dist/shadow/skip.js +51 -70
  480. package/dist/shadow/types.js +1 -17
  481. package/dist/shell/parse.d.ts +26 -0
  482. package/dist/shell/parse.js +35 -0
  483. package/dist/shell/quote.d.ts +19 -0
  484. package/dist/shell/quote.js +30 -0
  485. package/dist/smol/detect.js +67 -43
  486. package/dist/smol/http.js +33 -37
  487. package/dist/smol/https.js +31 -37
  488. package/dist/smol/manifest.js +33 -37
  489. package/dist/smol/path.d.ts +51 -0
  490. package/dist/smol/path.js +38 -0
  491. package/dist/smol/primordial.js +35 -37
  492. package/dist/smol/purl.js +34 -37
  493. package/dist/smol/versions.js +31 -37
  494. package/dist/smol/vfs.js +46 -38
  495. package/dist/sorts/_internal.js +14 -40
  496. package/dist/sorts/natural.js +57 -64
  497. package/dist/sorts/semver.js +33 -43
  498. package/dist/sorts/strings.js +24 -30
  499. package/dist/sorts/types.js +1 -17
  500. package/dist/spinner/default.js +72 -63
  501. package/dist/spinner/format.js +86 -71
  502. package/dist/spinner/spinner.js +749 -797
  503. package/dist/spinner/types.js +1 -17
  504. package/dist/spinner/with.js +193 -137
  505. package/dist/ssri/convert.js +64 -47
  506. package/dist/ssri/parse.js +38 -37
  507. package/dist/ssri/validate.js +51 -34
  508. package/dist/stdio/_internal.js +50 -46
  509. package/dist/stdio/clear.js +208 -86
  510. package/dist/stdio/divider.js +170 -97
  511. package/dist/stdio/footer.js +116 -110
  512. package/dist/stdio/header.js +117 -90
  513. package/dist/stdio/progress.js +189 -218
  514. package/dist/stdio/prompts.js +244 -168
  515. package/dist/stdio/stderr.js +173 -78
  516. package/dist/stdio/stdout.js +177 -94
  517. package/dist/streams/parallel.js +58 -50
  518. package/dist/streams/transform.js +36 -45
  519. package/dist/strings/format.js +145 -63
  520. package/dist/strings/predicates.js +56 -34
  521. package/dist/strings/search.js +52 -42
  522. package/dist/strings/transform.js +113 -72
  523. package/dist/strings/types.js +1 -17
  524. package/dist/strings/width.js +89 -82
  525. package/dist/tables/bordered.js +81 -81
  526. package/dist/tables/padding.js +36 -46
  527. package/dist/tables/simple.js +62 -70
  528. package/dist/tables/types.js +1 -17
  529. package/dist/temporal/instant.js +72 -81
  530. package/dist/temporal/now.js +40 -31
  531. package/dist/temporal/slots.js +42 -36
  532. package/dist/temporal/system.js +36 -36
  533. package/dist/temporal/temporal.js +11 -41
  534. package/dist/themes/context.js +131 -69
  535. package/dist/themes/resolve.js +207 -132
  536. package/dist/themes/themes.js +225 -194
  537. package/dist/themes/types.js +1 -17
  538. package/dist/url/parse.js +48 -51
  539. package/dist/url/predicates.js +24 -31
  540. package/dist/url/search-params.js +133 -101
  541. package/dist/url/types.js +1 -17
  542. package/dist/versions/_internal.js +31 -33
  543. package/dist/versions/compare.js +80 -58
  544. package/dist/versions/modify.js +41 -39
  545. package/dist/versions/parse.js +88 -64
  546. package/dist/versions/range.js +58 -41
  547. package/dist/versions/types.js +1 -17
  548. package/dist/words/article.js +22 -30
  549. package/dist/words/capitalize.js +25 -34
  550. package/dist/words/pluralize.js +23 -31
  551. package/dist/words/types.js +1 -17
  552. package/package.json +42 -5
@@ -1,71 +1,181 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var staged_exports = {};
22
- __export(staged_exports, {
23
- getStagedFiles: () => getStagedFiles,
24
- getStagedFilesSync: () => getStagedFilesSync,
25
- isStaged: () => isStaged,
26
- isStagedSync: () => isStagedSync
27
- });
28
- module.exports = __toCommonJS(staged_exports);
29
- var import_normalize = require("../paths/normalize");
30
- var import_array = require("../primordials/array");
31
- var import_internal = require("./_internal");
32
- var import_repo = require("./repo");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_paths_normalize = require('../paths/normalize.js');
5
+ const require_primordials_array = require('../primordials/array.js');
6
+ const require_node_path = require('../node/path.js');
7
+ const require_git_repo = require('./repo.js');
8
+ const require_git__internal = require('./_internal.js');
9
+
10
+ //#region src/git/staged.ts
11
+ /**
12
+ * @file "Ready for the next commit" helpers — `git diff --cached` over only the
13
+ * index. Excludes unstaged tracked-file edits and untracked paths; use
14
+ * `changed.ts` if you need the broader view.
15
+ */
16
+ /**
17
+ * Get staged files ready for commit (changes added with `git add`).
18
+ *
19
+ * Uses `git diff --cached --name-only` which returns only staged changes. Does
20
+ * NOT include: - Unstaged modifications (changes not added with `git add`) -
21
+ * Untracked files (new files not added to git)
22
+ *
23
+ * This is a focused check for what will be included in the next commit. Useful
24
+ * for validating changes before committing or running pre-commit hooks.
25
+ *
26
+ * @example
27
+ * ;```typescript
28
+ * // Get currently staged files
29
+ * const files = await getStagedFiles()
30
+ * // => ['src/foo.ts']
31
+ *
32
+ * // Stage more files
33
+ * await spawn('git', ['add', 'src/bar.ts'])
34
+ * const files = await getStagedFiles()
35
+ * // => ['src/foo.ts', 'src/bar.ts']
36
+ *
37
+ * // Get absolute paths
38
+ * const files = await getStagedFiles({ absolute: true })
39
+ * // => ['/path/to/repo/src/foo.ts', ...]
40
+ * ```
41
+ *
42
+ * @param options - Options controlling path format and filtering.
43
+ *
44
+ * @returns Promise resolving to array of staged file paths.
45
+ */
33
46
  async function getStagedFiles(options) {
34
- const args = (0, import_internal.getGitDiffSpawnArgs)(options?.cwd).staged;
35
- return await (0, import_internal.innerDiff)(args, options);
47
+ const args = require_git__internal.getGitDiffSpawnArgs(options?.cwd).staged;
48
+ return await require_git__internal.innerDiff(args, options);
36
49
  }
50
+ /**
51
+ * Get staged files ready for commit (changes added with `git add`).
52
+ *
53
+ * Synchronous version of `getStagedFiles()`. Uses `git diff --cached
54
+ * --name-only` which returns only staged changes. Does NOT include: - Unstaged
55
+ * modifications (changes not added with `git add`) - Untracked files (new files
56
+ * not added to git)
57
+ *
58
+ * This is a focused check for what will be included in the next commit. Useful
59
+ * for validating changes before committing or running pre-commit hooks.
60
+ *
61
+ * @example
62
+ * ;```typescript
63
+ * // Get currently staged files
64
+ * const files = getStagedFilesSync()
65
+ * // => ['src/foo.ts']
66
+ *
67
+ * // Stage more files
68
+ * spawnSync('git', ['add', 'src/bar.ts'])
69
+ * const files = getStagedFilesSync()
70
+ * // => ['src/foo.ts', 'src/bar.ts']
71
+ *
72
+ * // Get absolute paths
73
+ * const files = getStagedFilesSync({ absolute: true })
74
+ * // => ['/path/to/repo/src/foo.ts', ...]
75
+ * ```
76
+ *
77
+ * @param options - Options controlling path format and filtering.
78
+ *
79
+ * @returns Array of staged file paths.
80
+ */
37
81
  function getStagedFilesSync(options) {
38
- const args = (0, import_internal.getGitDiffSpawnArgs)(options?.cwd).staged;
39
- return (0, import_internal.innerDiffSync)(args, options);
82
+ const args = require_git__internal.getGitDiffSpawnArgs(options?.cwd).staged;
83
+ return require_git__internal.innerDiffSync(args, options);
40
84
  }
85
+ /**
86
+ * Check if a file or directory is staged for commit.
87
+ *
88
+ * Checks if the given pathname has changes staged with `git add` that will be
89
+ * included in the next commit. Does NOT include: - Unstaged modifications
90
+ * (changes not added with `git add`) - Untracked files (new files not in git)
91
+ *
92
+ * For directories, returns `true` if ANY file within the directory is staged.
93
+ *
94
+ * Symlinks in the pathname and cwd are automatically resolved using
95
+ * `fs.realpathSync()` before comparison.
96
+ *
97
+ * @example
98
+ * ;```typescript
99
+ * // Check if file is staged
100
+ * const staged = await isStaged('src/foo.ts')
101
+ * // => false
102
+ *
103
+ * // Stage the file
104
+ * await spawn('git', ['add', 'src/foo.ts'])
105
+ * const staged = await isStaged('src/foo.ts')
106
+ * // => true
107
+ *
108
+ * // Check directory
109
+ * const staged = await isStaged('src/')
110
+ * // => true (if any file in src/ is staged)
111
+ * ```
112
+ *
113
+ * @param pathname - File or directory path to check.
114
+ * @param options - Options for the git diff check.
115
+ *
116
+ * @returns Promise resolving to `true` if path is staged, `false` otherwise.
117
+ */
41
118
  async function isStaged(pathname, options) {
42
- const files = await getStagedFiles({
43
- __proto__: null,
44
- ...options,
45
- absolute: false
46
- });
47
- const path = (0, import_repo.getPath)();
48
- const resolvedPathname = (0, import_repo.getCachedRealpath)(pathname);
49
- const baseCwd = options?.cwd ? (0, import_repo.getCachedRealpath)(options["cwd"]) : (0, import_repo.getCwd)();
50
- const relativePath = (0, import_normalize.normalizePath)(path.relative(baseCwd, resolvedPathname));
51
- return (0, import_array.ArrayPrototypeIncludes)(files, relativePath);
119
+ const files = await getStagedFiles({
120
+ __proto__: null,
121
+ ...options,
122
+ absolute: false
123
+ });
124
+ const path = /* @__PURE__ */ require_node_path.getNodePath();
125
+ const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
126
+ /* c8 ignore start */
127
+ const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
128
+ return require_primordials_array.ArrayPrototypeIncludes(files, /* @__PURE__ */ require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
52
129
  }
130
+ /**
131
+ * Check if a file or directory is staged for commit.
132
+ *
133
+ * Synchronous version of `isStaged()`. Checks if the given pathname has changes
134
+ * staged with `git add` that will be included in the next commit. Does NOT
135
+ * include: - Unstaged modifications (changes not added with `git add`) -
136
+ * Untracked files (new files not in git)
137
+ *
138
+ * For directories, returns `true` if ANY file within the directory is staged.
139
+ *
140
+ * Symlinks in the pathname and cwd are automatically resolved using
141
+ * `fs.realpathSync()` before comparison.
142
+ *
143
+ * @example
144
+ * ;```typescript
145
+ * // Check if file is staged
146
+ * const staged = isStagedSync('src/foo.ts')
147
+ * // => false
148
+ *
149
+ * // Stage the file
150
+ * spawnSync('git', ['add', 'src/foo.ts'])
151
+ * const staged = isStagedSync('src/foo.ts')
152
+ * // => true
153
+ *
154
+ * // Check directory
155
+ * const staged = isStagedSync('src/')
156
+ * // => true (if any file in src/ is staged)
157
+ * ```
158
+ *
159
+ * @param pathname - File or directory path to check.
160
+ * @param options - Options for the git diff check.
161
+ *
162
+ * @returns `true` if path is staged, `false` otherwise.
163
+ */
53
164
  function isStagedSync(pathname, options) {
54
- const files = getStagedFilesSync({
55
- __proto__: null,
56
- ...options,
57
- absolute: false
58
- });
59
- const path = (0, import_repo.getPath)();
60
- const resolvedPathname = (0, import_repo.getCachedRealpath)(pathname);
61
- const baseCwd = options?.cwd ? (0, import_repo.getCachedRealpath)(options["cwd"]) : (0, import_repo.getCwd)();
62
- const relativePath = (0, import_normalize.normalizePath)(path.relative(baseCwd, resolvedPathname));
63
- return (0, import_array.ArrayPrototypeIncludes)(files, relativePath);
165
+ const files = getStagedFilesSync({
166
+ __proto__: null,
167
+ ...options,
168
+ absolute: false
169
+ });
170
+ const path = /* @__PURE__ */ require_node_path.getNodePath();
171
+ const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
172
+ /* c8 ignore start */
173
+ const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
174
+ return require_primordials_array.ArrayPrototypeIncludes(files, /* @__PURE__ */ require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
64
175
  }
65
- // Annotate the CommonJS export names for ESM import in node:
66
- 0 && (module.exports = {
67
- getStagedFiles,
68
- getStagedFilesSync,
69
- isStaged,
70
- isStagedSync
71
- });
176
+
177
+ //#endregion
178
+ exports.getStagedFiles = getStagedFiles;
179
+ exports.getStagedFilesSync = getStagedFilesSync;
180
+ exports.isStaged = isStaged;
181
+ exports.isStagedSync = isStagedSync;
package/dist/git/types.js CHANGED
@@ -1,18 +1,2 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
17
- var types_exports = {};
18
- module.exports = __toCommonJS(types_exports);
2
+ /* Socket Lib - Built with rolldown */
@@ -1,71 +1,184 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var unstaged_exports = {};
22
- __export(unstaged_exports, {
23
- getUnstagedFiles: () => getUnstagedFiles,
24
- getUnstagedFilesSync: () => getUnstagedFilesSync,
25
- isUnstaged: () => isUnstaged,
26
- isUnstagedSync: () => isUnstagedSync
27
- });
28
- module.exports = __toCommonJS(unstaged_exports);
29
- var import_normalize = require("../paths/normalize");
30
- var import_array = require("../primordials/array");
31
- var import_internal = require("./_internal");
32
- var import_repo = require("./repo");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_paths_normalize = require('../paths/normalize.js');
5
+ const require_primordials_array = require('../primordials/array.js');
6
+ const require_node_path = require('../node/path.js');
7
+ const require_git_repo = require('./repo.js');
8
+ const require_git__internal = require('./_internal.js');
9
+
10
+ //#region src/git/unstaged.ts
11
+ /**
12
+ * @file "Edited but not yet staged" helpers — `git diff` over the working tree
13
+ * only. Excludes index-staged changes and untracked paths; use `changed.ts`
14
+ * for the broader view or `staged.ts` for the index.
15
+ */
16
+ /**
17
+ * Get unstaged modified files (changes not yet staged for commit).
18
+ *
19
+ * Uses `git diff --name-only` which returns only unstaged modifications to
20
+ * tracked files. Does NOT include: - Untracked files (new files not added to
21
+ * git) - Staged changes (files added with `git add`)
22
+ *
23
+ * This is a focused check for uncommitted changes to existing tracked files.
24
+ * Useful for detecting work-in-progress modifications before staging.
25
+ *
26
+ * @example
27
+ * ;```typescript
28
+ * // Get unstaged files
29
+ * const files = await getUnstagedFiles()
30
+ * // => ['src/foo.ts', 'src/bar.ts']
31
+ *
32
+ * // After staging some files
33
+ * await spawn('git', ['add', 'src/foo.ts'])
34
+ * const files = await getUnstagedFiles()
35
+ * // => ['src/bar.ts'] (foo.ts no longer included)
36
+ *
37
+ * // Get absolute paths
38
+ * const files = await getUnstagedFiles({ absolute: true })
39
+ * // => ['/path/to/repo/src/bar.ts']
40
+ * ```
41
+ *
42
+ * @param options - Options controlling path format and filtering.
43
+ *
44
+ * @returns Promise resolving to array of unstaged file paths.
45
+ */
33
46
  async function getUnstagedFiles(options) {
34
- const args = (0, import_internal.getGitDiffSpawnArgs)(options?.cwd).unstaged;
35
- return await (0, import_internal.innerDiff)(args, options);
47
+ const args = require_git__internal.getGitDiffSpawnArgs(options?.cwd).unstaged;
48
+ return await require_git__internal.innerDiff(args, options);
36
49
  }
50
+ /**
51
+ * Get unstaged modified files (changes not yet staged for commit).
52
+ *
53
+ * Synchronous version of `getUnstagedFiles()`. Uses `git diff --name-only`
54
+ * which returns only unstaged modifications to tracked files. Does NOT include:
55
+ * - Untracked files (new files not added to git) - Staged changes (files added
56
+ * with `git add`)
57
+ *
58
+ * This is a focused check for uncommitted changes to existing tracked files.
59
+ * Useful for detecting work-in-progress modifications before staging.
60
+ *
61
+ * @example
62
+ * ;```typescript
63
+ * // Get unstaged files
64
+ * const files = getUnstagedFilesSync()
65
+ * // => ['src/foo.ts', 'src/bar.ts']
66
+ *
67
+ * // After staging some files
68
+ * spawnSync('git', ['add', 'src/foo.ts'])
69
+ * const files = getUnstagedFilesSync()
70
+ * // => ['src/bar.ts'] (foo.ts no longer included)
71
+ *
72
+ * // Get absolute paths
73
+ * const files = getUnstagedFilesSync({ absolute: true })
74
+ * // => ['/path/to/repo/src/bar.ts']
75
+ * ```
76
+ *
77
+ * @param options - Options controlling path format and filtering.
78
+ *
79
+ * @returns Array of unstaged file paths.
80
+ */
37
81
  function getUnstagedFilesSync(options) {
38
- const args = (0, import_internal.getGitDiffSpawnArgs)(options?.cwd).unstaged;
39
- return (0, import_internal.innerDiffSync)(args, options);
82
+ const args = require_git__internal.getGitDiffSpawnArgs(options?.cwd).unstaged;
83
+ return require_git__internal.innerDiffSync(args, options);
40
84
  }
85
+ /**
86
+ * Check if a file or directory has unstaged changes.
87
+ *
88
+ * Checks if the given pathname has modifications that are not yet staged for
89
+ * commit (changes not added with `git add`). Does NOT include: - Staged changes
90
+ * (already added with `git add`) - Untracked files (new files not in git)
91
+ *
92
+ * For directories, returns `true` if ANY file within the directory has unstaged
93
+ * changes.
94
+ *
95
+ * Symlinks in the pathname and cwd are automatically resolved using
96
+ * `fs.realpathSync()` before comparison.
97
+ *
98
+ * @example
99
+ * ;```typescript
100
+ * // Check if file has unstaged changes
101
+ * const unstaged = await isUnstaged('src/foo.ts')
102
+ * // => true
103
+ *
104
+ * // After staging the file
105
+ * await spawn('git', ['add', 'src/foo.ts'])
106
+ * const unstaged = await isUnstaged('src/foo.ts')
107
+ * // => false
108
+ *
109
+ * // Check directory
110
+ * const unstaged = await isUnstaged('src/')
111
+ * // => true (if any file in src/ has unstaged changes)
112
+ * ```
113
+ *
114
+ * @param pathname - File or directory path to check.
115
+ * @param options - Options for the git diff check.
116
+ *
117
+ * @returns Promise resolving to `true` if path has unstaged changes, `false`
118
+ * otherwise.
119
+ */
41
120
  async function isUnstaged(pathname, options) {
42
- const files = await getUnstagedFiles({
43
- __proto__: null,
44
- ...options,
45
- absolute: false
46
- });
47
- const path = (0, import_repo.getPath)();
48
- const resolvedPathname = (0, import_repo.getCachedRealpath)(pathname);
49
- const baseCwd = options?.cwd ? (0, import_repo.getCachedRealpath)(options["cwd"]) : (0, import_repo.getCwd)();
50
- const relativePath = (0, import_normalize.normalizePath)(path.relative(baseCwd, resolvedPathname));
51
- return (0, import_array.ArrayPrototypeIncludes)(files, relativePath);
121
+ const files = await getUnstagedFiles({
122
+ __proto__: null,
123
+ ...options,
124
+ absolute: false
125
+ });
126
+ const path = /* @__PURE__ */ require_node_path.getNodePath();
127
+ const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
128
+ /* c8 ignore start */
129
+ const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
130
+ return require_primordials_array.ArrayPrototypeIncludes(files, /* @__PURE__ */ require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
52
131
  }
132
+ /**
133
+ * Check if a file or directory has unstaged changes.
134
+ *
135
+ * Synchronous version of `isUnstaged()`. Checks if the given pathname has
136
+ * modifications that are not yet staged for commit (changes not added with `git
137
+ * add`). Does NOT include: - Staged changes (already added with `git add`) -
138
+ * Untracked files (new files not in git)
139
+ *
140
+ * For directories, returns `true` if ANY file within the directory has unstaged
141
+ * changes.
142
+ *
143
+ * Symlinks in the pathname and cwd are automatically resolved using
144
+ * `fs.realpathSync()` before comparison.
145
+ *
146
+ * @example
147
+ * ;```typescript
148
+ * // Check if file has unstaged changes
149
+ * const unstaged = isUnstagedSync('src/foo.ts')
150
+ * // => true
151
+ *
152
+ * // After staging the file
153
+ * spawnSync('git', ['add', 'src/foo.ts'])
154
+ * const unstaged = isUnstagedSync('src/foo.ts')
155
+ * // => false
156
+ *
157
+ * // Check directory
158
+ * const unstaged = isUnstagedSync('src/')
159
+ * // => true (if any file in src/ has unstaged changes)
160
+ * ```
161
+ *
162
+ * @param pathname - File or directory path to check.
163
+ * @param options - Options for the git diff check.
164
+ *
165
+ * @returns `true` if path has unstaged changes, `false` otherwise.
166
+ */
53
167
  function isUnstagedSync(pathname, options) {
54
- const files = getUnstagedFilesSync({
55
- __proto__: null,
56
- ...options,
57
- absolute: false
58
- });
59
- const path = (0, import_repo.getPath)();
60
- const resolvedPathname = (0, import_repo.getCachedRealpath)(pathname);
61
- const baseCwd = options?.cwd ? (0, import_repo.getCachedRealpath)(options["cwd"]) : (0, import_repo.getCwd)();
62
- const relativePath = (0, import_normalize.normalizePath)(path.relative(baseCwd, resolvedPathname));
63
- return (0, import_array.ArrayPrototypeIncludes)(files, relativePath);
168
+ const files = getUnstagedFilesSync({
169
+ __proto__: null,
170
+ ...options,
171
+ absolute: false
172
+ });
173
+ const path = /* @__PURE__ */ require_node_path.getNodePath();
174
+ const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
175
+ /* c8 ignore start */
176
+ const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
177
+ return require_primordials_array.ArrayPrototypeIncludes(files, /* @__PURE__ */ require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
64
178
  }
65
- // Annotate the CommonJS export names for ESM import in node:
66
- 0 && (module.exports = {
67
- getUnstagedFiles,
68
- getUnstagedFilesSync,
69
- isUnstaged,
70
- isUnstagedSync
71
- });
179
+
180
+ //#endregion
181
+ exports.getUnstagedFiles = getUnstagedFiles;
182
+ exports.getUnstagedFilesSync = getUnstagedFilesSync;
183
+ exports.isUnstaged = isUnstaged;
184
+ exports.isUnstagedSync = isUnstagedSync;
@@ -1,36 +1,28 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var constants_exports = {};
22
- __export(constants_exports, {
23
- DEFAULT_CACHE_TTL_MS: () => DEFAULT_CACHE_TTL_MS,
24
- GITHUB_API_BASE_URL: () => GITHUB_API_BASE_URL,
25
- GITHUB_GRAPHQL_URL: () => GITHUB_GRAPHQL_URL
26
- });
27
- module.exports = __toCommonJS(constants_exports);
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ //#region src/github/constants.ts
6
+ /**
7
+ * @file GitHub API URL + cache-TTL constants. Inlined so values are captured at
8
+ * coverage-mode bundle time rather than referenced through a module graph
9
+ * indirection.
10
+ */
11
+ /**
12
+ * GitHub REST API base URL.
13
+ */
28
14
  const GITHUB_API_BASE_URL = "https://api.github.com";
15
+ /**
16
+ * GitHub GraphQL API endpoint.
17
+ */
29
18
  const GITHUB_GRAPHQL_URL = "https://api.github.com/graphql";
30
- const DEFAULT_CACHE_TTL_MS = 5 * 60 * 1e3;
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- DEFAULT_CACHE_TTL_MS,
34
- GITHUB_API_BASE_URL,
35
- GITHUB_GRAPHQL_URL
36
- });
19
+ /**
20
+ * Default TTL for the GitHub cache (5 minutes). Used by ref resolution and the
21
+ * GHSA cache layer.
22
+ */
23
+ const DEFAULT_CACHE_TTL_MS = 300 * 1e3;
24
+
25
+ //#endregion
26
+ exports.DEFAULT_CACHE_TTL_MS = DEFAULT_CACHE_TTL_MS;
27
+ exports.GITHUB_API_BASE_URL = GITHUB_API_BASE_URL;
28
+ exports.GITHUB_GRAPHQL_URL = GITHUB_GRAPHQL_URL;