@socketsecurity/lib 6.0.0 → 6.0.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 (121) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +26 -17
  3. package/dist/ai/discover.js +2 -2
  4. package/dist/ai/spawn.js +3 -3
  5. package/dist/ai/worktree.js +3 -3
  6. package/dist/argv/parse-args-string.d.ts +30 -0
  7. package/dist/argv/parse-args-string.js +42 -0
  8. package/dist/bin/check-primordials.js +15 -10
  9. package/dist/bin/check.js +2 -2
  10. package/dist/bin/exec.d.ts +1 -1
  11. package/dist/bin/exec.js +2 -2
  12. package/dist/bin/socket-lib.js +2 -2
  13. package/dist/{ttl-cache/cache.js → cache/ttl/store.js} +15 -15
  14. package/dist/{ttl-cache → cache/ttl}/types.d.ts +1 -1
  15. package/dist/checks/primordials-defaults.d.ts +20 -0
  16. package/dist/checks/primordials-defaults.js +92 -0
  17. package/dist/colors/socket-palette.d.ts +69 -0
  18. package/dist/colors/socket-palette.js +91 -0
  19. package/dist/constants/socket.js +1 -1
  20. package/dist/cover/code.js +2 -2
  21. package/dist/cover/type.js +2 -2
  22. package/dist/debug/_internal.d.ts +1 -1
  23. package/dist/debug/_internal.js +2 -2
  24. package/dist/debug/output.js +5 -5
  25. package/dist/dlx/binary-types.d.ts +2 -2
  26. package/dist/dlx/binary.d.ts +2 -2
  27. package/dist/dlx/binary.js +3 -3
  28. package/dist/dlx/manifest.js +2 -2
  29. package/dist/dlx/package.d.ts +2 -2
  30. package/dist/dlx/package.js +2 -2
  31. package/dist/dlx/types.d.ts +2 -2
  32. package/dist/eco/npm/npm/exec.d.ts +2 -2
  33. package/dist/eco/npm/npm/exec.js +2 -2
  34. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  35. package/dist/eco/npm/script.d.ts +1 -1
  36. package/dist/eco/npm/script.js +3 -3
  37. package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +1 -1
  38. package/dist/{signal-exit → events/exit}/_internal.d.ts +1 -1
  39. package/dist/{signal-exit/register.js → events/exit/handler.js} +4 -4
  40. package/dist/{signal-exit → events/exit}/intercept.js +2 -2
  41. package/dist/{signal-exit → events/exit}/types.d.ts +1 -1
  42. package/dist/{warnings/event-target.d.ts → events/warning/handler.d.ts} +1 -1
  43. package/dist/{warnings/event-target.js → events/warning/handler.js} +4 -4
  44. package/dist/{warnings → events/warning}/suppress.d.ts +3 -3
  45. package/dist/{warnings → events/warning}/suppress.js +2 -2
  46. package/dist/external-tools/janus/asset-names.d.ts +7 -0
  47. package/dist/external-tools/janus/asset-names.js +5 -0
  48. package/dist/external-tools/janus/from-download.d.ts +1 -1
  49. package/dist/external-tools/janus/from-download.js +12 -4
  50. package/dist/fs/read-json-cache.d.ts +83 -0
  51. package/dist/fs/read-json-cache.js +156 -0
  52. package/dist/fs/read-json.d.ts +6 -1
  53. package/dist/fs/read-json.js +80 -8
  54. package/dist/fs/types.d.ts +14 -0
  55. package/dist/git/_internal.js +3 -3
  56. package/dist/github/refs-cache.d.ts +1 -1
  57. package/dist/github/refs-cache.js +2 -2
  58. package/dist/github/token.d.ts +1 -1
  59. package/dist/github/token.js +2 -2
  60. package/dist/globs/{glob.js → match.js} +3 -3
  61. package/dist/http-request/browser-fetch.d.ts +10 -0
  62. package/dist/http-request/browser-fetch.js +32 -0
  63. package/dist/http-request/browser.d.ts +190 -0
  64. package/dist/http-request/browser.js +224 -0
  65. package/dist/http-request/download-types.d.ts +2 -2
  66. package/dist/http-request/request-attempt.js +4 -0
  67. package/dist/http-request/request-types.d.ts +15 -0
  68. package/dist/http-request/request.js +5 -0
  69. package/dist/links/{link.d.ts → create.d.ts} +2 -2
  70. package/dist/links/{link.js → create.js} +3 -3
  71. package/dist/logger/_internal.d.ts +1 -1
  72. package/dist/logger/browser.d.ts +16 -0
  73. package/dist/logger/browser.js +65 -0
  74. package/dist/logger/console.js +3 -3
  75. package/dist/logger/{logger.js → default.js} +3 -3
  76. package/dist/logger/symbols-builder.d.ts +1 -1
  77. package/dist/logger/types.d.ts +1 -1
  78. package/dist/packages/isolation.js +3 -3
  79. package/dist/packages/types.d.ts +2 -0
  80. package/dist/primordials/globals.d.ts +6 -3
  81. package/dist/primordials/globals.js +15 -9
  82. package/dist/primordials/url.d.ts +1 -1
  83. package/dist/process/lock-manager.js +4 -4
  84. package/dist/{spawn → process/spawn}/_internal.js +3 -3
  85. package/dist/{spawn/spawn.js → process/spawn/child.js} +13 -13
  86. package/dist/{spawn → process/spawn}/errors.js +5 -5
  87. package/dist/{spawn → process/spawn}/stdio.js +1 -1
  88. package/dist/{spawn → process/spawn}/types.d.ts +3 -3
  89. package/dist/promises/types.d.ts +15 -2
  90. package/dist/releases/github-archives.js +2 -2
  91. package/dist/releases/github-downloads.js +4 -4
  92. package/dist/spinner/{registry.d.ts → default.d.ts} +1 -1
  93. package/dist/spinner/{registry.js → default.js} +3 -3
  94. package/dist/spinner/spinner.js +4 -4
  95. package/dist/spinner/with.d.ts +1 -1
  96. package/dist/stdio/divider.js +2 -2
  97. package/dist/stdio/footer.js +2 -2
  98. package/dist/stdio/header.js +2 -2
  99. package/dist/stdio/prompts.js +2 -2
  100. package/package.json +328 -98
  101. package/dist/promise-queue/types.d.ts +0 -10
  102. package/dist/ttl-cache/types.js +0 -18
  103. /package/dist/{ttl-cache/cache.d.ts → cache/ttl/store.d.ts} +0 -0
  104. /package/dist/{promise-queue → cache/ttl}/types.js +0 -0
  105. /package/dist/{signal-exit → events/exit}/_internal.js +0 -0
  106. /package/dist/{signal-exit/register.d.ts → events/exit/handler.d.ts} +0 -0
  107. /package/dist/{signal-exit → events/exit}/intercept.d.ts +0 -0
  108. /package/dist/{signal-exit → events/exit}/lifecycle.d.ts +0 -0
  109. /package/dist/{signal-exit → events/exit}/lifecycle.js +0 -0
  110. /package/dist/{signal-exit → events/exit}/signals.d.ts +0 -0
  111. /package/dist/{signal-exit → events/exit}/signals.js +0 -0
  112. /package/dist/{signal-exit → events/exit}/types.js +0 -0
  113. /package/dist/globs/{glob.d.ts → match.d.ts} +0 -0
  114. /package/dist/logger/{logger.d.ts → default.d.ts} +0 -0
  115. /package/dist/{spawn → process/spawn}/_internal.d.ts +0 -0
  116. /package/dist/{spawn/spawn.d.ts → process/spawn/child.d.ts} +0 -0
  117. /package/dist/{spawn → process/spawn}/errors.d.ts +0 -0
  118. /package/dist/{spawn → process/spawn}/stdio.d.ts +0 -0
  119. /package/dist/{spawn → process/spawn}/types.js +0 -0
  120. /package/dist/{promise-queue → promises}/queue.d.ts +0 -0
  121. /package/dist/{promise-queue → promises}/queue.js +0 -0
