@lifo-sh/core 0.1.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/dist/archive-D220So0m.js +192 -0
- package/dist/args-CG6b9cZt.js +43 -0
- package/dist/awk-rMPdpM91.js +118 -0
- package/dist/basename-C33A_Zse.js +12 -0
- package/dist/bc-BYiKVTNg.js +200 -0
- package/dist/cal-DPULSAhj.js +56 -0
- package/dist/cat-Crmqa4-2.js +29 -0
- package/dist/chmod-CcGyvoCX.js +56 -0
- package/dist/chown-CErsnGQX.js +28 -0
- package/dist/commands/archive/gunzip.d.ts +4 -0
- package/dist/commands/archive/gunzip.d.ts.map +1 -0
- package/dist/commands/archive/gzip.d.ts +4 -0
- package/dist/commands/archive/gzip.d.ts.map +1 -0
- package/dist/commands/archive/tar.d.ts +4 -0
- package/dist/commands/archive/tar.d.ts.map +1 -0
- package/dist/commands/archive/unzip.d.ts +4 -0
- package/dist/commands/archive/unzip.d.ts.map +1 -0
- package/dist/commands/archive/zip.d.ts +4 -0
- package/dist/commands/archive/zip.d.ts.map +1 -0
- package/dist/commands/fs/basename.d.ts +4 -0
- package/dist/commands/fs/basename.d.ts.map +1 -0
- package/dist/commands/fs/cat.d.ts +4 -0
- package/dist/commands/fs/cat.d.ts.map +1 -0
- package/dist/commands/fs/chmod.d.ts +4 -0
- package/dist/commands/fs/chmod.d.ts.map +1 -0
- package/dist/commands/fs/chown.d.ts +4 -0
- package/dist/commands/fs/chown.d.ts.map +1 -0
- package/dist/commands/fs/cp.d.ts +4 -0
- package/dist/commands/fs/cp.d.ts.map +1 -0
- package/dist/commands/fs/df.d.ts +4 -0
- package/dist/commands/fs/df.d.ts.map +1 -0
- package/dist/commands/fs/dirname.d.ts +4 -0
- package/dist/commands/fs/dirname.d.ts.map +1 -0
- package/dist/commands/fs/du.d.ts +4 -0
- package/dist/commands/fs/du.d.ts.map +1 -0
- package/dist/commands/fs/file.d.ts +4 -0
- package/dist/commands/fs/file.d.ts.map +1 -0
- package/dist/commands/fs/find.d.ts +4 -0
- package/dist/commands/fs/find.d.ts.map +1 -0
- package/dist/commands/fs/ln.d.ts +4 -0
- package/dist/commands/fs/ln.d.ts.map +1 -0
- package/dist/commands/fs/ls.d.ts +4 -0
- package/dist/commands/fs/ls.d.ts.map +1 -0
- package/dist/commands/fs/mkdir.d.ts +4 -0
- package/dist/commands/fs/mkdir.d.ts.map +1 -0
- package/dist/commands/fs/mktemp.d.ts +4 -0
- package/dist/commands/fs/mktemp.d.ts.map +1 -0
- package/dist/commands/fs/mv.d.ts +4 -0
- package/dist/commands/fs/mv.d.ts.map +1 -0
- package/dist/commands/fs/realpath.d.ts +4 -0
- package/dist/commands/fs/realpath.d.ts.map +1 -0
- package/dist/commands/fs/rm.d.ts +4 -0
- package/dist/commands/fs/rm.d.ts.map +1 -0
- package/dist/commands/fs/rmdir.d.ts +4 -0
- package/dist/commands/fs/rmdir.d.ts.map +1 -0
- package/dist/commands/fs/stat.d.ts +4 -0
- package/dist/commands/fs/stat.d.ts.map +1 -0
- package/dist/commands/fs/touch.d.ts +4 -0
- package/dist/commands/fs/touch.d.ts.map +1 -0
- package/dist/commands/fs/tree.d.ts +4 -0
- package/dist/commands/fs/tree.d.ts.map +1 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/io/printf.d.ts +4 -0
- package/dist/commands/io/printf.d.ts.map +1 -0
- package/dist/commands/io/tee.d.ts +4 -0
- package/dist/commands/io/tee.d.ts.map +1 -0
- package/dist/commands/io/xargs.d.ts +4 -0
- package/dist/commands/io/xargs.d.ts.map +1 -0
- package/dist/commands/io/yes.d.ts +4 -0
- package/dist/commands/io/yes.d.ts.map +1 -0
- package/dist/commands/net/curl.d.ts +6 -0
- package/dist/commands/net/curl.d.ts.map +1 -0
- package/dist/commands/net/dig.d.ts +4 -0
- package/dist/commands/net/dig.d.ts.map +1 -0
- package/dist/commands/net/ping.d.ts +4 -0
- package/dist/commands/net/ping.d.ts.map +1 -0
- package/dist/commands/net/wget.d.ts +4 -0
- package/dist/commands/net/wget.d.ts.map +1 -0
- package/dist/commands/registry.d.ts +13 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/system/bc.d.ts +4 -0
- package/dist/commands/system/bc.d.ts.map +1 -0
- package/dist/commands/system/cal.d.ts +4 -0
- package/dist/commands/system/cal.d.ts.map +1 -0
- package/dist/commands/system/date.d.ts +4 -0
- package/dist/commands/system/date.d.ts.map +1 -0
- package/dist/commands/system/env.d.ts +4 -0
- package/dist/commands/system/env.d.ts.map +1 -0
- package/dist/commands/system/free.d.ts +4 -0
- package/dist/commands/system/free.d.ts.map +1 -0
- package/dist/commands/system/help.d.ts +4 -0
- package/dist/commands/system/help.d.ts.map +1 -0
- package/dist/commands/system/hostname.d.ts +4 -0
- package/dist/commands/system/hostname.d.ts.map +1 -0
- package/dist/commands/system/kill.d.ts +4 -0
- package/dist/commands/system/kill.d.ts.map +1 -0
- package/dist/commands/system/man.d.ts +4 -0
- package/dist/commands/system/man.d.ts.map +1 -0
- package/dist/commands/system/node.d.ts +6 -0
- package/dist/commands/system/node.d.ts.map +1 -0
- package/dist/commands/system/pkg.d.ts +4 -0
- package/dist/commands/system/pkg.d.ts.map +1 -0
- package/dist/commands/system/ps.d.ts +4 -0
- package/dist/commands/system/ps.d.ts.map +1 -0
- package/dist/commands/system/sleep.d.ts +4 -0
- package/dist/commands/system/sleep.d.ts.map +1 -0
- package/dist/commands/system/top.d.ts +4 -0
- package/dist/commands/system/top.d.ts.map +1 -0
- package/dist/commands/system/uname.d.ts +4 -0
- package/dist/commands/system/uname.d.ts.map +1 -0
- package/dist/commands/system/uptime.d.ts +4 -0
- package/dist/commands/system/uptime.d.ts.map +1 -0
- package/dist/commands/system/watch.d.ts +4 -0
- package/dist/commands/system/watch.d.ts.map +1 -0
- package/dist/commands/system/which.d.ts +4 -0
- package/dist/commands/system/which.d.ts.map +1 -0
- package/dist/commands/system/whoami.d.ts +4 -0
- package/dist/commands/system/whoami.d.ts.map +1 -0
- package/dist/commands/text/awk.d.ts +4 -0
- package/dist/commands/text/awk.d.ts.map +1 -0
- package/dist/commands/text/cut.d.ts +4 -0
- package/dist/commands/text/cut.d.ts.map +1 -0
- package/dist/commands/text/diff.d.ts +4 -0
- package/dist/commands/text/diff.d.ts.map +1 -0
- package/dist/commands/text/grep.d.ts +4 -0
- package/dist/commands/text/grep.d.ts.map +1 -0
- package/dist/commands/text/head.d.ts +4 -0
- package/dist/commands/text/head.d.ts.map +1 -0
- package/dist/commands/text/nl.d.ts +4 -0
- package/dist/commands/text/nl.d.ts.map +1 -0
- package/dist/commands/text/rev.d.ts +4 -0
- package/dist/commands/text/rev.d.ts.map +1 -0
- package/dist/commands/text/sed.d.ts +4 -0
- package/dist/commands/text/sed.d.ts.map +1 -0
- package/dist/commands/text/sort.d.ts +4 -0
- package/dist/commands/text/sort.d.ts.map +1 -0
- package/dist/commands/text/tail.d.ts +4 -0
- package/dist/commands/text/tail.d.ts.map +1 -0
- package/dist/commands/text/tr.d.ts +4 -0
- package/dist/commands/text/tr.d.ts.map +1 -0
- package/dist/commands/text/uniq.d.ts +4 -0
- package/dist/commands/text/uniq.d.ts.map +1 -0
- package/dist/commands/text/wc.d.ts +4 -0
- package/dist/commands/text/wc.d.ts.map +1 -0
- package/dist/commands/types.d.ts +20 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/cp-CpjwiLUF.js +19 -0
- package/dist/cut-GfN8py4j.js +60 -0
- package/dist/date-C8NB8v8G.js +86 -0
- package/dist/df-CeZb4WOr.js +34 -0
- package/dist/diff-2wbVWmCT.js +129 -0
- package/dist/dig-BEJ8Ky96.js +69 -0
- package/dist/dirname-C5L53RA2.js +13 -0
- package/dist/du-B0shJpEL.js +77 -0
- package/dist/env-DXzvDKsN.js +9 -0
- package/dist/file-C2epVYvH.js +70 -0
- package/dist/find-DA-rpvsC.js +36 -0
- package/dist/free-DAxE4b2U.js +23 -0
- package/dist/grep-Bynq2w2E.js +140 -0
- package/dist/gunzip-B9b1Vph1.js +48 -0
- package/dist/gzip-CkXnPp5J.js +58 -0
- package/dist/head-DZJVLF1k.js +48 -0
- package/dist/hostname-BxU2S3nT.js +8 -0
- package/dist/index-Be1wosKt.js +6028 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/kernel/index.d.ts +25 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/persistence/PersistenceManager.d.ts +10 -0
- package/dist/kernel/persistence/PersistenceManager.d.ts.map +1 -0
- package/dist/kernel/persistence/serializer.d.ts +13 -0
- package/dist/kernel/persistence/serializer.d.ts.map +1 -0
- package/dist/kernel/samples.d.ts +3 -0
- package/dist/kernel/samples.d.ts.map +1 -0
- package/dist/kernel/vfs/VFS.d.ts +36 -0
- package/dist/kernel/vfs/VFS.d.ts.map +1 -0
- package/dist/kernel/vfs/index.d.ts +4 -0
- package/dist/kernel/vfs/index.d.ts.map +1 -0
- package/dist/kernel/vfs/providers/DevProvider.d.ts +11 -0
- package/dist/kernel/vfs/providers/DevProvider.d.ts.map +1 -0
- package/dist/kernel/vfs/providers/ProcProvider.d.ts +14 -0
- package/dist/kernel/vfs/providers/ProcProvider.d.ts.map +1 -0
- package/dist/kernel/vfs/types.d.ts +43 -0
- package/dist/kernel/vfs/types.d.ts.map +1 -0
- package/dist/ln-Bf3f3jVA.js +11 -0
- package/dist/ls-CSeazevv.js +106 -0
- package/dist/man-CJ5pI0_W.js +122 -0
- package/dist/mkdir-B7p8krsP.js +27 -0
- package/dist/mktemp-88Nhvd7h.js +31 -0
- package/dist/mv-DRVvz9oK.js +19 -0
- package/dist/nl-G2vK3rR3.js +48 -0
- package/dist/node-compat/buffer.d.ts +17 -0
- package/dist/node-compat/buffer.d.ts.map +1 -0
- package/dist/node-compat/child_process.d.ts +10 -0
- package/dist/node-compat/child_process.d.ts.map +1 -0
- package/dist/node-compat/console.d.ts +21 -0
- package/dist/node-compat/console.d.ts.map +1 -0
- package/dist/node-compat/crypto.d.ts +17 -0
- package/dist/node-compat/crypto.d.ts.map +1 -0
- package/dist/node-compat/events.d.ts +19 -0
- package/dist/node-compat/events.d.ts.map +1 -0
- package/dist/node-compat/fs.d.ts +113 -0
- package/dist/node-compat/fs.d.ts.map +1 -0
- package/dist/node-compat/http.d.ts +87 -0
- package/dist/node-compat/http.d.ts.map +1 -0
- package/dist/node-compat/index.d.ts +19 -0
- package/dist/node-compat/index.d.ts.map +1 -0
- package/dist/node-compat/os.d.ts +39 -0
- package/dist/node-compat/os.d.ts.map +1 -0
- package/dist/node-compat/path.d.ts +58 -0
- package/dist/node-compat/path.d.ts.map +1 -0
- package/dist/node-compat/process.d.ts +62 -0
- package/dist/node-compat/process.d.ts.map +1 -0
- package/dist/node-compat/stream.d.ts +36 -0
- package/dist/node-compat/stream.d.ts.map +1 -0
- package/dist/node-compat/timers.d.ts +16 -0
- package/dist/node-compat/timers.d.ts.map +1 -0
- package/dist/node-compat/url.d.ts +53 -0
- package/dist/node-compat/url.d.ts.map +1 -0
- package/dist/node-compat/util.d.ts +27 -0
- package/dist/node-compat/util.d.ts.map +1 -0
- package/dist/ping-DtVEwwda.js +50 -0
- package/dist/pkg/PackageManager.d.ts +19 -0
- package/dist/pkg/PackageManager.d.ts.map +1 -0
- package/dist/pkg/loader.d.ts +4 -0
- package/dist/pkg/loader.d.ts.map +1 -0
- package/dist/printf-Cc2o7KZx.js +70 -0
- package/dist/realpath-C-kisl-F.js +24 -0
- package/dist/rev-9puwegeh.js +34 -0
- package/dist/rm-BXSq9iqP.js +37 -0
- package/dist/rmdir-CWgZ6q8D.js +35 -0
- package/dist/sandbox/HeadlessTerminal.d.ts +17 -0
- package/dist/sandbox/HeadlessTerminal.d.ts.map +1 -0
- package/dist/sandbox/Sandbox.d.ts +36 -0
- package/dist/sandbox/Sandbox.d.ts.map +1 -0
- package/dist/sandbox/SandboxCommands.d.ts +18 -0
- package/dist/sandbox/SandboxCommands.d.ts.map +1 -0
- package/dist/sandbox/SandboxFs.d.ts +38 -0
- package/dist/sandbox/SandboxFs.d.ts.map +1 -0
- package/dist/sandbox/index.d.ts +3 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/types.d.ts +72 -0
- package/dist/sandbox/types.d.ts.map +1 -0
- package/dist/sed-BRxd2DlZ.js +90 -0
- package/dist/shell/Shell.d.ts +84 -0
- package/dist/shell/Shell.d.ts.map +1 -0
- package/dist/shell/completer.d.ts +19 -0
- package/dist/shell/completer.d.ts.map +1 -0
- package/dist/shell/expander.d.ts +20 -0
- package/dist/shell/expander.d.ts.map +1 -0
- package/dist/shell/history.d.ts +22 -0
- package/dist/shell/history.d.ts.map +1 -0
- package/dist/shell/interpreter.d.ts +67 -0
- package/dist/shell/interpreter.d.ts.map +1 -0
- package/dist/shell/jobs.d.ts +21 -0
- package/dist/shell/jobs.d.ts.map +1 -0
- package/dist/shell/lexer.d.ts +3 -0
- package/dist/shell/lexer.d.ts.map +1 -0
- package/dist/shell/parser.d.ts +7 -0
- package/dist/shell/parser.d.ts.map +1 -0
- package/dist/shell/pipe.d.ts +12 -0
- package/dist/shell/pipe.d.ts.map +1 -0
- package/dist/shell/terminal-stdin.d.ts +22 -0
- package/dist/shell/terminal-stdin.d.ts.map +1 -0
- package/dist/shell/test-builtin.d.ts +8 -0
- package/dist/shell/test-builtin.d.ts.map +1 -0
- package/dist/shell/types.d.ts +109 -0
- package/dist/shell/types.d.ts.map +1 -0
- package/dist/sleep-B4C3fZiR.js +19 -0
- package/dist/sort-B7K83hAD.js +59 -0
- package/dist/stat-C0qs7xMV.js +29 -0
- package/dist/tail-CYBTYnn3.js +47 -0
- package/dist/tar-mMS7gfb-.js +121 -0
- package/dist/tee-B8bXFHbI.js +17 -0
- package/dist/terminal/Terminal.d.ts +13 -0
- package/dist/terminal/Terminal.d.ts.map +1 -0
- package/dist/touch-CdAHKfLv.js +23 -0
- package/dist/tr-DsCiwSIu.js +60 -0
- package/dist/tree-BiWLXiUu.js +46 -0
- package/dist/uname-BCn8HlJD.js +37 -0
- package/dist/uniq-BZMOwoCc.js +51 -0
- package/dist/unzip-DP4I991d.js +82 -0
- package/dist/uptime-CgBJegqU.js +8 -0
- package/dist/utils/archive.d.ts +22 -0
- package/dist/utils/archive.d.ts.map +1 -0
- package/dist/utils/args.d.ts +12 -0
- package/dist/utils/args.d.ts.map +1 -0
- package/dist/utils/colors.d.ts +27 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/encoding.d.ts +4 -0
- package/dist/utils/encoding.d.ts.map +1 -0
- package/dist/utils/glob.d.ts +12 -0
- package/dist/utils/glob.d.ts.map +1 -0
- package/dist/utils/path.d.ts +12 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/wc-CpE5K4ZI.js +60 -0
- package/dist/wget-DIPI0-I3.js +53 -0
- package/dist/which-D3u0cwyh.js +105 -0
- package/dist/whoami-B1237V5e.js +8 -0
- package/dist/xargs-DfbCRFFd.js +35 -0
- package/dist/yes-DXEyHHD2.js +10 -0
- package/dist/zip-B_gQ6LXC.js +34 -0
- package/package.json +34 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { r as y, V as g } from "./index-Be1wosKt.js";
|
|
2
|
+
function u(t) {
|
|
3
|
+
return t < 1024 ? t + "B" : t < 1024 * 1024 ? (t / 1024).toFixed(1) + "K" : t < 1024 * 1024 * 1024 ? (t / (1024 * 1024)).toFixed(1) + "M" : (t / (1024 * 1024 * 1024)).toFixed(1) + "G";
|
|
4
|
+
}
|
|
5
|
+
const z = async (t) => {
|
|
6
|
+
let i = !1, l = !1;
|
|
7
|
+
const a = [];
|
|
8
|
+
for (const e of t.args)
|
|
9
|
+
e === "-h" ? i = !0 : e === "-s" ? l = !0 : a.push(e);
|
|
10
|
+
a.length === 0 && a.push(".");
|
|
11
|
+
function d(e) {
|
|
12
|
+
let o = 0;
|
|
13
|
+
try {
|
|
14
|
+
const s = t.vfs.readdir(e);
|
|
15
|
+
for (const n of s) {
|
|
16
|
+
const r = e === "/" ? "/" + n.name : e + "/" + n.name;
|
|
17
|
+
if (n.type === "file") {
|
|
18
|
+
const f = t.vfs.stat(r);
|
|
19
|
+
o += f.size;
|
|
20
|
+
} else
|
|
21
|
+
o += d(r);
|
|
22
|
+
}
|
|
23
|
+
} catch {
|
|
24
|
+
}
|
|
25
|
+
return o;
|
|
26
|
+
}
|
|
27
|
+
function m(e, o) {
|
|
28
|
+
let s = 0;
|
|
29
|
+
try {
|
|
30
|
+
const n = t.vfs.readdir(e);
|
|
31
|
+
for (const r of n) {
|
|
32
|
+
const f = e === "/" ? "/" + r.name : e + "/" + r.name, h = o === "/" ? "/" + r.name : o + "/" + r.name;
|
|
33
|
+
if (r.type === "file") {
|
|
34
|
+
const c = t.vfs.stat(f);
|
|
35
|
+
s += c.size;
|
|
36
|
+
} else {
|
|
37
|
+
const c = m(f, h);
|
|
38
|
+
s += c;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
} catch {
|
|
42
|
+
}
|
|
43
|
+
if (!l) {
|
|
44
|
+
const n = i ? u(s) : String(s);
|
|
45
|
+
t.stdout.write(n + " " + o + `
|
|
46
|
+
`);
|
|
47
|
+
}
|
|
48
|
+
return s;
|
|
49
|
+
}
|
|
50
|
+
let p = 0;
|
|
51
|
+
for (const e of a) {
|
|
52
|
+
const o = y(t.cwd, e);
|
|
53
|
+
try {
|
|
54
|
+
const s = t.vfs.stat(o);
|
|
55
|
+
if (s.type === "file") {
|
|
56
|
+
const n = i ? u(s.size) : String(s.size);
|
|
57
|
+
t.stdout.write(n + " " + e + `
|
|
58
|
+
`);
|
|
59
|
+
} else if (l) {
|
|
60
|
+
const n = d(o), r = i ? u(n) : String(n);
|
|
61
|
+
t.stdout.write(r + " " + e + `
|
|
62
|
+
`);
|
|
63
|
+
} else
|
|
64
|
+
m(o, e);
|
|
65
|
+
} catch (s) {
|
|
66
|
+
if (s instanceof g)
|
|
67
|
+
t.stderr.write(`du: ${e}: ${s.message}
|
|
68
|
+
`), p = 1;
|
|
69
|
+
else
|
|
70
|
+
throw s;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return p;
|
|
74
|
+
};
|
|
75
|
+
export {
|
|
76
|
+
z as default
|
|
77
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { r as d, e as c, V as f } from "./index-Be1wosKt.js";
|
|
2
|
+
const n = {
|
|
3
|
+
".txt": "ASCII text",
|
|
4
|
+
".md": "Markdown text",
|
|
5
|
+
".js": "JavaScript source",
|
|
6
|
+
".ts": "TypeScript source",
|
|
7
|
+
".json": "JSON data",
|
|
8
|
+
".html": "HTML document",
|
|
9
|
+
".css": "CSS stylesheet",
|
|
10
|
+
".sh": "Shell script",
|
|
11
|
+
".py": "Python script",
|
|
12
|
+
".xml": "XML document",
|
|
13
|
+
".yaml": "YAML data",
|
|
14
|
+
".yml": "YAML data",
|
|
15
|
+
".csv": "CSV data",
|
|
16
|
+
".svg": "SVG image",
|
|
17
|
+
".png": "PNG image data",
|
|
18
|
+
".jpg": "JPEG image data",
|
|
19
|
+
".gif": "GIF image data"
|
|
20
|
+
};
|
|
21
|
+
function u(t) {
|
|
22
|
+
for (let s = 0; s < Math.min(t.length, 512); s++) {
|
|
23
|
+
const e = t[s];
|
|
24
|
+
if (!(e === 9 || e === 10 || e === 13) && !(e >= 32 && e <= 126) && !(e >= 128))
|
|
25
|
+
return !1;
|
|
26
|
+
}
|
|
27
|
+
return !0;
|
|
28
|
+
}
|
|
29
|
+
const l = async (t) => {
|
|
30
|
+
if (t.args.length === 0)
|
|
31
|
+
return t.stderr.write(`file: missing operand
|
|
32
|
+
`), 1;
|
|
33
|
+
let s = 0;
|
|
34
|
+
for (const e of t.args) {
|
|
35
|
+
const a = d(t.cwd, e);
|
|
36
|
+
try {
|
|
37
|
+
const r = t.vfs.stat(a);
|
|
38
|
+
if (r.type === "directory") {
|
|
39
|
+
t.stdout.write(`${e}: directory
|
|
40
|
+
`);
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (r.size === 0) {
|
|
44
|
+
t.stdout.write(`${e}: empty
|
|
45
|
+
`);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const i = c(e);
|
|
49
|
+
if (i && n[i]) {
|
|
50
|
+
t.stdout.write(`${e}: ${n[i]}
|
|
51
|
+
`);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const o = t.vfs.readFile(a);
|
|
55
|
+
u(o) ? t.stdout.write(`${e}: ASCII text
|
|
56
|
+
`) : t.stdout.write(`${e}: data
|
|
57
|
+
`);
|
|
58
|
+
} catch (r) {
|
|
59
|
+
if (r instanceof f)
|
|
60
|
+
t.stderr.write(`file: ${e}: ${r.message}
|
|
61
|
+
`), s = 1;
|
|
62
|
+
else
|
|
63
|
+
throw r;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return s;
|
|
67
|
+
};
|
|
68
|
+
export {
|
|
69
|
+
l as default
|
|
70
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { r as m, V as d, g as p } from "./index-Be1wosKt.js";
|
|
2
|
+
const c = async (t) => {
|
|
3
|
+
let f = ".", i = "", a = "", l = 1 / 0;
|
|
4
|
+
for (let e = 0; e < t.args.length; e++) {
|
|
5
|
+
const r = t.args[e];
|
|
6
|
+
r === "-name" && e + 1 < t.args.length ? i = t.args[++e] : r === "-type" && e + 1 < t.args.length ? a = t.args[++e] : r === "-maxdepth" && e + 1 < t.args.length ? l = parseInt(t.args[++e], 10) : r.startsWith("-") || (f = r);
|
|
7
|
+
}
|
|
8
|
+
const o = m(t.cwd, f);
|
|
9
|
+
function g(e, r) {
|
|
10
|
+
if (!(r > l))
|
|
11
|
+
try {
|
|
12
|
+
const h = t.vfs.readdir(e);
|
|
13
|
+
for (const s of h) {
|
|
14
|
+
const y = e === "/" ? "/" + s.name : e + "/" + s.name;
|
|
15
|
+
let n = !0;
|
|
16
|
+
i && (n = p(i, s.name)), a && (a === "f" && s.type !== "file" && (n = !1), a === "d" && s.type !== "directory" && (n = !1)), n && t.stdout.write(y + `
|
|
17
|
+
`), s.type === "directory" && g(y, r + 1);
|
|
18
|
+
}
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
if (t.vfs.stat(o).type !== "directory")
|
|
24
|
+
return t.stdout.write(o + `
|
|
25
|
+
`), 0;
|
|
26
|
+
} catch (e) {
|
|
27
|
+
if (e instanceof d)
|
|
28
|
+
return t.stderr.write(`find: '${f}': ${e.message}
|
|
29
|
+
`), 1;
|
|
30
|
+
throw e;
|
|
31
|
+
}
|
|
32
|
+
return g(o, 1), 0;
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
c as default
|
|
36
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
function o(t) {
|
|
2
|
+
return t < 1024 ? t + "B" : t < 1024 * 1024 ? (t / 1024).toFixed(1) + "K" : t < 1024 * 1024 * 1024 ? (t / (1024 * 1024)).toFixed(1) + "M" : (t / (1024 * 1024 * 1024)).toFixed(1) + "G";
|
|
3
|
+
}
|
|
4
|
+
const d = async (t) => {
|
|
5
|
+
let i = !1;
|
|
6
|
+
for (const e of t.args)
|
|
7
|
+
e === "-h" && (i = !0);
|
|
8
|
+
const r = performance;
|
|
9
|
+
if (r.memory) {
|
|
10
|
+
const e = r.memory.jsHeapSizeLimit, a = r.memory.usedJSHeapSize, n = e - a;
|
|
11
|
+
i ? (t.stdout.write(` total used free
|
|
12
|
+
`), t.stdout.write(`Mem: ${o(e).padStart(10)} ${o(a).padStart(10)} ${o(n).padStart(10)}
|
|
13
|
+
`)) : (t.stdout.write(` total used free
|
|
14
|
+
`), t.stdout.write(`Mem: ${String(e).padStart(10)} ${String(a).padStart(10)} ${String(n).padStart(10)}
|
|
15
|
+
`));
|
|
16
|
+
} else
|
|
17
|
+
t.stdout.write(`Memory information not available in this browser
|
|
18
|
+
`);
|
|
19
|
+
return 0;
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
d as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { r as M, V } from "./index-Be1wosKt.js";
|
|
2
|
+
const A = async (r) => {
|
|
3
|
+
const c = r.args;
|
|
4
|
+
let w = !1, y = !1, b = !1, u = !1, k = !1, p = !1, m = !1, o = "";
|
|
5
|
+
const f = [];
|
|
6
|
+
let i = 0;
|
|
7
|
+
for (; i < c.length; ) {
|
|
8
|
+
const e = c[i];
|
|
9
|
+
if (e === "--") {
|
|
10
|
+
i++;
|
|
11
|
+
break;
|
|
12
|
+
}
|
|
13
|
+
if (e.startsWith("-") && e.length > 1 && e[1] !== "-") {
|
|
14
|
+
for (let t = 1; t < e.length; t++)
|
|
15
|
+
switch (e[t]) {
|
|
16
|
+
case "i":
|
|
17
|
+
w = !0;
|
|
18
|
+
break;
|
|
19
|
+
case "v":
|
|
20
|
+
y = !0;
|
|
21
|
+
break;
|
|
22
|
+
case "n":
|
|
23
|
+
b = !0;
|
|
24
|
+
break;
|
|
25
|
+
case "c":
|
|
26
|
+
u = !0;
|
|
27
|
+
break;
|
|
28
|
+
case "l":
|
|
29
|
+
k = !0;
|
|
30
|
+
break;
|
|
31
|
+
case "r":
|
|
32
|
+
p = !0;
|
|
33
|
+
break;
|
|
34
|
+
case "E":
|
|
35
|
+
break;
|
|
36
|
+
// JS regex is already ERE
|
|
37
|
+
case "w":
|
|
38
|
+
m = !0;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
i++;
|
|
42
|
+
} else if (!o)
|
|
43
|
+
o = e, i++;
|
|
44
|
+
else
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
for (; i < c.length; )
|
|
48
|
+
f.push(c[i++]);
|
|
49
|
+
if (!o)
|
|
50
|
+
return r.stderr.write(`grep: missing pattern
|
|
51
|
+
`), 2;
|
|
52
|
+
let g = o;
|
|
53
|
+
m && (g = `\\b${g}\\b`);
|
|
54
|
+
let v;
|
|
55
|
+
try {
|
|
56
|
+
v = new RegExp(g, w ? "i" : "");
|
|
57
|
+
} catch {
|
|
58
|
+
return r.stderr.write(`grep: invalid regex: ${o}
|
|
59
|
+
`), 2;
|
|
60
|
+
}
|
|
61
|
+
let $ = !1;
|
|
62
|
+
const d = f.length > 1 || p;
|
|
63
|
+
async function h(e, t) {
|
|
64
|
+
let n = 0;
|
|
65
|
+
for (let s = 0; s < e.length; s++) {
|
|
66
|
+
const a = e[s];
|
|
67
|
+
if (v.test(a) !== y) {
|
|
68
|
+
if ($ = !0, n++, k) {
|
|
69
|
+
t && r.stdout.write(t + `
|
|
70
|
+
`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (!u) {
|
|
74
|
+
let l = "";
|
|
75
|
+
d && t && (l += t + ":"), b && (l += s + 1 + ":"), l += a + `
|
|
76
|
+
`, r.stdout.write(l);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (u) {
|
|
81
|
+
let s = "";
|
|
82
|
+
d && t && (s += t + ":"), s += n + `
|
|
83
|
+
`, r.stdout.write(s);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function F(e) {
|
|
87
|
+
const t = [];
|
|
88
|
+
try {
|
|
89
|
+
const n = r.vfs.readdir(e);
|
|
90
|
+
for (const s of n) {
|
|
91
|
+
const a = e === "/" ? "/" + s.name : e + "/" + s.name;
|
|
92
|
+
s.type === "file" ? t.push(a) : s.type === "directory" && t.push(...F(a));
|
|
93
|
+
}
|
|
94
|
+
} catch {
|
|
95
|
+
}
|
|
96
|
+
return t;
|
|
97
|
+
}
|
|
98
|
+
if (f.length === 0)
|
|
99
|
+
if (r.stdin) {
|
|
100
|
+
const t = (await r.stdin.readAll()).replace(/\n$/, "").split(`
|
|
101
|
+
`);
|
|
102
|
+
await h(t, null);
|
|
103
|
+
} else
|
|
104
|
+
return r.stderr.write(`grep: missing file operand
|
|
105
|
+
`), 2;
|
|
106
|
+
else
|
|
107
|
+
for (const e of f) {
|
|
108
|
+
const t = M(r.cwd, e);
|
|
109
|
+
try {
|
|
110
|
+
if (r.vfs.stat(t).type === "directory") {
|
|
111
|
+
if (p) {
|
|
112
|
+
const E = F(t);
|
|
113
|
+
for (const l of E)
|
|
114
|
+
try {
|
|
115
|
+
const S = r.vfs.readFileString(l).replace(/\n$/, "").split(`
|
|
116
|
+
`);
|
|
117
|
+
await h(S, l);
|
|
118
|
+
} catch {
|
|
119
|
+
}
|
|
120
|
+
} else
|
|
121
|
+
r.stderr.write(`grep: ${e}: Is a directory
|
|
122
|
+
`);
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const a = r.vfs.readFileString(t).replace(/\n$/, "").split(`
|
|
126
|
+
`);
|
|
127
|
+
await h(a, d ? e : null);
|
|
128
|
+
} catch (n) {
|
|
129
|
+
if (n instanceof V)
|
|
130
|
+
r.stderr.write(`grep: ${e}: ${n.message}
|
|
131
|
+
`);
|
|
132
|
+
else
|
|
133
|
+
throw n;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return $ ? 0 : 1;
|
|
137
|
+
};
|
|
138
|
+
export {
|
|
139
|
+
A as default
|
|
140
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { r as u, V as d } from "./index-Be1wosKt.js";
|
|
2
|
+
import { d as p } from "./archive-D220So0m.js";
|
|
3
|
+
const w = async (e) => {
|
|
4
|
+
let o = !1;
|
|
5
|
+
const t = [];
|
|
6
|
+
for (const r of e.args)
|
|
7
|
+
switch (r) {
|
|
8
|
+
case "-k":
|
|
9
|
+
case "--keep":
|
|
10
|
+
o = !0;
|
|
11
|
+
break;
|
|
12
|
+
case "--help":
|
|
13
|
+
return e.stdout.write(`Usage: gunzip [-k] file.gz
|
|
14
|
+
`), e.stdout.write(` -k, --keep keep original file
|
|
15
|
+
`), 0;
|
|
16
|
+
default:
|
|
17
|
+
if (r.startsWith("-"))
|
|
18
|
+
return e.stderr.write(`gunzip: unknown option: ${r}
|
|
19
|
+
`), 1;
|
|
20
|
+
t.push(r);
|
|
21
|
+
}
|
|
22
|
+
if (t.length === 0)
|
|
23
|
+
return e.stderr.write(`gunzip: missing file operand
|
|
24
|
+
`), 1;
|
|
25
|
+
let n = 0;
|
|
26
|
+
for (const r of t) {
|
|
27
|
+
const i = u(e.cwd, r);
|
|
28
|
+
try {
|
|
29
|
+
if (!i.endsWith(".gz")) {
|
|
30
|
+
e.stderr.write(`gunzip: ${r}: unknown suffix -- ignored
|
|
31
|
+
`), n = 1;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const s = e.vfs.readFile(i), a = await p(s), f = i.slice(0, -3);
|
|
35
|
+
e.vfs.writeFile(f, a), o || e.vfs.unlink(i);
|
|
36
|
+
} catch (s) {
|
|
37
|
+
if (s instanceof d)
|
|
38
|
+
e.stderr.write(`gunzip: ${r}: ${s.message}
|
|
39
|
+
`), n = 1;
|
|
40
|
+
else
|
|
41
|
+
throw s;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return n;
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
w as default
|
|
48
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { r as p, V as l } from "./index-Be1wosKt.js";
|
|
2
|
+
import { d as u, b as c } from "./archive-D220So0m.js";
|
|
3
|
+
const g = async (e) => {
|
|
4
|
+
let t = !1, d = !1;
|
|
5
|
+
const o = [];
|
|
6
|
+
for (const s of e.args)
|
|
7
|
+
switch (s) {
|
|
8
|
+
case "-k":
|
|
9
|
+
case "--keep":
|
|
10
|
+
t = !0;
|
|
11
|
+
break;
|
|
12
|
+
case "-d":
|
|
13
|
+
case "--decompress":
|
|
14
|
+
d = !0;
|
|
15
|
+
break;
|
|
16
|
+
case "--help":
|
|
17
|
+
return e.stdout.write(`Usage: gzip [-k] [-d] file
|
|
18
|
+
`), e.stdout.write(` -k, --keep keep original file
|
|
19
|
+
`), e.stdout.write(` -d, --decompress decompress
|
|
20
|
+
`), 0;
|
|
21
|
+
default:
|
|
22
|
+
if (s.startsWith("-"))
|
|
23
|
+
return e.stderr.write(`gzip: unknown option: ${s}
|
|
24
|
+
`), 1;
|
|
25
|
+
o.push(s);
|
|
26
|
+
}
|
|
27
|
+
if (o.length === 0)
|
|
28
|
+
return e.stderr.write(`gzip: missing file operand
|
|
29
|
+
`), 1;
|
|
30
|
+
let n = 0;
|
|
31
|
+
for (const s of o) {
|
|
32
|
+
const r = p(e.cwd, s);
|
|
33
|
+
try {
|
|
34
|
+
if (d) {
|
|
35
|
+
if (!r.endsWith(".gz")) {
|
|
36
|
+
e.stderr.write(`gzip: ${s}: unknown suffix -- ignored
|
|
37
|
+
`), n = 1;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const i = e.vfs.readFile(r), a = await u(i), f = r.slice(0, -3);
|
|
41
|
+
e.vfs.writeFile(f, a), t || e.vfs.unlink(r);
|
|
42
|
+
} else {
|
|
43
|
+
const i = e.vfs.readFile(r), a = await c(i);
|
|
44
|
+
e.vfs.writeFile(r + ".gz", a), t || e.vfs.unlink(r);
|
|
45
|
+
}
|
|
46
|
+
} catch (i) {
|
|
47
|
+
if (i instanceof l)
|
|
48
|
+
e.stderr.write(`gzip: ${s}: ${i.message}
|
|
49
|
+
`), n = 1;
|
|
50
|
+
else
|
|
51
|
+
throw i;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return n;
|
|
55
|
+
};
|
|
56
|
+
export {
|
|
57
|
+
g as default
|
|
58
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { r as d, V as f } from "./index-Be1wosKt.js";
|
|
2
|
+
const h = async (e) => {
|
|
3
|
+
let r = 10;
|
|
4
|
+
const i = [];
|
|
5
|
+
for (let t = 0; t < e.args.length; t++) {
|
|
6
|
+
const s = e.args[t];
|
|
7
|
+
if (s === "-n" && t + 1 < e.args.length) {
|
|
8
|
+
if (r = parseInt(e.args[++t], 10), isNaN(r))
|
|
9
|
+
return e.stderr.write(`head: invalid number of lines
|
|
10
|
+
`), 1;
|
|
11
|
+
} else /^-\d+$/.test(s) ? r = parseInt(s.slice(1), 10) : i.push(s);
|
|
12
|
+
}
|
|
13
|
+
async function a(t) {
|
|
14
|
+
const s = t.split(`
|
|
15
|
+
`);
|
|
16
|
+
let o = s.slice(0, r).join(`
|
|
17
|
+
`);
|
|
18
|
+
s.length > r && (o += `
|
|
19
|
+
`), e.stdout.write(o);
|
|
20
|
+
}
|
|
21
|
+
if (i.length === 0) {
|
|
22
|
+
if (e.stdin)
|
|
23
|
+
await a(await e.stdin.readAll());
|
|
24
|
+
else
|
|
25
|
+
return e.stderr.write(`head: missing file operand
|
|
26
|
+
`), 1;
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
let l = 0;
|
|
30
|
+
for (const t of i) {
|
|
31
|
+
const s = d(e.cwd, t);
|
|
32
|
+
try {
|
|
33
|
+
const n = e.vfs.readFileString(s);
|
|
34
|
+
i.length > 1 && e.stdout.write(`==> ${t} <==
|
|
35
|
+
`), await a(n);
|
|
36
|
+
} catch (n) {
|
|
37
|
+
if (n instanceof f)
|
|
38
|
+
e.stderr.write(`head: ${t}: ${n.message}
|
|
39
|
+
`), l = 1;
|
|
40
|
+
else
|
|
41
|
+
throw n;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return l;
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
h as default
|
|
48
|
+
};
|