@socketsecurity/lib 3.2.8 → 3.3.1

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 (84) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +19 -240
  3. package/dist/agent.js +10 -10
  4. package/dist/bin.js +4 -4
  5. package/dist/colors.d.ts +37 -0
  6. package/dist/colors.js +58 -0
  7. package/dist/constants/node.js +1 -1
  8. package/dist/constants/packages.js +9 -9
  9. package/dist/constants/process.js +1 -1
  10. package/dist/constants/socket.d.ts +1 -0
  11. package/dist/constants/socket.js +3 -0
  12. package/dist/debug.js +3 -3
  13. package/dist/dlx-binary.js +4 -4
  14. package/dist/effects/text-shimmer.js +1 -1
  15. package/dist/env/ci.js +2 -2
  16. package/dist/env/debug.js +1 -1
  17. package/dist/env/github.js +1 -1
  18. package/dist/env/home.js +1 -1
  19. package/dist/env/locale.js +1 -1
  20. package/dist/env/node-auth-token.js +1 -1
  21. package/dist/env/node-env.js +1 -1
  22. package/dist/env/npm.js +1 -1
  23. package/dist/env/package-manager.js +1 -1
  24. package/dist/env/path.js +1 -1
  25. package/dist/env/pre-commit.js +2 -2
  26. package/dist/env/rewire.d.ts +5 -5
  27. package/dist/env/rewire.js +22 -14
  28. package/dist/env/shell.js +1 -1
  29. package/dist/env/socket-cli-shadow.js +2 -2
  30. package/dist/env/socket-cli.js +2 -2
  31. package/dist/env/socket.js +2 -2
  32. package/dist/env/temp-dir.js +1 -1
  33. package/dist/env/term.js +1 -1
  34. package/dist/env/test.js +3 -3
  35. package/dist/env/windows.js +1 -1
  36. package/dist/env/xdg.js +1 -1
  37. package/dist/external/@inquirer/checkbox.js +3361 -3
  38. package/dist/external/@inquirer/confirm.js +1 -0
  39. package/dist/external/@inquirer/input.js +1 -0
  40. package/dist/external/@inquirer/password.js +1 -0
  41. package/dist/external/@inquirer/search.js +1 -0
  42. package/dist/external/@inquirer/select.js +1 -0
  43. package/dist/fs.js +4 -6
  44. package/dist/git.js +1 -1
  45. package/dist/github.js +2 -2
  46. package/dist/globs.js +3 -4
  47. package/dist/lifecycle-script-names.d.ts +8 -2
  48. package/dist/lifecycle-script-names.js +9 -4
  49. package/dist/logger.d.ts +106 -81
  50. package/dist/logger.js +234 -205
  51. package/dist/maintained-node-versions.d.ts +2 -2
  52. package/dist/maintained-node-versions.js +9 -4
  53. package/dist/objects.js +1 -1
  54. package/dist/package-default-node-range.d.ts +2 -2
  55. package/dist/package-default-node-range.js +10 -5
  56. package/dist/package-default-socket-categories.d.ts +6 -2
  57. package/dist/package-default-socket-categories.js +9 -4
  58. package/dist/package-extensions.d.ts +2 -2
  59. package/dist/package-extensions.js +9 -4
  60. package/dist/packages/exports.js +1 -1
  61. package/dist/packages/isolation.js +2 -2
  62. package/dist/packages/licenses.js +2 -2
  63. package/dist/packages/manifest.js +3 -3
  64. package/dist/packages/normalize.js +1 -1
  65. package/dist/packages/operations.js +5 -5
  66. package/dist/packages/provenance.js +1 -1
  67. package/dist/path.d.ts +11 -0
  68. package/dist/path.js +1 -1
  69. package/dist/paths.js +14 -14
  70. package/dist/promises.js +2 -2
  71. package/dist/spawn.js +1 -1
  72. package/dist/spinner.d.ts +29 -51
  73. package/dist/spinner.js +155 -149
  74. package/dist/stdio/prompts.d.ts +17 -0
  75. package/dist/stdio/prompts.js +11 -12
  76. package/dist/temporary-executor.js +1 -1
  77. package/dist/themes/types.d.ts +2 -1
  78. package/dist/themes/utils.d.ts +1 -1
  79. package/dist/utils/get-ipc.d.ts +0 -1
  80. package/dist/utils/get-ipc.js +4 -4
  81. package/dist/versions.d.ts +1 -1
  82. package/package.json +15 -11
  83. package/dist/external/@inquirer/core.js +0 -4
  84. package/dist/external/@inquirer/prompts.js +0 -4
