@socketsecurity/lib 3.2.3 → 3.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +31 -35
  3. package/dist/abort.js +1 -1
  4. package/dist/agent.js +11 -11
  5. package/dist/ansi.js +1 -1
  6. package/dist/argv/flags.js +1 -1
  7. package/dist/argv/parse.js +1 -1
  8. package/dist/arrays.js +1 -1
  9. package/dist/bin.js +5 -5
  10. package/dist/cacache.js +1 -1
  11. package/dist/cache-with-ttl.js +1 -1
  12. package/dist/constants/agents.js +1 -1
  13. package/dist/constants/core.js +1 -1
  14. package/dist/constants/encoding.js +1 -1
  15. package/dist/constants/github.js +1 -1
  16. package/dist/constants/licenses.js +1 -1
  17. package/dist/constants/node.js +2 -13
  18. package/dist/constants/packages.js +10 -25
  19. package/dist/constants/paths.js +1 -1
  20. package/dist/constants/platform.js +1 -1
  21. package/dist/constants/process.js +3 -7
  22. package/dist/constants/socket.js +1 -1
  23. package/dist/constants/testing.js +1 -1
  24. package/dist/constants/time.js +1 -1
  25. package/dist/constants/typescript.js +1 -1
  26. package/dist/cover/code.js +1 -1
  27. package/dist/cover/formatters.js +1 -1
  28. package/dist/cover/type.js +1 -1
  29. package/dist/cover/types.js +1 -1
  30. package/dist/debug.js +4 -4
  31. package/dist/dlx-binary.js +5 -5
  32. package/dist/dlx-manifest.js +1 -1
  33. package/dist/dlx-package.js +1 -1
  34. package/dist/dlx.js +1 -1
  35. package/dist/effects/pulse-frames.js +4 -4
  36. package/dist/effects/text-shimmer.js +2 -2
  37. package/dist/effects/types.js +1 -1
  38. package/dist/effects/ultra.js +1 -1
  39. package/dist/env/ci.js +3 -3
  40. package/dist/env/debug.js +2 -2
  41. package/dist/env/github.js +2 -2
  42. package/dist/env/helpers.js +1 -1
  43. package/dist/env/home.js +2 -2
  44. package/dist/env/locale.js +2 -2
  45. package/dist/env/node-auth-token.js +2 -2
  46. package/dist/env/node-env.js +2 -2
  47. package/dist/env/npm.js +2 -2
  48. package/dist/env/package-manager.js +2 -2
  49. package/dist/env/path.js +2 -2
  50. package/dist/env/pre-commit.js +3 -3
  51. package/dist/env/rewire.js +1 -1
  52. package/dist/env/shell.js +2 -2
  53. package/dist/env/socket-cli-shadow.js +3 -3
  54. package/dist/env/socket-cli.js +3 -3
  55. package/dist/env/socket.js +3 -3
  56. package/dist/env/temp-dir.js +2 -2
  57. package/dist/env/term.js +2 -2
  58. package/dist/env/test.js +4 -4
  59. package/dist/env/windows.js +2 -2
  60. package/dist/env/xdg.js +2 -2
  61. package/dist/env.js +1 -1
  62. package/dist/external/@inquirer/confirm.js +16 -15
  63. package/dist/external/@inquirer/input.js +16 -15
  64. package/dist/external/@inquirer/password.js +17 -16
  65. package/dist/external/@inquirer/search.js +18 -17
  66. package/dist/external/@inquirer/select.js +19 -18
  67. package/dist/external/@npmcli/package-json/lib/read-package.js +7 -1
  68. package/dist/external/@npmcli/package-json/lib/sort.js +6 -1
  69. package/dist/external/@npmcli/package-json.js +18 -0
  70. package/dist/external/@npmcli/promise-spawn.js +2 -1
  71. package/dist/external/@socketregistry/is-unicode-supported.js +2 -1
  72. package/dist/external/@socketregistry/packageurl-js.js +3 -2
  73. package/dist/external/@socketregistry/yocto-spinner.js +5 -4
  74. package/dist/external/@yarnpkg/extensions.js +2 -1
  75. package/dist/external/cacache.js +10 -9
  76. package/dist/external/debug.js +2 -5
  77. package/dist/external/del.js +3 -2
  78. package/dist/external/fast-glob.js +3 -2
  79. package/dist/external/fast-sort.js +2 -1
  80. package/dist/external/get-east-asian-width.js +2 -1
  81. package/dist/external/libnpmexec.js +6 -0
  82. package/dist/external/libnpmpack.js +64 -63
  83. package/dist/external/make-fetch-happen.js +16 -15
  84. package/dist/external/normalize-package-data.js +3 -2
  85. package/dist/external/npm-package-arg.js +3 -2
  86. package/dist/external/pacote.js +36 -35
  87. package/dist/external/picomatch.js +2 -1
  88. package/dist/external/semver.js +2 -1
  89. package/dist/external/spdx-correct.js +2 -1
  90. package/dist/external/spdx-expression-parse.js +2 -1
  91. package/dist/external/streaming-iterables.js +2 -1
  92. package/dist/external/validate-npm-package-name.js +2 -1
  93. package/dist/external/which.js +2 -1
  94. package/dist/external/yargs-parser.js +2 -1
  95. package/dist/external/yoctocolors-cjs.js +2 -1
  96. package/dist/external/zod.js +10 -9
  97. package/dist/fs.js +3 -3
  98. package/dist/functions.js +1 -1
  99. package/dist/git.js +2 -2
  100. package/dist/github.js +3 -3
  101. package/dist/globs.js +3 -3
  102. package/dist/http-request.js +1 -1
  103. package/dist/ipc.js +1 -1
  104. package/dist/json.js +1 -1
  105. package/dist/lifecycle-script-names.d.ts +2 -0
  106. package/dist/lifecycle-script-names.js +40 -0
  107. package/dist/links/index.js +1 -1
  108. package/dist/logger.d.ts +29 -4
  109. package/dist/logger.js +34 -5
  110. package/dist/maintained-node-versions.js +1 -1
  111. package/dist/memoization.js +1 -1
  112. package/dist/objects.js +2 -2
  113. package/dist/package-default-node-range.d.ts +2 -0
  114. package/dist/package-default-node-range.js +27 -0
  115. package/dist/package-default-socket-categories.d.ts +2 -0
  116. package/dist/package-default-socket-categories.js +25 -0
  117. package/dist/package-extensions.d.ts +2 -0
  118. package/dist/package-extensions.js +66 -0
  119. package/dist/packages/editable.js +1 -1
  120. package/dist/packages/exports.js +2 -2
  121. package/dist/packages/isolation.js +3 -3
  122. package/dist/packages/licenses.js +3 -3
  123. package/dist/packages/manifest.js +4 -4
  124. package/dist/packages/normalize.js +2 -2
  125. package/dist/packages/operations.js +6 -6
  126. package/dist/packages/paths.js +1 -1
  127. package/dist/packages/provenance.js +2 -2
  128. package/dist/packages/specs.js +1 -1
  129. package/dist/packages/validation.js +1 -1
  130. package/dist/packages.js +1 -1
  131. package/dist/path.js +2 -2
  132. package/dist/paths/rewire.js +1 -1
  133. package/dist/paths.js +15 -15
  134. package/dist/performance.js +1 -1
  135. package/dist/process-lock.js +1 -1
  136. package/dist/promise-queue.js +1 -1
  137. package/dist/promises.js +3 -3
  138. package/dist/regexps.js +1 -1
  139. package/dist/sea.js +1 -1
  140. package/dist/shadow.js +1 -1
  141. package/dist/signal-exit.js +1 -1
  142. package/dist/sorts.js +1 -1
  143. package/dist/spawn.js +2 -2
  144. package/dist/spinner.js +3 -3
  145. package/dist/ssri.js +1 -1
  146. package/dist/stdio/clear.js +1 -1
  147. package/dist/stdio/divider.js +1 -1
  148. package/dist/stdio/footer.js +1 -1
  149. package/dist/stdio/header.js +1 -1
  150. package/dist/stdio/mask.js +1 -1
  151. package/dist/stdio/progress.js +1 -1
  152. package/dist/stdio/prompts.js +2 -2
  153. package/dist/stdio/stderr.js +1 -1
  154. package/dist/stdio/stdout.js +1 -1
  155. package/dist/streams.js +1 -1
  156. package/dist/strings.js +1 -1
  157. package/dist/suppress-warnings.js +1 -1
  158. package/dist/tables.js +1 -1
  159. package/dist/temporary-executor.js +2 -2
  160. package/dist/themes/context.js +1 -1
  161. package/dist/themes/index.js +1 -1
  162. package/dist/themes/themes.js +1 -1
  163. package/dist/themes/types.js +1 -1
  164. package/dist/themes/utils.js +1 -1
  165. package/dist/types.js +1 -1
  166. package/dist/url.js +1 -1
  167. package/dist/utils/get-ipc.js +1 -1
  168. package/dist/validation/json-parser.js +1 -1
  169. package/dist/validation/types.js +1 -1
  170. package/dist/versions.js +1 -1
  171. package/dist/words.js +1 -1
  172. package/dist/zod.js +1 -1
  173. package/package.json +18 -2
  174. package/dist/abort.js.map +0 -7
  175. package/dist/agent.js.map +0 -7
  176. package/dist/ansi.js.map +0 -7
  177. package/dist/argv/flags.js.map +0 -7
  178. package/dist/argv/parse.js.map +0 -7
  179. package/dist/arrays.js.map +0 -7
  180. package/dist/bin.js.map +0 -7
  181. package/dist/cacache.js.map +0 -7
  182. package/dist/cache-with-ttl.js.map +0 -7
  183. package/dist/constants/agents.js.map +0 -7
  184. package/dist/constants/core.js.map +0 -7
  185. package/dist/constants/encoding.js.map +0 -7
  186. package/dist/constants/github.js.map +0 -7
  187. package/dist/constants/licenses.js.map +0 -7
  188. package/dist/constants/node.js.map +0 -7
  189. package/dist/constants/packages.js.map +0 -7
  190. package/dist/constants/paths.js.map +0 -7
  191. package/dist/constants/platform.js.map +0 -7
  192. package/dist/constants/process.js.map +0 -7
  193. package/dist/constants/socket.js.map +0 -7
  194. package/dist/constants/testing.js.map +0 -7
  195. package/dist/constants/time.js.map +0 -7
  196. package/dist/constants/typescript.js.map +0 -7
  197. package/dist/cover/code.js.map +0 -7
  198. package/dist/cover/formatters.js.map +0 -7
  199. package/dist/cover/type.js.map +0 -7
  200. package/dist/cover/types.js.map +0 -7
  201. package/dist/debug.js.map +0 -7
  202. package/dist/dlx-binary.js.map +0 -7
  203. package/dist/dlx-manifest.js.map +0 -7
  204. package/dist/dlx-package.js.map +0 -7
  205. package/dist/dlx.js.map +0 -7
  206. package/dist/effects/pulse-frames.js.map +0 -7
  207. package/dist/effects/text-shimmer.js.map +0 -7
  208. package/dist/effects/types.js.map +0 -7
  209. package/dist/effects/ultra.js.map +0 -7
  210. package/dist/env/ci.js.map +0 -7
  211. package/dist/env/debug.js.map +0 -7
  212. package/dist/env/github.js.map +0 -7
  213. package/dist/env/helpers.js.map +0 -7
  214. package/dist/env/home.js.map +0 -7
  215. package/dist/env/locale.js.map +0 -7
  216. package/dist/env/node-auth-token.js.map +0 -7
  217. package/dist/env/node-env.js.map +0 -7
  218. package/dist/env/npm.js.map +0 -7
  219. package/dist/env/package-manager.js.map +0 -7
  220. package/dist/env/path.js.map +0 -7
  221. package/dist/env/pre-commit.js.map +0 -7
  222. package/dist/env/rewire.js.map +0 -7
  223. package/dist/env/shell.js.map +0 -7
  224. package/dist/env/socket-cli-shadow.js.map +0 -7
  225. package/dist/env/socket-cli.js.map +0 -7
  226. package/dist/env/socket.js.map +0 -7
  227. package/dist/env/temp-dir.js.map +0 -7
  228. package/dist/env/term.js.map +0 -7
  229. package/dist/env/test.js.map +0 -7
  230. package/dist/env/windows.js.map +0 -7
  231. package/dist/env/xdg.js.map +0 -7
  232. package/dist/env.js.map +0 -7
  233. package/dist/external/@npmcli/package-json/index.js +0 -1
  234. package/dist/external/@socketregistry/is-unicode-supported.d.ts +0 -2
  235. package/dist/external/@socketregistry/yocto-spinner.d.ts +0 -12
  236. package/dist/external/@yarnpkg/extensions.d.ts +0 -4
  237. package/dist/external/cacache.d.ts +0 -86
  238. package/dist/external/debug.d.ts +0 -22
  239. package/dist/external/del.d.ts +0 -1
  240. package/dist/external/fast-sort.d.ts +0 -3
  241. package/dist/external/get-east-asian-width.d.ts +0 -5
  242. package/dist/external/libnpmexec.d.ts +0 -33
  243. package/dist/external/libnpmpack.d.ts +0 -2
  244. package/dist/external/make-fetch-happen.d.ts +0 -15
  245. package/dist/external/pacote.d.ts +0 -14
  246. package/dist/external/semver.d.ts +0 -2
  247. package/dist/external/yargs-parser.d.ts +0 -2
  248. package/dist/external/yoctocolors-cjs.d.ts +0 -52
  249. package/dist/external/zod.d.ts +0 -1
  250. package/dist/fs.js.map +0 -7
  251. package/dist/functions.js.map +0 -7
  252. package/dist/git.js.map +0 -7
  253. package/dist/github.js.map +0 -7
  254. package/dist/globs.js.map +0 -7
  255. package/dist/http-request.js.map +0 -7
  256. package/dist/ipc.js.map +0 -7
  257. package/dist/json.js.map +0 -7
  258. package/dist/links/index.js.map +0 -7
  259. package/dist/logger.js.map +0 -7
  260. package/dist/maintained-node-versions.js.map +0 -7
  261. package/dist/memoization.js.map +0 -7
  262. package/dist/objects.js.map +0 -7
  263. package/dist/packages/editable.js.map +0 -7
  264. package/dist/packages/exports.js.map +0 -7
  265. package/dist/packages/isolation.js.map +0 -7
  266. package/dist/packages/licenses.js.map +0 -7
  267. package/dist/packages/manifest.js.map +0 -7
  268. package/dist/packages/normalize.js.map +0 -7
  269. package/dist/packages/operations.js.map +0 -7
  270. package/dist/packages/paths.js.map +0 -7
  271. package/dist/packages/provenance.js.map +0 -7
  272. package/dist/packages/specs.js.map +0 -7
  273. package/dist/packages/validation.js.map +0 -7
  274. package/dist/packages.js.map +0 -7
  275. package/dist/path.js.map +0 -7
  276. package/dist/paths/rewire.js.map +0 -7
  277. package/dist/paths.js.map +0 -7
  278. package/dist/performance.js.map +0 -7
  279. package/dist/process-lock.js.map +0 -7
  280. package/dist/promise-queue.js.map +0 -7
  281. package/dist/promises.js.map +0 -7
  282. package/dist/regexps.js.map +0 -7
  283. package/dist/sea.js.map +0 -7
  284. package/dist/shadow.js.map +0 -7
  285. package/dist/signal-exit.js.map +0 -7
  286. package/dist/sorts.js.map +0 -7
  287. package/dist/spawn.js.map +0 -7
  288. package/dist/spinner.js.map +0 -7
  289. package/dist/ssri.js.map +0 -7
  290. package/dist/stdio/clear.js.map +0 -7
  291. package/dist/stdio/divider.js.map +0 -7
  292. package/dist/stdio/footer.js.map +0 -7
  293. package/dist/stdio/header.js.map +0 -7
  294. package/dist/stdio/mask.js.map +0 -7
  295. package/dist/stdio/progress.js.map +0 -7
  296. package/dist/stdio/prompts.js.map +0 -7
  297. package/dist/stdio/stderr.js.map +0 -7
  298. package/dist/stdio/stdout.js.map +0 -7
  299. package/dist/streams.js.map +0 -7
  300. package/dist/strings.js.map +0 -7
  301. package/dist/suppress-warnings.js.map +0 -7
  302. package/dist/tables.js.map +0 -7
  303. package/dist/temporary-executor.js.map +0 -7
  304. package/dist/themes/context.js.map +0 -7
  305. package/dist/themes/index.js.map +0 -7
  306. package/dist/themes/themes.js.map +0 -7
  307. package/dist/themes/types.js.map +0 -7
  308. package/dist/themes/utils.js.map +0 -7
  309. package/dist/types.js.map +0 -7
  310. package/dist/url.js.map +0 -7
  311. package/dist/utils/get-ipc.js.map +0 -7
  312. package/dist/validation/json-parser.js.map +0 -7
  313. package/dist/validation/types.js.map +0 -7
  314. package/dist/versions.js.map +0 -7
  315. package/dist/words.js.map +0 -7
  316. package/dist/zod.js.map +0 -7
