typescript-virtual-container 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. package/.vscode/settings.json +2 -2
  2. package/README.md +34 -28
  3. package/build.js +22 -0
  4. package/builds/fortune-nyx-v1.5.1-directbash-k6.1.0.mjs +402 -402
  5. package/builds/fortune-nyx-v1.5.1-ssh-nosftp.js +178 -178
  6. package/builds/fortune-nyx-v1.5.1-ssh.cjs +6 -6
  7. package/builds/fortune-nyx-v1.5.1-web.min.js +17022 -12
  8. package/bun.lock +74 -0
  9. package/dist/Honeypot/index.d.ts +0 -1
  10. package/dist/Honeypot/index.js +0 -1
  11. package/dist/SSHClient/index.d.ts +0 -1
  12. package/dist/SSHClient/index.js +0 -1
  13. package/dist/SSHMimic/exec.d.ts +0 -1
  14. package/dist/SSHMimic/exec.js +0 -1
  15. package/dist/SSHMimic/executor.d.ts +0 -1
  16. package/dist/SSHMimic/executor.js +0 -1
  17. package/dist/SSHMimic/hostKey.d.ts +0 -1
  18. package/dist/SSHMimic/hostKey.js +0 -1
  19. package/dist/SSHMimic/index.d.ts +0 -1
  20. package/dist/SSHMimic/index.js +0 -1
  21. package/dist/SSHMimic/loginBanner.d.ts +0 -1
  22. package/dist/SSHMimic/loginBanner.js +0 -1
  23. package/dist/SSHMimic/loginFormat.d.ts +0 -1
  24. package/dist/SSHMimic/loginFormat.js +0 -1
  25. package/dist/SSHMimic/prompt.d.ts +0 -1
  26. package/dist/SSHMimic/prompt.js +0 -1
  27. package/dist/SSHMimic/sftp.d.ts +0 -1
  28. package/dist/SSHMimic/sftp.js +0 -1
  29. package/dist/VirtualFileSystem/binaryPack.d.ts +0 -1
  30. package/dist/VirtualFileSystem/binaryPack.js +0 -1
  31. package/dist/VirtualFileSystem/index.d.ts +0 -1
  32. package/dist/VirtualFileSystem/index.js +0 -1
  33. package/dist/VirtualFileSystem/internalTypes.d.ts +0 -1
  34. package/dist/VirtualFileSystem/internalTypes.js +0 -1
  35. package/dist/VirtualFileSystem/journal.d.ts +0 -1
  36. package/dist/VirtualFileSystem/journal.js +0 -1
  37. package/dist/VirtualFileSystem/path.d.ts +0 -1
  38. package/dist/VirtualFileSystem/path.js +0 -1
  39. package/dist/VirtualPackageManager/index.d.ts +0 -1
  40. package/dist/VirtualPackageManager/index.js +5 -6
  41. package/dist/VirtualShell/idleManager.d.ts +0 -1
  42. package/dist/VirtualShell/idleManager.js +0 -1
  43. package/dist/VirtualShell/index.d.ts +3 -2
  44. package/dist/VirtualShell/index.js +4 -2
  45. package/dist/VirtualShell/shell.d.ts +0 -1
  46. package/dist/VirtualShell/shell.js +0 -1
  47. package/dist/VirtualShell/shellParser.d.ts +0 -1
  48. package/dist/VirtualShell/shellParser.js +0 -1
  49. package/dist/VirtualUserManager/index.d.ts +0 -1
  50. package/dist/VirtualUserManager/index.js +0 -1
  51. package/dist/commands/adduser.d.ts +0 -1
  52. package/dist/commands/adduser.js +0 -1
  53. package/dist/commands/alias.d.ts +0 -1
  54. package/dist/commands/alias.js +0 -1
  55. package/dist/commands/apt.d.ts +0 -1
  56. package/dist/commands/apt.js +0 -1
  57. package/dist/commands/awk.d.ts +0 -1
  58. package/dist/commands/awk.js +0 -1
  59. package/dist/commands/base64.d.ts +0 -1
  60. package/dist/commands/base64.js +0 -1
  61. package/dist/commands/cat.d.ts +0 -1
  62. package/dist/commands/cat.js +0 -1
  63. package/dist/commands/cd.d.ts +0 -1
  64. package/dist/commands/cd.js +0 -1
  65. package/dist/commands/chmod.d.ts +0 -1
  66. package/dist/commands/chmod.js +0 -1
  67. package/dist/commands/clear.d.ts +0 -1
  68. package/dist/commands/clear.js +0 -1
  69. package/dist/commands/command-helpers.d.ts +0 -1
  70. package/dist/commands/command-helpers.js +0 -1
  71. package/dist/commands/cp.d.ts +0 -1
  72. package/dist/commands/cp.js +0 -1
  73. package/dist/commands/curl.d.ts +0 -1
  74. package/dist/commands/curl.js +0 -1
  75. package/dist/commands/cut.d.ts +0 -1
  76. package/dist/commands/cut.js +0 -1
  77. package/dist/commands/date.d.ts +0 -1
  78. package/dist/commands/date.js +0 -1
  79. package/dist/commands/declare.d.ts +0 -1
  80. package/dist/commands/declare.js +0 -1
  81. package/dist/commands/deluser.d.ts +0 -1
  82. package/dist/commands/deluser.js +0 -1
  83. package/dist/commands/df.d.ts +0 -1
  84. package/dist/commands/df.js +0 -1
  85. package/dist/commands/diff.d.ts +0 -1
  86. package/dist/commands/diff.js +0 -1
  87. package/dist/commands/dpkg.d.ts +0 -1
  88. package/dist/commands/dpkg.js +0 -1
  89. package/dist/commands/du.d.ts +0 -1
  90. package/dist/commands/du.js +0 -1
  91. package/dist/commands/echo.d.ts +0 -1
  92. package/dist/commands/echo.js +0 -1
  93. package/dist/commands/env.d.ts +0 -1
  94. package/dist/commands/env.js +0 -1
  95. package/dist/commands/exit.d.ts +0 -1
  96. package/dist/commands/exit.js +0 -1
  97. package/dist/commands/export.d.ts +0 -1
  98. package/dist/commands/export.js +0 -1
  99. package/dist/commands/find.d.ts +0 -1
  100. package/dist/commands/find.js +0 -1
  101. package/dist/commands/free.d.ts +0 -1
  102. package/dist/commands/free.js +0 -1
  103. package/dist/commands/grep.d.ts +0 -1
  104. package/dist/commands/grep.js +0 -1
  105. package/dist/commands/groups.d.ts +0 -1
  106. package/dist/commands/groups.js +0 -1
  107. package/dist/commands/gzip.d.ts +0 -1
  108. package/dist/commands/gzip.js +0 -1
  109. package/dist/commands/head.d.ts +0 -1
  110. package/dist/commands/head.js +0 -1
  111. package/dist/commands/help.d.ts +0 -1
  112. package/dist/commands/help.js +0 -1
  113. package/dist/commands/helpers.d.ts +0 -1
  114. package/dist/commands/helpers.js +0 -1
  115. package/dist/commands/history.d.ts +0 -1
  116. package/dist/commands/history.js +0 -1
  117. package/dist/commands/hostname.d.ts +0 -1
  118. package/dist/commands/hostname.js +0 -1
  119. package/dist/commands/htop.d.ts +0 -1
  120. package/dist/commands/htop.js +0 -1
  121. package/dist/commands/id.d.ts +0 -1
  122. package/dist/commands/id.js +0 -1
  123. package/dist/commands/index.d.ts +0 -1
  124. package/dist/commands/index.js +0 -1
  125. package/dist/commands/kill.d.ts +0 -1
  126. package/dist/commands/kill.js +0 -1
  127. package/dist/commands/ln.d.ts +0 -1
  128. package/dist/commands/ln.js +0 -1
  129. package/dist/commands/ls.d.ts +0 -1
  130. package/dist/commands/ls.js +0 -1
  131. package/dist/commands/lsb-release.d.ts +0 -1
  132. package/dist/commands/lsb-release.js +0 -1
  133. package/dist/commands/man.d.ts +0 -1
  134. package/dist/commands/man.js +0 -1
  135. package/dist/commands/manuals-bundle.d.ts +0 -1
  136. package/dist/commands/manuals-bundle.js +0 -1
  137. package/dist/commands/mkdir.d.ts +0 -1
  138. package/dist/commands/mkdir.js +0 -1
  139. package/dist/commands/mv.d.ts +0 -1
  140. package/dist/commands/mv.js +0 -1
  141. package/dist/commands/nano.d.ts +0 -1
  142. package/dist/commands/nano.js +0 -1
  143. package/dist/commands/neofetch.d.ts +0 -1
  144. package/dist/commands/neofetch.js +0 -1
  145. package/dist/commands/node.d.ts +0 -1
  146. package/dist/commands/node.js +0 -1
  147. package/dist/commands/npm.d.ts +0 -1
  148. package/dist/commands/npm.js +0 -1
  149. package/dist/commands/passwd.d.ts +0 -1
  150. package/dist/commands/passwd.js +0 -1
  151. package/dist/commands/ping.d.ts +0 -1
  152. package/dist/commands/ping.js +0 -1
  153. package/dist/commands/printf.d.ts +0 -1
  154. package/dist/commands/printf.js +0 -1
  155. package/dist/commands/ps.d.ts +0 -1
  156. package/dist/commands/ps.js +0 -1
  157. package/dist/commands/pwd.d.ts +0 -1
  158. package/dist/commands/pwd.js +0 -1
  159. package/dist/commands/python.d.ts +0 -1
  160. package/dist/commands/python.js +0 -1
  161. package/dist/commands/read.d.ts +0 -1
  162. package/dist/commands/read.js +0 -1
  163. package/dist/commands/registry.d.ts +0 -1
  164. package/dist/commands/registry.js +0 -1
  165. package/dist/commands/rm.d.ts +0 -1
  166. package/dist/commands/rm.js +0 -1
  167. package/dist/commands/runtime.d.ts +0 -1
  168. package/dist/commands/runtime.js +0 -1
  169. package/dist/commands/sed.d.ts +0 -1
  170. package/dist/commands/sed.js +0 -1
  171. package/dist/commands/seq.d.ts +0 -1
  172. package/dist/commands/seq.js +0 -1
  173. package/dist/commands/set.d.ts +0 -1
  174. package/dist/commands/set.js +0 -1
  175. package/dist/commands/sh.d.ts +0 -1
  176. package/dist/commands/sh.js +0 -1
  177. package/dist/commands/shift.d.ts +0 -1
  178. package/dist/commands/shift.js +0 -1
  179. package/dist/commands/sleep.d.ts +0 -1
  180. package/dist/commands/sleep.js +0 -1
  181. package/dist/commands/sort.d.ts +0 -1
  182. package/dist/commands/sort.js +0 -1
  183. package/dist/commands/source.d.ts +0 -1
  184. package/dist/commands/source.js +0 -1
  185. package/dist/commands/stat.d.ts +0 -1
  186. package/dist/commands/stat.js +0 -1
  187. package/dist/commands/su.d.ts +0 -1
  188. package/dist/commands/su.js +0 -1
  189. package/dist/commands/sudo.d.ts +0 -1
  190. package/dist/commands/sudo.js +0 -1
  191. package/dist/commands/tail.d.ts +0 -1
  192. package/dist/commands/tail.js +0 -1
  193. package/dist/commands/tar.d.ts +0 -1
  194. package/dist/commands/tar.js +0 -1
  195. package/dist/commands/tee.d.ts +0 -1
  196. package/dist/commands/tee.js +0 -1
  197. package/dist/commands/test.d.ts +0 -1
  198. package/dist/commands/test.js +0 -1
  199. package/dist/commands/touch.d.ts +0 -1
  200. package/dist/commands/touch.js +0 -1
  201. package/dist/commands/tr.d.ts +0 -1
  202. package/dist/commands/tr.js +0 -1
  203. package/dist/commands/tree.d.ts +0 -1
  204. package/dist/commands/tree.js +0 -1
  205. package/dist/commands/true.d.ts +0 -1
  206. package/dist/commands/true.js +0 -1
  207. package/dist/commands/type.d.ts +0 -1
  208. package/dist/commands/type.js +0 -1
  209. package/dist/commands/uname.d.ts +0 -1
  210. package/dist/commands/uname.js +0 -1
  211. package/dist/commands/uniq.d.ts +0 -1
  212. package/dist/commands/uniq.js +0 -1
  213. package/dist/commands/unset.d.ts +0 -1
  214. package/dist/commands/unset.js +0 -1
  215. package/dist/commands/uptime.d.ts +0 -1
  216. package/dist/commands/uptime.js +0 -1
  217. package/dist/commands/wc.d.ts +0 -1
  218. package/dist/commands/wc.js +0 -1
  219. package/dist/commands/wget.d.ts +0 -1
  220. package/dist/commands/wget.js +0 -1
  221. package/dist/commands/which.d.ts +0 -1
  222. package/dist/commands/which.js +0 -1
  223. package/dist/commands/who.d.ts +0 -1
  224. package/dist/commands/who.js +0 -1
  225. package/dist/commands/whoami.d.ts +0 -1
  226. package/dist/commands/whoami.js +0 -1
  227. package/dist/commands/xargs.d.ts +0 -1
  228. package/dist/commands/xargs.js +0 -1
  229. package/dist/index.d.ts +0 -1
  230. package/dist/index.js +0 -1
  231. package/dist/modules/linuxRootfs.d.ts +0 -1
  232. package/dist/modules/linuxRootfs.js +0 -1
  233. package/dist/modules/neofetch.d.ts +0 -1
  234. package/dist/modules/neofetch.js +0 -1
  235. package/dist/modules/shellInteractive.d.ts +0 -1
  236. package/dist/modules/shellInteractive.js +0 -1
  237. package/dist/modules/shellRuntime.d.ts +0 -1
  238. package/dist/modules/shellRuntime.js +0 -1
  239. package/dist/self-standalone.d.ts +0 -1
  240. package/dist/self-standalone.js +0 -1
  241. package/dist/standalone-wo-sftp.d.ts +0 -1
  242. package/dist/standalone-wo-sftp.js +0 -1
  243. package/dist/standalone.d.ts +0 -1
  244. package/dist/standalone.js +0 -1
  245. package/dist/types/commands.d.ts +0 -1
  246. package/dist/types/commands.js +0 -1
  247. package/dist/types/pipeline.d.ts +0 -1
  248. package/dist/types/pipeline.js +0 -1
  249. package/dist/types/streams.d.ts +0 -1
  250. package/dist/types/streams.js +0 -1
  251. package/dist/types/vfs.d.ts +0 -1
  252. package/dist/types/vfs.js +0 -1
  253. package/dist/utils/expand.d.ts +0 -1
  254. package/dist/utils/expand.js +0 -1
  255. package/dist/utils/perfLogger.d.ts +0 -1
  256. package/dist/utils/perfLogger.js +0 -1
  257. package/dist/utils/tokenize.d.ts +0 -1
  258. package/dist/utils/tokenize.js +0 -1
  259. package/dist/utils/vfsDiff.d.ts +0 -1
  260. package/dist/utils/vfsDiff.js +0 -1
  261. package/docs/app.js +1755 -0
  262. package/docs/classes/HoneyPot.html +17 -17
  263. package/docs/classes/IdleManager.html +8 -8
  264. package/docs/classes/SshClient.html +34 -34
  265. package/docs/classes/VirtualFileSystem.html +38 -38
  266. package/docs/classes/VirtualPackageManager.html +19 -19
  267. package/docs/classes/VirtualSftpServer.html +3 -3
  268. package/docs/classes/VirtualShell.html +41 -40
  269. package/docs/classes/VirtualSshServer.html +8 -8
  270. package/docs/classes/VirtualUserManager.html +32 -32
  271. package/docs/demo.html +82 -0
  272. package/docs/functions/assertDiff.html +3 -3
  273. package/docs/functions/diffSnapshots.html +5 -5
  274. package/docs/functions/formatDiff.html +3 -3
  275. package/docs/functions/getArg.html +3 -3
  276. package/docs/functions/getFlag.html +2 -2
  277. package/docs/functions/ifFlag.html +2 -2
  278. package/docs/hierarchy.html +1 -1
  279. package/docs/index.html +41 -19
  280. package/docs/interfaces/AuditLogEntry.html +3 -3
  281. package/docs/interfaces/CommandContext.html +13 -13
  282. package/docs/interfaces/CommandResult.html +13 -13
  283. package/docs/interfaces/ExecStream.html +6 -6
  284. package/docs/interfaces/HoneyPotStats.html +3 -3
  285. package/docs/interfaces/IdleManagerOptions.html +3 -3
  286. package/docs/interfaces/InstalledPackage.html +11 -11
  287. package/docs/interfaces/NanoEditorSession.html +5 -5
  288. package/docs/interfaces/PackageDefinition.html +14 -14
  289. package/docs/interfaces/PackageFile.html +5 -5
  290. package/docs/interfaces/PasswordChallenge.html +9 -9
  291. package/docs/interfaces/RemoveOptions.html +3 -3
  292. package/docs/interfaces/ShellEnv.html +4 -4
  293. package/docs/interfaces/ShellModule.html +8 -8
  294. package/docs/interfaces/ShellProperties.html +5 -5
  295. package/docs/interfaces/ShellStream.html +7 -7
  296. package/docs/interfaces/SudoChallenge.html +9 -9
  297. package/docs/interfaces/VfsBaseNode.html +7 -7
  298. package/docs/interfaces/VfsDiff.html +7 -7
  299. package/docs/interfaces/VfsDiffEntry.html +4 -4
  300. package/docs/interfaces/VfsDiffModified.html +6 -6
  301. package/docs/interfaces/VfsDirectoryNode.html +8 -8
  302. package/docs/interfaces/VfsFileNode.html +9 -9
  303. package/docs/interfaces/VfsOptions.html +6 -6
  304. package/docs/interfaces/VfsSnapshot.html +3 -3
  305. package/docs/interfaces/VfsSnapshotBaseNode.html +4 -4
  306. package/docs/interfaces/VfsSnapshotDirectoryNode.html +5 -5
  307. package/docs/interfaces/VfsSnapshotFileNode.html +6 -6
  308. package/docs/interfaces/VirtualActiveSession.html +7 -7
  309. package/docs/interfaces/VirtualSftpServerOptions.html +3 -3
  310. package/docs/interfaces/VirtualShellVfsLike.html +4 -4
  311. package/docs/interfaces/VirtualShellVfsOptions.html +3 -3
  312. package/docs/interfaces/WriteFileOptions.html +4 -4
  313. package/docs/modules.html +1 -1
  314. package/docs/types/ArgParseOptions.html +3 -3
  315. package/docs/types/CommandMode.html +2 -2
  316. package/docs/types/CommandOutcome.html +2 -2
  317. package/docs/types/IdleState.html +1 -1
  318. package/docs/types/VfsNodeStats.html +2 -2
  319. package/docs/types/VfsNodeType.html +2 -2
  320. package/docs/types/VfsPersistenceMode.html +2 -2
  321. package/docs/types/VfsSnapshotNode.html +2 -2
  322. package/examples/app.js +1755 -28
  323. package/examples/app.ts +299 -0
  324. package/examples/build.js +27 -0
  325. package/examples/demo.html +33 -0
  326. package/examples/index.html +68 -13
  327. package/package.json +3 -2
  328. package/polyfills/buffer.js +117 -0
  329. package/polyfills/node_crypto/index.js +167 -7
  330. package/polyfills/node_fs/index.js +202 -8
  331. package/polyfills/node_path/index.js +23 -9
  332. package/polyfills/process.js +14 -0
  333. package/polyfills/ssh2/index.js +75 -0
  334. package/scripts/build-all.mjs +77 -49
  335. package/scripts/build-names.mjs +2 -3
  336. package/src/VirtualPackageManager/index.ts +6 -7
  337. package/src/VirtualShell/index.ts +5 -2
  338. package/tsconfig.json +6 -3
  339. package/typedoc.json +4 -2
  340. package/builds/fortune-nyx-v1.5.1-web-full.min.js +0 -12
  341. package/dist/Honeypot/index.d.ts.map +0 -1
  342. package/dist/Honeypot/index.js.map +0 -1
  343. package/dist/SSHClient/index.d.ts.map +0 -1
  344. package/dist/SSHClient/index.js.map +0 -1
  345. package/dist/SSHMimic/exec.d.ts.map +0 -1
  346. package/dist/SSHMimic/exec.js.map +0 -1
  347. package/dist/SSHMimic/executor.d.ts.map +0 -1
  348. package/dist/SSHMimic/executor.js.map +0 -1
  349. package/dist/SSHMimic/hostKey.d.ts.map +0 -1
  350. package/dist/SSHMimic/hostKey.js.map +0 -1
  351. package/dist/SSHMimic/index.d.ts.map +0 -1
  352. package/dist/SSHMimic/index.js.map +0 -1
  353. package/dist/SSHMimic/loginBanner.d.ts.map +0 -1
  354. package/dist/SSHMimic/loginBanner.js.map +0 -1
  355. package/dist/SSHMimic/loginFormat.d.ts.map +0 -1
  356. package/dist/SSHMimic/loginFormat.js.map +0 -1
  357. package/dist/SSHMimic/prompt.d.ts.map +0 -1
  358. package/dist/SSHMimic/prompt.js.map +0 -1
  359. package/dist/SSHMimic/sftp.d.ts.map +0 -1
  360. package/dist/SSHMimic/sftp.js.map +0 -1
  361. package/dist/VirtualFileSystem/binaryPack.d.ts.map +0 -1
  362. package/dist/VirtualFileSystem/binaryPack.js.map +0 -1
  363. package/dist/VirtualFileSystem/index.d.ts.map +0 -1
  364. package/dist/VirtualFileSystem/index.js.map +0 -1
  365. package/dist/VirtualFileSystem/internalTypes.d.ts.map +0 -1
  366. package/dist/VirtualFileSystem/internalTypes.js.map +0 -1
  367. package/dist/VirtualFileSystem/journal.d.ts.map +0 -1
  368. package/dist/VirtualFileSystem/journal.js.map +0 -1
  369. package/dist/VirtualFileSystem/path.d.ts.map +0 -1
  370. package/dist/VirtualFileSystem/path.js.map +0 -1
  371. package/dist/VirtualPackageManager/index.d.ts.map +0 -1
  372. package/dist/VirtualPackageManager/index.js.map +0 -1
  373. package/dist/VirtualShell/idleManager.d.ts.map +0 -1
  374. package/dist/VirtualShell/idleManager.js.map +0 -1
  375. package/dist/VirtualShell/index.d.ts.map +0 -1
  376. package/dist/VirtualShell/index.js.map +0 -1
  377. package/dist/VirtualShell/shell.d.ts.map +0 -1
  378. package/dist/VirtualShell/shell.js.map +0 -1
  379. package/dist/VirtualShell/shellParser.d.ts.map +0 -1
  380. package/dist/VirtualShell/shellParser.js.map +0 -1
  381. package/dist/VirtualUserManager/index.d.ts.map +0 -1
  382. package/dist/VirtualUserManager/index.js.map +0 -1
  383. package/dist/commands/adduser.d.ts.map +0 -1
  384. package/dist/commands/adduser.js.map +0 -1
  385. package/dist/commands/alias.d.ts.map +0 -1
  386. package/dist/commands/alias.js.map +0 -1
  387. package/dist/commands/apt.d.ts.map +0 -1
  388. package/dist/commands/apt.js.map +0 -1
  389. package/dist/commands/awk.d.ts.map +0 -1
  390. package/dist/commands/awk.js.map +0 -1
  391. package/dist/commands/base64.d.ts.map +0 -1
  392. package/dist/commands/base64.js.map +0 -1
  393. package/dist/commands/cat.d.ts.map +0 -1
  394. package/dist/commands/cat.js.map +0 -1
  395. package/dist/commands/cd.d.ts.map +0 -1
  396. package/dist/commands/cd.js.map +0 -1
  397. package/dist/commands/chmod.d.ts.map +0 -1
  398. package/dist/commands/chmod.js.map +0 -1
  399. package/dist/commands/clear.d.ts.map +0 -1
  400. package/dist/commands/clear.js.map +0 -1
  401. package/dist/commands/command-helpers.d.ts.map +0 -1
  402. package/dist/commands/command-helpers.js.map +0 -1
  403. package/dist/commands/cp.d.ts.map +0 -1
  404. package/dist/commands/cp.js.map +0 -1
  405. package/dist/commands/curl.d.ts.map +0 -1
  406. package/dist/commands/curl.js.map +0 -1
  407. package/dist/commands/cut.d.ts.map +0 -1
  408. package/dist/commands/cut.js.map +0 -1
  409. package/dist/commands/date.d.ts.map +0 -1
  410. package/dist/commands/date.js.map +0 -1
  411. package/dist/commands/declare.d.ts.map +0 -1
  412. package/dist/commands/declare.js.map +0 -1
  413. package/dist/commands/deluser.d.ts.map +0 -1
  414. package/dist/commands/deluser.js.map +0 -1
  415. package/dist/commands/df.d.ts.map +0 -1
  416. package/dist/commands/df.js.map +0 -1
  417. package/dist/commands/diff.d.ts.map +0 -1
  418. package/dist/commands/diff.js.map +0 -1
  419. package/dist/commands/dpkg.d.ts.map +0 -1
  420. package/dist/commands/dpkg.js.map +0 -1
  421. package/dist/commands/du.d.ts.map +0 -1
  422. package/dist/commands/du.js.map +0 -1
  423. package/dist/commands/echo.d.ts.map +0 -1
  424. package/dist/commands/echo.js.map +0 -1
  425. package/dist/commands/env.d.ts.map +0 -1
  426. package/dist/commands/env.js.map +0 -1
  427. package/dist/commands/exit.d.ts.map +0 -1
  428. package/dist/commands/exit.js.map +0 -1
  429. package/dist/commands/export.d.ts.map +0 -1
  430. package/dist/commands/export.js.map +0 -1
  431. package/dist/commands/find.d.ts.map +0 -1
  432. package/dist/commands/find.js.map +0 -1
  433. package/dist/commands/free.d.ts.map +0 -1
  434. package/dist/commands/free.js.map +0 -1
  435. package/dist/commands/grep.d.ts.map +0 -1
  436. package/dist/commands/grep.js.map +0 -1
  437. package/dist/commands/groups.d.ts.map +0 -1
  438. package/dist/commands/groups.js.map +0 -1
  439. package/dist/commands/gzip.d.ts.map +0 -1
  440. package/dist/commands/gzip.js.map +0 -1
  441. package/dist/commands/head.d.ts.map +0 -1
  442. package/dist/commands/head.js.map +0 -1
  443. package/dist/commands/help.d.ts.map +0 -1
  444. package/dist/commands/help.js.map +0 -1
  445. package/dist/commands/helpers.d.ts.map +0 -1
  446. package/dist/commands/helpers.js.map +0 -1
  447. package/dist/commands/history.d.ts.map +0 -1
  448. package/dist/commands/history.js.map +0 -1
  449. package/dist/commands/hostname.d.ts.map +0 -1
  450. package/dist/commands/hostname.js.map +0 -1
  451. package/dist/commands/htop.d.ts.map +0 -1
  452. package/dist/commands/htop.js.map +0 -1
  453. package/dist/commands/id.d.ts.map +0 -1
  454. package/dist/commands/id.js.map +0 -1
  455. package/dist/commands/index.d.ts.map +0 -1
  456. package/dist/commands/index.js.map +0 -1
  457. package/dist/commands/kill.d.ts.map +0 -1
  458. package/dist/commands/kill.js.map +0 -1
  459. package/dist/commands/ln.d.ts.map +0 -1
  460. package/dist/commands/ln.js.map +0 -1
  461. package/dist/commands/ls.d.ts.map +0 -1
  462. package/dist/commands/ls.js.map +0 -1
  463. package/dist/commands/lsb-release.d.ts.map +0 -1
  464. package/dist/commands/lsb-release.js.map +0 -1
  465. package/dist/commands/man.d.ts.map +0 -1
  466. package/dist/commands/man.js.map +0 -1
  467. package/dist/commands/manuals-bundle.d.ts.map +0 -1
  468. package/dist/commands/manuals-bundle.js.map +0 -1
  469. package/dist/commands/mkdir.d.ts.map +0 -1
  470. package/dist/commands/mkdir.js.map +0 -1
  471. package/dist/commands/mv.d.ts.map +0 -1
  472. package/dist/commands/mv.js.map +0 -1
  473. package/dist/commands/nano.d.ts.map +0 -1
  474. package/dist/commands/nano.js.map +0 -1
  475. package/dist/commands/neofetch.d.ts.map +0 -1
  476. package/dist/commands/neofetch.js.map +0 -1
  477. package/dist/commands/node.d.ts.map +0 -1
  478. package/dist/commands/node.js.map +0 -1
  479. package/dist/commands/npm.d.ts.map +0 -1
  480. package/dist/commands/npm.js.map +0 -1
  481. package/dist/commands/passwd.d.ts.map +0 -1
  482. package/dist/commands/passwd.js.map +0 -1
  483. package/dist/commands/ping.d.ts.map +0 -1
  484. package/dist/commands/ping.js.map +0 -1
  485. package/dist/commands/printf.d.ts.map +0 -1
  486. package/dist/commands/printf.js.map +0 -1
  487. package/dist/commands/ps.d.ts.map +0 -1
  488. package/dist/commands/ps.js.map +0 -1
  489. package/dist/commands/pwd.d.ts.map +0 -1
  490. package/dist/commands/pwd.js.map +0 -1
  491. package/dist/commands/python.d.ts.map +0 -1
  492. package/dist/commands/python.js.map +0 -1
  493. package/dist/commands/read.d.ts.map +0 -1
  494. package/dist/commands/read.js.map +0 -1
  495. package/dist/commands/registry.d.ts.map +0 -1
  496. package/dist/commands/registry.js.map +0 -1
  497. package/dist/commands/rm.d.ts.map +0 -1
  498. package/dist/commands/rm.js.map +0 -1
  499. package/dist/commands/runtime.d.ts.map +0 -1
  500. package/dist/commands/runtime.js.map +0 -1
  501. package/dist/commands/sed.d.ts.map +0 -1
  502. package/dist/commands/sed.js.map +0 -1
  503. package/dist/commands/seq.d.ts.map +0 -1
  504. package/dist/commands/seq.js.map +0 -1
  505. package/dist/commands/set.d.ts.map +0 -1
  506. package/dist/commands/set.js.map +0 -1
  507. package/dist/commands/sh.d.ts.map +0 -1
  508. package/dist/commands/sh.js.map +0 -1
  509. package/dist/commands/shift.d.ts.map +0 -1
  510. package/dist/commands/shift.js.map +0 -1
  511. package/dist/commands/sleep.d.ts.map +0 -1
  512. package/dist/commands/sleep.js.map +0 -1
  513. package/dist/commands/sort.d.ts.map +0 -1
  514. package/dist/commands/sort.js.map +0 -1
  515. package/dist/commands/source.d.ts.map +0 -1
  516. package/dist/commands/source.js.map +0 -1
  517. package/dist/commands/stat.d.ts.map +0 -1
  518. package/dist/commands/stat.js.map +0 -1
  519. package/dist/commands/su.d.ts.map +0 -1
  520. package/dist/commands/su.js.map +0 -1
  521. package/dist/commands/sudo.d.ts.map +0 -1
  522. package/dist/commands/sudo.js.map +0 -1
  523. package/dist/commands/tail.d.ts.map +0 -1
  524. package/dist/commands/tail.js.map +0 -1
  525. package/dist/commands/tar.d.ts.map +0 -1
  526. package/dist/commands/tar.js.map +0 -1
  527. package/dist/commands/tee.d.ts.map +0 -1
  528. package/dist/commands/tee.js.map +0 -1
  529. package/dist/commands/test.d.ts.map +0 -1
  530. package/dist/commands/test.js.map +0 -1
  531. package/dist/commands/touch.d.ts.map +0 -1
  532. package/dist/commands/touch.js.map +0 -1
  533. package/dist/commands/tr.d.ts.map +0 -1
  534. package/dist/commands/tr.js.map +0 -1
  535. package/dist/commands/tree.d.ts.map +0 -1
  536. package/dist/commands/tree.js.map +0 -1
  537. package/dist/commands/true.d.ts.map +0 -1
  538. package/dist/commands/true.js.map +0 -1
  539. package/dist/commands/type.d.ts.map +0 -1
  540. package/dist/commands/type.js.map +0 -1
  541. package/dist/commands/uname.d.ts.map +0 -1
  542. package/dist/commands/uname.js.map +0 -1
  543. package/dist/commands/uniq.d.ts.map +0 -1
  544. package/dist/commands/uniq.js.map +0 -1
  545. package/dist/commands/unset.d.ts.map +0 -1
  546. package/dist/commands/unset.js.map +0 -1
  547. package/dist/commands/uptime.d.ts.map +0 -1
  548. package/dist/commands/uptime.js.map +0 -1
  549. package/dist/commands/wc.d.ts.map +0 -1
  550. package/dist/commands/wc.js.map +0 -1
  551. package/dist/commands/wget.d.ts.map +0 -1
  552. package/dist/commands/wget.js.map +0 -1
  553. package/dist/commands/which.d.ts.map +0 -1
  554. package/dist/commands/which.js.map +0 -1
  555. package/dist/commands/who.d.ts.map +0 -1
  556. package/dist/commands/who.js.map +0 -1
  557. package/dist/commands/whoami.d.ts.map +0 -1
  558. package/dist/commands/whoami.js.map +0 -1
  559. package/dist/commands/xargs.d.ts.map +0 -1
  560. package/dist/commands/xargs.js.map +0 -1
  561. package/dist/index.d.ts.map +0 -1
  562. package/dist/index.js.map +0 -1
  563. package/dist/modules/linuxRootfs.d.ts.map +0 -1
  564. package/dist/modules/linuxRootfs.js.map +0 -1
  565. package/dist/modules/neofetch.d.ts.map +0 -1
  566. package/dist/modules/neofetch.js.map +0 -1
  567. package/dist/modules/shellInteractive.d.ts.map +0 -1
  568. package/dist/modules/shellInteractive.js.map +0 -1
  569. package/dist/modules/shellRuntime.d.ts.map +0 -1
  570. package/dist/modules/shellRuntime.js.map +0 -1
  571. package/dist/self-standalone.d.ts.map +0 -1
  572. package/dist/self-standalone.js.map +0 -1
  573. package/dist/standalone-wo-sftp.d.ts.map +0 -1
  574. package/dist/standalone-wo-sftp.js.map +0 -1
  575. package/dist/standalone.d.ts.map +0 -1
  576. package/dist/standalone.js.map +0 -1
  577. package/dist/types/commands.d.ts.map +0 -1
  578. package/dist/types/commands.js.map +0 -1
  579. package/dist/types/pipeline.d.ts.map +0 -1
  580. package/dist/types/pipeline.js.map +0 -1
  581. package/dist/types/streams.d.ts.map +0 -1
  582. package/dist/types/streams.js.map +0 -1
  583. package/dist/types/vfs.d.ts.map +0 -1
  584. package/dist/types/vfs.js.map +0 -1
  585. package/dist/utils/expand.d.ts.map +0 -1
  586. package/dist/utils/expand.js.map +0 -1
  587. package/dist/utils/perfLogger.d.ts.map +0 -1
  588. package/dist/utils/perfLogger.js.map +0 -1
  589. package/dist/utils/tokenize.d.ts.map +0 -1
  590. package/dist/utils/tokenize.js.map +0 -1
  591. package/dist/utils/vfsDiff.d.ts.map +0 -1
  592. package/dist/utils/vfsDiff.js.map +0 -1
  593. package/dist/web-api.d.ts +0 -26
  594. package/dist/web-api.d.ts.map +0 -1
  595. package/dist/web-api.js +0 -47
  596. package/dist/web-api.js.map +0 -1
  597. package/dist/web-full.d.ts +0 -4
  598. package/dist/web-full.d.ts.map +0 -1
  599. package/dist/web-full.js +0 -9
  600. package/dist/web-full.js.map +0 -1
  601. package/dist/web.d.ts +0 -108
  602. package/dist/web.d.ts.map +0 -1
  603. package/dist/web.js +0 -774
  604. package/dist/web.js.map +0 -1
  605. package/examples/app-iife.js +0 -58
  606. package/examples/index-cf.html +0 -27
  607. package/examples/web-iife.min.js +0 -13
  608. package/examples/web.min.js +0 -12
  609. package/src/web-api.ts +0 -62
  610. package/src/web-full.ts +0 -11
  611. package/src/web.ts +0 -930
  612. package/tests/web.test.ts +0 -182