@@ -0,0 +1,91 @@
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 socket_palette_exports = {};
22
+ __export(socket_palette_exports, {
23
+ colorizer: () => colorizer,
24
+ getPalette: () => getPalette
25
+ });
26
+ module.exports = __toCommonJS(socket_palette_exports);
27
+ const HEX_BY_THEME = {
28
+ __proto__: null,
29
+ // The dark theme is the default — bright values that pop on terminal
30
+ // backgrounds (which are overwhelmingly dark).
31
+ dark: {
32
+ __proto__: null,
33
+ alert: "#fb923c",
34
+ error: "#f87171",
35
+ info: "#60a5fa",
36
+ socketPink: "#ff00aa",
37
+ socketPurple: "#8c50ff",
38
+ success: "#4ade80",
39
+ warning: "#facc15"
40
+ },
41
+ // Saturated, deep values for light terminals (rare but supported).
42
+ light: {
43
+ __proto__: null,
44
+ alert: "#9a3412",
45
+ error: "#b91c1c",
46
+ info: "#1d4ed8",
47
+ socketPink: "#ff00aa",
48
+ socketPurple: "#8c50ff",
49
+ success: "#15803d",
50
+ warning: "#a16207"
51
+ },
52
+ // Neon palette for celebratory / hero output.
53
+ synthwave: {
54
+ __proto__: null,
55
+ alert: "#ffb86c",
56
+ error: "#ff6b9d",
57
+ info: "#8be9fd",
58
+ socketPink: "#ff00aa",
59
+ socketPurple: "#8c50ff",
60
+ success: "#50fa7b",
61
+ warning: "#f1fa8c"
62
+ }
63
+ };
64
+ // @__NO_SIDE_EFFECTS__
65
+ function colorizer(hex) {
66
+ const r = parseInt(hex.slice(1, 3), 16);
67
+ const g = parseInt(hex.slice(3, 5), 16);
68
+ const b = parseInt(hex.slice(5, 7), 16);
69
+ const prefix = `\x1B[38;2;${r};${g};${b}m`;
70
+ const suffix = "\x1B[39m";
71
+ return (s) => `${prefix}${s}${suffix}`;
72
+ }
73
+ // @__NO_SIDE_EFFECTS__
74
+ function getPalette(theme = "dark") {
75
+ const hex = HEX_BY_THEME[theme];
76
+ return {
77
+ alert: /* @__PURE__ */ colorizer(hex.alert),
78
+ error: /* @__PURE__ */ colorizer(hex.error),
79
+ hex,
80
+ info: /* @__PURE__ */ colorizer(hex.info),
81
+ socketPink: /* @__PURE__ */ colorizer(hex.socketPink),
82
+ socketPurple: /* @__PURE__ */ colorizer(hex.socketPurple),
83
+ success: /* @__PURE__ */ colorizer(hex.success),
84
+ warning: /* @__PURE__ */ colorizer(hex.warning)
85
+ };
86
+ }
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ colorizer,
90
+ getPalette
91
+ });
@@ -77,7 +77,7 @@ const SOCKET_REGISTRY_APP_NAME = "registry";
77
77
  const SOCKET_WHEELHOUSE_APP_NAME = "wheelhouse";