package/CHANGELOG.md CHANGED
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.2.5](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.5) - 2025-11-05
11
+
12
+ ### Added
13
+
14
+ - **scripts**: Add path alias resolution script (`fix-path-aliases.mjs`)
15
+ - Resolves internal path aliases (`#lib/*`, `#constants/*`, etc.) to relative paths in built CommonJS files
16
+
17
+ - **build**: Integrate path alias resolution into build pipeline
18
+ - Add path alias plugin to esbuild config
19
+ - Integrate `fix-path-aliases.mjs` into build process
20
+ - Ensures path aliases work correctly in compiled CommonJS output
21
+
22
+ ## [3.2.4](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.4) - 2025-11-04
23
+
24
+ ### Added
25
+
26
+ - **Logger**: New `time()` method for timing operations with automatic duration reporting
27
+ - Starts a named timer and returns a `stop()` function
28
+ - Automatically logs completion with formatted duration (e.g., "Operation completed in 1.23s")
29
+ - Useful for performance monitoring and debugging
30
+
31
+ ### Fixed
32
+
33
+ - **Spinner effects**: Fixed star spinner frames by adding trailing space for consistent spacing
34
+ - **Build system**: Fixed external dependency bundling issues
35
+ - Bundle `@npmcli/package-json` with subpath exports support
36
+ - Use `src/external` files as bundle entry points for proper module resolution
37
+ - Bundle libnpmexec from npm instead of using vendored version
38
+ - Prevent circular dependencies with `createForceNodeModulesPlugin()` to force resolution from node_modules
39
+
10
40
  ## [3.2.3](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.3) - 2025-11-03
