@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 +33 -33
- package/dist/.vite/manifest.json +65 -0
- package/dist/Poison-ChSGZazu.js +1244 -0
- package/dist/Poison-ChSGZazu.js.map +1 -0
- package/dist/{assets/browser-BgTges7v.js → browser-Bg2k_w8R.js} +2 -2
- package/dist/browser-Bg2k_w8R.js.map +1 -0
- package/dist/{assets/index-_qi20yzV.js → empty-DV8na5Rc.js} +1065 -1450
- package/dist/empty-DV8na5Rc.js.map +1 -0
- package/dist/index.html +2 -2
- package/dist/{assets/install-BQEEL5Go.js → install-BIXZ5bsq.js} +5 -7
- package/dist/install-BIXZ5bsq.js.map +1 -0
- package/dist/kernel.d.ts +282 -0
- package/dist/kernel.js +5 -0
- package/dist/kernel.js.map +1 -0
- package/dist/{assets/topbar.min-Cqn7CAGT.js → topbar.min-cv6_CM7b.js} +2 -2
- package/dist/topbar.min-cv6_CM7b.js.map +1 -0
- package/dist/ui.d.ts +35 -0
- package/dist/ui.js +21 -0
- package/dist/ui.js.map +1 -0
- package/package.json +9 -6
- package/dist/assets/bios-Bf2cwaR2.wasm +0 -0
- package/dist/assets/browser-BgTges7v.js.map +0 -1
- package/dist/assets/index-_qi20yzV.js.map +0 -1
- package/dist/assets/install-BQEEL5Go.js.map +0 -1
- package/dist/assets/topbar.min-Cqn7CAGT.js.map +0 -1
- /package/dist/{assets/index-C56A6-ta.css → kernel.css} +0 -0
package/dist/kernel.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from "./
|
|
1
|
+
import { g as getDefaultExportFromCjs } from "./empty-DV8na5Rc.js";
|
|
2
2
|
var topbar_min$3 = { exports: {} };
|
|
3
3
|
/**
|
|
4
4
|
* @license MIT
|
|
@@ -49,4 +49,4 @@ const topbar_min$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.define
|
|
|
49
49
|
export {
|
|
50
50
|
topbar_min$1 as t
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=topbar.min-
|
|
52
|
+
//# sourceMappingURL=topbar.min-cv6_CM7b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topbar.min-cv6_CM7b.js","sources":["../node_modules/.pnpm/topbar@3.0.0/node_modules/topbar/topbar.min.js"],"sourcesContent":["/**\n * @license MIT\n * topbar 3.0.0\n * http://buunguyen.github.io/topbar\n * Copyright (c) 2024 Buu Nguyen\n */\n(function(window,document){\"use strict\";function repaint(){canvas.width=window.innerWidth,canvas.height=5*options.barThickness;var ctx=canvas.getContext(\"2d\");ctx.shadowBlur=options.shadowBlur,ctx.shadowColor=options.shadowColor;var stop,lineGradient=ctx.createLinearGradient(0,0,canvas.width,0);for(stop in options.barColors)lineGradient.addColorStop(stop,options.barColors[stop]);ctx.lineWidth=options.barThickness,ctx.beginPath(),ctx.moveTo(0,options.barThickness/2),ctx.lineTo(Math.ceil(currentProgress*canvas.width),options.barThickness/2),ctx.strokeStyle=lineGradient,ctx.stroke()}var canvas,currentProgress,showing,progressTimerId=null,fadeTimerId=null,delayTimerId=null,options={autoRun:!0,barThickness:3,barColors:{0:\"rgba(26, 188, 156, .9)\",\".25\":\"rgba(52, 152, 219, .9)\",\".50\":\"rgba(241, 196, 15, .9)\",\".75\":\"rgba(230, 126, 34, .9)\",\"1.0\":\"rgba(211, 84, 0, .9)\"},shadowBlur:10,shadowColor:\"rgba(0, 0, 0, .6)\",className:null},topbar={config:function(opts){for(var key in opts)options.hasOwnProperty(key)&&(options[key]=opts[key])},show:function(handler){var type,elem;showing||(handler?delayTimerId=delayTimerId||setTimeout(()=>topbar.show(),handler):(showing=!0,null!==fadeTimerId&&window.cancelAnimationFrame(fadeTimerId),canvas||((elem=(canvas=document.createElement(\"canvas\")).style).position=\"fixed\",elem.top=elem.left=elem.right=elem.margin=elem.padding=0,elem.zIndex=100001,elem.display=\"none\",options.className&&canvas.classList.add(options.className),type=\"resize\",handler=repaint,(elem=window).addEventListener?elem.addEventListener(type,handler,!1):elem.attachEvent?elem.attachEvent(\"on\"+type,handler):elem[\"on\"+type]=handler),canvas.parentElement||document.body.appendChild(canvas),canvas.style.opacity=1,canvas.style.display=\"block\",topbar.progress(0),options.autoRun&&function loop(){progressTimerId=window.requestAnimationFrame(loop),topbar.progress(\"+\"+.05*Math.pow(1-Math.sqrt(currentProgress),2))}()))},progress:function(to){return void 0===to||(\"string\"==typeof to&&(to=(0<=to.indexOf(\"+\")||0<=to.indexOf(\"-\")?currentProgress:0)+parseFloat(to)),currentProgress=1<to?1:to,repaint()),currentProgress},hide:function(){clearTimeout(delayTimerId),delayTimerId=null,showing&&(showing=!1,null!=progressTimerId&&(window.cancelAnimationFrame(progressTimerId),progressTimerId=null),function loop(){return 1<=topbar.progress(\"+.1\")&&(canvas.style.opacity-=.05,canvas.style.opacity<=.05)?(canvas.style.display=\"none\",void(fadeTimerId=null)):void(fadeTimerId=window.requestAnimationFrame(loop))}())}};\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=topbar:\"function\"==typeof define&&define.amd?define(function(){return topbar}):this.topbar=topbar}).call(this,window,document);"],"names":["window","document","this"],"mappings":";;;;;;;;;;;;;;AAMA,KAAC,SAASA,SAAOC,WAAS;AAAc,eAAS,UAAS;AAAC,eAAO,QAAMD,QAAO,YAAW,OAAO,SAAO,IAAE,QAAQ;AAAa,YAAI,MAAI,OAAO,WAAW,IAAI;AAAE,YAAI,aAAW,QAAQ,YAAW,IAAI,cAAY,QAAQ;AAAY,YAAI,MAAK,eAAa,IAAI,qBAAqB,GAAE,GAAE,OAAO,OAAM,CAAC;AAAE,aAAI,QAAQ,QAAQ,UAAU,cAAa,aAAa,MAAK,QAAQ,UAAU,IAAI,CAAC;AAAE,YAAI,YAAU,QAAQ,cAAa,IAAI,aAAY,IAAI,OAAO,GAAE,QAAQ,eAAa,CAAC,GAAE,IAAI,OAAO,KAAK,KAAK,kBAAgB,OAAO,KAAK,GAAE,QAAQ,eAAa,CAAC,GAAE,IAAI,cAAY,cAAa,IAAI;MAAQ;AAAC,UAAI,QAAO,iBAAgB,SAAQ,kBAAgB,MAAK,cAAY,MAAK,eAAa,MAAK,UAAQ,EAAC,SAAQ,MAAG,cAAa,GAAE,WAAU,EAAC,GAAE,2BAA0B,OAAM,2BAA0B,OAAM,2BAA0B,OAAM,2BAA0B,OAAM,0BAAyB,GAAE,YAAW,IAAG,aAAY,2BAA0B,WAAU,KAAI,GAAE,SAAO,EAAC,QAAO,SAAS,MAAK;AAAC,iBAAQ,OAAO,KAAK,SAAQ,eAAe,GAAG,MAAI,QAAQ,GAAG,IAAE,KAAK,GAAG;AAAA,MAAE,GAAE,MAAK,SAAS,SAAQ;AAAC,YAAI,MAAK;AAAK,oBAAU,UAAQ,eAAa,gBAAc,WAAW,MAAI,OAAO,QAAO,OAAO,KAAG,UAAQ,MAAG,SAAO,eAAaA,QAAO,qBAAqB,WAAW,GAAE,YAAU,QAAM,SAAOC,UAAS,cAAc,QAAQ,GAAG,OAAO,WAAS,SAAQ,KAAK,MAAI,KAAK,OAAK,KAAK,QAAM,KAAK,SAAO,KAAK,UAAQ,GAAE,KAAK,SAAO,QAAO,KAAK,UAAQ,QAAO,QAAQ,aAAW,OAAO,UAAU,IAAI,QAAQ,SAAS,GAAE,OAAK,UAAS,UAAQ,UAAS,OAAKD,SAAQ,mBAAiB,KAAK,iBAAiB,MAAK,SAAQ,KAAE,IAAE,KAAK,cAAY,KAAK,YAAY,OAAK,MAAK,OAAO,IAAE,KAAK,OAAK,IAAI,IAAE,UAAS,OAAO,iBAAeC,UAAS,KAAK,YAAY,MAAM,GAAE,OAAO,MAAM,UAAQ,GAAE,OAAO,MAAM,UAAQ,SAAQ,OAAO,SAAS,CAAC,GAAE,QAAQ,WAAS,SAAS,OAAM;AAAC,4BAAgBD,QAAO,sBAAsB,IAAI,GAAE,OAAO,SAAS,MAAI,OAAI,KAAK,IAAI,IAAE,KAAK,KAAK,eAAe,GAAE,CAAC,CAAC;AAAA,QAAC,EAAG;AAAA,MAAE,GAAE,UAAS,SAAS,IAAG;AAAC,eAAO,WAAS,OAAK,YAAU,OAAO,OAAK,MAAI,KAAG,GAAG,QAAQ,GAAG,KAAG,KAAG,GAAG,QAAQ,GAAG,IAAE,kBAAgB,KAAG,WAAW,EAAE,IAAG,kBAAgB,IAAE,KAAG,IAAE,IAAG,QAAS,IAAE;AAAA,MAAe,GAAE,MAAK,WAAU;AAAC,qBAAa,YAAY,GAAE,eAAa,MAAK,YAAU,UAAQ,OAAG,QAAM,oBAAkBA,QAAO,qBAAqB,eAAe,GAAE,kBAAgB,OAAM,SAAS,OAAM;AAAC,iBAAO,KAAG,OAAO,SAAS,KAAK,MAAI,OAAO,MAAM,WAAS,MAAI,OAAO,MAAM,WAAS,SAAM,OAAO,MAAM,UAAQ,QAAO,MAAK,cAAY,SAAO,MAAK,cAAYA,QAAO,sBAAsB,IAAI;AAAA,QAAE,EAAG;AAAA,MAAC,EAAC;AAA2D,uBAAe;AAAA,IAAiG,GAAG,KAAKE,cAAK,QAAO,QAAQ;AAAA;;;;;;;;;","x_google_ignoreList":[0]}
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export { }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
declare global {
|
|
5
|
+
var kernel: Kernel | undefined;
|
|
6
|
+
var kernels: Map<string, Kernel> | undefined;
|
|
7
|
+
var shells: Map<string, Shell> | undefined;
|
|
8
|
+
var terminals: Map<string, Terminal> | undefined;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
declare global {
|
|
13
|
+
interface BackgroundFetchManager {
|
|
14
|
+
fetch(id: string, urls: string[], options: object): Promise<BackgroundFetchRegistration>;
|
|
15
|
+
}
|
|
16
|
+
interface BackgroundFetchRegistration extends EventTarget {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly uploadTotal: number;
|
|
19
|
+
readonly uploaded: number;
|
|
20
|
+
readonly downloadTotal: number;
|
|
21
|
+
readonly downloaded: number;
|
|
22
|
+
readonly result: unknown;
|
|
23
|
+
readonly failureReason: unknown;
|
|
24
|
+
match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>;
|
|
25
|
+
matchAll(): Promise<Response[]>;
|
|
26
|
+
onprogress: ((this: BackgroundFetchRegistration, ev: ProgressEvent<BackgroundFetchRegistration>) => unknown) | null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
declare module 'winbox' {
|
|
32
|
+
interface WinBoxConstructor {
|
|
33
|
+
stack(): WinBox[];
|
|
34
|
+
}
|
|
35
|
+
}
|
package/dist/ui.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { K as Kernel } from "./empty-DV8na5Rc.js";
|
|
2
|
+
const username = "root";
|
|
3
|
+
const password = "root";
|
|
4
|
+
const socket = "ws://localhost:30445/socket";
|
|
5
|
+
const kernel = new Kernel({
|
|
6
|
+
credentials: { username, password },
|
|
7
|
+
dom: { topbar: true },
|
|
8
|
+
log: { name: `ecmaos:${"kernel"}` },
|
|
9
|
+
socket: new WebSocket(socket)
|
|
10
|
+
});
|
|
11
|
+
globalThis.kernels = globalThis.kernels || /* @__PURE__ */ new Map();
|
|
12
|
+
globalThis.kernels.set(kernel.id, kernel);
|
|
13
|
+
globalThis.shells = globalThis.shells || /* @__PURE__ */ new Map();
|
|
14
|
+
globalThis.shells.set(kernel.shell.id, kernel.shell);
|
|
15
|
+
globalThis.terminals = globalThis.terminals || /* @__PURE__ */ new Map();
|
|
16
|
+
globalThis.terminals.set(kernel.terminal.id, kernel.terminal);
|
|
17
|
+
const primaryKernel = globalThis.kernels.values().next().value;
|
|
18
|
+
globalThis.kernel = primaryKernel;
|
|
19
|
+
kernel.terminal.mount(document.getElementById("terminal"));
|
|
20
|
+
kernel.boot({ silent: false, figletFontRandom: false });
|
|
21
|
+
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["import { Kernel } from '#kernel.ts'\nimport type { Shell, Terminal } from '@ecmaos/types'\nimport './ui.css'\n\ndeclare global {\n var kernel: Kernel | undefined // eslint-disable-line no-var\n var kernels: Map<string, Kernel> | undefined // eslint-disable-line no-var\n var shells: Map<string, Shell> | undefined // eslint-disable-line no-var\n var terminals: Map<string, Terminal> | undefined // eslint-disable-line no-var\n}\n\nconst username = import.meta.env.VITE_AUTOLOGIN_USERNAME\nconst password = import.meta.env.VITE_AUTOLOGIN_PASSWORD\nconst socket = import.meta.env.VITE_METAL_SOCKET\n\nconst kernel = new Kernel({\n credentials: (username && password) ? { username, password } : undefined,\n dom: { topbar: import.meta.env.NODE_ENV !== 'test' },\n log: { name: `ecmaos:${import.meta.env.NODE_ENV || 'kernel'}` },\n socket: socket ? new WebSocket(socket) : undefined\n})\n\nglobalThis.kernels = globalThis.kernels || new Map()\nglobalThis.kernels.set(kernel.id, kernel)\n\nglobalThis.shells = globalThis.shells || new Map()\nglobalThis.shells.set(kernel.shell.id, kernel.shell)\n\nglobalThis.terminals = globalThis.terminals || new Map()\nglobalThis.terminals.set(kernel.terminal.id, kernel.terminal)\n\nconst primaryKernel = globalThis.kernels.values().next().value\nglobalThis.kernel = primaryKernel\n\nkernel.terminal.mount(document.getElementById('terminal') as HTMLElement)\nkernel.boot({ silent: import.meta.env.NODE_ENV === 'test', figletFontRandom: false })\n"],"names":[],"mappings":";AAWA,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,SAAS;AAEf,MAAM,SAAS,IAAI,OAAO;AAAA,EACxB,aAAsC,EAAE,UAAU;EAClD,KAAK,EAAE,QAAQ,KAAoC;AAAA,EACnD,KAAK,EAAE,MAAM,UAAsC,QAAQ,GAAG;AAAA,EAC9D,QAAiB,IAAI,UAAU,MAAM;AACvC,CAAC;AAED,WAAW,UAAU,WAAW,WAAW,oBAAI,IAAI;AACnD,WAAW,QAAQ,IAAI,OAAO,IAAI,MAAM;AAExC,WAAW,SAAS,WAAW,UAAU,oBAAI,IAAI;AACjD,WAAW,OAAO,IAAI,OAAO,MAAM,IAAI,OAAO,KAAK;AAEnD,WAAW,YAAY,WAAW,aAAa,oBAAI,IAAI;AACvD,WAAW,UAAU,IAAI,OAAO,SAAS,IAAI,OAAO,QAAQ;AAE5D,MAAM,gBAAgB,WAAW,QAAQ,OAAO,EAAE,KAAO,EAAA;AACzD,WAAW,SAAS;AAEpB,OAAO,SAAS,MAAM,SAAS,eAAe,UAAU,CAAgB;AACxE,OAAO,KAAK,EAAE,QAAQ,OAAqC,kBAAkB,OAAO;"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ecmaos/kernel",
|
|
3
3
|
"description": "ecmaOS: Micro-kernel and framework for web technologies",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"license": "MIT+Apache-2.0",
|
|
6
6
|
"homepage": "https://ecmaos.sh",
|
|
7
7
|
"repository": "https://github.com/ecmaos/ecmaos",
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"exports": {
|
|
38
38
|
".": {
|
|
39
39
|
"types": "./dist/index.d.ts",
|
|
40
|
-
"import": "./dist/
|
|
41
|
-
"require": "./dist/
|
|
40
|
+
"import": "./dist/kernel.js",
|
|
41
|
+
"require": "./dist/kernel.umd.cjs"
|
|
42
42
|
},
|
|
43
|
-
"./ui": "./src/ui.ts",
|
|
44
43
|
"./auth": "./src/tree/auth.ts",
|
|
45
44
|
"./components": "./src/tree/components.ts",
|
|
46
45
|
"./device": "./src/tree/device.ts",
|
|
47
46
|
"./dom": "./src/tree/dom.ts",
|
|
48
47
|
"./events": "./src/tree/events.ts",
|
|
49
48
|
"./filesystem": "./src/tree/filesystem.ts",
|
|
49
|
+
"./fonts": "./dist/importable-fonts",
|
|
50
50
|
"./i18n": "./src/tree/i18n.ts",
|
|
51
51
|
"./intervals": "./src/tree/intervals.ts",
|
|
52
52
|
"./kernel": "./src/tree/kernel.ts",
|
|
@@ -58,6 +58,8 @@
|
|
|
58
58
|
"./shell": "./src/tree/shell.ts",
|
|
59
59
|
"./storage": "./src/tree/storage.ts",
|
|
60
60
|
"./terminal": "./src/tree/terminal.ts",
|
|
61
|
+
"./ui": "./dist/ui.js",
|
|
62
|
+
"./ui.css": "./dist/kernel.css",
|
|
61
63
|
"./users": "./src/tree/users.ts",
|
|
62
64
|
"./wasm": "./src/tree/wasm.ts",
|
|
63
65
|
"./windows": "./src/tree/windows.ts",
|
|
@@ -115,6 +117,7 @@
|
|
|
115
117
|
"typescript-eslint": "^8.8.0",
|
|
116
118
|
"user-agent-data-types": "^0.4.2",
|
|
117
119
|
"vite": "^6.0.1",
|
|
120
|
+
"vite-plugin-dts": "^4.3.0",
|
|
118
121
|
"vite-plugin-i18next-loader": "^2.0.13",
|
|
119
122
|
"vite-plugin-node-polyfills": "^0.22.0",
|
|
120
123
|
"vite-tsconfig-paths": "^5.0.1",
|
|
@@ -163,9 +166,9 @@
|
|
|
163
166
|
"@ecmaos/device-gamepad": "^0.0.2",
|
|
164
167
|
"@ecmaos/device-geo": "^0.0.2",
|
|
165
168
|
"@ecmaos/device-hid": "^0.0.2",
|
|
169
|
+
"@ecmaos/device-gpu": "^0.0.2",
|
|
166
170
|
"@ecmaos/device-midi": "^0.0.2",
|
|
167
171
|
"@ecmaos/device-presentation": "^0.0.2",
|
|
168
|
-
"@ecmaos/device-gpu": "^0.0.2",
|
|
169
172
|
"@ecmaos/device-sensors": "^0.0.2",
|
|
170
173
|
"@ecmaos/device-serial": "^0.0.2",
|
|
171
174
|
"@ecmaos/device-usb": "^0.0.2",
|
|
@@ -175,7 +178,7 @@
|
|
|
175
178
|
"ws": ">=8.17.1"
|
|
176
179
|
},
|
|
177
180
|
"scripts": {
|
|
178
|
-
"build": "tsc && vite build",
|
|
181
|
+
"build": "tsc && vite build && cp index-dist.html dist/index.html",
|
|
179
182
|
"dev": "vite",
|
|
180
183
|
"lint": "eslint src",
|
|
181
184
|
"preview": "vite preview",
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-BgTges7v.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]}
|