@eclipse-lyra/extension-linuxterminal 0.7.57 → 0.7.58
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/i18n.de-CvJHtYUb.js +11 -0
- package/dist/i18n.de-CvJHtYUb.js.map +1 -0
- package/dist/i18n.en-xxZwzQa1.js +11 -0
- package/dist/i18n.en-xxZwzQa1.js.map +1 -0
- package/dist/index.js +15 -9
- package/dist/index.js.map +1 -1
- package/dist/linuxterminal-NdqzhGa_.js +79 -0
- package/dist/linuxterminal-NdqzhGa_.js.map +1 -0
- package/package.json +3 -3
- package/dist/i18n.de-DCxnzHzb.js +0 -12
- package/dist/i18n.de-DCxnzHzb.js.map +0 -1
- package/dist/i18n.en-ALoq5MWB.js +0 -12
- package/dist/i18n.en-ALoq5MWB.js.map +0 -1
- package/dist/linuxterminal-CNzBkP2x.js +0 -80
- package/dist/linuxterminal-CNzBkP2x.js.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/i18n.de.json
|
|
2
|
+
var EXT_LINUXTERMINAL_NAME = "Linux-Terminal";
|
|
3
|
+
var EXT_LINUXTERMINAL_DESC = "Linux-Terminalansicht";
|
|
4
|
+
var i18n_de_default = {
|
|
5
|
+
EXT_LINUXTERMINAL_NAME,
|
|
6
|
+
EXT_LINUXTERMINAL_DESC
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { EXT_LINUXTERMINAL_DESC, EXT_LINUXTERMINAL_NAME, i18n_de_default as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=i18n.de-CvJHtYUb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.de-CvJHtYUb.js","names":[],"sources":["../src/i18n.de.json"],"sourcesContent":["{\n \"EXT_LINUXTERMINAL_NAME\": \"Linux-Terminal\",\n \"EXT_LINUXTERMINAL_DESC\": \"Linux-Terminalansicht\"\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/i18n.en.json
|
|
2
|
+
var EXT_LINUXTERMINAL_NAME = "Linux terminal";
|
|
3
|
+
var EXT_LINUXTERMINAL_DESC = "Linux terminal view";
|
|
4
|
+
var i18n_en_default = {
|
|
5
|
+
EXT_LINUXTERMINAL_NAME,
|
|
6
|
+
EXT_LINUXTERMINAL_DESC
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { EXT_LINUXTERMINAL_DESC, EXT_LINUXTERMINAL_NAME, i18n_en_default as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=i18n.en-xxZwzQa1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.en-xxZwzQa1.js","names":[],"sources":["../src/i18n.en.json"],"sourcesContent":["{\n \"EXT_LINUXTERMINAL_NAME\": \"Linux terminal\",\n \"EXT_LINUXTERMINAL_DESC\": \"Linux terminal view\"\n}\n"],"mappings":""}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { extensionRegistry, i18n } from "@eclipse-lyra/core";
|
|
2
2
|
import pkg from "../package.json";
|
|
3
|
-
|
|
3
|
+
//#region src/index.ts
|
|
4
|
+
var t = await i18n(/* @__PURE__ */ Object.assign({
|
|
5
|
+
"./i18n.de.json": () => import("./i18n.de-CvJHtYUb.js"),
|
|
6
|
+
"./i18n.en.json": () => import("./i18n.en-xxZwzQa1.js")
|
|
7
|
+
}), true);
|
|
4
8
|
extensionRegistry.registerExtension({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
id: pkg.name,
|
|
10
|
+
name: t.EXT_LINUXTERMINAL_NAME,
|
|
11
|
+
description: t.EXT_LINUXTERMINAL_DESC,
|
|
12
|
+
loader: () => import("./linuxterminal-NdqzhGa_.js"),
|
|
13
|
+
icon: "terminal",
|
|
14
|
+
experimental: true
|
|
11
15
|
});
|
|
12
|
-
//#
|
|
16
|
+
//#endregion
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { extensionRegistry, i18n } from '@eclipse-lyra/core';\nimport pkg from '../package.json';\n\nconst t = await i18n(import.meta.glob('./i18n*.json'), true);\n\nextensionRegistry.registerExtension({\n id: pkg.name,\n name: t.EXT_LINUXTERMINAL_NAME,\n description: t.EXT_LINUXTERMINAL_DESC,\n loader: () => import(\"./linuxterminal\"),\n icon: \"terminal\",\n experimental: true,\n\n});\n"],"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { extensionRegistry, i18n } from '@eclipse-lyra/core';\nimport pkg from '../package.json';\n\nconst t = await i18n(import.meta.glob('./i18n*.json'), true);\n\nextensionRegistry.registerExtension({\n id: pkg.name,\n name: t.EXT_LINUXTERMINAL_NAME,\n description: t.EXT_LINUXTERMINAL_DESC,\n loader: () => import(\"./linuxterminal\"),\n icon: \"terminal\",\n experimental: true,\n\n});\n"],"mappings":";;;AAGA,IAAM,IAAI,MAAM,KAAK,uBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,CAAgC,EAAE,KAAK;AAE5D,kBAAkB,kBAAkB;CAClC,IAAI,IAAI;CACR,MAAM,EAAE;CACR,aAAa,EAAE;CACf,cAAc,OAAO;CACrB,MAAM;CACN,cAAc;CAEf,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { LyraElement } from "@eclipse-lyra/core";
|
|
2
|
+
import { css, html, unsafeCSS } from "lit";
|
|
3
|
+
import { customElement } from "lit/decorators.js";
|
|
4
|
+
import { createRef, ref } from "lit/directives/ref.js";
|
|
5
|
+
import styles from "@xterm/xterm/css/xterm.css?raw";
|
|
6
|
+
import _decorate from "@oxc-project/runtime/helpers/decorate";
|
|
7
|
+
//#region src/linuxterminal.ts
|
|
8
|
+
var CheerpX = window.CheerpX;
|
|
9
|
+
var LyraLinuxTerminal = class LyraLinuxTerminal extends LyraElement {
|
|
10
|
+
constructor(..._args) {
|
|
11
|
+
super(..._args);
|
|
12
|
+
this.consoleRef = createRef();
|
|
13
|
+
}
|
|
14
|
+
async doInitUI() {
|
|
15
|
+
const cloudDevice = await CheerpX.CloudDevice.create("wss://disks.webvm.io/debian_large_20230522_5044875331.ext2");
|
|
16
|
+
const idbDevice = await CheerpX.IDBDevice.create("block1");
|
|
17
|
+
const overlayDevice = await CheerpX.OverlayDevice.create(cloudDevice, idbDevice);
|
|
18
|
+
const webDevice = await CheerpX.WebDevice.create("");
|
|
19
|
+
const dataDevice = await CheerpX.DataDevice.create();
|
|
20
|
+
const cx = await CheerpX.Linux.create({ mounts: [
|
|
21
|
+
{
|
|
22
|
+
type: "ext2",
|
|
23
|
+
path: "/",
|
|
24
|
+
dev: overlayDevice
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: "dir",
|
|
28
|
+
path: "/app",
|
|
29
|
+
dev: webDevice
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: "dir",
|
|
33
|
+
path: "/data",
|
|
34
|
+
dev: dataDevice
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: "devs",
|
|
38
|
+
path: "/dev"
|
|
39
|
+
}
|
|
40
|
+
] });
|
|
41
|
+
cx.setConsole(this.consoleRef.value);
|
|
42
|
+
await cx.run("/bin/bash", ["--login"], {
|
|
43
|
+
env: [
|
|
44
|
+
"HOME=/home/user",
|
|
45
|
+
"HOME=/home/user",
|
|
46
|
+
"USER=user",
|
|
47
|
+
"SHELL=/bin/bash",
|
|
48
|
+
"EDITOR=vim",
|
|
49
|
+
"LANG=en_US.UTF-8",
|
|
50
|
+
"LC_ALL=C"
|
|
51
|
+
],
|
|
52
|
+
cwd: "/home/user",
|
|
53
|
+
uid: 1e3,
|
|
54
|
+
gid: 1e3
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
render() {
|
|
58
|
+
return html`
|
|
59
|
+
<pre class="console" ${ref(this.consoleRef)}></pre>
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
static {
|
|
63
|
+
this.styles = [unsafeCSS(styles), css`
|
|
64
|
+
:host {
|
|
65
|
+
display: flex;
|
|
66
|
+
flex: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
pre.console {
|
|
70
|
+
flex: 1;
|
|
71
|
+
}
|
|
72
|
+
`];
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
LyraLinuxTerminal = _decorate([customElement("lyra-linux-terminal")], LyraLinuxTerminal);
|
|
76
|
+
//#endregion
|
|
77
|
+
export { LyraLinuxTerminal };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=linuxterminal-NdqzhGa_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linuxterminal-NdqzhGa_.js","names":[],"sources":["../src/linuxterminal.ts"],"sourcesContent":["import {css, html, unsafeCSS} from 'lit'\nimport {customElement} from 'lit/decorators.js'\nimport {createRef, ref} from \"lit/directives/ref.js\";\nimport styles from \"@xterm/xterm/css/xterm.css?raw\";\nimport {LyraElement} from \"@eclipse-lyra/core\";\n\n// @ts-ignore\nconst CheerpX = window.CheerpX;\n\n@customElement('lyra-linux-terminal')\nexport class LyraLinuxTerminal extends LyraElement {\n private consoleRef = createRef()\n\n protected async doInitUI() {\n// The read-only disk image from Leaning Technologies' fast cloud backend\n const cloudDevice = await CheerpX.CloudDevice.create(\n \"wss://disks.webvm.io/debian_large_20230522_5044875331.ext2\"\n );\n // Read-write local storage for disk blocks, it is used both as a cache and as persisteny writable storage\n const idbDevice = await CheerpX.IDBDevice.create(\"block1\");\n // A device to overlay the local changes to the disk with the remote read-only image\n const overlayDevice = await CheerpX.OverlayDevice.create(\n cloudDevice,\n idbDevice\n );\n // Direct acces to files in your HTTP server\n const webDevice = await CheerpX.WebDevice.create(\"\");\n // Convenient access to JavaScript binary data and strings\n const dataDevice = await CheerpX.DataDevice.create();\n\n const cx = await CheerpX.Linux.create({\n mounts: [\n {type: \"ext2\", path: \"/\", dev: overlayDevice},\n {type: \"dir\", path: \"/app\", dev: webDevice},\n {type: \"dir\", path: \"/data\", dev: dataDevice},\n {type: \"devs\", path: \"/dev\"},\n ],\n });\n\n // Interact with a console\n cx.setConsole(this.consoleRef.value);\n\n // Run a full-featured shell in your browser.\n await cx.run(\"/bin/bash\", [\"--login\"], {\n env: [\n \"HOME=/home/user\",\n \"HOME=/home/user\",\n \"USER=user\",\n \"SHELL=/bin/bash\",\n \"EDITOR=vim\",\n \"LANG=en_US.UTF-8\",\n \"LC_ALL=C\",\n ],\n cwd: \"/home/user\",\n uid: 1000,\n gid: 1000,\n });\n }\n\n render() {\n return html`\n <pre class=\"console\" ${ref(this.consoleRef)}></pre>\n `;\n }\n\n static styles = [unsafeCSS(styles),\n css`\n :host {\n display: flex;\n flex: 1;\n }\n\n pre.console {\n flex: 1;\n }\n `]\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lyra-linux-terminal': LyraLinuxTerminal\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAM,UAAU,OAAO;AAGhB,IAAA,oBAAA,MAAM,0BAA0B,YAAY;;;oBAC1B,WAAW;;CAEhC,MAAgB,WAAW;EAEvB,MAAM,cAAc,MAAM,QAAQ,YAAY,OAC1C,6DACH;EAED,MAAM,YAAY,MAAM,QAAQ,UAAU,OAAO,SAAS;EAE1D,MAAM,gBAAgB,MAAM,QAAQ,cAAc,OAC9C,aACA,UACH;EAED,MAAM,YAAY,MAAM,QAAQ,UAAU,OAAO,GAAG;EAEpD,MAAM,aAAa,MAAM,QAAQ,WAAW,QAAQ;EAEpD,MAAM,KAAK,MAAM,QAAQ,MAAM,OAAO,EAClC,QAAQ;GACJ;IAAC,MAAM;IAAQ,MAAM;IAAK,KAAK;IAAc;GAC7C;IAAC,MAAM;IAAO,MAAM;IAAQ,KAAK;IAAU;GAC3C;IAAC,MAAM;IAAO,MAAM;IAAS,KAAK;IAAW;GAC7C;IAAC,MAAM;IAAQ,MAAM;IAAO;GAC/B,EACJ,CAAC;AAGF,KAAG,WAAW,KAAK,WAAW,MAAM;AAGpC,QAAM,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE;GACnC,KAAK;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACH;GACD,KAAK;GACL,KAAK;GACL,KAAK;GACR,CAAC;;CAGN,SAAS;AACL,SAAO,IAAI;mCACgB,IAAI,KAAK,WAAW,CAAC;;;;gBAIpC,CAAC,UAAU,OAAO,EAC9B,GAAG;;;;;;;;;UASD;;;+BAlET,cAAc,sBAAsB,CAAA,EAAA,kBAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-lyra/extension-linuxterminal",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.58",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"@xterm/xterm": "^5.5.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"typescript": "^
|
|
18
|
-
"vite": "^
|
|
17
|
+
"typescript": "^6.0.0",
|
|
18
|
+
"vite": "^8.0.0",
|
|
19
19
|
"vite-plugin-dts": "^4.5.4"
|
|
20
20
|
},
|
|
21
21
|
"module": "./dist/index.js",
|
package/dist/i18n.de-DCxnzHzb.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const EXT_LINUXTERMINAL_NAME = "Linux-Terminal";
|
|
2
|
-
const EXT_LINUXTERMINAL_DESC = "Linux-Terminalansicht";
|
|
3
|
-
const i18n_de = {
|
|
4
|
-
EXT_LINUXTERMINAL_NAME,
|
|
5
|
-
EXT_LINUXTERMINAL_DESC
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
EXT_LINUXTERMINAL_DESC,
|
|
9
|
-
EXT_LINUXTERMINAL_NAME,
|
|
10
|
-
i18n_de as default
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=i18n.de-DCxnzHzb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.de-DCxnzHzb.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/dist/i18n.en-ALoq5MWB.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const EXT_LINUXTERMINAL_NAME = "Linux terminal";
|
|
2
|
-
const EXT_LINUXTERMINAL_DESC = "Linux terminal view";
|
|
3
|
-
const i18n_en = {
|
|
4
|
-
EXT_LINUXTERMINAL_NAME,
|
|
5
|
-
EXT_LINUXTERMINAL_DESC
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
EXT_LINUXTERMINAL_DESC,
|
|
9
|
-
EXT_LINUXTERMINAL_NAME,
|
|
10
|
-
i18n_en as default
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=i18n.en-ALoq5MWB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.en-ALoq5MWB.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { html, unsafeCSS, css } from "lit";
|
|
2
|
-
import { customElement } from "lit/decorators.js";
|
|
3
|
-
import { createRef, ref } from "lit/directives/ref.js";
|
|
4
|
-
import styles from "@xterm/xterm/css/xterm.css?raw";
|
|
5
|
-
import { LyraElement } from "@eclipse-lyra/core";
|
|
6
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
8
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
9
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
10
|
-
if (decorator = decorators[i])
|
|
11
|
-
result = decorator(result) || result;
|
|
12
|
-
return result;
|
|
13
|
-
};
|
|
14
|
-
const CheerpX = window.CheerpX;
|
|
15
|
-
let LyraLinuxTerminal = class extends LyraElement {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
this.consoleRef = createRef();
|
|
19
|
-
}
|
|
20
|
-
async doInitUI() {
|
|
21
|
-
const cloudDevice = await CheerpX.CloudDevice.create(
|
|
22
|
-
"wss://disks.webvm.io/debian_large_20230522_5044875331.ext2"
|
|
23
|
-
);
|
|
24
|
-
const idbDevice = await CheerpX.IDBDevice.create("block1");
|
|
25
|
-
const overlayDevice = await CheerpX.OverlayDevice.create(
|
|
26
|
-
cloudDevice,
|
|
27
|
-
idbDevice
|
|
28
|
-
);
|
|
29
|
-
const webDevice = await CheerpX.WebDevice.create("");
|
|
30
|
-
const dataDevice = await CheerpX.DataDevice.create();
|
|
31
|
-
const cx = await CheerpX.Linux.create({
|
|
32
|
-
mounts: [
|
|
33
|
-
{ type: "ext2", path: "/", dev: overlayDevice },
|
|
34
|
-
{ type: "dir", path: "/app", dev: webDevice },
|
|
35
|
-
{ type: "dir", path: "/data", dev: dataDevice },
|
|
36
|
-
{ type: "devs", path: "/dev" }
|
|
37
|
-
]
|
|
38
|
-
});
|
|
39
|
-
cx.setConsole(this.consoleRef.value);
|
|
40
|
-
await cx.run("/bin/bash", ["--login"], {
|
|
41
|
-
env: [
|
|
42
|
-
"HOME=/home/user",
|
|
43
|
-
"HOME=/home/user",
|
|
44
|
-
"USER=user",
|
|
45
|
-
"SHELL=/bin/bash",
|
|
46
|
-
"EDITOR=vim",
|
|
47
|
-
"LANG=en_US.UTF-8",
|
|
48
|
-
"LC_ALL=C"
|
|
49
|
-
],
|
|
50
|
-
cwd: "/home/user",
|
|
51
|
-
uid: 1e3,
|
|
52
|
-
gid: 1e3
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
render() {
|
|
56
|
-
return html`
|
|
57
|
-
<pre class="console" ${ref(this.consoleRef)}></pre>
|
|
58
|
-
`;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
LyraLinuxTerminal.styles = [
|
|
62
|
-
unsafeCSS(styles),
|
|
63
|
-
css`
|
|
64
|
-
:host {
|
|
65
|
-
display: flex;
|
|
66
|
-
flex: 1;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
pre.console {
|
|
70
|
-
flex: 1;
|
|
71
|
-
}
|
|
72
|
-
`
|
|
73
|
-
];
|
|
74
|
-
LyraLinuxTerminal = __decorateClass([
|
|
75
|
-
customElement("lyra-linux-terminal")
|
|
76
|
-
], LyraLinuxTerminal);
|
|
77
|
-
export {
|
|
78
|
-
LyraLinuxTerminal
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=linuxterminal-CNzBkP2x.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linuxterminal-CNzBkP2x.js","sources":["../src/linuxterminal.ts"],"sourcesContent":["import {css, html, unsafeCSS} from 'lit'\nimport {customElement} from 'lit/decorators.js'\nimport {createRef, ref} from \"lit/directives/ref.js\";\nimport styles from \"@xterm/xterm/css/xterm.css?raw\";\nimport {LyraElement} from \"@eclipse-lyra/core\";\n\n// @ts-ignore\nconst CheerpX = window.CheerpX;\n\n@customElement('lyra-linux-terminal')\nexport class LyraLinuxTerminal extends LyraElement {\n private consoleRef = createRef()\n\n protected async doInitUI() {\n// The read-only disk image from Leaning Technologies' fast cloud backend\n const cloudDevice = await CheerpX.CloudDevice.create(\n \"wss://disks.webvm.io/debian_large_20230522_5044875331.ext2\"\n );\n // Read-write local storage for disk blocks, it is used both as a cache and as persisteny writable storage\n const idbDevice = await CheerpX.IDBDevice.create(\"block1\");\n // A device to overlay the local changes to the disk with the remote read-only image\n const overlayDevice = await CheerpX.OverlayDevice.create(\n cloudDevice,\n idbDevice\n );\n // Direct acces to files in your HTTP server\n const webDevice = await CheerpX.WebDevice.create(\"\");\n // Convenient access to JavaScript binary data and strings\n const dataDevice = await CheerpX.DataDevice.create();\n\n const cx = await CheerpX.Linux.create({\n mounts: [\n {type: \"ext2\", path: \"/\", dev: overlayDevice},\n {type: \"dir\", path: \"/app\", dev: webDevice},\n {type: \"dir\", path: \"/data\", dev: dataDevice},\n {type: \"devs\", path: \"/dev\"},\n ],\n });\n\n // Interact with a console\n cx.setConsole(this.consoleRef.value);\n\n // Run a full-featured shell in your browser.\n await cx.run(\"/bin/bash\", [\"--login\"], {\n env: [\n \"HOME=/home/user\",\n \"HOME=/home/user\",\n \"USER=user\",\n \"SHELL=/bin/bash\",\n \"EDITOR=vim\",\n \"LANG=en_US.UTF-8\",\n \"LC_ALL=C\",\n ],\n cwd: \"/home/user\",\n uid: 1000,\n gid: 1000,\n });\n }\n\n render() {\n return html`\n <pre class=\"console\" ${ref(this.consoleRef)}></pre>\n `;\n }\n\n static styles = [unsafeCSS(styles),\n css`\n :host {\n display: flex;\n flex: 1;\n }\n\n pre.console {\n flex: 1;\n }\n `]\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lyra-linux-terminal': LyraLinuxTerminal\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOA,MAAM,UAAU,OAAO;AAGhB,IAAM,oBAAN,cAAgC,YAAY;AAAA,EAA5C,cAAA;AAAA,UAAA,GAAA,SAAA;AACH,SAAQ,aAAa,UAAA;AAAA,EAAU;AAAA,EAE/B,MAAgB,WAAW;AAEvB,UAAM,cAAc,MAAM,QAAQ,YAAY;AAAA,MAC1C;AAAA,IAAA;AAGJ,UAAM,YAAY,MAAM,QAAQ,UAAU,OAAO,QAAQ;AAEzD,UAAM,gBAAgB,MAAM,QAAQ,cAAc;AAAA,MAC9C;AAAA,MACA;AAAA,IAAA;AAGJ,UAAM,YAAY,MAAM,QAAQ,UAAU,OAAO,EAAE;AAEnD,UAAM,aAAa,MAAM,QAAQ,WAAW,OAAA;AAE5C,UAAM,KAAK,MAAM,QAAQ,MAAM,OAAO;AAAA,MAClC,QAAQ;AAAA,QACJ,EAAC,MAAM,QAAQ,MAAM,KAAK,KAAK,cAAA;AAAA,QAC/B,EAAC,MAAM,OAAO,MAAM,QAAQ,KAAK,UAAA;AAAA,QACjC,EAAC,MAAM,OAAO,MAAM,SAAS,KAAK,WAAA;AAAA,QAClC,EAAC,MAAM,QAAQ,MAAM,OAAA;AAAA,MAAM;AAAA,IAC/B,CACH;AAGD,OAAG,WAAW,KAAK,WAAW,KAAK;AAGnC,UAAM,GAAG,IAAI,aAAa,CAAC,SAAS,GAAG;AAAA,MACnC,KAAK;AAAA,QACD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAEJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA,CACR;AAAA,EACL;AAAA,EAEA,SAAS;AACL,WAAO;AAAA,mCACoB,IAAI,KAAK,UAAU,CAAC;AAAA;AAAA,EAEnD;AAaJ;AAlEa,kBAuDF,SAAS;AAAA,EAAC,UAAU,MAAM;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASC;AAjEI,oBAAN,gBAAA;AAAA,EADN,cAAc,qBAAqB;AAAA,GACvB,iBAAA;"}
|