11
41
 
12
42
  ### Internal
package/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  [![Socket Badge](https://socket.dev/api/badge/npm/package/@socketsecurity/lib)](https://socket.dev/npm/package/@socketsecurity/lib)
4
4
  [![CI](https://github.com/SocketDev/socket-lib/actions/workflows/ci.yml/badge.svg)](https://github.com/SocketDev/socket-lib/actions/workflows/ci.yml)
5
+ ![Test Coverage](https://img.shields.io/badge/test--coverage-100%25-brightgreen)
6
+ ![Type Coverage](https://img.shields.io/badge/type--coverage-100%25-brightgreen)
7
+
5
8
  [![Follow @SocketSecurity](https://img.shields.io/twitter/follow/SocketSecurity?style=social)](https://twitter.com/SocketSecurity)
6
9
 
7
10
  **Core infrastructure library for Socket.dev security tools** — utilities, constants, and helpers with zero dependencies.
@@ -28,12 +31,12 @@ spinner.stop()
28
31
 
29
32
  ```
30
33
  @socketsecurity/lib
31
- ├── Visual Effects → Spinners, shimmer, themes, logger
34
+ ├── Visual Effects → 5 themes, spinners, shimmer, logger
32
35
  ├── File System → fs, paths, globs, temp files
33
- ├── Package Management → npm, pnpm, yarn utilities
36
+ ├── Package Management → 11 utilities (npm, pnpm, yarn, dlx)
34
37
  ├── Process & Spawn → Safe process spawning, IPC
35
- ├── Environment → 68 typed env getters (CI, paths, etc)
36
- ├── Constants → Node.js, npm, platform constants
38
+ ├── Environment → 22 modules with 68 typed env getters
39
+ ├── Constants → 14 modules (Node.js, npm, platform)
37
40
  ├── Utilities → Arrays, objects, strings, promises
38
41
  └── Types → Full TypeScript definitions
39
42
  ```
@@ -47,13 +50,12 @@ spinner.stop()
47
50
  ```typescript
48
51
  import { Spinner, setTheme } from '@socketsecurity/lib'
49
52
 
50
- setTheme('ultra') // 🌈 Rainbow mode!
53
+ setTheme('ultra') // 🌈 Rainbow shimmer!
51
54
  const spinner = Spinner({ text: 'Processing...' })
52
- spinner.enableShimmer()
53
55
  spinner.start()
54
56
  ```
55
57
 
56
- **5 Built-in Themes:** `socket` (purple) · `coana` · `socket-firewall` · `socket-cli-python` · `ultra` (rainbow)
58
+ **5 Built-in Themes:** `socket` (violet) · `sunset` (twilight) · `terracotta` (warm) · `lush` (steel blue) · `ultra` (rainbow)
57
59
 
58
60
  👉 [**Theme System Docs**](./docs/themes.md)
59
61
 
@@ -168,15 +170,15 @@ const data = await retry(() => fetchData(), { maxAttempts: 3 })
168
170
  ├─ time → MILLISECONDS_PER_*, DLX_BINARY_CACHE_TTL
169
171
  └─ encoding → UTF8, CHAR_* codes
170
172
 
171
- /env/ → 68 typed environment getters
173
+ /env/ → 22 modules providing 68 typed getters
172
174
  ├─ ci → getCI() - Detect CI environment
173
175
  ├─ home → getHome() - User home directory
174
176
  ├─ node-env → getNodeEnv() - NODE_ENV value
175
- └─ ... → And 65 more!
177
+ └─ ... → And 19 more modules!
176
178
 
177
- /packages/ → Package management utilities
179
+ /packages/ → Package management utilities (11 modules)
178
180
  ├─ validation → Package name/version validation
179
- ├─ operations → Install, extract, manifest
181
+ ├─ operations → Install, extract, manifest, dlx
180
182
  ├─ registry → npm registry utilities
181
183
  └─ editable → Editable installs detection
182
184
 
@@ -191,9 +193,9 @@ const data = await retry(() => fetchData(), { maxAttempts: 3 })
191
193
  ├─ clear → Clear terminal
192
194
  └─ footer → Terminal footers
193
195
 
194
- /themes/ → Theme system for consistent branding
196
+ /themes/ → Theme system for consistent branding (5 modules)
195
197
  ├─ types → Theme type definitions
196
- ├─ themes → 5 built-in themes
198
+ ├─ themes → 5 themes (socket, sunset, terracotta, lush, ultra)
197
199
  ├─ context → Global theme management
198
200
  └─ utils → Color resolution, theme creation
199
201
  ```
@@ -202,7 +204,7 @@ const data = await retry(() => fetchData(), { maxAttempts: 3 })
202
204
 
203
205
  | Doc | Description |
204
206
  |-----|-------------|
205
- | [**Getting Started**](./docs/getting-started.md) | Development workflow, commands, architecture |
207
+ | [**Getting Started**](./docs/getting-started.md) | Quick start for contributors (5 min setup) |
206
208
  | [**Theme System**](./docs/themes.md) | Themed spinners, colors, and effects |
207
209
  | [**Build Architecture**](./docs/build.md) | Vendored dependencies, build system |
208
210
  | [**CLAUDE.md**](./CLAUDE.md) | Coding standards and patterns |
@@ -216,13 +218,13 @@ const data = await retry(() => fetchData(), { maxAttempts: 3 })
216
218
  ├─────────────────────────────────────────────────────┤
217
219
  │ src/ │
218
220
  │ ├── constants/ 14 modules │
219
- │ ├── env/ 68 getters
220
- │ ├── packages/ 12 utilities │
221
+ │ ├── env/ 22 modules (68 getters)
222
+ │ ├── packages/ 11 utilities │
221
223
  │ ├── effects/ 4 visual effects │
222
224
  │ ├── stdio/ 9 I/O utilities │
223
- │ ├── themes/ Theme system
224
- │ ├── external/ 40+ vendored deps
225
- │ └── ... 60+ more modules │
225
+ │ ├── themes/ 5 theme definitions
226
+ │ ├── external/ 16 vendored deps
227
+ │ └── ... 62+ more modules │
226
228
  ├─────────────────────────────────────────────────────┤
227
229
  │ Build: esbuild → CommonJS (ES2022) │
228
230
  │ Types: tsgo (TypeScript Native Preview) │
@@ -232,37 +234,31 @@ const data = await retry(() => fetchData(), { maxAttempts: 3 })
232
234
 
233
235
  ## Development
234
236
 
235
- ```bash
236
- # Setup
237
- git clone https://github.com/SocketDev/socket-lib.git
238
- cd socket-lib
239
- pnpm install
237
+ **New to the project?** See the [**Getting Started Guide**](./docs/getting-started.md) for setup, workflow, and contribution guidelines.
240
238
 
241
- # Build
242
- pnpm run build # Production build
239
+ **Quick commands:**
240
+ ```bash
241
+ pnpm install # Install dependencies
243
242
  pnpm run dev # Watch mode
244
-
245
- # Test
246
- pnpm test # Run all tests
247
- pnpm run cover # With coverage
248
-
249
- # Quality
250
- pnpm run check # Type check
251
- pnpm run lint # Lint code
243
+ pnpm test # Run tests
252
244
  pnpm run fix # Auto-fix issues
253
245
  ```
254
246
 
255
247
  ## Stats
256
248
 
257
- - **183** TypeScript modules
249
+ - **143** TypeScript modules
258
250
  - **120+** granular exports
259
251
  - **68** typed environment getters
252
+ - **22** environment modules
260
253
  - **14** constant modules
254
+ - **5** theme definitions
261
255
  - **4600+** tests passing
262
256
  - **Zero** runtime dependencies
263
257
 
264
258
  ## Contributing
265
259
 
260
+ **Ready to contribute?** Start with the [Getting Started Guide](./docs/getting-started.md) for a quick setup walkthrough.
261
+
266
262
  See [CLAUDE.md](./CLAUDE.md) for:
267
263
  - Code style and patterns
268
264
  - Path alias usage
package/dist/abort.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -59,4 +60,3 @@ function createTimeoutSignal(ms) {
59
60
  createCompositeAbortSignal,
60
61
  createTimeoutSignal
61
62
  });
62
- //# sourceMappingURL=abort.js.map
package/dist/agent.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -33,8 +34,8 @@ __export(agent_exports, {
33
34
  isPnpmLoglevelFlag: () => isPnpmLoglevelFlag
34
35
  });
35
36
  module.exports = __toCommonJS(agent_exports);
36
- var import_ci = require("#env/ci");
37
- var import_platform = require("#constants/platform");
37
+ var import_ci = require("./env/ci");
38
+ var import_platform = require("./constants/platform");
38
39
  var import_bin = require("./bin");
39
40
  var import_debug = require("./debug");
40
41
  var import_fs = require("./fs");
@@ -86,7 +87,7 @@ function execNpm(args, options) {
86
87
  // one level quieter.
87
88
  useDebug || npmArgs.some(isNpmLoglevelFlag) ? [] : ["--loglevel", "warn"]
88
89
  );
89
- const npmBin = require("#constants/agents").NPM_BIN_PATH;
90
+ const npmBin = require("./constants/agents").NPM_BIN_PATH;
90
91
  return (0, import_spawn.spawn)(
91
92
  npmBin,
92
93
  [
@@ -230,11 +231,11 @@ function execScript(scriptName, args, options) {
230
231
  if (spawnOptions.shell === true) {
231
232
  return (0, import_spawn.spawn)(scriptName, resolvedArgs, spawnOptions);
232
233
  }
233
- const useNodeRun = !prepost && /* @__PURE__ */ require("#constants/node").supportsNodeRun();
234
+ const useNodeRun = !prepost && /* @__PURE__ */ require("./constants/node").supportsNodeRun();
234
235
  const cwd = (0, import_objects.getOwn)(spawnOptions, "cwd") ?? process.cwd();
235
236
  const pnpmLockPath = (0, import_fs.findUpSync)(
236
237
  /*@__INLINE__*/
237
- require("#constants/agents").PNPM_LOCK_YAML,
238
+ require("./constants/agents").PNPM_LOCK_YAML,
238
239
  { cwd }
239
240
  );
240
241
  if (pnpmLockPath) {
@@ -242,7 +243,7 @@ function execScript(scriptName, args, options) {
242
243
  }
243
244
  const packageLockPath = (0, import_fs.findUpSync)(
244
245
  /*@__INLINE__*/
245
- require("#constants/agents").PACKAGE_LOCK_JSON,
246
+ require("./constants/agents").PACKAGE_LOCK_JSON,
246
247
  { cwd }
247
248
  );
248
249
  if (packageLockPath) {
@@ -250,18 +251,18 @@ function execScript(scriptName, args, options) {
250
251
  }
251
252
  const yarnLockPath = (0, import_fs.findUpSync)(
252
253
  /*@__INLINE__*/
253
- require("#constants/agents").YARN_LOCK,
254
+ require("./constants/agents").YARN_LOCK,
254
255
  { cwd }
255
256
  );
256
257
  if (yarnLockPath) {
257
258
  return /* @__PURE__ */ execYarn(["run", scriptName, ...resolvedArgs], spawnOptions);
258
259
  }
259
260
  return (0, import_spawn.spawn)(
260
- /* @__PURE__ */ require("#constants/node").getExecPath(),
261
+ /* @__PURE__ */ require("./constants/node").getExecPath(),
261
262
  [
262
- .../* @__PURE__ */ require("#constants/node").getNodeNoWarningsFlags(),
263
+ .../* @__PURE__ */ require("./constants/node").getNodeNoWarningsFlags(),
263
264
  ...useNodeRun ? ["--run"] : [
264
- require("#constants/agents").NPM_REAL_EXEC_PATH,
265
+ require("./constants/agents").NPM_REAL_EXEC_PATH,
265
266
  "run"
266
267
  ],
267
268
  scriptName,
@@ -288,4 +289,3 @@ function execScript(scriptName, args, options) {
288
289
  isPnpmInstallCommand,
289
290
  isPnpmLoglevelFlag
290
291
  });
291
- //# sourceMappingURL=agent.js.map
package/dist/ansi.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -59,4 +60,3 @@ function stripAnsi(text) {
59
60
  ansiRegex,
60
61
  stripAnsi
61
62
  });
62
- //# sourceMappingURL=ansi.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -281,4 +282,3 @@ const COMMON_FLAGS = {
281
282
  isVerbose,
282
283
  isWatch
283
284
  });
284
- //# sourceMappingURL=flags.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -170,4 +171,3 @@ function hasFlag(flag, argv = process.argv) {
170
171
  parseArgs,
171
172
  parseArgsWithDefaults
172
173
  });
173
- //# sourceMappingURL=parse.js.map
package/dist/arrays.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -84,4 +85,3 @@ function joinOr(arr) {
84
85
  joinAnd,
85
86
  joinOr
86
87
  });
87
- //# sourceMappingURL=arrays.js.map
package/dist/bin.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -31,10 +32,10 @@ __export(bin_exports, {
31
32
  whichSync: () => whichSync
32
33
  });
33
34
  module.exports = __toCommonJS(bin_exports);
34
- var import_home = require("#env/home");
35
- var import_windows = require("#env/windows");
36
- var import_xdg = require("#env/xdg");
37
- var import_platform = require("#constants/platform");
35
+ var import_home = require("./env/home");
36
+ var import_windows = require("./env/windows");
37
+ var import_xdg = require("./env/xdg");
38
+ var import_platform = require("./constants/platform");
38
39
  var import_fs = require("./fs");
39
40
  var import_path = require("./path");
40
41
  var import_spawn = require("./spawn");
@@ -422,4 +423,3 @@ function resolveBinPathSync(binPath) {
422
423
  whichBinSync,
423
424
  whichSync
424
425
  });
425
- //# sourceMappingURL=bin.js.map
package/dist/cacache.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -138,4 +139,3 @@ async function withTmp(callback) {
138
139
  safeGet,
139
140
  withTmp
140
141
  });
141
- //# sourceMappingURL=cacache.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -225,4 +226,3 @@ function createTtlCache(options) {
225
226
  0 && (module.exports = {
226
227
  createTtlCache
227
228
  });
228
- //# sourceMappingURL=cache-with-ttl.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -125,4 +126,3 @@ const RESOLUTIONS = "resolutions";
125
126
  YARN_CLASSIC,
126
127
  YARN_LOCK
127
128
  });
128
- //# sourceMappingURL=agents.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -56,4 +57,3 @@ const NODE_ENV = "NODE_ENV";
56
57
  V,
57
58
  kInternalsSymbol
58
59
  });
59
- //# sourceMappingURL=core.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -47,4 +48,3 @@ const CHAR_UPPERCASE_Z = 90;
47
48
  CHAR_UPPERCASE_Z,
48
49
  UTF8
49
50
  });