package/tests/web.test.ts DELETED
@@ -1,182 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, test } from "bun:test";
2
- import { createWebShell } from "../src/web";
3
-
4
- type Listener = () => void;
5
-
6
- class MockRequest<T> {
7
- public result: T;
8
- public error: unknown = null;
9
- private readonly listeners = new Map<string, Listener[]>();
10
-
11
- constructor(result: T) {
12
- this.result = result;
13
- }
14
-
15
- addEventListener(
16
- type: "success" | "error" | "complete" | "abort" | "upgradeneeded",
17
- listener: Listener,
18
- ): void {
19
- const bucket = this.listeners.get(type) ?? [];
20
- bucket.push(listener);
21
- this.listeners.set(type, bucket);
22
- }
23
-
24
- emit(type: "success" | "error" | "complete" | "abort" | "upgradeneeded"): void {
25
- for (const listener of this.listeners.get(type) ?? []) {
26
- listener();
27
- }
28
- }
29
- }
30
-
31
- class MockTransaction {
32
- public error: unknown = null;
33
- private readonly listeners = new Map<string, Listener[]>();
34
-
35
- constructor(private readonly store: Map<string, string>) {}
36
-
37
- objectStore(_name: string): {
38
- get(key: string): MockRequest<string | undefined>;
39
- put(value: string, key: string): MockRequest<unknown>;
40
- } {
41
- return {
42
- get: (key: string) => {
43
- const request = new MockRequest<string | undefined>(this.store.get(key));
44
- setTimeout(() => request.emit("success"), 0);
45
- return request;
46
- },
47
- put: (value: string, key: string) => {
48
- const request = new MockRequest<unknown>(undefined);
49
- setTimeout(() => {
50
- this.store.set(key, value);
51
- request.emit("success");
52
- setTimeout(() => {
53
- for (const listener of this.listeners.get("complete") ?? []) {
54
- listener();
55
- }
56
- }, 0);
57
- }, 0);
58
- return request;
59
- },
60
- };
61
- }
62
-
63
- addEventListener(type: "complete" | "error" | "abort", listener: Listener): void {
64
- const bucket = this.listeners.get(type) ?? [];
65
- bucket.push(listener);
66
- this.listeners.set(type, bucket);
67
- }
68
- }
69
-
70
- class MockDatabase {
71
- public readonly objectStoreNames = {
72
- contains: (name: string) => this.stores.has(name),
73
- };
74
-
75
- constructor(private readonly stores: Map<string, Map<string, string>>) {}
76
-
77
- createObjectStore(name: string): unknown {
78
- if (!this.stores.has(name)) {
79
- this.stores.set(name, new Map());
80
- }
81
- return {};
82
- }
83
-
84
- transaction(name: string, _mode: "readonly" | "readwrite"): MockTransaction {
85
- const store = this.stores.get(name) ?? new Map<string, string>();
86
- this.stores.set(name, store);
87
- return new MockTransaction(store);
88
- }
89
-
90
- close(): void {}
91
- }
92
-
93
- class MockOpenRequest {
94
- public readonly result: MockDatabase;
95
- public error: unknown = null;
96
- private readonly listeners = new Map<string, Listener[]>();
97
-
98
- constructor(result: MockDatabase) {
99
- this.result = result;
100
- setTimeout(() => {
101
- for (const listener of this.listeners.get("upgradeneeded") ?? []) {
102
- listener();
103
- }
104
- for (const listener of this.listeners.get("success") ?? []) {
105
- listener();
106
- }
107
- }, 0);
108
- }
109
-
110
- addEventListener(type: "upgradeneeded" | "success" | "error", listener: Listener): void {
111
- const bucket = this.listeners.get(type) ?? [];
112
- bucket.push(listener);
113
- this.listeners.set(type, bucket);
114
- }
115
- }
116
-
117
- class MockIndexedDbFactory {
118
- private readonly databases = new Map<string, MockDatabase>();
119
-
120
- open(name: string, _version = 1): MockOpenRequest {
121
- const database = this.databases.get(name) ?? new MockDatabase(new Map());
122
- this.databases.set(name, database);
123
- return new MockOpenRequest(database);
124
- }
125
- }
126
-
127
- const originalIndexedDb = Reflect.get(globalThis, "indexedDB");
128
- const factory = new MockIndexedDbFactory();
129
-
130
- beforeEach(() => {
131
- Reflect.set(globalThis, "indexedDB", factory);
132
- });
133
-
134
- afterEach(() => {
135
- Reflect.set(globalThis, "indexedDB", originalIndexedDb);
136
- });
137
-
138
- describe("web shell", () => {
139
- test("executes basic commands", async () => {
140
- const shell = createWebShell("web-test", { vfs: { databaseName: "web-test-basic" } });
141
- await shell.ensureInitialized();
142
-
143
- const pwd = await shell.executeCommandLine("pwd", false);
144
- expect(pwd.exitCode).toBe(0);
145
- expect(pwd.stdout?.trim()).toBe("/home/root");
146
-
147
- const echo = await shell.executeCommandLine("echo hello", false);
148
- expect(echo.exitCode).toBe(0);
149
- expect(echo.stdout).toBe("hello\n");
150
- });
151
-
152
- test("supports pipes and redirections", async () => {
153
- const shell = createWebShell("web-test", { vfs: { databaseName: "web-test-pipes" } });
154
- await shell.ensureInitialized();
155
-
156
- const piped = await shell.executeCommandLine("echo hello | cat", false);
157
- expect(piped.exitCode).toBe(0);
158
- expect(piped.stdout).toContain("hello");
159
-
160
- const redirected = await shell.executeCommandLine("echo stored > /tmp/web-shell.txt", false);
161
- expect(redirected.exitCode).toBe(0);
162
-
163
- const cat = await shell.executeCommandLine("cat /tmp/web-shell.txt", false);
164
- expect(cat.exitCode).toBe(0);
165
- expect(cat.stdout).toBe("stored\n");
166
- });
167
-
168
- test("persists snapshot through indexeddb", async () => {
169
- const databaseName = "web-test-persist";
170
- const firstShell = createWebShell("web-test", { vfs: { databaseName } });
171
- await firstShell.ensureInitialized();
172
- await firstShell.executeCommandLine("echo persisted > /tmp/persisted.txt", false);
173
- await firstShell.vfs.flushMirror();
174
-
175
- const secondShell = createWebShell("web-test", { vfs: { databaseName } });
176
- await secondShell.ensureInitialized();
177
- const cat = await secondShell.executeCommandLine("cat /tmp/persisted.txt", false);
178
-
179
- expect(cat.exitCode).toBe(0);
180
- expect(cat.stdout).toBe("persisted\n");
181
- });
182
- });