78
78
  const SOCKET_APP_PREFIX = "_";
79
79
  const SOCKET_LIB_NAME = "@socketsecurity/lib";
80
- const SOCKET_LIB_VERSION = "6.0.0";
80
+ const SOCKET_LIB_VERSION = "6.0.1";
81
81
  const SOCKET_IPC_HANDSHAKE = "SOCKET_IPC_HANDSHAKE";
82
82
  const CACHE_SOCKET_API_DIR = "socket-api";
83
83
  const REGISTRY = "registry";
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(code_exports);
37
37
  var import_node_process = __toESM(require("node:process"));
38
38
  var import_read_json = require("../fs/read-json");
39
39
  var import_predicates = require("../objects/predicates");
40
- var import_spawn = require("../spawn/spawn");
40
+ var import_child = require("../process/spawn/child");
41
41
  var import_array = require("../primordials/array");
42
42
  var import_error = require("../primordials/error");
43
43
  var import_object = require("../primordials/object");
@@ -66,7 +66,7 @@ async function getCodeCoverage(options) {
66
66
  const fs = (0, import_fs.getNodeFs)();
67
67
  if (!fs.existsSync(coveragePath)) {
68
68
  if (generateIfMissing) {
69
- await (0, import_spawn.spawn)("vitest", ["run", "--coverage"], {
69
+ await (0, import_child.spawn)("vitest", ["run", "--coverage"], {
70
70
  cwd: import_node_process.default.cwd(),
71
71
  stdio: "inherit"
72
72
  });
@@ -34,7 +34,7 @@ __export(type_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(type_exports);
36
36
  var import_node_process = __toESM(require("node:process"));
37
- var import_spawn = require("../spawn/spawn");
37
+ var import_child = require("../process/spawn/child");
38
38
  var import_error = require("../primordials/error");
39
39
  var import_number = require("../primordials/number");
40
40
  async function getTypeCoverage(options) {
@@ -49,7 +49,7 @@ async function getTypeCoverage(options) {
49
49
  throw new import_error.ErrorCtor("Working directory is required.");
50
50
  }
51
51
  try {
52
- const result = await (0, import_spawn.spawn)("type-coverage", ["--detail"], {
52
+ const result = await (0, import_child.spawn)("type-coverage", ["--detail"], {
53
53
  cwd,
54
54
  stdio: ["ignore", "pipe", "pipe"]
55
55
  });
@@ -6,7 +6,7 @@
6
6
  * override). Co-located so the namespace / output / caller-info leaves don't
7
7
  * fragment ownership of this shared module state.
8
8
  */
9
- export declare const logger: import("../logger/logger").Logger;
9
+ export declare const logger: import("../logger/default").Logger;
10
10
  export declare const debugByNamespace: Map<any, any>;
11
11
  export { getNodeUtil as getUtil } from '../node/util';
12
12
  /**
@@ -39,12 +39,12 @@ __export(internal_exports, {
39
39
  module.exports = __toCommonJS(internal_exports);
40
40
  var import_is_unicode_supported = __toESM(require("../external/@socketregistry/is-unicode-supported"));
41
41
  var import_debug = __toESM(require("../external/debug"));
42
- var import_logger = require("../logger/logger");
42
+ var import_default = require("../logger/default");
43
43
  var import_map_set = require("../primordials/map-set");
44
44
  var import_reflect = require("../primordials/reflect");
45
45
  var import_util = require("../node/util");
46
46
  var import_util2 = require("../node/util");
47
- const logger = (0, import_logger.getDefaultLogger)();
47
+ const logger = (0, import_default.getDefaultLogger)();
48
48
  const debugByNamespace = new import_map_set.MapCtor();
49
49
  let _pointingTriangle;
50
50
  // @__NO_SIDE_EFFECTS__
@@ -46,7 +46,7 @@ var import_debug = __toESM(require("../external/debug"));
46
46
  var import_array = require("../primordials/array");
47
47
  var import_date = require("../primordials/date");
48
48
  var import_reflect = require("../primordials/reflect");
49
- var import_registry = require("../spinner/registry");
49
+ var import_default = require("../spinner/default");
50
50
  var import_format = require("../strings/format");
51
51
  var import_internal = require("./_internal");
52
52
  var import_caller_info = require("./caller-info");
@@ -76,7 +76,7 @@ function debugCacheNs(namespacesOrOpts, operation, key, meta) {
76
76
  const pointingTriangle = (0, import_internal.getPointingTriangle)();
77
77
  const prefix = `[CACHE] ${callerName} ${pointingTriangle} ${operation}: ${key}`;
78
78
  const logArgs = meta !== void 0 ? [prefix, meta] : [prefix];
79
- const spinnerInstance = options.spinner || (0, import_registry.getDefaultSpinner)();
79
+ const spinnerInstance = options.spinner || (0, import_default.getDefaultSpinner)();
80
80
  const wasSpinning = spinnerInstance?.isSpinning;
81
81
  spinnerInstance?.stop();
82
82
  (0, import_reflect.ReflectApply)(import_internal.logger.info, import_internal.logger, logArgs);
@@ -106,7 +106,7 @@ function debugDirNs(namespacesOrOpts, obj, inspectOpts) {
106
106
  };
107
107
  }
108
108
  }
109
- const spinnerInstance = options.spinner || (0, import_registry.getDefaultSpinner)();
109
+ const spinnerInstance = options.spinner || (0, import_default.getDefaultSpinner)();
110
110
  const wasSpinning = spinnerInstance?.isSpinning;
111
111
  spinnerInstance?.stop();
112
112
  import_internal.logger.info(`[DEBUG] ${callerName} ${pointingTriangle} object inspection:`);
@@ -133,7 +133,7 @@ function debugLogNs(namespacesOrOpts, ...args) {
133
133
  }),
134
134
  ...(0, import_array.ArrayPrototypeSlice)(args, 1)
135
135
  ] : [`[DEBUG] ${callerName} ${pointingTriangle}`, ...args];
136
- const spinnerInstance = options.spinner || (0, import_registry.getDefaultSpinner)();
136
+ const spinnerInstance = options.spinner || (0, import_default.getDefaultSpinner)();
137
137
  const wasSpinning = spinnerInstance?.isSpinning;
138
138
  spinnerInstance?.stop();
139
139
  (0, import_reflect.ReflectApply)(import_internal.logger.info, import_internal.logger, logArgs);
@@ -156,7 +156,7 @@ function debugNs(namespacesOrOpts, ...args) {
156
156
  }),
157
157
  ...(0, import_array.ArrayPrototypeSlice)(args, 1)
158
158
  ] : args;
159
- const spinnerInstance = options.spinner || (0, import_registry.getDefaultSpinner)();
159
+ const spinnerInstance = options.spinner || (0, import_default.getDefaultSpinner)();
160
160
  const wasSpinning = spinnerInstance?.isSpinning;
161
161
  spinnerInstance?.stop();
162
162
  (0, import_reflect.ReflectApply)(import_internal.logger.info, import_internal.logger, logArgs);
@@ -8,8 +8,8 @@
8
8
  * - `DlxMetadata` — on-disk metadata schema for a cached binary
9
9
  */
10
10
  import type { HashSpec } from '../integrity';
11
- import type { spawn } from '../spawn/spawn';
12
- import type { SpawnOptions } from '../spawn/types';
11
+ import type { spawn } from '../process/spawn/child';
12
+ import type { SpawnOptions } from '../process/spawn/types';
13
13
  export interface DlxBinaryOptions {
14
14
  /**
15
15
  * URL to download the binary from.
@@ -13,9 +13,9 @@
13
13
  * - on-disk cache metadata — `./binary-cache`
14
14
  * - download + integrity verification — `./binary-download`
15
15
  */
16
- import { spawn } from '../spawn/spawn';
16
+ import { spawn } from '../process/spawn/child';
17
17
  import type { DlxBinaryOptions, DlxBinaryResult } from './binary-types';
18
- import type { SpawnExtra, SpawnOptions } from '../spawn/types';
18
+ import type { SpawnExtra, SpawnOptions } from '../process/spawn/types';
19
19
  /**
20
20
  * Download and execute a binary from a URL with caching.
21
21
  *
@@ -48,7 +48,7 @@ var import_time = require("../constants/time");
48
48
  var import_read_json = require("../fs/read-json");
49
49
  var import_safe = require("../fs/safe");
50
50
  var import_normalize = require("../paths/normalize");
51
- var import_spawn = require("../spawn/spawn");
51
+ var import_child = require("../process/spawn/child");
52
52
  var import_cache = require("./cache");
53
53
  var import_integrity = require("../integrity");
54
54
  var import_array = require("../primordials/array");
@@ -158,7 +158,7 @@ Ensure the filesystem is writable or set SOCKET_DLX_DIR to a writable location.`
158
158
  },
159
159
  shell: true
160
160
  } : spawnOptions;
161
- const spawnPromise = (0, import_spawn.spawn)(binaryPath, args, finalSpawnOptions, spawnExtra);
161
+ const spawnPromise = (0, import_child.spawn)(binaryPath, args, finalSpawnOptions, spawnExtra);
162
162
  return {
163
163
  binaryPath,
164
164
  downloaded,
@@ -177,7 +177,7 @@ function executeBinary(binaryPath, args, spawnOptions, spawnExtra) {
177
177
  },
178
178
  shell: true
179
179
  } : spawnOptions;
180
- return (0, import_spawn.spawn)(binaryPath, args, finalSpawnOptions, spawnExtra);
180
+ return (0, import_child.spawn)(binaryPath, args, finalSpawnOptions, spawnExtra);
181
181
  }
182
182
  // Annotate the CommonJS export names for ESM import in node:
183
183
  0 && (module.exports = {
@@ -29,7 +29,7 @@ module.exports = __toCommonJS(manifest_exports);
29
29
  var import_message = require("../errors/message");
30
30
  var import_read_file = require("../fs/read-file");
31
31
  var import_safe = require("../fs/safe");
32
- var import_logger = require("../logger/logger");
32
+ var import_default = require("../logger/default");
33
33
  var import_socket = require("../paths/socket");
34
34
  var import_lock_instance = require("../process/lock-instance");
35
35
  var import_date = require("../primordials/date");
@@ -39,7 +39,7 @@ var import_fs = require("../node/fs");
39
39
  var import_path = require("../node/path");
40
40
  const fs = (0, import_fs.getNodeFs)();
41
41
  const path = (0, import_path.getNodePath)();
42
- const logger = (0, import_logger.getDefaultLogger)();
42
+ const logger = (0, import_default.getDefaultLogger)();
43
43
  const MANIFEST_FILE_NAME = ".dlx-manifest.json";
44
44
  function isBinaryEntry(entry) {
45
45
  return entry.type === "binary";
@@ -32,9 +32,9 @@
32
32
  * - binary resolution — `./binary-resolution`
33
33
  * - lazy `node:fs` / `node:path` + LRU cache — `./_internal`
34
34
  */
35
- import { spawn } from '../spawn/spawn';
35
+ import { spawn } from '../process/spawn/child';
36
36
  import type { DlxPackageOptions, DlxPackageResult, DownloadPackageResult, EnsurePackageInstallOptions } from './types';
37
- import type { SpawnExtra, SpawnOptions } from '../spawn/types';
37
+ import type { SpawnExtra, SpawnOptions } from '../process/spawn/types';
38
38
  /**
39
39
  * Execute a package via DLX - install if needed and run its binary.
40
40
  *
@@ -50,7 +50,7 @@ var import_safe = require("../fs/safe");
50
50
  var import_normalize = require("../paths/normalize");
51
51
  var import_socket = require("../paths/socket");
52
52
  var import_lock_instance = require("../process/lock-instance");
53
- var import_spawn = require("../spawn/spawn");
53
+ var import_child = require("../process/spawn/child");
54
54
  var import_cache = require("./cache");
55
55
  var import_fs = require("../node/fs");
56
56
  var import_path = require("../node/path");
@@ -236,7 +236,7 @@ function executePackage(binaryPath, args, spawnOptions, spawnExtra) {
236
236
  ...spawnOptions,
237
237
  shell: true
238
238
  } : spawnOptions;
239
- return (0, import_spawn.spawn)(binaryPath, args, finalOptions, spawnExtra);
239
+ return (0, import_child.spawn)(binaryPath, args, finalOptions, spawnExtra);
240
240
  }
241
241
  // Annotate the CommonJS export names for ESM import in node:
242
242
  0 && (module.exports = {
@@ -10,8 +10,8 @@
10
10
  */
11
11
  import type { HashSpec } from '../integrity';
12
12
  import type { LockfileSpec } from './lockfile';
13
- import type { spawn } from '../spawn/spawn';
14
- import type { SpawnOptions } from '../spawn/types';
13
+ import type { spawn } from '../process/spawn/child';
14
+ import type { SpawnOptions } from '../process/spawn/types';
15
15
  export interface DownloadPackageResult {
16
16
  /**
17
17
  * Path to the installed package directory.
@@ -11,7 +11,7 @@
11
11
  * 4. The permission model is intended for untrusted user code, not package
12
12
  * managers.
13
13
  */
14
- import type { SpawnOptions } from '../../../spawn/types';
14
+ import type { SpawnOptions } from '../../../process/spawn/types';
15
15
  /**
16
16
  * Execute npm commands with optimized flags and settings.
17
17
  *
@@ -21,4 +21,4 @@ import type { SpawnOptions } from '../../../spawn/types';
21
21
  * await execNpm(['run', 'build'], { cwd: '/tmp/project' })
22
22
  * ```
23
23
  */
24
- export declare function execNpm(args: string[], options?: SpawnOptions | undefined): import("../../../spawn/types").SpawnResult;
24
+ export declare function execNpm(args: string[], options?: SpawnOptions | undefined): import("../../../process/spawn/types").SpawnResult;
@@ -27,7 +27,7 @@ var import_agents = require("../../../constants/agents");
27
27
  var import_platform = require("../../../constants/platform");
28
28
  var import_namespace = require("../../../debug/namespace");
29
29
  var import_array = require("../../../primordials/array");
30
- var import_spawn = require("../../../spawn/spawn");
30
+ var import_child = require("../../../process/spawn/child");
31
31
  var import_flags = require("./flags");
32
32
  function execNpm(args, options) {
33
33
  const useDebug = (0, import_namespace.isDebug)();
@@ -37,7 +37,7 @@ function execNpm(args, options) {
37
37
  );
38
38
  const otherArgs = terminatorPos === -1 ? [] : (0, import_array.ArrayPrototypeSlice)(args, terminatorPos);
39
39
  const logLevelArgs = useDebug || npmArgs.some(import_flags.isNpmLoglevelFlag) ? [] : ["--loglevel", "warn"];
40
- return (0, import_spawn.spawn)(
40
+ return (0, import_child.spawn)(
41
41
  import_agents.NPM_BIN_PATH,
42
42
  [
43
43
  // Even with `--loglevel=error`, npm still runs through 'audit'/'fund'
@@ -3,7 +3,7 @@
3
3
  * SECURITY: Array-based arguments prevent command injection. All elements in
4
4
  * the args array are properly escaped by Node.js when passed to execBin().
5
5
  */
6
- import type { SpawnOptions } from '../../../spawn/types';
6
+ import type { SpawnOptions } from '../../../process/spawn/types';
7
7
  export interface PnpmOptions extends SpawnOptions {
8
8
  allowLockfileUpdate?: boolean;
9
9
  }
@@ -11,7 +11,7 @@
11
11
  * Node where `node --run` isn't available) Honors `shell: true` by passing
12
12
  * through to spawn() unchanged.
13
13
  */
14
- import type { SpawnOptions } from '../../spawn/types';
14
+ import type { SpawnOptions } from '../../process/spawn/types';
15
15
  export interface ExecScriptOptions extends SpawnOptions {
16
16
  prepost?: boolean | undefined;
17
17
  }
@@ -39,7 +39,7 @@ var import_node = require("../../constants/node");
39
39
  var import_find_up = require("../../fs/find-up");
40
40
  var import_inspect = require("../../objects/inspect");
41
41
  var import_array = require("../../primordials/array");
42
- var import_spawn = require("../../spawn/spawn");
42
+ var import_child = require("../../process/spawn/child");
43
43
  var import_exec = require("./npm/exec");
44
44
  var import_exec2 = require("./pnpm/exec");
45
45
  var import_exec3 = require("./yarnpkg/yarn/exec");
@@ -58,7 +58,7 @@ function execScript(scriptName, args, options) {
58
58
  ...resolvedOptions
59
59
  };
60
60
  if (spawnOptions.shell === true) {
61
- return (0, import_spawn.spawn)(scriptName, resolvedArgs, spawnOptions);
61
+ return (0, import_child.spawn)(scriptName, resolvedArgs, spawnOptions);
62
62
  }
63
63
  const useNodeRun = !prepost && (0, import_node.supportsNodeRun)();
64
64
  const cwd = (0, import_inspect.getOwn)(spawnOptions, "cwd") ?? import_node_process.default.cwd();
@@ -74,7 +74,7 @@ function execScript(scriptName, args, options) {
74
74
  if (yarnLockPath) {
75
75
  return (0, import_exec3.execYarn)(["run", scriptName, ...resolvedArgs], spawnOptions);
76
76
  }
77
- return (0, import_spawn.spawn)(
77
+ return (0, import_child.spawn)(
78
78
  (0, import_node.getExecPath)(),
79
79
  [
80
80
  ...(0, import_node.getNodeNoWarningsFlags)(),
@@ -8,7 +8,7 @@
8
8
  * override lands in the version's own eco/npm/yarn-{berry,zpm}/exec.ts file,
9
9
  * and yarn-classic stays here.
10
10
  */
11
- import type { SpawnOptions } from '../../../../spawn/types';
11
+ import type { SpawnOptions } from '../../../../process/spawn/types';
12
12
  /**
13
13
  * Execute yarn commands with optimized flags and settings.
14
14
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @file Private internals for `signal-exit/*` modules — the shared
2
+ * @file Private internals for `events/exit/*` modules — the shared
3
3
  * module-singleton state plus the lazy accessors that read and mutate it.
4
4
  * Owns the emitter, signal list, and `loaded` flag. `lifecycle`
5
5
  * (load/unload/getSignalListeners) and `intercept`
@@ -18,12 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var register_exports = {};
22
- __export(register_exports, {
21
+ var handler_exports = {};
22
+ __export(handler_exports, {
23
23
  onExit: () => onExit
24
24
  });
25
- module.exports = __toCommonJS(register_exports);
26
- var import_error = require("../primordials/error");
25
+ module.exports = __toCommonJS(handler_exports);
26
+ var import_error = require("../../primordials/error");
27
27
  var import_internal = require("./_internal");
28
28
  var import_lifecycle = require("./lifecycle");
29
29
  // @__NO_SIDE_EFFECTS__
@@ -24,8 +24,8 @@ __export(intercept_exports, {
24
24
  processReallyExit: () => processReallyExit
25
25
  });
26
26
  module.exports = __toCommonJS(intercept_exports);
27
- var import_error = require("../primordials/error");
28
- var import_reflect = require("../primordials/reflect");
27
+ var import_error = require("../../primordials/error");
28
+ var import_reflect = require("../../primordials/reflect");
29
29
  var import_internal = require("./_internal");
30
30
  // @__NO_SIDE_EFFECTS__
31
31
  function processEmit(eventName, exitCode, ...args) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @file Public type surface for `signal-exit/*` modules — the `OnExitOptions`
2
+ * @file Public type surface for `events/exit/*` modules — the `OnExitOptions`
3
3
  * consumed by `onExit`, plus the shared internal types for the signal
4
4
  * emitter, emitted-signal map, and listener map. Pure types, no runtime side
5
5
  * effects.
@@ -19,7 +19,7 @@
19
19
  * property directly to avoid depending on 'node:events' module.
20
20
  *
21
21
  * @example
22
- * import { setMaxEventTargetListeners } from '@socketsecurity/lib/warnings/event-target'
22
+ * import { setMaxEventTargetListeners } from '@socketsecurity/lib/events/warning/handler'
23
23
  *
24
24
  * const controller = new AbortController()
25
25
  * setMaxEventTargetListeners(controller.signal)
@@ -18,12 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var event_target_exports = {};
22
- __export(event_target_exports, {
21
+ var handler_exports = {};
22
+ __export(handler_exports, {
23
23
  setMaxEventTargetListeners: () => setMaxEventTargetListeners
24
24
  });
25
- module.exports = __toCommonJS(event_target_exports);
26
- var import_object = require("../primordials/object");
25
+ module.exports = __toCommonJS(handler_exports);
26
+ var import_object = require("../../primordials/object");
27
27
  function setMaxEventTargetListeners(target, maxListeners = 10) {
28
28
  if (!target) {
29
29
  return;
@@ -26,7 +26,7 @@ export declare function setupSuppression(): void;
26
26
  * so repeat invocations are cheap.
27
27
  *
28
28
  * @example
29
- * import { suppressMaxListenersWarning } from '@socketsecurity/lib/warnings/suppress'
29
+ * import { suppressMaxListenersWarning } from '@socketsecurity/lib/events/warning/suppress'
30
30
  *
31
31
  * suppressMaxListenersWarning()
32
32
  */
@@ -35,7 +35,7 @@ export declare function suppressMaxListenersWarning(): void;
35
35
  * Suppress all process warnings of a specific type.
36
36
  *
37
37
  * @example
38
- * import { suppressWarningType } from '@socketsecurity/lib/warnings/suppress'
38
+ * import { suppressWarningType } from '@socketsecurity/lib/events/warning/suppress'
39
39
  *
40
40
  * suppressWarningType('ExperimentalWarning')
41
41
  *
@@ -47,7 +47,7 @@ export declare function suppressWarningType(warningType: string): void;
47
47
  * Suppress warnings temporarily within a callback.
48
48
  *
49
49
  * @example
50
- * import { withSuppressedWarnings } from '@socketsecurity/lib/warnings/suppress'
50
+ * import { withSuppressedWarnings } from '@socketsecurity/lib/events/warning/suppress'
51
51
  *
52
52
  * const result = await withSuppressedWarnings(
53
53
  * 'ExperimentalWarning',
@@ -38,8 +38,8 @@ __export(suppress_exports, {
38
38
  });
39
39
  module.exports = __toCommonJS(suppress_exports);
40
40
  var import_node_process = __toESM(require("node:process"));
41
- var import_map_set = require("../primordials/map-set");
42
- var import_reflect = require("../primordials/reflect");
41
+ var import_map_set = require("../../primordials/map-set");
42
+ var import_reflect = require("../../primordials/reflect");
43
43
  let originalEmitWarning;
44
44
  const suppressedWarnings = new import_map_set.SetCtor();
45
45
  function restoreWarnings() {
@@ -14,6 +14,13 @@ export interface JanusAssetEntry {
14
14
  readonly asset: string;
15
15
  }
16
16
  export declare const JANUS_ASSET_MAP: Readonly<Record<string, JanusAssetEntry>>;
17
+ /**
18
+ * Single source of truth for the platform-arch tokens janus ships. Derived from
19
+ * JANUS_ASSET_MAP keys so adding a new asset entry automatically updates the
20
+ * supported set. Use this from `from-download.ts` to throw a helpful error
21
+ * rather than letting the URL builder silently return undefined.
22
+ */
23
+ export declare const JANUS_SUPPORTED_PLATFORM_ARCHES: readonly string[];
17
24
  export declare function getJanusAssetEntry(platformArch: string): JanusAssetEntry | undefined;
18
25
  export interface JanusDownloadOptions {
19
26
  /**
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var asset_names_exports = {};
22
22
  __export(asset_names_exports, {
23
23
  JANUS_ASSET_MAP: () => JANUS_ASSET_MAP,
24
+ JANUS_SUPPORTED_PLATFORM_ARCHES: () => JANUS_SUPPORTED_PLATFORM_ARCHES,
24
25
  getJanusAssetEntry: () => getJanusAssetEntry,
25
26
  getJanusDownloadUrl: () => getJanusDownloadUrl
26
27
  });
@@ -33,6 +34,9 @@ const JANUS_ASSET_MAP = (0, import_object.ObjectFreeze)({
33
34
  asset: "janus-aarch64-apple-darwin.tar.gz"
34
35
  })
35
36
  });
37
+ const JANUS_SUPPORTED_PLATFORM_ARCHES = (0, import_object.ObjectFreeze)(
38
+ Object.keys(JANUS_ASSET_MAP)
39
+ );
36
40
  function getJanusAssetEntry(platformArch) {
37
41
  return JANUS_ASSET_MAP[platformArch];
38
42
  }
@@ -47,6 +51,7 @@ function getJanusDownloadUrl(opts) {
47
51
  // Annotate the CommonJS export names for ESM import in node:
48
52
  0 && (module.exports = {
49
53
  JANUS_ASSET_MAP,
54
+ JANUS_SUPPORTED_PLATFORM_ARCHES,
50
55
  getJanusAssetEntry,
51
56
  getJanusDownloadUrl
52
57
  });
@@ -23,4 +23,4 @@ export interface JanusFromDownloadOptions {
23
23
  cacheDir?: string | undefined;
24
24
  downloader?: BinaryDownloader | undefined;
25
25
  }
26
- export declare function janusFromDownload(opts: JanusFromDownloadOptions): Promise<ResolvedJanus | undefined>;
26
+ export declare function janusFromDownload(opts: JanusFromDownloadOptions): Promise<ResolvedJanus>;
@@ -34,15 +34,24 @@ __export(from_download_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(from_download_exports);
36
36
  var import_node_path = __toESM(require("node:path"));
37
- var import_node_process = __toESM(require("node:process"));
38
37
  var import_socket = require("../../paths/socket");
39
38
  var import_from_download = require("../from-download");
40
39
  var import_asset_names = require("./asset-names");
41
40
  async function janusFromDownload(opts) {
42
41
  const { cacheDir, downloader, integrity, platformArch, version } = opts;
42
+ if (!import_asset_names.JANUS_SUPPORTED_PLATFORM_ARCHES.includes(platformArch)) {
43
+ const supported = import_asset_names.JANUS_SUPPORTED_PLATFORM_ARCHES.map((p) => `\`${p}\``).join(
44
+ ", "
45
+ );
46
+ throw new Error(
47
+ `janusFromDownload: platformArch must be one of [${supported}], got \`${platformArch}\`. Upstream janus only publishes the macOS arm64 build (see https://github.com/divmain/janus/releases); request \`darwin-arm64\` or use a different tool for other platforms.`
48
+ );
49
+ }
43
50
  const url = (0, import_asset_names.getJanusDownloadUrl)({ version, platformArch });
44
51
  if (!url) {
45
- return void 0;
52
+ throw new Error(
53
+ `janusFromDownload: no upstream asset for janus@${version} on \`${platformArch}\`. The platform is in the supported set but the version may be missing; check https://github.com/divmain/janus/releases/tag/v${version}.`
54
+ );
46
55
  }
47
56
  const extractedDir = cacheDir ?? import_node_path.default.join((0, import_socket.getSocketWheelhouseDir)(), "janus", version, platformArch);
48
57
  const archive = await (0, import_from_download.downloadAndExtractTool)({
@@ -52,9 +61,8 @@ async function janusFromDownload(opts) {
52
61
  extractedDir,
53
62
  downloader
54
63
  });
55
- const binary = import_node_process.default.platform === "win32" ? "janus.exe" : "janus";
56
64
  return {
57
- path: import_node_path.default.join(extractedDir, binary),
65
+ path: import_node_path.default.join(extractedDir, "janus"),
58
66
  source: "download",
59
67
  integrity: archive.integrity
60
68
  };