50
- //# sourceMappingURL=encoding.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,4 +30,3 @@ const CACHE_GITHUB_DIR = "github";
29
30
  CACHE_GITHUB_DIR,
30
31
  GITHUB_API_BASE_URL
31
32
  });
32
- //# sourceMappingURL=github.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -65,4 +66,3 @@ function getCopyLeftLicenses() {
65
66
  UNLICENSED,
66
67
  getCopyLeftLicenses
67
68
  });
68
- //# sourceMappingURL=licenses.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -48,18 +49,7 @@ function getNodeMajorVersion() {
48
49
  let _maintainedNodeVersions;
49
50
  function getMaintainedNodeVersions() {
50
51
  if (_maintainedNodeVersions === void 0) {
51
- try {
52
- _maintainedNodeVersions = require("../lib/maintained-node-versions");
53
- } catch {
54
- _maintainedNodeVersions = Object.freeze(
55
- Object.assign([], {
56
- current: "",
57
- last: "",
58
- next: "",
59
- previous: ""
60
- })
61
- );
62
- }
52
+ _maintainedNodeVersions = require("../maintained-node-versions").default;
63
53
  }
64
54
  return _maintainedNodeVersions;
65
55
  }
@@ -184,4 +174,3 @@ const ESNEXT = "esnext";
184
174
  supportsNodeRun,
