just-bash 2.14.4 → 2.14.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/bin/chunks/{awk2-RSUCURL4.js → awk2-E4ZIJMAJ.js} +1 -1
- package/dist/bin/chunks/chunk-24DJ4XAS.js +18 -0
- package/dist/bin/chunks/{chunk-BGGF3ELU.js → chunk-B5DAHNDY.js} +1 -1
- package/dist/bin/chunks/{chunk-ZUDPEMHG.js → chunk-BSEJNQWT.js} +1 -1
- package/dist/bin/chunks/{chunk-JDNI5HBX.js → chunk-C6FRS5UB.js} +3 -3
- package/dist/bin/chunks/{chunk-EONWONZV.js → chunk-DH7TPGPX.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-AX6NCIX6.js → chunks/chunk-HGVUOC6C.js} +1 -1
- package/dist/bin/chunks/{chunk-WUYP7DID.js → chunk-NAOEMXWM.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-PNI5NMXP.js → chunks/chunk-O6W3JFVY.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-OXHVTSNH.js → chunks/chunk-P43NQKUN.js} +1 -1
- package/dist/bin/chunks/chunk-S7RKNZUQ.js +287 -0
- package/dist/bin/{shell/chunks/chunk-RA3TG4UK.js → chunks/chunk-SA4CENEN.js} +7 -7
- package/dist/bin/{shell/chunks/chunk-ARI4VLCN.js → chunks/chunk-SDOJRQF5.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-S3QAKT3R.js → chunks/chunk-VECTAALH.js} +1 -1
- package/dist/bin/chunks/chunk-W47FXOOV.js +14 -0
- package/dist/bin/chunks/{chunk-EWDHVLQL.js → chunk-ZHOMXJBD.js} +1 -1
- package/dist/bin/{shell/chunks/expansion-QUT3FT7V.js → chunks/expansion-H3VFC532.js} +1 -1
- package/dist/bin/{shell/chunks/expr-G4EF4POQ.js → chunks/expr-VPJ77DR7.js} +1 -1
- package/dist/bin/chunks/find-O2KKT6KZ.js +2 -0
- package/dist/bin/{shell/chunks/flag-coverage-IK7WVGOO.js → chunks/flag-coverage-4SWQHVCF.js} +1 -1
- package/dist/bin/{shell/chunks/grep-7BJ7HFBM.js → chunks/grep-XUPY5Q52.js} +1 -1
- package/dist/bin/{shell/chunks/jq-DVZM2CEN.js → chunks/jq-A2KWQWN4.js} +1 -1
- package/dist/bin/chunks/rg-G2G2ZO5L.js +2 -0
- package/dist/bin/chunks/{sed-WWXBUNG3.js → sed-BM4W22OD.js} +1 -1
- package/dist/bin/chunks/tar-6PJ22BMV.js +2 -0
- package/dist/bin/chunks/{xan-MM3YYGD7.js → xan-D2GMWBRV.js} +1 -1
- package/dist/bin/chunks/{yq-CWUVVSHY.js → yq-EAXN747B.js} +1 -1
- package/dist/bin/just-bash.js +2 -2
- package/dist/bin/shell/chunks/{awk2-RSUCURL4.js → awk2-E4ZIJMAJ.js} +1 -1
- package/dist/bin/shell/chunks/chunk-24DJ4XAS.js +18 -0
- package/dist/bin/shell/chunks/{chunk-BGGF3ELU.js → chunk-B5DAHNDY.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-ZUDPEMHG.js → chunk-BSEJNQWT.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-JDNI5HBX.js → chunk-C6FRS5UB.js} +3 -3
- package/dist/bin/shell/chunks/{chunk-EONWONZV.js → chunk-DH7TPGPX.js} +1 -1
- package/dist/bin/{chunks/chunk-AX6NCIX6.js → shell/chunks/chunk-HGVUOC6C.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-WUYP7DID.js → chunk-NAOEMXWM.js} +1 -1
- package/dist/bin/{chunks/chunk-PNI5NMXP.js → shell/chunks/chunk-O6W3JFVY.js} +1 -1
- package/dist/bin/{chunks/chunk-OXHVTSNH.js → shell/chunks/chunk-P43NQKUN.js} +1 -1
- package/dist/bin/shell/chunks/chunk-S7RKNZUQ.js +287 -0
- package/dist/bin/{chunks/chunk-RA3TG4UK.js → shell/chunks/chunk-SA4CENEN.js} +7 -7
- package/dist/bin/{chunks/chunk-ARI4VLCN.js → shell/chunks/chunk-SDOJRQF5.js} +1 -1
- package/dist/bin/{chunks/chunk-S3QAKT3R.js → shell/chunks/chunk-VECTAALH.js} +1 -1
- package/dist/bin/shell/chunks/chunk-W47FXOOV.js +14 -0
- package/dist/bin/shell/chunks/{chunk-EWDHVLQL.js → chunk-ZHOMXJBD.js} +1 -1
- package/dist/bin/{chunks/expansion-QUT3FT7V.js → shell/chunks/expansion-H3VFC532.js} +1 -1
- package/dist/bin/{chunks/expr-G4EF4POQ.js → shell/chunks/expr-VPJ77DR7.js} +1 -1
- package/dist/bin/shell/chunks/find-O2KKT6KZ.js +2 -0
- package/dist/bin/{chunks/flag-coverage-IK7WVGOO.js → shell/chunks/flag-coverage-4SWQHVCF.js} +1 -1
- package/dist/bin/{chunks/grep-7BJ7HFBM.js → shell/chunks/grep-XUPY5Q52.js} +1 -1
- package/dist/bin/{chunks/jq-DVZM2CEN.js → shell/chunks/jq-A2KWQWN4.js} +1 -1
- package/dist/bin/shell/chunks/rg-G2G2ZO5L.js +2 -0
- package/dist/bin/shell/chunks/{sed-WWXBUNG3.js → sed-BM4W22OD.js} +1 -1
- package/dist/bin/shell/chunks/tar-6PJ22BMV.js +2 -0
- package/dist/bin/shell/chunks/{xan-MM3YYGD7.js → xan-D2GMWBRV.js} +1 -1
- package/dist/bin/shell/chunks/{yq-CWUVVSHY.js → yq-EAXN747B.js} +1 -1
- package/dist/bin/shell/shell.js +2 -2
- package/dist/bundle/browser.js +606 -604
- package/dist/bundle/chunks/{awk2-JFGEGLFP.js → awk2-BBAGSFUB.js} +1 -1
- package/dist/bundle/chunks/chunk-2TRDZQLB.js +17 -0
- package/dist/bundle/chunks/{chunk-5KI4QWT5.js → chunk-3BS5SKQH.js} +1 -1
- package/dist/bundle/chunks/{chunk-B53Y5JFV.js → chunk-3H6UQG3A.js} +7 -7
- package/dist/bundle/chunks/chunk-6Z5SFZXK.js +286 -0
- package/dist/bundle/chunks/{chunk-YSHZL3MF.js → chunk-B74TABJS.js} +3 -3
- package/dist/bundle/chunks/{chunk-43RSSTFA.js → chunk-BGSUD5R5.js} +1 -1
- package/dist/bundle/chunks/{chunk-XIZSGUXJ.js → chunk-HKLCLINH.js} +1 -1
- package/dist/bundle/chunks/{chunk-GJTDUJ5Q.js → chunk-K6LIBGJA.js} +1 -1
- package/dist/bundle/chunks/{chunk-NRZWEENR.js → chunk-KRBPSX3W.js} +1 -1
- package/dist/bundle/chunks/{chunk-BAQA74XA.js → chunk-SNN4IESC.js} +1 -1
- package/dist/bundle/chunks/{chunk-D6EWIDSU.js → chunk-TP4BZANS.js} +1 -1
- package/dist/bundle/chunks/{chunk-5PYKJV42.js → chunk-V5MWI2OL.js} +1 -1
- package/dist/bundle/chunks/{chunk-MIMEPCXY.js → chunk-YMMW5UAP.js} +1 -1
- package/dist/bundle/chunks/chunk-YULBWSET.js +13 -0
- package/dist/bundle/chunks/{chunk-VBEY5J6R.js → chunk-ZZO3UDB3.js} +1 -1
- package/dist/bundle/chunks/{expansion-UGGADTZC.js → expansion-VBDYWVZR.js} +1 -1
- package/dist/bundle/chunks/{expr-DNFUYZGY.js → expr-YYCVMXE3.js} +1 -1
- package/dist/bundle/chunks/find-DH2ALKQS.js +1 -0
- package/dist/bundle/chunks/{flag-coverage-QFOIESUP.js → flag-coverage-6JEX67RU.js} +1 -1
- package/dist/bundle/chunks/{grep-2UMHPO7Y.js → grep-2HUTXO5U.js} +1 -1
- package/dist/bundle/chunks/{jq-LCDWFF5Y.js → jq-LYZFFBZB.js} +1 -1
- package/dist/bundle/chunks/rg-XNF3R3II.js +1 -0
- package/dist/bundle/chunks/{sed-OFX3F4FE.js → sed-JAPPVBEU.js} +1 -1
- package/dist/bundle/chunks/tar-MZQD7NO4.js +1 -0
- package/dist/bundle/chunks/{xan-X2BIJPJV.js → xan-UD7JYIL2.js} +1 -1
- package/dist/bundle/chunks/{yq-M7NFNNED.js → yq-OAKYHSXH.js} +1 -1
- package/dist/bundle/index.cjs +845 -843
- package/dist/bundle/index.js +2 -2
- package/dist/commands/search-engine/matcher.d.ts +6 -0
- package/dist/commands/search-engine/regex.d.ts +13 -0
- package/package.json +2 -2
- package/dist/bin/chunks/chunk-2HVFB2TU.js +0 -287
- package/dist/bin/chunks/chunk-DU4S5MUI.js +0 -13
- package/dist/bin/chunks/chunk-TTNNO45C.js +0 -17
- package/dist/bin/chunks/find-7CVMEZBO.js +0 -2
- package/dist/bin/chunks/rg-LA2FQFMS.js +0 -2
- package/dist/bin/chunks/tar-GTGFEWDS.js +0 -2
- package/dist/bin/shell/chunks/chunk-2HVFB2TU.js +0 -287
- package/dist/bin/shell/chunks/chunk-DU4S5MUI.js +0 -13
- package/dist/bin/shell/chunks/chunk-TTNNO45C.js +0 -17
- package/dist/bin/shell/chunks/find-7CVMEZBO.js +0 -2
- package/dist/bin/shell/chunks/rg-LA2FQFMS.js +0 -2
- package/dist/bin/shell/chunks/tar-GTGFEWDS.js +0 -2
- package/dist/bundle/chunks/chunk-75FNCC7W.js +0 -286
- package/dist/bundle/chunks/chunk-PYDZ2LCK.js +0 -16
- package/dist/bundle/chunks/chunk-RQ254MFG.js +0 -12
- package/dist/bundle/chunks/find-KNMMLVJD.js +0 -1
- package/dist/bundle/chunks/rg-RYV2N6B5.js +0 -1
- package/dist/bundle/chunks/tar-LYLTEJV3.js +0 -1
package/dist/bundle/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as Jr,C as en,D as fe,E as Xe,F as se,G as Pe,H as Ht,I as tn,J as L,K as sn,L as rn,M as Ce,N as Fs,O as Zt,P as H,a as Hr,b as xs,c as Zr,d as jt,e as ee,f as B,g as ue,h as ne,i as _e,j as je,k as Ds,l as Ut,m as qr,n as Ts,o as Gr,p as be,q as Ie,r as Kr,s as Xr,t as Rs,u as Is,v as Ue,w as Yr,x as Qr,y as Se,z as Ls}from"./chunks/chunk-43RSSTFA.js";import{a as O,b as R,c as nt,d as Be,e as Ke,f as it,g as Re,h as Wt,i as zt,j as Vt,k as Ur,l as Bt}from"./chunks/chunk-KX3P26DQ.js";import{a as Te,b as rt,c as ve}from"./chunks/chunk-R6VWJ2ZL.js";import{c as Os}from"./chunks/chunk-CWQS3NFK.js";import{a as Tt,b as Rt}from"./chunks/chunk-A5O5YHGN.js";import{a as Ns}from"./chunks/chunk-IPJHKYVM.js";import{a as Ve,b as we,c as St}from"./chunks/chunk-OJDRYQWQ.js";import{a as $t,b as jr}from"./chunks/chunk-24IMIIXA.js";import{a as Me,b as pe}from"./chunks/chunk-5QMZ5MUS.js";import{a as Et}from"./chunks/chunk-YSHZL3MF.js";import{a as me,b as ye,c as ce,d as ge,e as Vr,f as j,g as Ge,h as It,i as Lt,j as Br,k as J,l as Ft,m as We,n as Mt,o as $e}from"./chunks/chunk-GFQRA5P5.js";import"./chunks/chunk-NUFRM6SI.js";import{a as ze}from"./chunks/chunk-3THT3N7L.js";import{a as De}from"./chunks/chunk-44UOCSGV.js";import{a as Cs}from"./chunks/chunk-DXB73IDG.js";var Ye=[{name:"echo",load:async()=>(await import("./chunks/echo-O45JWWI2.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-RDUMLXKC.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-CX64KX2P.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-KSXFZCWH.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-TDEMSB6C.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-XTQXT7RK.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DX2IJOQ4.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-RTZG23RL.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XOYR4ABJ.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-Z6MORUFL.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-4TRFBYAT.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-SYMGL4JA.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-D4OZ7N27.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-MI4GCHJF.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-HT2B6D2J.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-S5ULNTJU.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-TQB3VNOX.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-BT5A227F.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-2UMHPO7Y.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-2UMHPO7Y.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-2UMHPO7Y.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-RYV2N6B5.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-OFX3F4FE.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-JFGEGLFP.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-DCNRDA7U.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-SUNANL47.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-5SLSESQG.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-OPC3VAGB.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7N6AFSDS.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-2HXZRDSW.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-XOSYPP45.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-U5YJDM32.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-LDSORVYE.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-DTNXU4LQ.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-RGTMIGZM.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-7PLOGTPD.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-SITCSYCZ.js")).split},{name:"column",load:async()=>(await import("./chunks/column-WLPMMSTS.js")).column},{name:"join",load:async()=>(await import("./chunks/join-GG2LDHE5.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-O7VXZDCO.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-KNMMLVJD.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-AA2KJYZQ.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-LEMTZZFS.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-LYXBS7DC.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-WO2ENHXQ.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-5EPCWSXR.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-5EPCWSXR.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-JE7RI5QX.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-JE7RI5QX.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-J4QRNGRO.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-I6EZUCYF.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-WHJNXCHG.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-WHJNXCHG.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-5CZ5X4YR.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-IJWYRKFO.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-IJWYRKFO.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-LCDWFF5Y.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-4YMZCVJ5.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-HJF2MPDN.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-DD7FVA2V.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-VZFPZFWA.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-VRKMCG72.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-DEUO3QV2.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-RN5ZUASB.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-DNFUYZGY.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-INMIK4DX.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-VJPNLNU6.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-PI32XWXY.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-IGDTDPLG.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-TFCECAGV.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-VVWX7SA5.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-XZHEH76L.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-SJGXQ4T2.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-BK6HG2DE.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-DGKU3D2X.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-VJEF2UR5.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-AQXSGOVS.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-AQXSGOVS.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-AQXSGOVS.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Ye.push({name:"tar",load:async()=>(await import("./chunks/tar-LYLTEJV3.js")).tarCommand}),Ye.push({name:"yq",load:async()=>(await import("./chunks/yq-M7NFNNED.js")).yqCommand}),Ye.push({name:"xan",load:async()=>(await import("./chunks/xan-X2BIJPJV.js")).xanCommand}),Ye.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-TE5AIOTF.js")).sqlite3Command}));var qt=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(qt.push({name:"python3",load:async()=>(await import("./chunks/python3-DNGS4G3E.js")).python3Command}),qt.push({name:"python",load:async()=>(await import("./chunks/python3-DNGS4G3E.js")).pythonCommand}));var Gt=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Gt.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-VXN6TZ7U.js")).jsExecCommand}),Gt.push({name:"node",load:async()=>(await import("./chunks/js-exec-VXN6TZ7U.js")).nodeStubCommand}));var on=[{name:"curl",load:async()=>(await import("./chunks/curl-47BFPSFW.js")).curlCommand}],nn=new Map;function Kt(e){return{name:e.name,async execute(t,s){let r=nn.get(e.name);if(r||(r=await pe.runTrustedAsync(()=>e.load()),nn.set(e.name,r)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:n}=await import("./chunks/flag-coverage-QFOIESUP.js");n(s.coverage,e.name,t)}return r.execute(t,s)}}}function Qi(){return Ye.map(e=>e.name)}function Ji(){return on.map(e=>e.name)}function an(e){return(e?Ye.filter(s=>e.includes(s.name)):Ye).map(Kt)}function ln(){return on.map(Kt)}function eo(){return qt.map(e=>e.name)}function cn(){return qt.map(Kt)}function to(){return Gt.map(e=>e.name)}function un(){return Gt.map(Kt)}function fn(e){return"load"in e&&typeof e.load=="function"}function so(e,t){return{name:e,trusted:!0,execute:t}}function dn(e){let t=null;return{name:e.name,trusted:!0,async execute(s,r){return t||(t=await e.load()),t.execute(s,r)}}}var ot=new TextEncoder;function ro(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var Le=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,r]of Object.entries(t))typeof r=="function"?this.writeFileLazy(s,r):ro(r)?this.writeFileSync(s,r.content,void 0,{mode:r.mode,mtime:r.mtime}):this.writeFileSync(s,r)}ensureParentDirs(t){let s=nt(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,r,n){R(t,"write");let i=O(t);this.ensureParentDirs(i);let o=ve(r),a=Te(s,o);this.data.set(i,{type:"file",content:a,mode:n?.mode??420,mtime:n?.mtime??new Date})}writeFileLazy(t,s,r){R(t,"write");let n=O(t);this.ensureParentDirs(n),this.data.set(n,{type:"file",lazy:s,mode:r?.mode??420,mtime:r?.mtime??new Date})}async materializeLazy(t,s){let r=await s.lazy(),i={type:"file",content:typeof r=="string"?ot.encode(r):r,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let r=await this.readFileBuffer(t),n=ve(s);return rt(r,n)}async readFileBuffer(t){R(t,"open");let s=this.resolvePathWithSymlinks(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(r.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in r){let n=await this.materializeLazy(s,r);return n.content instanceof Uint8Array?n.content:ot.encode(n.content)}return r.content instanceof Uint8Array?r.content:ot.encode(r.content)}async writeFile(t,s,r){this.writeFileSync(t,s,r)}async appendFile(t,s,r){R(t,"append");let n=O(t),i=this.data.get(n);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let o=ve(r),a=Te(s,o);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(n,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:ot.encode("content"in l?l.content:""),u=new Uint8Array(c.length+a.length);u.set(c),u.set(a,c.length),this.data.set(n,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,r)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){R(t,"stat");let s=this.resolvePathWithSymlinks(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);r.type==="file"&&"lazy"in r&&(r=await this.materializeLazy(s,r));let n=0;return r.type==="file"&&"content"in r&&r.content&&(r.content instanceof Uint8Array?n=r.content.length:n=ot.encode(r.content).length),{isFile:r.type==="file",isDirectory:r.type==="directory",isSymbolicLink:!1,mode:r.mode,size:n,mtime:r.mtime||new Date}}async lstat(t){R(t,"lstat");let s=this.resolveIntermediateSymlinks(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(r.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:r.mode,size:r.target.length,mtime:r.mtime||new Date};r.type==="file"&&"lazy"in r&&(r=await this.materializeLazy(s,r));let n=0;return r.type==="file"&&"content"in r&&r.content&&(r.content instanceof Uint8Array?n=r.content.length:n=ot.encode(r.content).length),{isFile:r.type==="file",isDirectory:r.type==="directory",isSymbolicLink:!1,mode:r.mode,size:n,mtime:r.mtime||new Date}}resolveIntermediateSymlinks(t){let s=O(t);if(s==="/")return"/";let r=s.slice(1).split("/");if(r.length<=1)return s;let n="",i=new Set;for(let o=0;o<r.length-1;o++){let a=r[o];n=`${n}/${a}`;let l=this.data.get(n),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(n))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(n),n=it(n,l.target),l=this.data.get(n),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${n}/${r[r.length-1]}`}resolvePathWithSymlinks(t){let s=O(t);if(s==="/")return"/";let r=s.slice(1).split("/"),n="",i=new Set;for(let o of r){n=`${n}/${o}`;let a=this.data.get(n),l=0,c=40;for(;a&&a.type==="symlink"&&l<c;){if(i.has(n))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(n),n=it(n,a.target),a=this.data.get(n),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return n}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){R(t,"mkdir");let r=O(t);if(this.data.has(r)){if(this.data.get(r)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let n=nt(r);if(n!=="/"&&!this.data.has(n))if(s?.recursive)this.mkdirSync(n,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(r,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(r=>r.name)}async readdirWithFileTypes(t){R(t,"scandir");let s=O(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let n=new Set;for(;r&&r.type==="symlink";){if(n.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);n.add(s),s=it(s,r.target),r=this.data.get(s)}if(!r)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(r.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,o=new Map;for(let[a,l]of this.data.entries())if(a!==s&&a.startsWith(i)){let c=a.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!o.has(u)&&o.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(o.values()).sort((a,l)=>a.name<l.name?-1:a.name>l.name?1:0)}async rm(t,s){R(t,"rm");let r=O(t),n=this.data.get(r);if(!n){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(n.type==="directory"){let i=await this.readdir(r);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of i){let a=Ke(r,o);await this.rm(a,s)}}}this.data.delete(r)}async cp(t,s,r){R(t,"cp"),R(s,"cp");let n=O(t),i=O(s),o=this.data.get(n);if(!o)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(o.type==="file")if(this.ensureParentDirs(i),"content"in o){let a=o.content instanceof Uint8Array?new Uint8Array(o.content):o.content;this.data.set(i,{...o,content:a})}else this.data.set(i,{...o});else if(o.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...o});else if(o.type==="directory"){if(!r?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let a=await this.readdir(n);for(let l of a){let c=Ke(n,l),u=Ke(i,l);await this.cp(c,u,r)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Be(t,s)}async chmod(t,s){R(t,"chmod");let r=O(t),n=this.data.get(r);if(!n)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);n.mode=s}async symlink(t,s){R(s,"symlink");let r=O(s);if(this.data.has(r))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(r),this.data.set(r,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){R(t,"link"),R(s,"link");let r=O(t),n=O(s),i=this.data.get(r);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(n))throw new Error(`EEXIST: file already exists, link '${s}'`);let o=i;"lazy"in o&&(o=await this.materializeLazy(r,o)),this.ensureParentDirs(n),this.data.set(n,{type:"file",content:o.content,mode:o.mode,mtime:o.mtime})}async readlink(t){R(t,"readlink");let s=O(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(r.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return r.target}async realpath(t){R(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,r){R(t,"utimes");let n=O(t),i=this.resolvePathWithSymlinks(n),o=this.data.get(i);if(!o)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);o.mtime=r}};function no(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function io(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function oo(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function ao(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Hr}
|
|
1
|
+
import{B as Jr,C as en,D as fe,E as Xe,F as se,G as Pe,H as Ht,I as tn,J as L,K as sn,L as rn,M as Ce,N as Fs,O as Zt,P as H,a as Hr,b as xs,c as Zr,d as jt,e as ee,f as B,g as ue,h as ne,i as _e,j as je,k as Ds,l as Ut,m as qr,n as Ts,o as Gr,p as be,q as Ie,r as Kr,s as Xr,t as Rs,u as Is,v as Ue,w as Yr,x as Qr,y as Se,z as Ls}from"./chunks/chunk-BGSUD5R5.js";import{a as O,b as R,c as nt,d as Be,e as Ke,f as it,g as Re,h as Wt,i as zt,j as Vt,k as Ur,l as Bt}from"./chunks/chunk-KX3P26DQ.js";import{a as Te,b as rt,c as ve}from"./chunks/chunk-R6VWJ2ZL.js";import{c as Os}from"./chunks/chunk-CWQS3NFK.js";import{a as Tt,b as Rt}from"./chunks/chunk-A5O5YHGN.js";import{a as Ns}from"./chunks/chunk-IPJHKYVM.js";import{a as Ve,b as we,c as St}from"./chunks/chunk-OJDRYQWQ.js";import{a as $t,b as jr}from"./chunks/chunk-24IMIIXA.js";import{a as Me,b as pe}from"./chunks/chunk-5QMZ5MUS.js";import{a as Et}from"./chunks/chunk-B74TABJS.js";import{a as me,b as ye,c as ce,d as ge,e as Vr,f as j,g as Ge,h as It,i as Lt,j as Br,k as J,l as Ft,m as We,n as Mt,o as $e}from"./chunks/chunk-GFQRA5P5.js";import"./chunks/chunk-NUFRM6SI.js";import{a as ze}from"./chunks/chunk-3THT3N7L.js";import{a as De}from"./chunks/chunk-44UOCSGV.js";import{a as Cs}from"./chunks/chunk-DXB73IDG.js";var Ye=[{name:"echo",load:async()=>(await import("./chunks/echo-O45JWWI2.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-RDUMLXKC.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-CX64KX2P.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-KSXFZCWH.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-TDEMSB6C.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-XTQXT7RK.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DX2IJOQ4.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-RTZG23RL.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XOYR4ABJ.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-Z6MORUFL.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-4TRFBYAT.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-SYMGL4JA.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-D4OZ7N27.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-MI4GCHJF.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-HT2B6D2J.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-S5ULNTJU.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-TQB3VNOX.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-BT5A227F.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-2HUTXO5U.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-2HUTXO5U.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-2HUTXO5U.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-XNF3R3II.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-JAPPVBEU.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-BBAGSFUB.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-DCNRDA7U.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-SUNANL47.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-5SLSESQG.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-OPC3VAGB.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7N6AFSDS.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-2HXZRDSW.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-XOSYPP45.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-U5YJDM32.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-LDSORVYE.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-DTNXU4LQ.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-RGTMIGZM.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-7PLOGTPD.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-SITCSYCZ.js")).split},{name:"column",load:async()=>(await import("./chunks/column-WLPMMSTS.js")).column},{name:"join",load:async()=>(await import("./chunks/join-GG2LDHE5.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-O7VXZDCO.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-DH2ALKQS.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-AA2KJYZQ.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-LEMTZZFS.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-LYXBS7DC.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-WO2ENHXQ.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-5EPCWSXR.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-5EPCWSXR.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-JE7RI5QX.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-JE7RI5QX.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-J4QRNGRO.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-I6EZUCYF.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-WHJNXCHG.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-WHJNXCHG.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-5CZ5X4YR.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-IJWYRKFO.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-IJWYRKFO.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-LYZFFBZB.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-4YMZCVJ5.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-HJF2MPDN.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-DD7FVA2V.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-VZFPZFWA.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-VRKMCG72.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-DEUO3QV2.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-RN5ZUASB.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-YYCVMXE3.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-INMIK4DX.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-VJPNLNU6.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-PI32XWXY.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-IGDTDPLG.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-TFCECAGV.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-VVWX7SA5.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-XZHEH76L.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-SJGXQ4T2.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-BK6HG2DE.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-DGKU3D2X.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-VJEF2UR5.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-AQXSGOVS.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-AQXSGOVS.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-AQXSGOVS.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Ye.push({name:"tar",load:async()=>(await import("./chunks/tar-MZQD7NO4.js")).tarCommand}),Ye.push({name:"yq",load:async()=>(await import("./chunks/yq-OAKYHSXH.js")).yqCommand}),Ye.push({name:"xan",load:async()=>(await import("./chunks/xan-UD7JYIL2.js")).xanCommand}),Ye.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-TE5AIOTF.js")).sqlite3Command}));var qt=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(qt.push({name:"python3",load:async()=>(await import("./chunks/python3-DNGS4G3E.js")).python3Command}),qt.push({name:"python",load:async()=>(await import("./chunks/python3-DNGS4G3E.js")).pythonCommand}));var Gt=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Gt.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-VXN6TZ7U.js")).jsExecCommand}),Gt.push({name:"node",load:async()=>(await import("./chunks/js-exec-VXN6TZ7U.js")).nodeStubCommand}));var on=[{name:"curl",load:async()=>(await import("./chunks/curl-47BFPSFW.js")).curlCommand}],nn=new Map;function Kt(e){return{name:e.name,async execute(t,s){let r=nn.get(e.name);if(r||(r=await pe.runTrustedAsync(()=>e.load()),nn.set(e.name,r)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:n}=await import("./chunks/flag-coverage-6JEX67RU.js");n(s.coverage,e.name,t)}return r.execute(t,s)}}}function Qi(){return Ye.map(e=>e.name)}function Ji(){return on.map(e=>e.name)}function an(e){return(e?Ye.filter(s=>e.includes(s.name)):Ye).map(Kt)}function ln(){return on.map(Kt)}function eo(){return qt.map(e=>e.name)}function cn(){return qt.map(Kt)}function to(){return Gt.map(e=>e.name)}function un(){return Gt.map(Kt)}function fn(e){return"load"in e&&typeof e.load=="function"}function so(e,t){return{name:e,trusted:!0,execute:t}}function dn(e){let t=null;return{name:e.name,trusted:!0,async execute(s,r){return t||(t=await e.load()),t.execute(s,r)}}}var ot=new TextEncoder;function ro(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var Le=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,r]of Object.entries(t))typeof r=="function"?this.writeFileLazy(s,r):ro(r)?this.writeFileSync(s,r.content,void 0,{mode:r.mode,mtime:r.mtime}):this.writeFileSync(s,r)}ensureParentDirs(t){let s=nt(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,r,n){R(t,"write");let i=O(t);this.ensureParentDirs(i);let o=ve(r),a=Te(s,o);this.data.set(i,{type:"file",content:a,mode:n?.mode??420,mtime:n?.mtime??new Date})}writeFileLazy(t,s,r){R(t,"write");let n=O(t);this.ensureParentDirs(n),this.data.set(n,{type:"file",lazy:s,mode:r?.mode??420,mtime:r?.mtime??new Date})}async materializeLazy(t,s){let r=await s.lazy(),i={type:"file",content:typeof r=="string"?ot.encode(r):r,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let r=await this.readFileBuffer(t),n=ve(s);return rt(r,n)}async readFileBuffer(t){R(t,"open");let s=this.resolvePathWithSymlinks(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(r.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in r){let n=await this.materializeLazy(s,r);return n.content instanceof Uint8Array?n.content:ot.encode(n.content)}return r.content instanceof Uint8Array?r.content:ot.encode(r.content)}async writeFile(t,s,r){this.writeFileSync(t,s,r)}async appendFile(t,s,r){R(t,"append");let n=O(t),i=this.data.get(n);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let o=ve(r),a=Te(s,o);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(n,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:ot.encode("content"in l?l.content:""),u=new Uint8Array(c.length+a.length);u.set(c),u.set(a,c.length),this.data.set(n,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,r)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){R(t,"stat");let s=this.resolvePathWithSymlinks(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);r.type==="file"&&"lazy"in r&&(r=await this.materializeLazy(s,r));let n=0;return r.type==="file"&&"content"in r&&r.content&&(r.content instanceof Uint8Array?n=r.content.length:n=ot.encode(r.content).length),{isFile:r.type==="file",isDirectory:r.type==="directory",isSymbolicLink:!1,mode:r.mode,size:n,mtime:r.mtime||new Date}}async lstat(t){R(t,"lstat");let s=this.resolveIntermediateSymlinks(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(r.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:r.mode,size:r.target.length,mtime:r.mtime||new Date};r.type==="file"&&"lazy"in r&&(r=await this.materializeLazy(s,r));let n=0;return r.type==="file"&&"content"in r&&r.content&&(r.content instanceof Uint8Array?n=r.content.length:n=ot.encode(r.content).length),{isFile:r.type==="file",isDirectory:r.type==="directory",isSymbolicLink:!1,mode:r.mode,size:n,mtime:r.mtime||new Date}}resolveIntermediateSymlinks(t){let s=O(t);if(s==="/")return"/";let r=s.slice(1).split("/");if(r.length<=1)return s;let n="",i=new Set;for(let o=0;o<r.length-1;o++){let a=r[o];n=`${n}/${a}`;let l=this.data.get(n),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(n))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(n),n=it(n,l.target),l=this.data.get(n),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${n}/${r[r.length-1]}`}resolvePathWithSymlinks(t){let s=O(t);if(s==="/")return"/";let r=s.slice(1).split("/"),n="",i=new Set;for(let o of r){n=`${n}/${o}`;let a=this.data.get(n),l=0,c=40;for(;a&&a.type==="symlink"&&l<c;){if(i.has(n))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(n),n=it(n,a.target),a=this.data.get(n),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return n}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){R(t,"mkdir");let r=O(t);if(this.data.has(r)){if(this.data.get(r)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let n=nt(r);if(n!=="/"&&!this.data.has(n))if(s?.recursive)this.mkdirSync(n,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(r,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(r=>r.name)}async readdirWithFileTypes(t){R(t,"scandir");let s=O(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let n=new Set;for(;r&&r.type==="symlink";){if(n.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);n.add(s),s=it(s,r.target),r=this.data.get(s)}if(!r)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(r.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,o=new Map;for(let[a,l]of this.data.entries())if(a!==s&&a.startsWith(i)){let c=a.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!o.has(u)&&o.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(o.values()).sort((a,l)=>a.name<l.name?-1:a.name>l.name?1:0)}async rm(t,s){R(t,"rm");let r=O(t),n=this.data.get(r);if(!n){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(n.type==="directory"){let i=await this.readdir(r);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of i){let a=Ke(r,o);await this.rm(a,s)}}}this.data.delete(r)}async cp(t,s,r){R(t,"cp"),R(s,"cp");let n=O(t),i=O(s),o=this.data.get(n);if(!o)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(o.type==="file")if(this.ensureParentDirs(i),"content"in o){let a=o.content instanceof Uint8Array?new Uint8Array(o.content):o.content;this.data.set(i,{...o,content:a})}else this.data.set(i,{...o});else if(o.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...o});else if(o.type==="directory"){if(!r?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let a=await this.readdir(n);for(let l of a){let c=Ke(n,l),u=Ke(i,l);await this.cp(c,u,r)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Be(t,s)}async chmod(t,s){R(t,"chmod");let r=O(t),n=this.data.get(r);if(!n)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);n.mode=s}async symlink(t,s){R(s,"symlink");let r=O(s);if(this.data.has(r))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(r),this.data.set(r,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){R(t,"link"),R(s,"link");let r=O(t),n=O(s),i=this.data.get(r);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(n))throw new Error(`EEXIST: file already exists, link '${s}'`);let o=i;"lazy"in o&&(o=await this.materializeLazy(r,o)),this.ensureParentDirs(n),this.data.set(n,{type:"file",content:o.content,mode:o.mode,mtime:o.mtime})}async readlink(t){R(t,"readlink");let s=O(t),r=this.data.get(s);if(!r)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(r.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return r.target}async realpath(t){R(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,r){R(t,"utimes");let n=O(t),i=this.resolvePathWithSymlinks(n),o=this.data.get(i);if(!o)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);o.mtime=r}};function no(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function io(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function oo(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function ao(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Hr}
|
|
2
2
|
`),e.writeFileSync("/proc/self/exe","/bin/bash"),e.writeFileSync("/proc/self/cmdline","bash\0"),e.writeFileSync("/proc/self/comm",`bash
|
|
3
3
|
`),e.writeFileLazy?e.writeFileLazy("/proc/self/status",()=>xs(t)):e.writeFileSync("/proc/self/status",xs(t)),e.writeFileSync("/proc/self/fd/0","/dev/stdin"),e.writeFileSync("/proc/self/fd/1","/dev/stdout"),e.writeFileSync("/proc/self/fd/2","/dev/stderr")}function hn(e,t,s={pid:1,ppid:0,uid:1e3,gid:1e3}){no(e)&&(io(e,t),oo(e),ao(e,s))}var lo=["allexport","errexit","noglob","noclobber","noexec","nounset","pipefail","posix","verbose","xtrace"],co=["braceexpand","hashall","interactive-comments"];function Ws(e){let t=[],s=[...co.map(r=>({name:r,enabled:!0})),...lo.map(r=>({name:r,enabled:e[r]}))].sort((r,n)=>r.name.localeCompare(n.name));for(let r of s)r.enabled&&t.push(r.name);return t.join(":")}function lt(e){e.state.env.set("SHELLOPTS",Ws(e.state.options))}var uo=["dotglob","expand_aliases","extglob","failglob","globskipdots","globstar","lastpipe","nocaseglob","nocasematch","nullglob","xpg_echo"];function zs(e){let t=[];for(let s of uo)e[s]&&t.push(s);return t.join(":")}function Vs(e){e.state.env.set("BASHOPTS",zs(e.state.shoptOptions))}var fo="BASH_ALIAS_";function pn(e){return e.parts.length!==1?!1:e.parts[0].type==="Literal"}function mn(e){if(e.parts.length!==1)return null;let t=e.parts[0];return t.type==="Literal"?t.value:null}function yn(e,t){return e.env.get(`${fo}${t}`)}function Bs(e,t,s){if(!t.name||!pn(t.name))return t;let r=mn(t.name);if(!r)return t;let n=yn(e,r);if(!n||s.has(r))return t;try{s.add(r);let i=new B,o=n,a=n.endsWith(" ");if(!a)for(let f of t.args){let d=wn(f);o+=` ${d}`}let l;try{l=i.parse(o)}catch(f){if(f instanceof jt)throw f;return t}if(l.statements.length!==1||l.statements[0].pipelines.length!==1||l.statements[0].pipelines[0].commands.length!==1)return gn(t,n);let c=l.statements[0].pipelines[0].commands[0];if(c.type!=="SimpleCommand")return gn(t,n);let u={...c,assignments:[...t.assignments,...c.assignments],redirections:[...c.redirections,...t.redirections],line:t.line};if(a&&t.args.length>0&&(u={...u,args:[...u.args,...t.args]},u.args.length>0)){let f=u.args[0];if(pn(f)){let d=mn(f);if(d&&yn(e,d)){let p={type:"SimpleCommand",name:f,args:u.args.slice(1),assignments:[],redirections:[]},m=Bs(e,p,s);m!==p&&(u={...u,name:m.name,args:[...m.args]})}}}return u}catch(i){throw s.delete(r),i}}function gn(e,t){let s=t;for(let o of e.args){let a=wn(o);s+=` ${a}`}let r=new B,n=r.parseWordFromString("eval",!1,!1),i=r.parseWordFromString(`'${s.replace(/'/g,"'\\''")}'`,!1,!1);return{type:"SimpleCommand",name:n,args:[i],assignments:e.assignments,redirections:e.redirections,line:e.line}}function wn(e){let t="";for(let s of e.parts)switch(s.type){case"Literal":t+=s.value.replace(/([\s"'$`\\*?[\]{}()<>|&;#!])/g,"\\$1");break;case"SingleQuoted":t+=`'${s.value}'`;break;case"DoubleQuoted":t+=`"${s.parts.map(r=>r.type==="Literal"?r.value:`$${r.type}`).join("")}"`;break;case"ParameterExpansion":t+=`\${${s.parameter}}`;break;case"CommandSubstitution":t+="$(...)";break;case"ArithmeticExpansion":t+=`$((${s.expression}))`;break;case"Glob":t+=s.pattern;break;default:break}return t}async function vn(e,t){let s=t.parts.map(u=>u.type==="Literal"?u.value:"\0").join(""),r=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);if(!r||!s.endsWith(")"))return null;let n=r[1],i=[],o=!1,a="",l=!1;for(let u of t.parts)if(u.type==="Literal"){let f=u.value;if(!o){let d=f.indexOf("=(");d!==-1&&(o=!0,f=f.slice(d+2))}if(o){f.endsWith(")")&&(f=f.slice(0,-1));let d=f.split(/(\s+)/);for(let p of d)/^\s+$/.test(p)?(a||l)&&(i.push(a),a="",l=!1):p&&(a+=p)}}else if(o)if(u.type==="BraceExpansion")if(/^\[.+\]=/.test(a))a+=Ut({type:"Word",parts:[u]});else{(a||l)&&(i.push(a),a="",l=!1);let d=await Ce(e,{type:"Word",parts:[u]});i.push(...d.values)}else{(u.type==="SingleQuoted"||u.type==="DoubleQuoted"||u.type==="Escaped")&&(l=!0);let f=await L(e,{type:"Word",parts:[u]});a+=f}(a||l)&&i.push(a);let c=i.map(u=>/^\[.+\]=/.test(u)?u:u===""?"''":/[\s"'\\$`!*?[\]{}|&;<>()]/.test(u)&&!u.startsWith("'")&&!u.startsWith('"')?`'${u.replace(/'/g,"'\\''")}'`:u);return`${n}=(${c.join(" ")})`}async function bn(e,t){let s=-1,r=-1,n=!1;for(let h=0;h<t.parts.length;h++){let y=t.parts[h];if(y.type==="Literal"){let b=y.value.indexOf("+=");if(b!==-1){let P=y.value.slice(0,b);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(P)){s=h,r=b,n=!0;break}if(/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(P)){s=h,r=b,n=!0;break}}let v=y.value.indexOf("=");if(v!==-1&&(v===0||y.value[v-1]!=="+")){let P=y.value.slice(0,v);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(P)||/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(P)){s=h,r=v;break}}}}if(s===-1)return null;let i=t.parts.slice(0,s),o=t.parts[s];if(o.type!=="Literal")return null;let a=n?2:1,l=o.value.slice(0,r),c=o.value.slice(r+a),u=t.parts.slice(s+1),f="";for(let h of i)f+=await L(e,{type:"Word",parts:[h]});f+=l;let d={type:"Word",parts:c!==""?[{type:"Literal",value:c},...u]:u},p=d.parts.length>0?await L(e,d):"";return`${f}${n?"+=":"="}${p}`}var ho=["tar","yq","xan","sqlite3","python3","python"];function En(e){return ho.includes(e)}var W=Object.freeze({stdout:"",stderr:"",exitCode:0});function z(e=""){return{stdout:e,stderr:"",exitCode:0}}function A(e,t=1){return{stdout:"",stderr:e,exitCode:t}}function _(e,t,s){return{stdout:e,stderr:t,exitCode:s}}function Q(e){return{stdout:"",stderr:"",exitCode:e?0:1}}function Ne(e,t,s="",r=""){throw new J(e,t,s,r)}function le(e){let t=e.state.fileDescriptors;if(t&&t.size>=e.limits.maxFileDescriptors)throw new J(`too many open file descriptors (max ${e.limits.maxFileDescriptors})`,"file_descriptors")}function js(e,t){if(e.state.loopDepth===0){if(e.state.parentHasLoopContext)throw new We;return W}if(t.length>1)throw new j(1,"",`bash: break: too many arguments
|
|
4
4
|
`);let s=1;if(t.length>0){let r=Number.parseInt(t[0],10);if(Number.isNaN(r)||r<1)throw new j(128,"",`bash: break: ${t[0]}: numeric argument required
|
|
@@ -651,7 +651,7 @@ sys 0m0.000s
|
|
|
651
651
|
`,1)}}if(n=Math.max(...i.map(([a])=>typeof a=="number"?a:0))+1+n,n<0){let a=e.state.currentLine;return{index:0,error:_("",`bash: line ${a}: ${t}[${s}]: bad array subscript
|
|
652
652
|
`,1)}}}return{index:n}}async function Sa(e,t,s,r,n,i){let o="",a=s,l=null;if(be(e,s)){let f=Qr(e,s,r);if(f===void 0)return{continueToNext:!1,xtraceOutput:"",error:_("",`bash: ${s}: circular name reference
|
|
653
653
|
`,1)};if(f===null)return{continueToNext:!0,xtraceOutput:""};a=f;let d=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);d&&(l={arrayName:d[1],subscriptExpr:d[2]},a=d[1])}if(Xe(e,a)){if(t.name)return o+=`bash: ${a}: readonly variable
|
|
654
|
-
`,{continueToNext:!0,xtraceOutput:o};let f=se(e,a);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if(kt(e,a))try{let f=new B;if(n){let p=`(${e.state.env.get(a)||"0"}) + (${r})`,m=ee(f,p);c=String(await H(e,m.expression))}else{let d=ee(f,r);c=String(await H(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-
|
|
654
|
+
`,{continueToNext:!0,xtraceOutput:o};let f=se(e,a);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if(kt(e,a))try{let f=new B;if(n){let p=`(${e.state.env.get(a)||"0"}) + (${r})`,m=ee(f,p);c=String(await H(e,m.expression))}else{let d=ee(f,r);c=String(await H(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-VBDYWVZR.js"),d=f(e,a)?`${a}_0`:a;c=n?(e.state.env.get(d)||"")+r:r}c=ht(e,a,c),o+=await Ai(e,a,c);let u=a;if(l)u=await Pa(e,l);else{let{isArray:f}=await import("./chunks/expansion-VBDYWVZR.js");f(e,a)&&(u=`${a}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(a)),e.state.tempEnvBindings?.some(f=>f.has(a))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(a))),{continueToNext:!1,xtraceOutput:o}}async function Pa(e,t){let{arrayName:s,subscriptExpr:r}=t;if(e.state.associativeArrays?.has(s))return Ci(e,s,r);let i;if(/^-?\d+$/.test(r))i=Number.parseInt(r,10);else{try{let o=new B,a=ee(o,r);i=await H(e,a.expression,!1)}catch{let o=e.state.env.get(r);i=o?Number.parseInt(o,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let o=Se(e,s);o.length>0&&(i=Math.max(...o.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function Ni(e,t,s,r){let n=await xe(e,t.redirections);if(n)return n;let i=new Map(e.state.env),o=e.state.cwd,a={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,x]of u.entries())e.state.localVarStack.set(E,x.map(N=>({...N})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let p=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=p>0,e.state.loopDepth=0;let h=e.state.lastArg,y=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let b=e.state.groupStdin;s&&(e.state.groupStdin=s);let v="",P="",g=0,w=()=>{e.state.env=i,e.state.cwd=o,e.state.options=a,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=p,e.state.parentHasLoopContext=m,e.state.groupStdin=b,e.state.bashPid=y,e.state.lastArg=h};try{for(let E of t.body){let x=await r(E);v+=x.stdout,P+=x.stderr,g=x.exitCode}}catch(E){if(w(),E instanceof J)throw E;if(E instanceof We){v+=E.stdout,P+=E.stderr;let N=_(v,P,0);return G(e,N,t.redirections)}if(E instanceof me||E instanceof ye){v+=E.stdout,P+=E.stderr;let N=_(v,P,0);return G(e,N,t.redirections)}if(E instanceof j){v+=E.stdout,P+=E.stderr;let N=_(v,P,E.exitCode);return G(e,N,t.redirections)}if(E instanceof ce){v+=E.stdout,P+=E.stderr;let N=_(v,P,E.exitCode);return G(e,N,t.redirections)}if(E instanceof ge){let N=_(v+E.stdout,P+E.stderr,E.exitCode);return G(e,N,t.redirections)}let x=_(v,`${P}${De(E)}
|
|
655
655
|
`,1);return G(e,x,t.redirections)}w();let $=_(v,P,g);return G(e,$,t.redirections)}async function Oi(e,t,s,r){let n="",i="",o=0,a=await fs(e,t.redirections);if(a)return a;let l=s;for(let f of t.redirections)if((f.operator==="<<"||f.operator==="<<-")&&f.target.type==="HereDoc"){let d=f.target,p=await L(e,d.content);d.stripTabs&&(p=p.split(`
|
|
656
656
|
`).map(h=>h.replace(/^\t+/,"")).join(`
|
|
657
657
|
`));let m=f.fd??0;m!==0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),le(e),e.state.fileDescriptors.set(m,p)):l=p}else if(f.operator==="<<<"&&f.target.type==="Word")l=`${await L(e,f.target)}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Core content matching logic for search commands
|
|
3
3
|
*/
|
|
4
4
|
import type { UserRegex } from "../../regex/index.js";
|
|
5
|
+
import type { PreFilter } from "./regex.js";
|
|
5
6
|
export interface SearchOptions {
|
|
6
7
|
/** Select non-matching lines */
|
|
7
8
|
invertMatch?: boolean;
|
|
@@ -37,6 +38,11 @@ export interface SearchOptions {
|
|
|
37
38
|
multiline?: boolean;
|
|
38
39
|
/** If \K was used, this is the capture group index containing the "real" match */
|
|
39
40
|
kResetGroup?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Optional substring fast-path: skip RE2 entirely for lines where no needle
|
|
43
|
+
* is present. Pre-computed by buildRegex from the source pattern.
|
|
44
|
+
*/
|
|
45
|
+
preFilter?: PreFilter | null;
|
|
40
46
|
}
|
|
41
47
|
export interface SearchResult {
|
|
42
48
|
/** The formatted output string */
|
|
@@ -16,6 +16,19 @@ export interface RegexResult {
|
|
|
16
16
|
regex: UserRegex;
|
|
17
17
|
/** If \K was used, this is the 1-based index of the capture group containing the "real" match */
|
|
18
18
|
kResetGroup?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Optional fast-path filter: if every needle is absent from a line via
|
|
21
|
+
* String.indexOf, the regex is guaranteed not to match and RE2 can be skipped.
|
|
22
|
+
* Extracted only for patterns where it is provably safe (literal alternatives,
|
|
23
|
+
* optionally wrapped in \b...\b for -w mode). Null for anything more complex.
|
|
24
|
+
*/
|
|
25
|
+
preFilter?: PreFilter;
|
|
26
|
+
}
|
|
27
|
+
export interface PreFilter {
|
|
28
|
+
/** Any one of these substrings must appear in a matching line (OR semantics). */
|
|
29
|
+
needles: string[];
|
|
30
|
+
/** When true, both needles and the line must be lowercased before indexOf. */
|
|
31
|
+
ignoreCase: boolean;
|
|
19
32
|
}
|
|
20
33
|
/**
|
|
21
34
|
* Build a JavaScript RegExp from a pattern with the specified mode
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "just-bash",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.5",
|
|
4
4
|
"description": "A simulated bash environment with virtual filesystem",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"seek-bzip": "^2.0.0",
|
|
78
78
|
"diff": "^8.0.2",
|
|
79
|
-
"fast-xml-parser": "5.
|
|
79
|
+
"fast-xml-parser": "^5.7.3",
|
|
80
80
|
"file-type": "^21.2.0",
|
|
81
81
|
"ini": "^6.0.0",
|
|
82
82
|
"minimatch": "^10.1.1",
|