@ecmaos/kernel 0.2.0 → 0.2.1

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 CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  [![Launch ecmaOS.sh](https://img.shields.io/badge/launch-ecmaos.sh-blue?style=for-the-badge)](https://ecmaos.sh)
4
4
 
5
- [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 in TypeScript. It's the successor of [web3os](https://github.com/web3os-org/kernel).
5
+ > Made with ❤️ by [Jay Mathis](https://jaymath.is)
6
+ >
7
+ > [![Stars](https://img.shields.io/github/stars/mathiscode?style=flat&logo=github&label=⭐️)](https://github.com/mathiscode) [![Followers](https://img.shields.io/github/followers/mathiscode?style=flat&logo=github&label=follow)](https://github.com/mathiscode)
8
+
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).
6
10
 
7
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". 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. The kernel could also be repurposed as a platform for custom applications, games, and more.
8
12
 
@@ -30,10 +34,6 @@ The goal is to create a kernel and supporting apps that tie together modern web
30
34
  [![Bluesky](https://img.shields.io/badge/follow-on%20Bluesky-blue?logo=bluesky&logoColor=white)](https://ecmaos.bsky.social)
31
35
  [![Reddit](https://img.shields.io/reddit/subreddit-subscribers/ecmaos?style=flat&logo=reddit&logoColor=white&label=r/ecmaos)](https://www.reddit.com/r/ecmaos)
32
36
 
33
- > Made with ❤️ by [Jay Mathis](https://jaymath.is)
34
- >
35
- > [![Stars](https://img.shields.io/github/stars/mathiscode?style=flat&logo=github&label=⭐️)](https://github.com/mathiscode) [![Followers](https://img.shields.io/github/followers/mathiscode?style=flat&logo=github&label=follow)](https://github.com/mathiscode)
36
-
37
37
  ## Features
38
38
 
39
39
  - TypeScript, WebAssembly, AssemblyScript, C++
@@ -56,34 +56,6 @@ The goal is to create a kernel and supporting apps that tie together modern web
56
56
 
57
57
  ## Basic Overview
58
58
 
59
- - `Kernel`
60
- - Authentication (WebAuthn)
61
- - Components (Web Components/Custom Elements)
62
- - Devices
63
- - DOM
64
- - Events (CustomEvents)
65
- - Filesystem (ZenFS)
66
- - Internationalization (i18next)
67
- - Interval Manager (setInterval)
68
- - Log Manager (tslog)
69
- - Memory Manager (Abstractions)
70
- - Process Manager
71
- - Protocol Handlers (web+ecmaos://...)
72
- - Service Worker Manager
73
- - Shell
74
- - Storage (IndexedDB, localStorage, sessionStorage, etc.)
75
- - Terminal (xterm.js)
76
- - User Manager
77
- - WASM Loader
78
- - Window Manager (WinBox)
79
- - Workers (Web Workers)
80
-
81
- - `BIOS`
82
- - The BIOS is a C++ module compiled to WebAssembly with [Emscripten](https://emscripten.org) providing performance-critical functionality
83
- - The BIOS has its own filesystem, located at `/bios` — this allows data to be copied in and out of the BIOS for custom code and utilities
84
- - The main idea is that data and custom code can be loaded into it from the OS for WASM-native performance, as well as providing various utilities
85
- - Confusingly, the Kernel loads the BIOS — not the other way around
86
-
87
59
  - `Apps`
88
60
  - These are full applications that are developed specifically to work with ecmaOS
89
61
  - An app is an npm package, in which the bin file has a shebang line of `#!ecmaos:bin:app:myappname`
@@ -94,6 +66,12 @@ The goal is to create a kernel and supporting apps that tie together modern web
94
66
  - To publish to Verdaccio, run `# npm publish --registry http://localhost:4873` in your app's development environment
95
67
  - Then to install from your local registry, run `# install @myscope/mypackage --registry http://localhost:4873`
96
68
 
69
+ - `BIOS`
70
+ - The BIOS is a C++ module compiled to WebAssembly with [Emscripten](https://emscripten.org) providing performance-critical functionality
71
+ - The BIOS has its own filesystem, located at `/bios` — this allows data to be copied in and out of the BIOS for custom code and utilities
72
+ - The main idea is that data and custom code can be loaded into it from the OS for WASM-native performance, as well as providing various utilities
73
+ - Confusingly, the Kernel loads the BIOS — not the other way around
74
+
97
75
  - `Core`
98
76
  - Core modules provide the system's essential functionality; this includes the kernel itself
99
77
  - Other core modules include Metal, SWAPI, BIOS, as well as the main `@ecmaos/types` package
@@ -108,6 +86,28 @@ The goal is to create a kernel and supporting apps that tie together modern web
108
86
  - Devices may also be directly read/written, and will behave accordingly (or have no effect)
109
87
  - An individual device module can provide multiple device drivers, e.g. `/dev/usb` provides `/dev/usb-mydevice-0001-0002`
110
88
 
89
+ - `Kernel`
90
+ - Authentication (WebAuthn)
91
+ - Components (Web Components/Custom Elements)
92
+ - Devices
93
+ - DOM
94
+ - Events (CustomEvents)
95
+ - Filesystem (ZenFS)
96
+ - Internationalization (i18next)
97
+ - Interval Manager (setInterval)
98
+ - Log Manager (tslog)
99
+ - Memory Manager (Abstractions)
100
+ - Process Manager
101
+ - Protocol Handlers (web+ecmaos://...)
102
+ - Service Worker Manager
103
+ - Shell
104
+ - Storage (IndexedDB, localStorage, sessionStorage, etc.)
105
+ - Terminal (xterm.js)
106
+ - User Manager
107
+ - WASM Loader
108
+ - Window Manager (WinBox)
109
+ - Workers (Web Workers)
110
+
111
111
  - `Metal`
112
112
  - Metal is an API server for allowing connections to physical systems from ecmaOS using [Hono](https://hono.dev)
113
113
  - Authenticated and encrypted connections with JWK/JWE/JOSE
@@ -0,0 +1,65 @@
1
+ {
2
+ "_browser-Bg2k_w8R.js": {
3
+ "file": "browser-Bg2k_w8R.js",
4
+ "name": "browser",
5
+ "isDynamicEntry": true,
6
+ "imports": [
7
+ "_empty-DV8na5Rc.js"
8
+ ]
9
+ },
10
+ "_empty-DV8na5Rc.js": {
11
+ "file": "empty-DV8na5Rc.js",
12
+ "name": "empty",
13
+ "dynamicImports": [
14
+ "_topbar.min-cv6_CM7b.js",
15
+ "_browser-Bg2k_w8R.js",
16
+ "src/tree/lib/commands/install.ts",
17
+ "node_modules/.pnpm/figlet@1.8.0/node_modules/figlet/importable-fonts/Poison.js"
18
+ ]
19
+ },
20
+ "_kernel.css": {
21
+ "file": "kernel.css",
22
+ "src": "_kernel.css"
23
+ },
24
+ "_topbar.min-cv6_CM7b.js": {
25
+ "file": "topbar.min-cv6_CM7b.js",
26
+ "name": "topbar.min",
27
+ "isDynamicEntry": true,
28
+ "imports": [
29
+ "_empty-DV8na5Rc.js"
30
+ ]
31
+ },
32
+ "node_modules/.pnpm/figlet@1.8.0/node_modules/figlet/importable-fonts/Poison.js": {
33
+ "file": "Poison-ChSGZazu.js",
34
+ "name": "Poison",
35
+ "src": "node_modules/.pnpm/figlet@1.8.0/node_modules/figlet/importable-fonts/Poison.js",
36
+ "isDynamicEntry": true
37
+ },
38
+ "src/tree/kernel.ts": {
39
+ "file": "kernel.js",
40
+ "name": "kernel",
41
+ "src": "src/tree/kernel.ts",
42
+ "isEntry": true,
43
+ "imports": [
44
+ "_empty-DV8na5Rc.js"
45
+ ]
46
+ },
47
+ "src/tree/lib/commands/install.ts": {
48
+ "file": "install-BIXZ5bsq.js",
49
+ "name": "install",
50
+ "src": "src/tree/lib/commands/install.ts",
51
+ "isDynamicEntry": true,
52
+ "imports": [
53
+ "_empty-DV8na5Rc.js"
54
+ ]
55
+ },
56
+ "src/ui.ts": {
57
+ "file": "ui.js",
58
+ "name": "ui",
59
+ "src": "src/ui.ts",
60
+ "isEntry": true,
61
+ "imports": [
62
+ "_empty-DV8na5Rc.js"
63
+ ]
64
+ }
65
+ }