185
175
  supportsProcessSend
186
176
  });
187
- //# sourceMappingURL=node.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -31,7 +32,7 @@ __export(packages_exports, {
31
32
  getPacoteCachePath: () => getPacoteCachePath
32
33
  });
33
34
  module.exports = __toCommonJS(packages_exports);
34
- var import_npm = require("#env/npm");
35
+ var import_npm = require("../env/npm");
35
36
  let _lifecycleScriptNames;
36
37
  let _packageDefaultNodeRange;
37
38
  let _packageDefaultSocketCategories;
@@ -44,32 +45,20 @@ const LATEST = "latest";
44
45
  const PACKAGE_DEFAULT_VERSION = "1.0.0";
45
46
  function getPackageDefaultNodeRange() {
46
47
  if (_packageDefaultNodeRange === void 0) {
47
- try {
48
- _packageDefaultNodeRange = require("../lib/package-default-node-range");
49
- } catch {
50
- _packageDefaultNodeRange = ">=18";
51
- }
48
+ _packageDefaultNodeRange = require("../package-default-node-range").default;
52
49
  }
53
50
  return _packageDefaultNodeRange;
54
51
  }
55
52
  function getPackageDefaultSocketCategories() {
56
53
  if (_packageDefaultSocketCategories === void 0) {
57
- try {
58
- _packageDefaultSocketCategories = require("../lib/package-default-socket-categories");
59
- } catch {
60
- _packageDefaultSocketCategories = [];
61
- }
54
+ _packageDefaultSocketCategories = require("../package-default-socket-categories").default;
62
55
  }
63
56
  return _packageDefaultSocketCategories;
64
57
  }
