@ecmaos/kernel 0.3.0 → 0.5.0
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/.vite/manifest.json +15 -24
- package/dist/{install-BWxc1crE.js → install-Bq1ihBVO.js} +2 -2
- package/dist/{install-BWxc1crE.js.map → install-Bq1ihBVO.js.map} +1 -1
- package/dist/{__vite-browser-external-ZgWJ_FY-.js → kernel-CAb1EbZv.js} +2640 -15701
- package/dist/kernel-CAb1EbZv.js.map +1 -0
- package/dist/kernel.d.ts +5 -0
- package/dist/kernel.js +1 -1
- package/dist/{topbar.min-DHDDU9sh.js → topbar.min-D99PF3OL.js} +2 -2
- package/dist/{topbar.min-DHDDU9sh.js.map → topbar.min-D99PF3OL.js.map} +1 -1
- package/dist/ui.js +1 -1
- package/dist/ui.js.map +1 -1
- package/package.json +21 -19
- package/dist/__vite-browser-external-ZgWJ_FY-.js.map +0 -1
- package/dist/browser-Bnkgx7wL.js +0 -26
- package/dist/browser-Bnkgx7wL.js.map +0 -1
package/dist/kernel.d.ts
CHANGED
|
@@ -267,6 +267,11 @@ export declare class Kernel implements Kernel_2 {
|
|
|
267
267
|
* @returns {Promise<T>} Result of the operation
|
|
268
268
|
*/
|
|
269
269
|
private sudo;
|
|
270
|
+
/**
|
|
271
|
+
* Sets up global debug utilities for browser console access.
|
|
272
|
+
* Access via: ecmaos.kernel, ecmaos.processes(), ecmaos.fd(pid?), etc.
|
|
273
|
+
*/
|
|
274
|
+
private setupDebugGlobals;
|
|
270
275
|
}
|
|
271
276
|
|
|
272
277
|
export { }
|
package/dist/kernel.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { g as getDefaultExportFromCjs } from "./
|
|
3
|
+
import { g as getDefaultExportFromCjs } from "./kernel-CAb1EbZv.js";
|
|
4
4
|
var topbar_min$3 = { exports: {} };
|
|
5
5
|
/**
|
|
6
6
|
* @license MIT
|
|
@@ -53,4 +53,4 @@ const topbar_min$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.define
|
|
|
53
53
|
export {
|
|
54
54
|
topbar_min$1 as t
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=topbar.min-
|
|
56
|
+
//# sourceMappingURL=topbar.min-D99PF3OL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topbar.min-
|
|
1
|
+
{"version":3,"file":"topbar.min-D99PF3OL.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":"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","x_google_ignoreList":[0]}
|
package/dist/ui.js
CHANGED
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["import { Kernel } from '#kernel.ts'\nimport './ui.css'\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":";AAGA,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,SAAS;AAEf,MAAM,SAAS,IAAI,OAAO;AAAA,EACxB,aAAsC,EAAE,UAAU;EAClD,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["import { Kernel } from '#kernel.ts'\nimport './ui.css'\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":";AAGA,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,SAAS;AAEf,MAAM,SAAS,IAAI,OAAO;AAAA,EACxB,aAAsC,EAAE,UAAU;EAClD,KAAK,EAAE,QAAQ,KAA6B;AAAA,EAC5C,KAAK,EAAE,MAAM,UAAsC,QAAQ,GAAA;AAAA,EAC3D,QAAiB,IAAI,UAAU,MAAM;AACvC,CAAC;AAED,WAAW,UAAU,WAAW,WAAW,oBAAI,IAAA;AAC/C,WAAW,QAAQ,IAAI,OAAO,IAAI,MAAM;AAExC,WAAW,SAAS,WAAW,UAAU,oBAAI,IAAA;AAC7C,WAAW,OAAO,IAAI,OAAO,MAAM,IAAI,OAAO,KAAK;AAEnD,WAAW,YAAY,WAAW,aAAa,oBAAI,IAAA;AACnD,WAAW,UAAU,IAAI,OAAO,SAAS,IAAI,OAAO,QAAQ;AAE5D,MAAM,gBAAgB,WAAW,QAAQ,OAAA,EAAS,OAAO;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.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"license": "MIT+Apache-2.0",
|
|
6
6
|
"homepage": "https://ecmaos.sh",
|
|
7
7
|
"repository": "https://github.com/ecmaos/ecmaos",
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"Use the 'install' command to install packages - e.g. 'install @ecmaos-apps/news'",
|
|
37
37
|
"You can install any NPM package - e.g. 'install jquery'",
|
|
38
38
|
"Use the 'news' command to see the latest news about ecmaOS",
|
|
39
|
-
"Type 'ls /bin' to see all built-in commands"
|
|
39
|
+
"Type 'ls /bin' to see all built-in commands",
|
|
40
|
+
"Type 'ls /usr/bin' to see all installed commands"
|
|
40
41
|
],
|
|
41
42
|
"type": "module",
|
|
42
43
|
"files": [
|
|
@@ -125,14 +126,15 @@
|
|
|
125
126
|
"typescript": "^5.6.3",
|
|
126
127
|
"typescript-eslint": "^8.8.0",
|
|
127
128
|
"user-agent-data-types": "^0.4.2",
|
|
128
|
-
"vite": "^
|
|
129
|
+
"vite": "^7.1.12",
|
|
129
130
|
"vite-plugin-dts": "^4.3.0",
|
|
130
131
|
"vite-plugin-i18next-loader": "^2.0.13",
|
|
131
132
|
"vite-plugin-node-polyfills": "^0.22.0",
|
|
132
133
|
"vite-tsconfig-paths": "^5.0.1",
|
|
133
134
|
"vitest": "^2.1.2",
|
|
134
|
-
"
|
|
135
|
-
"@ecmaos/
|
|
135
|
+
"vitest-canvas-mock": "^0.3.3",
|
|
136
|
+
"@ecmaos/config-typescript": "^0.2.0",
|
|
137
|
+
"@ecmaos/types": "^0.4.0"
|
|
136
138
|
},
|
|
137
139
|
"dependencies": {
|
|
138
140
|
"@gera2ld/tarjs": "^0.3.1",
|
|
@@ -168,20 +170,20 @@
|
|
|
168
170
|
"tslog": "^4.9.3",
|
|
169
171
|
"wabt": "^1.0.36",
|
|
170
172
|
"winbox": "^0.2.82",
|
|
171
|
-
"@ecmaos-devices/audio": "^0.0
|
|
172
|
-
"@ecmaos-devices/battery": "^0.0
|
|
173
|
-
"@ecmaos-devices/bluetooth": "^0.0
|
|
174
|
-
"@ecmaos-devices/gamepad": "^0.0
|
|
175
|
-
"@ecmaos-devices/geo": "^0.0
|
|
176
|
-
"@ecmaos-devices/gpu": "^0.0
|
|
177
|
-
"@ecmaos-devices/hid": "^0.0
|
|
178
|
-
"@ecmaos-devices/midi": "^0.0
|
|
179
|
-
"@ecmaos-devices/presentation": "^0.0
|
|
180
|
-
"@ecmaos-devices/sensors": "^0.0
|
|
181
|
-
"@ecmaos-devices/serial": "^0.0
|
|
182
|
-
"@ecmaos-devices/usb": "^0.0
|
|
183
|
-
"@ecmaos-devices/webgl": "^0.0
|
|
184
|
-
"@ecmaos/bios": "^0.
|
|
173
|
+
"@ecmaos-devices/audio": "^0.1.0",
|
|
174
|
+
"@ecmaos-devices/battery": "^0.1.0",
|
|
175
|
+
"@ecmaos-devices/bluetooth": "^0.1.0",
|
|
176
|
+
"@ecmaos-devices/gamepad": "^0.1.0",
|
|
177
|
+
"@ecmaos-devices/geo": "^0.1.0",
|
|
178
|
+
"@ecmaos-devices/gpu": "^0.1.0",
|
|
179
|
+
"@ecmaos-devices/hid": "^0.1.0",
|
|
180
|
+
"@ecmaos-devices/midi": "^0.1.0",
|
|
181
|
+
"@ecmaos-devices/presentation": "^0.1.0",
|
|
182
|
+
"@ecmaos-devices/sensors": "^0.1.0",
|
|
183
|
+
"@ecmaos-devices/serial": "^0.1.0",
|
|
184
|
+
"@ecmaos-devices/usb": "^0.1.0",
|
|
185
|
+
"@ecmaos-devices/webgl": "^0.1.0",
|
|
186
|
+
"@ecmaos/bios": "^0.2.0"
|
|
185
187
|
},
|
|
186
188
|
"resolutions": {
|
|
187
189
|
"ws": ">=8.17.1"
|