package/dist/env/ci.js CHANGED
@@ -22,8 +22,8 @@ __export(ci_exports, {
22
22
  getCI: () => getCI
23
23
  });
24
24
  module.exports = __toCommonJS(ci_exports);
25
- var import_helpers = require("./helpers");
26
- var import_rewire = require("./rewire");
25
+ var import_helpers = require("#env/helpers");
26
+ var import_rewire = require("#env/rewire");
27
27
  function getCI() {
28
28
  return (0, import_helpers.envAsBoolean)((0, import_rewire.getEnvValue)("CI"));
29
29
  }
package/dist/env/debug.js CHANGED
@@ -22,7 +22,7 @@ __export(debug_exports, {
22
22
  getDebug: () => getDebug
23
23
  });
24
24
  module.exports = __toCommonJS(debug_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getDebug() {
27
27
  return (0, import_rewire.getEnvValue)("DEBUG");
28
28
  }
@@ -29,7 +29,7 @@ __export(github_exports, {
29
29
  getGithubToken: () => getGithubToken
30
30
  });
31
31
  module.exports = __toCommonJS(github_exports);
32
- var import_rewire = require("./rewire");
32
+ var import_rewire = require("#env/rewire");
33
33
  function getGithubApiUrl() {
34
34
  return (0, import_rewire.getEnvValue)("GITHUB_API_URL");
35
35
  }
package/dist/env/home.js CHANGED
@@ -22,7 +22,7 @@ __export(home_exports, {
22
22
  getHome: () => getHome
23
23
  });
24
24
  module.exports = __toCommonJS(home_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getHome() {
27
27
  return (0, import_rewire.getEnvValue)("HOME");
28
28
  }
@@ -24,7 +24,7 @@ __export(locale_exports, {
24
24
  getLcMessages: () => getLcMessages
25
25
  });
26
26
  module.exports = __toCommonJS(locale_exports);
27
- var import_rewire = require("./rewire");
27
+ var import_rewire = require("#env/rewire");
28
28
  function getLang() {
29
29
  return (0, import_rewire.getEnvValue)("LANG");
30
30
  }
@@ -22,7 +22,7 @@ __export(node_auth_token_exports, {
22
22
  getNodeAuthToken: () => getNodeAuthToken
23
23
  });
24
24
  module.exports = __toCommonJS(node_auth_token_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getNodeAuthToken() {
27
27
  return (0, import_rewire.getEnvValue)("NODE_AUTH_TOKEN");
28
28
  }
@@ -22,7 +22,7 @@ __export(node_env_exports, {
22
22
  getNodeEnv: () => getNodeEnv
23
23
  });
24
24
  module.exports = __toCommonJS(node_env_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getNodeEnv() {
27
27
  return (0, import_rewire.getEnvValue)("NODE_ENV");
28
28
  }
package/dist/env/npm.js CHANGED
@@ -26,7 +26,7 @@ __export(npm_exports, {
26
26
  getNpmToken: () => getNpmToken
27
27
  });
28
28
  module.exports = __toCommonJS(npm_exports);
29
- var import_rewire = require("./rewire");
29
+ var import_rewire = require("#env/rewire");
30
30
  function getNpmConfigRegistry() {
31
31
  return (0, import_rewire.getEnvValue)("npm_config_registry");
32
32
  }
@@ -24,7 +24,7 @@ __export(package_manager_exports, {
24
24
  getPackageManagerUserAgent: () => getPackageManagerUserAgent
25
25
  });
26
26
  module.exports = __toCommonJS(package_manager_exports);
27
- var import_rewire = require("./rewire");
27
+ var import_rewire = require("#env/rewire");
28
28
  function detectPackageManager() {
29
29
  const userAgent = getPackageManagerUserAgent();
30
30
  if (userAgent) {
package/dist/env/path.js CHANGED
@@ -22,7 +22,7 @@ __export(path_exports, {
22
22
  getPath: () => getPath
23
23
  });
24
24
  module.exports = __toCommonJS(path_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getPath() {
27
27
  return (0, import_rewire.getEnvValue)("PATH");
28
28
  }
@@ -22,8 +22,8 @@ __export(pre_commit_exports, {
22
22
  getPreCommit: () => getPreCommit
23
23
  });
24
24
  module.exports = __toCommonJS(pre_commit_exports);
25
- var import_helpers = require("./helpers");
26
- var import_rewire = require("./rewire");
25
+ var import_helpers = require("#env/helpers");
26
+ var import_rewire = require("#env/rewire");
27
27
  function getPreCommit() {
28
28
  return (0, import_helpers.envAsBoolean)((0, import_rewire.getEnvValue)("PRE_COMMIT"));
29
29
  }
@@ -2,8 +2,8 @@
2
2
  * Get an environment variable value, checking overrides first.
3
3
  *
4
4
  * Resolution order:
5
- * 1. AsyncLocalStorage context (set via withEnv)
6
- * 2. Test overrides (set via setEnv in beforeEach)
5
+ * 1. Isolated overrides (temporary - set via withEnv/withEnvSync)
6
+ * 2. Shared overrides (persistent - set via setEnv in beforeEach)
7
7
  * 3. process.env (including vi.stubEnv modifications)
8
8
  *
9
9
  * @internal Used by env getters to support test rewiring
@@ -79,13 +79,13 @@ export declare function hasOverride(key: string): boolean;
79
79
  * @example
80
80
  * ```typescript
81
81
  * // Nested overrides work correctly
82
- * setEnv('CI', '1') // Test-level override
82
+ * setEnv('CI', '1') // Shared override (persistent)
83
83
  *
84
84
  * await withEnv({ CI: '0' }, async () => {
85
- * expect(getCI()).toBe(false) // Context override takes precedence
85
+ * expect(getCI()).toBe(false) // Isolated override takes precedence
86
86
  * })
87
87
  *
88
- * expect(getCI()).toBe(true) // Back to test-level override
88
+ * expect(getCI()).toBe(true) // Back to shared override
89
89
  * ```
90
90
  */
91
91
  export declare function withEnv<T>(overrides: Record<string, string | undefined>, fn: () => T | Promise<T>): Promise<T>;
@@ -29,38 +29,46 @@ __export(rewire_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(rewire_exports);
31
31
  var import_async_hooks = require("async_hooks");
32
- const envStorage = new import_async_hooks.AsyncLocalStorage();
33
- const testOverrides = /* @__PURE__ */ new Map();
32
+ var import_helpers = require("#env/helpers");
33
+ const isolatedOverridesStorage = new import_async_hooks.AsyncLocalStorage();
34
+ const sharedOverridesSymbol = Symbol.for(
35
+ "@socketsecurity/lib/env/rewire/test-overrides"
36
+ );
37
+ const isVitestEnv = (0, import_helpers.envAsBoolean)(process.env.VITEST);
38
+ if (isVitestEnv && !globalThis[sharedOverridesSymbol]) {
39
+ globalThis[sharedOverridesSymbol] = /* @__PURE__ */ new Map();
40
+ }
41
+ const sharedOverrides = globalThis[sharedOverridesSymbol];
34
42
  function getEnvValue(key) {
35
- const contextOverrides = envStorage.getStore();
36
- if (contextOverrides?.has(key)) {
37
- return contextOverrides.get(key);
43
+ const isolatedOverrides = isolatedOverridesStorage.getStore();
44
+ if (isolatedOverrides?.has(key)) {
45
+ return isolatedOverrides.get(key);
38
46
  }
39
- if (testOverrides.has(key)) {
40
- return testOverrides.get(key);
47
+ if (sharedOverrides?.has(key)) {
48
+ return sharedOverrides.get(key);
41
49
  }
42
50
  return process.env[key];
43
51
  }
44
52
  function setEnv(key, value) {
45
- testOverrides.set(key, value);
53
+ sharedOverrides?.set(key, value);
46
54
  }
47
55
  function clearEnv(key) {
48
- testOverrides.delete(key);
56
+ sharedOverrides?.delete(key);
49
57
  }
50
58
  function resetEnv() {
51
- testOverrides.clear();
59
+ sharedOverrides?.clear();
52
60
  }
53
61
  function hasOverride(key) {
54
- const contextOverrides = envStorage.getStore();
55
- return contextOverrides?.has(key) || testOverrides.has(key);
62
+ const isolatedOverrides = isolatedOverridesStorage.getStore();
63
+ return !!(isolatedOverrides?.has(key) || sharedOverrides?.has(key));
56
64
  }
57
65
  async function withEnv(overrides, fn) {
58
66
  const map = new Map(Object.entries(overrides));
59
- return await envStorage.run(map, fn);
67
+ return await isolatedOverridesStorage.run(map, fn);
60
68
  }
61
69
  function withEnvSync(overrides, fn) {
62
70
  const map = new Map(Object.entries(overrides));
63
- return envStorage.run(map, fn);
71
+ return isolatedOverridesStorage.run(map, fn);
64
72
  }
65
73
  // Annotate the CommonJS export names for ESM import in node:
66
74
  0 && (module.exports = {
package/dist/env/shell.js CHANGED
@@ -22,7 +22,7 @@ __export(shell_exports, {
22
22
  getShell: () => getShell
23
23
  });
24
24
  module.exports = __toCommonJS(shell_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getShell() {
27
27
  return (0, import_rewire.getEnvValue)("SHELL");
28
28
  }
@@ -26,8 +26,8 @@ __export(socket_cli_shadow_exports, {
26
26
  getSocketCliShadowSilent: () => getSocketCliShadowSilent
27
27
  });
28
28
  module.exports = __toCommonJS(socket_cli_shadow_exports);
29
- var import_helpers = require("./helpers");
30
- var import_rewire = require("./rewire");
29
+ var import_helpers = require("#env/helpers");
30
+ var import_rewire = require("#env/rewire");
31
31
  function getSocketCliShadowAcceptRisks() {
32
32
  return (0, import_helpers.envAsBoolean)((0, import_rewire.getEnvValue)("SOCKET_CLI_SHADOW_ACCEPT_RISKS"));
33
33
  }
@@ -35,8 +35,8 @@ __export(socket_cli_exports, {
35
35
  getSocketCliViewAllRisks: () => getSocketCliViewAllRisks
36
36
  });
37
37
  module.exports = __toCommonJS(socket_cli_exports);
38
- var import_helpers = require("./helpers");
39
- var import_rewire = require("./rewire");
38
+ var import_helpers = require("#env/helpers");
39
+ var import_rewire = require("#env/rewire");
40
40
  function getSocketCliAcceptRisks() {
41
41
  return (0, import_helpers.envAsBoolean)((0, import_rewire.getEnvValue)("SOCKET_CLI_ACCEPT_RISKS"));
42
42
  }
@@ -36,8 +36,8 @@ __export(socket_exports, {
36
36
  getSocketViewAllRisks: () => getSocketViewAllRisks
37
37
  });
38
38
  module.exports = __toCommonJS(socket_exports);
39
- var import_helpers = require("./helpers");
40
- var import_rewire = require("./rewire");
39
+ var import_helpers = require("#env/helpers");
40
+ var import_rewire = require("#env/rewire");
41
41
  function getSocketAcceptRisks() {
42
42
  return (0, import_helpers.envAsBoolean)((0, import_rewire.getEnvValue)("SOCKET_ACCEPT_RISKS"));
43
43
  }
@@ -24,7 +24,7 @@ __export(temp_dir_exports, {
24
24
  getTmpdir: () => getTmpdir
25
25
  });
26
26
  module.exports = __toCommonJS(temp_dir_exports);
27
- var import_rewire = require("./rewire");
27
+ var import_rewire = require("#env/rewire");
28
28
  function getTmpdir() {
29
29
  return (0, import_rewire.getEnvValue)("TMPDIR");
30
30
  }
package/dist/env/term.js CHANGED
@@ -22,7 +22,7 @@ __export(term_exports, {
22
22
  getTerm: () => getTerm
23
23
  });
24
24
  module.exports = __toCommonJS(term_exports);
25
- var import_rewire = require("./rewire");
25
+ var import_rewire = require("#env/rewire");
26
26
  function getTerm() {
27
27
  return (0, import_rewire.getEnvValue)("TERM");
28
28
  }
package/dist/env/test.js CHANGED
@@ -24,9 +24,9 @@ __export(test_exports, {
24
24
  isTest: () => isTest
25
25
  });
26
26
  module.exports = __toCommonJS(test_exports);
27
- var import_helpers = require("./helpers");
28
- var import_node_env = require("./node-env");
29
- var import_rewire = require("./rewire");
27
+ var import_helpers = require("#env/helpers");
28
+ var import_node_env = require("#env/node-env");
29
+ var import_rewire = require("#env/rewire");
30
30
  function getJestWorkerId() {
31
31
  return (0, import_helpers.envAsString)((0, import_rewire.getEnvValue)("JEST_WORKER_ID"));
32
32
  }
@@ -25,7 +25,7 @@ __export(windows_exports, {
25
25
  getUserprofile: () => getUserprofile
26
26
  });
27
27
  module.exports = __toCommonJS(windows_exports);
28
- var import_rewire = require("./rewire");
28
+ var import_rewire = require("#env/rewire");
29
29
  function getAppdata() {
30
30
  return (0, import_rewire.getEnvValue)("APPDATA");
31
31
  }
package/dist/env/xdg.js CHANGED
@@ -24,7 +24,7 @@ __export(xdg_exports, {
24
24
  getXdgDataHome: () => getXdgDataHome
25
25
  });
26
26
  module.exports = __toCommonJS(xdg_exports);
27
- var import_rewire = require("./rewire");
27
+ var import_rewire = require("#env/rewire");
28
28
  function getXdgCacheHome() {
29
29
  return (0, import_rewire.getEnvValue)("XDG_CACHE_HOME");
30
30
  }