@ecmaos/kernel 0.2.2 → 0.2.3
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/README.md +5 -5
- package/dist/.vite/manifest.json +14 -14
- package/dist/{browser-CH-1j4CC.js → browser-jvtvvRnm.js} +2 -2
- package/dist/{browser-CH-1j4CC.js.map → browser-jvtvvRnm.js.map} +1 -1
- package/dist/{empty-C_utvVBb.js → empty-D1k8eaRb.js} +14 -11
- package/dist/{empty-C_utvVBb.js.map → empty-D1k8eaRb.js.map} +1 -1
- package/dist/{install-vMOoUe2p.js → install-DvXm00-p.js} +2 -2
- package/dist/{install-vMOoUe2p.js.map → install-DvXm00-p.js.map} +1 -1
- package/dist/kernel.js +1 -1
- package/dist/{topbar.min-DTxqjRf-.js → topbar.min-qHiqBD75.js} +2 -2
- package/dist/{topbar.min-DTxqjRf-.js.map → topbar.min-qHiqBD75.js.map} +1 -1
- package/dist/ui.js +1 -1
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
[ecmaOS](https://ecmaos.sh) is a [browser-based operating system kernel](https://global.discourse-cdn.com/spiceworks/original/4X/8/7/b/87b7be8e7e2cd932affe5449dba69dc16e30d721.gif) and suite of applications written primarily in TypeScript, AssemblyScript, and C++. It's the successor of [web3os](https://github.com/web3os-org/kernel).
|
|
10
10
|
|
|
11
|
-
The goal is to create a kernel and supporting apps that tie together modern web technologies and utilities to form an "operating system" that can run on modern browsers, not just to create a "desktop experience". It offers the ability to run a wide variety of apps on top of
|
|
11
|
+
The goal is to create a kernel and supporting apps that tie together modern web technologies and utilities to form an "operating system" that can run on modern browsers, not just to create a "desktop experience". It offers the ability to run a wide variety of apps on top of an already (mostly) sandboxed foundation, offering some measure of security by default as well as rich developer tooling. Its main use case is to provide a consistent environment for running web apps, but it has features that allow for more powerful custom scenarios, such as a platform for custom applications, games, and more.
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -28,7 +28,7 @@ The goal is to create a kernel and supporting apps that tie together modern web
|
|
|
28
28
|
[](https://github.com/ecmaos/ecmaos/pulls?q=is%3Apr+is%3Aclosed)
|
|
29
29
|
|
|
30
30
|
[](https://github.com/ecmaos/ecmaos/stargazers)
|
|
31
|
-
[](https://github.com/ecmaos/ecmaos/
|
|
31
|
+
[](https://github.com/ecmaos/ecmaos/forks)
|
|
32
32
|
[](https://github.com/ecmaos/ecmaos/watchers)
|
|
33
33
|
[](https://github.com/sponsors/mathiscode)
|
|
34
34
|
[](https://github.com/ecmaos/ecmaos/graphs/contributors)
|
|
@@ -67,7 +67,7 @@ The goal is to create a kernel and supporting apps that tie together modern web
|
|
|
67
67
|
- Its default export (or exported `main` function) will be called with the `ProcessEntryParams` object
|
|
68
68
|
- They can be installed from the terminal using the `install` command, e.g. `# install @ecmaos-apps/boilerplate`
|
|
69
69
|
- Run the installed app: `# /usr/bin/boilerplate arg1 arg2` *(absolute path not required)*
|
|
70
|
-
- During development, it can be useful to run a [Verdaccio](https://github.com/verdaccio/verdaccio) server to test local packages
|
|
70
|
+
- During development, it can be useful to run a [Verdaccio](https://github.com/verdaccio/verdaccio) server to test local packages
|
|
71
71
|
- To publish to Verdaccio, run `# npm publish --registry http://localhost:4873` in your app's development environment
|
|
72
72
|
- Then to install from your local registry, run `# install @myscope/mypackage --registry http://localhost:4873`
|
|
73
73
|
|
|
@@ -86,9 +86,9 @@ The goal is to create a kernel and supporting apps that tie together modern web
|
|
|
86
86
|
- Some builtin commands that exist now will be moved into separate apps over time
|
|
87
87
|
|
|
88
88
|
- `Devices`
|
|
89
|
-
- Devices get loaded on boot, e.g.
|
|
89
|
+
- Devices get loaded on boot, e.g. `/dev/bluetooth`, `/dev/random`, `/dev/battery`, etc.
|
|
90
90
|
- A device can support being "run" by a user, e.g. `# /dev/battery status`
|
|
91
|
-
- Devices may also be directly read/written, and will behave accordingly (or have no effect)
|
|
91
|
+
- Devices may also be directly read/written using `fs` methods, and will behave accordingly (or have no effect if not supported)
|
|
92
92
|
- An individual device module can provide multiple device drivers, e.g. `/dev/usb` provides `/dev/usb-mydevice-0001-0002`
|
|
93
93
|
|
|
94
94
|
- `Jaffa`
|
package/dist/.vite/manifest.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_browser-
|
|
3
|
-
"file": "browser-
|
|
2
|
+
"_browser-jvtvvRnm.js": {
|
|
3
|
+
"file": "browser-jvtvvRnm.js",
|
|
4
4
|
"name": "browser",
|
|
5
5
|
"isDynamicEntry": true,
|
|
6
6
|
"imports": [
|
|
7
|
-
"_empty-
|
|
7
|
+
"_empty-D1k8eaRb.js"
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
|
-
"_empty-
|
|
11
|
-
"file": "empty-
|
|
10
|
+
"_empty-D1k8eaRb.js": {
|
|
11
|
+
"file": "empty-D1k8eaRb.js",
|
|
12
12
|
"name": "empty",
|
|
13
13
|
"dynamicImports": [
|
|
14
|
-
"_topbar.min-
|
|
15
|
-
"_browser-
|
|
14
|
+
"_topbar.min-qHiqBD75.js",
|
|
15
|
+
"_browser-jvtvvRnm.js",
|
|
16
16
|
"src/tree/lib/commands/install.ts",
|
|
17
17
|
"node_modules/.pnpm/figlet@1.8.0/node_modules/figlet/importable-fonts/Poison.js"
|
|
18
18
|
]
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"file": "kernel.css",
|
|
22
22
|
"src": "_kernel.css"
|
|
23
23
|
},
|
|
24
|
-
"_topbar.min-
|
|
25
|
-
"file": "topbar.min-
|
|
24
|
+
"_topbar.min-qHiqBD75.js": {
|
|
25
|
+
"file": "topbar.min-qHiqBD75.js",
|
|
26
26
|
"name": "topbar.min",
|
|
27
27
|
"isDynamicEntry": true,
|
|
28
28
|
"imports": [
|
|
29
|
-
"_empty-
|
|
29
|
+
"_empty-D1k8eaRb.js"
|
|
30
30
|
]
|
|
31
31
|
},
|
|
32
32
|
"node_modules/.pnpm/figlet@1.8.0/node_modules/figlet/importable-fonts/Poison.js": {
|
|
@@ -41,16 +41,16 @@
|
|
|
41
41
|
"src": "src/tree/kernel.ts",
|
|
42
42
|
"isEntry": true,
|
|
43
43
|
"imports": [
|
|
44
|
-
"_empty-
|
|
44
|
+
"_empty-D1k8eaRb.js"
|
|
45
45
|
]
|
|
46
46
|
},
|
|
47
47
|
"src/tree/lib/commands/install.ts": {
|
|
48
|
-
"file": "install-
|
|
48
|
+
"file": "install-DvXm00-p.js",
|
|
49
49
|
"name": "install",
|
|
50
50
|
"src": "src/tree/lib/commands/install.ts",
|
|
51
51
|
"isDynamicEntry": true,
|
|
52
52
|
"imports": [
|
|
53
|
-
"_empty-
|
|
53
|
+
"_empty-D1k8eaRb.js"
|
|
54
54
|
]
|
|
55
55
|
},
|
|
56
56
|
"src/ui.ts": {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"src": "src/ui.ts",
|
|
60
60
|
"isEntry": true,
|
|
61
61
|
"imports": [
|
|
62
|
-
"_empty-
|
|
62
|
+
"_empty-D1k8eaRb.js"
|
|
63
63
|
]
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from "./empty-
|
|
1
|
+
import { g as getDefaultExportFromCjs } from "./empty-D1k8eaRb.js";
|
|
2
2
|
var browser$2;
|
|
3
3
|
var hasRequiredBrowser;
|
|
4
4
|
function requireBrowser() {
|
|
@@ -20,4 +20,4 @@ const browser$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePro
|
|
|
20
20
|
export {
|
|
21
21
|
browser$1 as b
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=browser-
|
|
23
|
+
//# sourceMappingURL=browser-jvtvvRnm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-
|
|
1
|
+
{"version":3,"file":"browser-jvtvvRnm.js","sources":["../node_modules/.pnpm/ws@8.18.0/node_modules/ws/browser.js"],"sourcesContent":["'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n"],"names":["browser"],"mappings":";;;;;;AAEAA,cAAiB,WAAY;AAC3B,UAAM,IAAI;AAAA,MACR;AAAA,IAED;AAAA,EACF;;;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -22009,7 +22009,7 @@ class Dom {
|
|
|
22009
22009
|
}
|
|
22010
22010
|
async topbar(show) {
|
|
22011
22011
|
if (!this._topbar) return;
|
|
22012
|
-
const { default: topbar } = await import("./topbar.min-
|
|
22012
|
+
const { default: topbar } = await import("./topbar.min-qHiqBD75.js").then((n) => n.t);
|
|
22013
22013
|
this._topbarShow = show ?? !this._topbarShow;
|
|
22014
22014
|
if (this._topbarShow) topbar.show();
|
|
22015
22015
|
else topbar.hide();
|
|
@@ -50609,7 +50609,7 @@ async function createSimpleWebSocket(url) {
|
|
|
50609
50609
|
case "node": {
|
|
50610
50610
|
let WebSocket2;
|
|
50611
50611
|
try {
|
|
50612
|
-
WebSocket2 = (await import("./browser-
|
|
50612
|
+
WebSocket2 = (await import("./browser-jvtvvRnm.js").then((n) => n.b)).default;
|
|
50613
50613
|
} catch (error) {
|
|
50614
50614
|
try {
|
|
50615
50615
|
WebSocket2 = __require("ws");
|
|
@@ -67521,7 +67521,7 @@ const TerminalCommands = (kernel, shell, terminal) => {
|
|
|
67521
67521
|
{ name: "registry", type: String, description: "The registry to use", defaultValue: "https://registry.npmjs.org" }
|
|
67522
67522
|
],
|
|
67523
67523
|
run: async (argv) => {
|
|
67524
|
-
const { default: install } = await import("./install-
|
|
67524
|
+
const { default: install } = await import("./install-DvXm00-p.js");
|
|
67525
67525
|
return await install({ kernel, shell, terminal, args: [argv.package, argv.registry] });
|
|
67526
67526
|
}
|
|
67527
67527
|
}),
|
|
@@ -72187,7 +72187,10 @@ instance.setDefaultNamespace;
|
|
|
72187
72187
|
instance.hasLoadedNamespace;
|
|
72188
72188
|
instance.loadNamespaces;
|
|
72189
72189
|
instance.loadLanguages;
|
|
72190
|
-
const
|
|
72190
|
+
const en = { "common": {}, "kernel": { "kernel": { "madeBy": "Made with ❤️ by", "panic": "Uh oh, kernel panic! Check the logs for more details.", "permissionNotificationDenied": "Notification permission denied", "modules": { "blacklisted": "Skipping blacklisted module {{module}}" } } } };
|
|
72191
|
+
const resources = {
|
|
72192
|
+
"en": en
|
|
72193
|
+
};
|
|
72191
72194
|
const DefaultI18nOptions = {
|
|
72192
72195
|
resources,
|
|
72193
72196
|
lng: "en",
|
|
@@ -80483,7 +80486,7 @@ var createBIOS = (() => {
|
|
|
80483
80486
|
return moduleRtn;
|
|
80484
80487
|
};
|
|
80485
80488
|
})();
|
|
80486
|
-
const __vite_import_meta_env__ = { "AUTHOR": { "name": "Jay Mathis", "email": "code@mathis.network", "url": "https://github.com/mathiscode" }, "BASE_URL": "/", "DESCRIPTION": "ecmaOS: Micro-kernel and framework for web technologies", "DEV": false, "HOMEPAGE": "https://ecmaos.sh", "KNOWN_ISSUES": ["Don't expect any sort of POSIX compliance at this stage", "Most commands/devices are very basic implementations, not complete reproductions", "stdin/stdout/stderr streams and redirection can be wonky and don't work everywhere, but are coming along", "Lots of unfinished work; watch your step"], "MODE": "production", "NAME": "@ecmaos/kernel", "PROD": true, "REPOSITORY": "https://github.com/ecmaos/ecmaos", "SSR": false, "TIPS": ["You can 'run' some devices that offer a CLI - for example, '/dev/battery --help'"], "VERSION": "0.2.
|
|
80489
|
+
const __vite_import_meta_env__ = { "AUTHOR": { "name": "Jay Mathis", "email": "code@mathis.network", "url": "https://github.com/mathiscode" }, "BASE_URL": "/", "DESCRIPTION": "ecmaOS: Micro-kernel and framework for web technologies", "DEV": false, "HOMEPAGE": "https://ecmaos.sh", "KNOWN_ISSUES": ["Don't expect any sort of POSIX compliance at this stage", "Most commands/devices are very basic implementations, not complete reproductions", "stdin/stdout/stderr streams and redirection can be wonky and don't work everywhere, but are coming along", "Lots of unfinished work; watch your step"], "MODE": "production", "NAME": "@ecmaos/kernel", "PROD": true, "REPOSITORY": "https://github.com/ecmaos/ecmaos", "SSR": false, "TIPS": ["You can 'run' some devices that offer a CLI - for example, '/dev/battery --help'"], "VERSION": "0.2.2", "VITE_APP_SHOW_DEFAULT_LOGIN": "true", "VITE_AUTOLOGIN_PASSWORD": "root", "VITE_AUTOLOGIN_USERNAME": "root", "VITE_KERNEL_INTERVALS_PROC": "1000", "VITE_KERNEL_MODULES": "http://localhost:3000/build/release.js", "VITE_METAL_SOCKET": "ws://localhost:30445/socket", "VITE_PORT": "30443" };
|
|
80487
80490
|
var define_import_meta_env_AUTHOR_default = { name: "Jay Mathis", email: "code@mathis.network", url: "https://github.com/mathiscode" };
|
|
80488
80491
|
var define_import_meta_env_KNOWN_ISSUES_default = ["Don't expect any sort of POSIX compliance at this stage", "Most commands/devices are very basic implementations, not complete reproductions", "stdin/stdout/stderr streams and redirection can be wonky and don't work everywhere, but are coming along", "Lots of unfinished work; watch your step"];
|
|
80489
80492
|
var define_import_meta_env_TIPS_default = ["You can 'run' some devices that offer a CLI - for example, '/dev/battery --help'"];
|
|
@@ -80527,7 +80530,7 @@ class Kernel {
|
|
|
80527
80530
|
/** Name of the kernel */
|
|
80528
80531
|
__publicField(this, "name", "@ecmaos/kernel");
|
|
80529
80532
|
/** Version string of the kernel */
|
|
80530
|
-
__publicField(this, "version", "0.2.
|
|
80533
|
+
__publicField(this, "version", "0.2.2");
|
|
80531
80534
|
/** Authentication and authorization service */
|
|
80532
80535
|
__publicField(this, "auth");
|
|
80533
80536
|
/** BIOS module providing low-level functionality */
|
|
@@ -80681,7 +80684,7 @@ class Kernel {
|
|
|
80681
80684
|
} catch (error) {
|
|
80682
80685
|
this.log?.error(`Failed to load figlet font ${figletFont}: ${error.message}`);
|
|
80683
80686
|
}
|
|
80684
|
-
this.terminal.writeln(`${this.terminal.createSpecialLink("https://ecmaos.sh", "@ecmaos/kernel")} v${"0.2.
|
|
80687
|
+
this.terminal.writeln(`${this.terminal.createSpecialLink("https://ecmaos.sh", "@ecmaos/kernel")} v${"0.2.2"}`);
|
|
80685
80688
|
this.terminal.writeln(`${t2("kernel.madeBy")} ${this.terminal.createSpecialLink(
|
|
80686
80689
|
define_import_meta_env_AUTHOR_default?.url || "https://github.com/mathiscode",
|
|
80687
80690
|
`${define_import_meta_env_AUTHOR_default?.name} <${define_import_meta_env_AUTHOR_default?.email}>`
|
|
@@ -80700,13 +80703,13 @@ class Kernel {
|
|
|
80700
80703
|
spinner.start();
|
|
80701
80704
|
if (logoFiglet) console.log(`%c${logoFiglet}`, "color: green");
|
|
80702
80705
|
console.log(`%c${"https://github.com/ecmaos/ecmaos"}`, "color: blue; text-decoration: underline; font-size: 16px");
|
|
80703
|
-
this.log.info(`${"@ecmaos/kernel"} v${"0.2.
|
|
80706
|
+
this.log.info(`${"@ecmaos/kernel"} v${"0.2.2"}`);
|
|
80704
80707
|
if (Notification?.permission === "default") Notification.requestPermission();
|
|
80705
80708
|
if (Notification?.permission === "denied") this.log?.warn(t2("kernel.permissionNotificationDenied"));
|
|
80706
80709
|
this.intervals.set("title-blink", () => {
|
|
80707
80710
|
globalThis.document.title = globalThis.document.title.includes("_") ? "ecmaos# " : "ecmaos# _";
|
|
80708
80711
|
}, 600);
|
|
80709
|
-
this.toast.success(`${"@ecmaos/kernel"} v${"0.2.
|
|
80712
|
+
this.toast.success(`${"@ecmaos/kernel"} v${"0.2.2"}`);
|
|
80710
80713
|
}
|
|
80711
80714
|
await this.configure({ filesystem: Filesystem.options() });
|
|
80712
80715
|
const requiredPaths = [
|
|
@@ -81297,7 +81300,7 @@ class Kernel {
|
|
|
81297
81300
|
memory: "?",
|
|
81298
81301
|
platform: navigator.userAgentData?.platform || navigator?.platform || navigator.userAgent,
|
|
81299
81302
|
querystring: location.search,
|
|
81300
|
-
version: `${"@ecmaos/kernel"} ${"0.2.
|
|
81303
|
+
version: `${"@ecmaos/kernel"} ${"0.2.2"}`,
|
|
81301
81304
|
language: navigator.language,
|
|
81302
81305
|
host: location.host,
|
|
81303
81306
|
userAgent: navigator.userAgent,
|
|
@@ -81368,4 +81371,4 @@ export {
|
|
|
81368
81371
|
getDefaultExportFromCjs$2 as g,
|
|
81369
81372
|
process$1$1 as p
|
|
81370
81373
|
};
|
|
81371
|
-
//# sourceMappingURL=empty-
|
|
81374
|
+
//# sourceMappingURL=empty-D1k8eaRb.js.map
|