@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.
- package/CHANGELOG.md +71 -0
- package/README.md +26 -17
- package/dist/ai/discover.js +2 -2
- package/dist/ai/spawn.js +3 -3
- package/dist/ai/worktree.js +3 -3
- package/dist/argv/parse-args-string.d.ts +30 -0
- package/dist/argv/parse-args-string.js +42 -0
- package/dist/bin/check-primordials.js +15 -10
- package/dist/bin/check.js +2 -2
- package/dist/bin/exec.d.ts +1 -1
- package/dist/bin/exec.js +2 -2
- package/dist/bin/socket-lib.js +2 -2
- package/dist/{ttl-cache/cache.js → cache/ttl/store.js} +15 -15
- package/dist/{ttl-cache → cache/ttl}/types.d.ts +1 -1
- package/dist/checks/primordials-defaults.d.ts +20 -0
- package/dist/checks/primordials-defaults.js +92 -0
- package/dist/colors/socket-palette.d.ts +69 -0
- package/dist/colors/socket-palette.js +91 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +2 -2
- package/dist/cover/type.js +2 -2
- package/dist/debug/_internal.d.ts +1 -1
- package/dist/debug/_internal.js +2 -2
- package/dist/debug/output.js +5 -5
- package/dist/dlx/binary-types.d.ts +2 -2
- package/dist/dlx/binary.d.ts +2 -2
- package/dist/dlx/binary.js +3 -3
- package/dist/dlx/manifest.js +2 -2
- package/dist/dlx/package.d.ts +2 -2
- package/dist/dlx/package.js +2 -2
- package/dist/dlx/types.d.ts +2 -2
- package/dist/eco/npm/npm/exec.d.ts +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/script.d.ts +1 -1
- package/dist/eco/npm/script.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +1 -1
- package/dist/{signal-exit → events/exit}/_internal.d.ts +1 -1
- package/dist/{signal-exit/register.js → events/exit/handler.js} +4 -4
- package/dist/{signal-exit → events/exit}/intercept.js +2 -2
- package/dist/{signal-exit → events/exit}/types.d.ts +1 -1
- package/dist/{warnings/event-target.d.ts → events/warning/handler.d.ts} +1 -1
- package/dist/{warnings/event-target.js → events/warning/handler.js} +4 -4
- package/dist/{warnings → events/warning}/suppress.d.ts +3 -3
- package/dist/{warnings → events/warning}/suppress.js +2 -2
- package/dist/external-tools/janus/asset-names.d.ts +7 -0
- package/dist/external-tools/janus/asset-names.js +5 -0
- package/dist/external-tools/janus/from-download.d.ts +1 -1
- package/dist/external-tools/janus/from-download.js +12 -4
- package/dist/fs/read-json-cache.d.ts +83 -0
- package/dist/fs/read-json-cache.js +156 -0
- package/dist/fs/read-json.d.ts +6 -1
- package/dist/fs/read-json.js +80 -8
- package/dist/fs/types.d.ts +14 -0
- package/dist/git/_internal.js +3 -3
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +2 -2
- package/dist/github/token.d.ts +1 -1
- package/dist/github/token.js +2 -2
- package/dist/globs/{glob.js → match.js} +3 -3
- package/dist/http-request/browser-fetch.d.ts +10 -0
- package/dist/http-request/browser-fetch.js +32 -0
- package/dist/http-request/browser.d.ts +190 -0
- package/dist/http-request/browser.js +224 -0
- package/dist/http-request/download-types.d.ts +2 -2
- package/dist/http-request/request-attempt.js +4 -0
- package/dist/http-request/request-types.d.ts +15 -0
- package/dist/http-request/request.js +5 -0
- package/dist/links/{link.d.ts → create.d.ts} +2 -2
- package/dist/links/{link.js → create.js} +3 -3
- package/dist/logger/_internal.d.ts +1 -1
- package/dist/logger/browser.d.ts +16 -0
- package/dist/logger/browser.js +65 -0
- package/dist/logger/console.js +3 -3
- package/dist/logger/{logger.js → default.js} +3 -3
- package/dist/logger/symbols-builder.d.ts +1 -1
- package/dist/logger/types.d.ts +1 -1
- package/dist/packages/isolation.js +3 -3
- package/dist/packages/types.d.ts +2 -0
- package/dist/primordials/globals.d.ts +6 -3
- package/dist/primordials/globals.js +15 -9
- package/dist/primordials/url.d.ts +1 -1
- package/dist/process/lock-manager.js +4 -4
- package/dist/{spawn → process/spawn}/_internal.js +3 -3
- package/dist/{spawn/spawn.js → process/spawn/child.js} +13 -13
- package/dist/{spawn → process/spawn}/errors.js +5 -5
- package/dist/{spawn → process/spawn}/stdio.js +1 -1
- package/dist/{spawn → process/spawn}/types.d.ts +3 -3
- package/dist/promises/types.d.ts +15 -2
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-downloads.js +4 -4
- package/dist/spinner/{registry.d.ts → default.d.ts} +1 -1
- package/dist/spinner/{registry.js → default.js} +3 -3
- package/dist/spinner/spinner.js +4 -4
- package/dist/spinner/with.d.ts +1 -1
- package/dist/stdio/divider.js +2 -2
- package/dist/stdio/footer.js +2 -2
- package/dist/stdio/header.js +2 -2
- package/dist/stdio/prompts.js +2 -2
- package/package.json +328 -98
- package/dist/promise-queue/types.d.ts +0 -10
- package/dist/ttl-cache/types.js +0 -18
- /package/dist/{ttl-cache/cache.d.ts → cache/ttl/store.d.ts} +0 -0
- /package/dist/{promise-queue → cache/ttl}/types.js +0 -0
- /package/dist/{signal-exit → events/exit}/_internal.js +0 -0
- /package/dist/{signal-exit/register.d.ts → events/exit/handler.d.ts} +0 -0
- /package/dist/{signal-exit → events/exit}/intercept.d.ts +0 -0
- /package/dist/{signal-exit → events/exit}/lifecycle.d.ts +0 -0
- /package/dist/{signal-exit → events/exit}/lifecycle.js +0 -0
- /package/dist/{signal-exit → events/exit}/signals.d.ts +0 -0
- /package/dist/{signal-exit → events/exit}/signals.js +0 -0
- /package/dist/{signal-exit → events/exit}/types.js +0 -0
- /package/dist/globs/{glob.d.ts → match.d.ts} +0 -0
- /package/dist/logger/{logger.d.ts → default.d.ts} +0 -0
- /package/dist/{spawn → process/spawn}/_internal.d.ts +0 -0
- /package/dist/{spawn/spawn.d.ts → process/spawn/child.d.ts} +0 -0
- /package/dist/{spawn → process/spawn}/errors.d.ts +0 -0
- /package/dist/{spawn → process/spawn}/stdio.d.ts +0 -0
- /package/dist/{spawn → process/spawn}/types.js +0 -0
- /package/dist/{promise-queue → promises}/queue.d.ts +0 -0
- /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
|
+
});
|
package/dist/constants/socket.js
CHANGED
|
@@ -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.
|
|
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";
|
package/dist/cover/code.js
CHANGED
|
@@ -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
|
|
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,
|
|
69
|
+
await (0, import_child.spawn)("vitest", ["run", "--coverage"], {
|
|
70
70
|
cwd: import_node_process.default.cwd(),
|
|
71
71
|
stdio: "inherit"
|
|
72
72
|
});
|
package/dist/cover/type.js
CHANGED
|
@@ -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
|
|
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,
|
|
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/
|
|
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
|
/**
|
package/dist/debug/_internal.js
CHANGED
|
@@ -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
|
|
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,
|
|
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__
|
package/dist/debug/output.js
CHANGED
|
@@ -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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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/
|
|
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.
|
package/dist/dlx/binary.d.ts
CHANGED
|
@@ -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/
|
|
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
|
*
|
package/dist/dlx/binary.js
CHANGED
|
@@ -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
|
|
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,
|
|
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,
|
|
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 = {
|
package/dist/dlx/manifest.js
CHANGED
|
@@ -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
|
|
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,
|
|
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";
|
package/dist/dlx/package.d.ts
CHANGED
|
@@ -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/
|
|
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
|
*
|
package/dist/dlx/package.js
CHANGED
|
@@ -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
|
|
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,
|
|
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 = {
|
package/dist/dlx/types.d.ts
CHANGED
|
@@ -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/
|
|
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;
|
package/dist/eco/npm/npm/exec.js
CHANGED
|
@@ -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
|
|
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,
|
|
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
|
}
|
package/dist/eco/npm/script.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/eco/npm/script.js
CHANGED
|
@@ -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
|
|
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,
|
|
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,
|
|
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 `
|
|
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
|
|
22
|
-
__export(
|
|
21
|
+
var handler_exports = {};
|
|
22
|
+
__export(handler_exports, {
|
|
23
23
|
onExit: () => onExit
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
26
|
-
var import_error = require("
|
|
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("
|
|
28
|
-
var import_reflect = require("
|
|
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 `
|
|
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/
|
|
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
|
|
22
|
-
__export(
|
|
21
|
+
var handler_exports = {};
|
|
22
|
+
__export(handler_exports, {
|
|
23
23
|
setMaxEventTargetListeners: () => setMaxEventTargetListeners
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
26
|
-
var import_object = require("
|
|
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/
|
|
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/
|
|
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/
|
|
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("
|
|
42
|
-
var import_reflect = require("
|
|
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
|
|
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
|
-
|
|
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,
|
|
65
|
+
path: import_node_path.default.join(extractedDir, "janus"),
|
|
58
66
|
source: "download",
|
|
59
67
|
integrity: archive.integrity
|
|
60
68
|
};
|