@eclipse-docks/extension-linuxterminal 0.7.68
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.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/linuxterminal-Bv55CZiY.js +79 -0
- package/dist/linuxterminal-Bv55CZiY.js.map +1 -0
- package/dist/linuxterminal.d.ts +13 -0
- package/dist/linuxterminal.d.ts.map +1 -0
- package/package.json +33 -0
|
@@ -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.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { extensionRegistry, i18n } from "@eclipse-docks/core";
|
|
2
|
+
import pkg from "../package.json";
|
|
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);
|
|
8
|
+
extensionRegistry.registerExtension({
|
|
9
|
+
id: pkg.name,
|
|
10
|
+
name: t.EXT_LINUXTERMINAL_NAME,
|
|
11
|
+
description: t.EXT_LINUXTERMINAL_DESC,
|
|
12
|
+
loader: () => import("./linuxterminal-Bv55CZiY.js"),
|
|
13
|
+
icon: "terminal",
|
|
14
|
+
experimental: true
|
|
15
|
+
});
|
|
16
|
+
//#endregion
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { extensionRegistry, i18n } from '@eclipse-docks/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 { DocksElement } from "@eclipse-docks/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 DocksLinuxTerminal = class DocksLinuxTerminal extends DocksElement {
|
|
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
|
+
DocksLinuxTerminal = _decorate([customElement("docks-linux-terminal")], DocksLinuxTerminal);
|
|
76
|
+
//#endregion
|
|
77
|
+
export { DocksLinuxTerminal };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=linuxterminal-Bv55CZiY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linuxterminal-Bv55CZiY.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 {DocksElement} from \"@eclipse-docks/core\";\n\n// @ts-ignore\nconst CheerpX = window.CheerpX;\n\n@customElement('docks-linux-terminal')\nexport class DocksLinuxTerminal extends DocksElement {\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 'docks-linux-terminal': DocksLinuxTerminal\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAM,UAAU,OAAO;AAGhB,IAAA,qBAAA,MAAM,2BAA2B,aAAa;;;oBAC5B,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;;;gCAlET,cAAc,uBAAuB,CAAA,EAAA,mBAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DocksElement } from '@eclipse-docks/core';
|
|
2
|
+
export declare class DocksLinuxTerminal extends DocksElement {
|
|
3
|
+
private consoleRef;
|
|
4
|
+
protected doInitUI(): Promise<void>;
|
|
5
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
6
|
+
static styles: import('lit').CSSResult[];
|
|
7
|
+
}
|
|
8
|
+
declare global {
|
|
9
|
+
interface HTMLElementTagNameMap {
|
|
10
|
+
'docks-linux-terminal': DocksLinuxTerminal;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=linuxterminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linuxterminal.d.ts","sourceRoot":"","sources":["../src/linuxterminal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAKjD,qBACa,kBAAmB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAc;cAEhB,QAAQ;IA8CxB,MAAM;IAMN,MAAM,CAAC,MAAM,4BAUP;CACT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAA;KAC7C;CACJ"}
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@eclipse-docks/extension-linuxterminal",
|
|
3
|
+
"version": "0.7.68",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@eclipse-docks/core": "*",
|
|
14
|
+
"@xterm/xterm": "^5.5.0"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"typescript": "^6.0.0",
|
|
18
|
+
"vite": "^8.0.0",
|
|
19
|
+
"vite-plugin-dts": "^4.5.4"
|
|
20
|
+
},
|
|
21
|
+
"module": "./dist/index.js",
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"files": [
|
|
24
|
+
"dist"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "vite build"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/eclipse-docks/core"
|
|
32
|
+
}
|
|
33
|
+
}
|