just-bash 2.13.0 → 2.14.0
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/README.md +302 -314
- package/dist/AGENTS.md +2 -0
- package/dist/bin/chunks/{chunk-N6KA6G3Q.js → chunk-3KAVXQP4.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-OQV5J23L.js → chunks/chunk-7G3MC56B.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-YX7OOTPO.js → chunks/chunk-AZ3RUDR2.js} +1 -1
- package/dist/bin/chunks/{chunk-UPUMZYZE.js → chunk-CM4532DS.js} +18 -18
- package/dist/bin/{shell/chunks/chunk-R2LDP472.js → chunks/chunk-EPPBDXOG.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-LGF54XJQ.js → chunks/chunk-L2JBII6Z.js} +1 -1
- package/dist/bin/chunks/chunk-LIYVQA3X.js +2 -0
- package/dist/bin/{shell/chunks/chunk-SYL34GE7.js → chunks/chunk-NAX7MTAR.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-EZS766DD.js → chunks/chunk-NLBRLRWD.js} +1 -1
- package/dist/bin/chunks/chunk-RLNOQILG.js +2 -0
- package/dist/bin/chunks/{chunk-VVFGRIJZ.js → chunk-RMQC3GS7.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-GR23MPTT.js → chunks/chunk-VHUYNUT7.js} +1 -1
- package/dist/bin/chunks/{chunk-3YMCKZTY.js → chunk-WXMBDX4P.js} +1 -1
- package/dist/bin/chunks/curl-SRTMGOVV.js +26 -0
- package/dist/bin/chunks/expr-4CJYC4LY.js +2 -0
- package/dist/bin/{shell/chunks/flag-coverage-IRM4GISL.js → chunks/flag-coverage-LBMWMYOO.js} +1 -1
- package/dist/bin/{shell/chunks/jq-V7FYGIKO.js → chunks/jq-FIV5Q5T4.js} +1 -1
- package/dist/bin/{shell/chunks/js-exec-VYG74FQ3.js → chunks/js-exec-BDQGEAU6.js} +8 -8
- package/dist/bin/chunks/js-exec-worker.js +1 -0
- package/dist/bin/{shell/chunks/ln-VAOSD4HK.js → chunks/ln-EGC4HRXZ.js} +1 -1
- package/dist/bin/chunks/{mkdir-CH7JGW4N.js → mkdir-Z47OISSR.js} +1 -1
- package/dist/bin/chunks/python3-VCIXXAXF.js +12 -0
- package/dist/bin/chunks/{rm-GWYJO4W7.js → rm-L3NZOLLG.js} +1 -1
- package/dist/bin/chunks/{sed-3C6IBX5L.js → sed-HALRQZKY.js} +1 -1
- package/dist/bin/chunks/{sqlite3-TZEE4O7U.js → sqlite3-CVNFMP3Z.js} +1 -1
- package/dist/bin/chunks/time-5R4QWCYF.js +2 -0
- package/dist/bin/{shell/chunks/tr-LZF57GYP.js → chunks/tr-4FPGAEVB.js} +1 -1
- package/dist/bin/chunks/worker.js +20 -7
- package/dist/bin/chunks/{yq-JJLSDDST.js → yq-Q47JUWL6.js} +1 -1
- package/dist/bin/just-bash.js +178 -178
- package/dist/bin/shell/chunks/{chunk-N6KA6G3Q.js → chunk-3KAVXQP4.js} +1 -1
- package/dist/bin/{chunks/chunk-OQV5J23L.js → shell/chunks/chunk-7G3MC56B.js} +1 -1
- package/dist/bin/{chunks/chunk-YX7OOTPO.js → shell/chunks/chunk-AZ3RUDR2.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-UPUMZYZE.js → chunk-CM4532DS.js} +18 -18
- package/dist/bin/{chunks/chunk-R2LDP472.js → shell/chunks/chunk-EPPBDXOG.js} +1 -1
- package/dist/bin/{chunks/chunk-LGF54XJQ.js → shell/chunks/chunk-L2JBII6Z.js} +1 -1
- package/dist/bin/shell/chunks/chunk-LIYVQA3X.js +2 -0
- package/dist/bin/{chunks/chunk-SYL34GE7.js → shell/chunks/chunk-NAX7MTAR.js} +1 -1
- package/dist/bin/{chunks/chunk-EZS766DD.js → shell/chunks/chunk-NLBRLRWD.js} +1 -1
- package/dist/bin/shell/chunks/chunk-RLNOQILG.js +2 -0
- package/dist/bin/shell/chunks/{chunk-VVFGRIJZ.js → chunk-RMQC3GS7.js} +1 -1
- package/dist/bin/{chunks/chunk-GR23MPTT.js → shell/chunks/chunk-VHUYNUT7.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-3YMCKZTY.js → chunk-WXMBDX4P.js} +1 -1
- package/dist/bin/shell/chunks/curl-SRTMGOVV.js +26 -0
- package/dist/bin/shell/chunks/expr-4CJYC4LY.js +2 -0
- package/dist/bin/{chunks/flag-coverage-IRM4GISL.js → shell/chunks/flag-coverage-LBMWMYOO.js} +1 -1
- package/dist/bin/{chunks/jq-V7FYGIKO.js → shell/chunks/jq-FIV5Q5T4.js} +1 -1
- package/dist/bin/{chunks/js-exec-YGYYZEEQ.js → shell/chunks/js-exec-HPXZV7UJ.js} +8 -8
- package/dist/bin/{chunks/ln-VAOSD4HK.js → shell/chunks/ln-EGC4HRXZ.js} +1 -1
- package/dist/bin/shell/chunks/{mkdir-CH7JGW4N.js → mkdir-Z47OISSR.js} +1 -1
- package/dist/bin/shell/chunks/python3-KFZH67GD.js +12 -0
- package/dist/bin/shell/chunks/{rm-GWYJO4W7.js → rm-L3NZOLLG.js} +1 -1
- package/dist/bin/shell/chunks/{sed-3C6IBX5L.js → sed-HALRQZKY.js} +1 -1
- package/dist/bin/shell/chunks/{sqlite3-TZEE4O7U.js → sqlite3-CVNFMP3Z.js} +1 -1
- package/dist/bin/shell/chunks/time-5R4QWCYF.js +2 -0
- package/dist/bin/{chunks/tr-LZF57GYP.js → shell/chunks/tr-4FPGAEVB.js} +1 -1
- package/dist/bin/shell/chunks/{yq-JJLSDDST.js → yq-Q47JUWL6.js} +1 -1
- package/dist/bin/shell/shell.js +180 -180
- package/dist/bundle/browser.js +485 -485
- package/dist/bundle/chunks/chunk-3THT3N7L.js +1 -0
- package/dist/bundle/chunks/{chunk-XXZ46GOX.js → chunk-62RKD26F.js} +1 -1
- package/dist/bundle/chunks/chunk-CWQS3NFK.js +1 -0
- package/dist/bundle/chunks/{chunk-IUWCBQII.js → chunk-HWBSOZZR.js} +18 -18
- package/dist/bundle/chunks/{chunk-64CW2LGZ.js → chunk-MDDMCKUK.js} +1 -1
- package/dist/bundle/chunks/{chunk-IP7G3BNA.js → chunk-MIZPJHVH.js} +1 -1
- package/dist/bundle/chunks/{chunk-V3IEYMEA.js → chunk-OL3S66CO.js} +1 -1
- package/dist/bundle/chunks/{chunk-FGALERPA.js → chunk-PBXLG62G.js} +1 -1
- package/dist/bundle/chunks/{chunk-MJWMXCEJ.js → chunk-S4EYC6T6.js} +1 -1
- package/dist/bundle/chunks/{chunk-O2DBFL6Z.js → chunk-XORM457F.js} +1 -1
- package/dist/bundle/chunks/{chunk-RUF7WQ7U.js → chunk-YCFVLTST.js} +1 -1
- package/dist/bundle/chunks/{chunk-RVT3MU3A.js → chunk-YFG2CMIF.js} +1 -1
- package/dist/bundle/chunks/{chunk-JCMONG3T.js → chunk-Z6LRHWXI.js} +1 -1
- package/dist/bundle/chunks/curl-COE4TZE6.js +25 -0
- package/dist/bundle/chunks/expr-5T3UU5KE.js +1 -0
- package/dist/bundle/chunks/{flag-coverage-SPT2DN2I.js → flag-coverage-LMTH7T5F.js} +1 -1
- package/dist/bundle/chunks/{jq-DIRZBOTX.js → jq-ODXZBPLY.js} +1 -1
- package/dist/bundle/chunks/{js-exec-R2LSP7M4.js → js-exec-4CW5N6RM.js} +8 -8
- package/dist/bundle/chunks/js-exec-worker.js +1 -0
- package/dist/bundle/chunks/{ln-UJ6YJVBK.js → ln-4TRFBYAT.js} +1 -1
- package/dist/bundle/chunks/{mkdir-F6XHPXZC.js → mkdir-TDEMSB6C.js} +1 -1
- package/dist/bundle/chunks/python3-SG3DOKBZ.js +11 -0
- package/dist/bundle/chunks/{rm-FYNVTQIU.js → rm-RTZG23RL.js} +1 -1
- package/dist/bundle/chunks/{sed-DISNI47D.js → sed-VFTTATXJ.js} +1 -1
- package/dist/bundle/chunks/{sqlite3-7F22DOIP.js → sqlite3-56UMWEY3.js} +1 -1
- package/dist/bundle/chunks/time-DEUO3QV2.js +1 -0
- package/dist/bundle/chunks/{tr-GVTWMRZB.js → tr-2HXZRDSW.js} +1 -1
- package/dist/bundle/chunks/worker.js +20 -7
- package/dist/bundle/chunks/{yq-XMVSIL6Z.js → yq-MJMAR36V.js} +1 -1
- package/dist/bundle/index.cjs +771 -771
- package/dist/bundle/index.js +185 -185
- package/dist/commands/curl/types.d.ts +1 -1
- package/dist/fs/sanitize-error.d.ts +9 -6
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/network/allow-list.d.ts +8 -5
- package/dist/network/fetch.d.ts +1 -1
- package/dist/network/index.d.ts +1 -1
- package/dist/network/types.d.ts +35 -1
- package/package.json +2 -2
- package/dist/bin/chunks/chunk-QZNF3Y3J.js +0 -2
- package/dist/bin/chunks/chunk-SYG3IW7P.js +0 -2
- package/dist/bin/chunks/curl-B64SIJOD.js +0 -26
- package/dist/bin/chunks/expr-VEFRBJT4.js +0 -2
- package/dist/bin/chunks/python3-EIXZW3LO.js +0 -12
- package/dist/bin/chunks/time-VSKBXRQH.js +0 -2
- package/dist/bin/shell/chunks/chunk-QZNF3Y3J.js +0 -2
- package/dist/bin/shell/chunks/chunk-SYG3IW7P.js +0 -2
- package/dist/bin/shell/chunks/curl-B64SIJOD.js +0 -26
- package/dist/bin/shell/chunks/expr-VEFRBJT4.js +0 -2
- package/dist/bin/shell/chunks/python3-WO3WFGMS.js +0 -12
- package/dist/bin/shell/chunks/time-VSKBXRQH.js +0 -2
- package/dist/bundle/chunks/chunk-CCNMISUL.js +0 -1
- package/dist/bundle/chunks/chunk-RH6GWZAJ.js +0 -1
- package/dist/bundle/chunks/curl-FCIO57JJ.js +0 -25
- package/dist/bundle/chunks/expr-74QHYJL5.js +0 -1
- package/dist/bundle/chunks/python3-DH2SBOI3.js +0 -11
- package/dist/bundle/chunks/time-FABCOJJU.js +0 -1
|
@@ -11,17 +11,29 @@ import { dirname } from "node:path";
|
|
|
11
11
|
import { parentPort, workerData } from "node:worker_threads";
|
|
12
12
|
|
|
13
13
|
// src/fs/sanitize-error.ts
|
|
14
|
-
function
|
|
14
|
+
function sanitizeWithUnixPrefixes(message, includeHostRuntimePrefixes, includeFileUrls) {
|
|
15
15
|
if (!message) return message;
|
|
16
16
|
let sanitized = message.replace(/\n\s+at\s.*/g, "");
|
|
17
|
+
if (includeFileUrls) {
|
|
18
|
+
sanitized = sanitized.replace(/\bfile:\/\/\/?[^\s'",)}\]:]+/g, "<path>");
|
|
19
|
+
}
|
|
17
20
|
sanitized = sanitized.replace(
|
|
18
|
-
/(?:\/(?:Users|home|private|var|opt|Library|System|usr|etc|tmp|nix|snap))\b[^\s'",)}\]:]*/g,
|
|
21
|
+
includeHostRuntimePrefixes ? /(?:\/(?:Users|home|private|var|opt|Library|System|usr|etc|tmp|nix|snap|workspace|root|srv|mnt|app))\b[^\s'",)}\]:]*/g : /(?:\/(?:Users|home|private|var|opt|Library|System|usr|etc|tmp|nix|snap))\b[^\s'",)}\]:]*/g,
|
|
19
22
|
"<path>"
|
|
20
23
|
);
|
|
21
24
|
sanitized = sanitized.replace(/node:internal\/[^\s'",)}\]:]+/g, "<internal>");
|
|
22
25
|
sanitized = sanitized.replace(/[A-Z]:\\[^\s'",)}\]:]+/g, "<path>");
|
|
26
|
+
if (includeFileUrls) {
|
|
27
|
+
sanitized = sanitized.replace(/\\\\[^\s\\]+\\[^\s'",)}\]:]+/g, "<path>");
|
|
28
|
+
}
|
|
23
29
|
return sanitized;
|
|
24
30
|
}
|
|
31
|
+
function sanitizeErrorMessage(message) {
|
|
32
|
+
return sanitizeWithUnixPrefixes(message, false, false);
|
|
33
|
+
}
|
|
34
|
+
function sanitizeHostErrorMessage(message) {
|
|
35
|
+
return sanitizeWithUnixPrefixes(message, true, true);
|
|
36
|
+
}
|
|
25
37
|
|
|
26
38
|
// src/security/blocked-globals.ts
|
|
27
39
|
function getBlockedGlobals() {
|
|
@@ -1530,6 +1542,7 @@ function wrapWasmCallback(component, phase, callback) {
|
|
|
1530
1542
|
var _SharedArrayBuffer = globalThis.SharedArrayBuffer;
|
|
1531
1543
|
var _Atomics = globalThis.Atomics;
|
|
1532
1544
|
var _performanceNow = performance.now.bind(performance);
|
|
1545
|
+
var _Headers = globalThis.Headers;
|
|
1533
1546
|
|
|
1534
1547
|
// src/commands/worker-bridge/protocol.ts
|
|
1535
1548
|
var OpCode = {
|
|
@@ -2759,7 +2772,7 @@ function createHTTPFS(backend, FS) {
|
|
|
2759
2772
|
});
|
|
2760
2773
|
lastResponse = encoder.encode(JSON.stringify(result));
|
|
2761
2774
|
} catch (e) {
|
|
2762
|
-
const message =
|
|
2775
|
+
const message = sanitizeHostErrorMessage(e.message);
|
|
2763
2776
|
lastResponse = encoder.encode(JSON.stringify({ error: message }));
|
|
2764
2777
|
}
|
|
2765
2778
|
}
|
|
@@ -2972,7 +2985,7 @@ async function runPython(input) {
|
|
|
2972
2985
|
printErr: onPrintErr
|
|
2973
2986
|
});
|
|
2974
2987
|
} catch (e) {
|
|
2975
|
-
const message =
|
|
2988
|
+
const message = sanitizeHostErrorMessage(e.message);
|
|
2976
2989
|
return {
|
|
2977
2990
|
success: false,
|
|
2978
2991
|
error: `Failed to load CPython: ${message}`
|
|
@@ -2987,7 +3000,7 @@ async function runPython(input) {
|
|
|
2987
3000
|
Module.FS.mkdir("/host");
|
|
2988
3001
|
Module.FS.mount(HOSTFS, { root: "/" }, "/host");
|
|
2989
3002
|
} catch (e) {
|
|
2990
|
-
const message =
|
|
3003
|
+
const message = sanitizeHostErrorMessage(e.message);
|
|
2991
3004
|
return {
|
|
2992
3005
|
success: false,
|
|
2993
3006
|
error: `Failed to mount HOSTFS: ${message}`
|
|
@@ -2998,7 +3011,7 @@ async function runPython(input) {
|
|
|
2998
3011
|
Module.FS.mkdir("/_jb_http");
|
|
2999
3012
|
Module.FS.mount(HTTPFS, { root: "/" }, "/_jb_http");
|
|
3000
3013
|
} catch (e) {
|
|
3001
|
-
const message =
|
|
3014
|
+
const message = sanitizeHostErrorMessage(e.message);
|
|
3002
3015
|
return {
|
|
3003
3016
|
success: false,
|
|
3004
3017
|
error: `Failed to mount HTTPFS: ${message}`
|
|
@@ -3078,7 +3091,7 @@ process.on("uncaughtException", (e) => {
|
|
|
3078
3091
|
if (!activeProtocolToken) {
|
|
3079
3092
|
return;
|
|
3080
3093
|
}
|
|
3081
|
-
const message =
|
|
3094
|
+
const message = sanitizeHostErrorMessage(e.message);
|
|
3082
3095
|
postWorkerMessage(activeProtocolToken, {
|
|
3083
3096
|
success: false,
|
|
3084
3097
|
error: `Worker uncaught exception: ${message}`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a,b}from"./chunk-
|
|
2
|
+
import{a,b}from"./chunk-L2JBII6Z.js";import"./chunk-QSDVMMYI.js";import"./chunk-ZO5PSLKR.js";import"./chunk-V7ZOPVQS.js";import"./chunk-4PRVMER6.js";import"./chunk-MO4RPBN2.js";import"./chunk-YU6OGPZR.js";import"./chunk-SE4C7FJY.js";import"./chunk-6KZRLMG3.js";import"./chunk-RLNOQILG.js";import"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";export{b as flagsForFuzzing,a as yqCommand};
|