65
58
  function getPackageExtensions() {
66
59
  if (_packageExtensions === void 0) {
67
- try {
68
- const exts = require("../lib/package-extensions");
69
- _packageExtensions = Object.entries(exts);
70
- } catch {
71
- _packageExtensions = [];
72
- }
60
+ const exts = require("../package-extensions").default;
61
+ _packageExtensions = Object.entries(exts);
73
62
  }
74
63
  return _packageExtensions;
75
64
  }
@@ -78,11 +67,8 @@ function getNpmLifecycleEvent() {
78
67
  }
79
68
  function getLifecycleScriptNames() {
80
69
  if (_lifecycleScriptNames === void 0) {
81
- try {
82
- _lifecycleScriptNames = require("../lib/lifecycle-script-names");
83
- } catch {
84
- _lifecycleScriptNames = [];
85
- }
70
+ const scriptNamesSet = require("../lifecycle-script-names").default;
71
+ _lifecycleScriptNames = Array.from(scriptNamesSet);
86
72
  }
87
73
  return _lifecycleScriptNames;
88
74
  }
@@ -95,8 +81,8 @@ function getPackumentCache() {
95
81
  function getPacoteCachePath() {
96
82
  if (_pacoteCachePath === void 0) {
97
83
  try {
98
- const pacote = require("../external/pacote");
99
- const { normalizePath } = require("../lib/path");
84
+ const pacote = require('../external/pacote');
85
+ const { normalizePath } = require("../path");
100
86
  const proto = Reflect.getPrototypeOf(
101
87
  pacote.RegistryFetcher.prototype
102
88
  );
@@ -127,4 +113,3 @@ function getPacoteCachePath() {
127
113
  getPackumentCache,
128
114
  getPacoteCachePath
129
115
  });
130
- //# sourceMappingURL=packages.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -149,4 +150,3 @@ const ROLLUP_EXTERNAL_SUFFIX = "__rollup_external";
149
150
  SLASH_NODE_MODULES_SLASH,
150
151
  TSCONFIG_JSON
151
152
  });
152
- //# sourceMappingURL=paths.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -40,4 +41,3 @@ const S_IXOTH = 1;
40
41
  S_IXUSR,
41
42
  WIN32
42
43
  });
43
- //# sourceMappingURL=platform.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -36,12 +37,8 @@ function getAbortSignal() {
36
37
  let _spinner;
37
38
  function getSpinner() {
38
39
  if (_spinner === void 0) {
39
- try {
40
- const { Spinner: SpinnerFn } = require("../lib/spinner");
41
- _spinner = SpinnerFn() ?? null;
42
- } catch {
43
- _spinner = null;
44
- }
40
+ const { Spinner: SpinnerFn } = require("../spinner");
41
+ _spinner = SpinnerFn() ?? null;
45
42
  }
46
43
  return _spinner ?? null;
47
44
  }
@@ -51,4 +48,3 @@ function getSpinner() {
51
48
  getAbortSignal,
52
49
  getSpinner
53
50
  });
54
- //# sourceMappingURL=process.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -101,4 +102,3 @@ const REGISTRY_SCOPE_DELIMITER = "__";
101
102
  SOCKET_STATUS_URL,
102
103
  SOCKET_WEBSITE_URL
103
104
  });
104
- //# sourceMappingURL=socket.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -35,4 +36,3 @@ const PRE_COMMIT = "PRE_COMMIT";
35
36
  TEST,
36
37
  VITEST
37
38
  });
38
- //# sourceMappingURL=testing.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -38,4 +39,3 @@ const DLX_BINARY_CACHE_TTL = 7 * MILLISECONDS_PER_DAY;
38
39
  MILLISECONDS_PER_MINUTE,
39
40
  MILLISECONDS_PER_SECOND
40
41
  });
41
- //# sourceMappingURL=time.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -53,4 +54,3 @@ function getTsLibsAvailable() {
53
54
  getTsLibsAvailable,
54
55
  getTsTypesAvailable
55
56
  });
56
- //# sourceMappingURL=typescript.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -134,4 +135,3 @@ function calculateMetric(data) {
134
135
  0 && (module.exports = {
135
136
  getCodeCoverage
136
137
  });
137
- //# sourceMappingURL=code.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -100,4 +101,3 @@ function calculateOverall(code, type) {
100
101
  formatCoverage,
101
102
  getCoverageEmoji
102
103
  });
103
- //# sourceMappingURL=formatters.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -62,4 +63,3 @@ async function getTypeCoverage(options) {
62
63
  0 && (module.exports = {
63
64
  getTypeCoverage
64
65
  });
65
- //# sourceMappingURL=type.js.map
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /* Socket Lib - Built with esbuild */
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -14,4 +15,3 @@ var __copyProps = (to, from, except, desc) => {
14
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
16
  var types_exports = {};
16
17
  module.exports = __toCommonJS(types_exports);
17
- //# sourceMappingURL=types.js.map