@ecmaos/kernel 0.2.8 → 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/favicon.ico +0 -0
- package/dist/icon.jpg +0 -0
- package/dist/icon.png +0 -0
- package/dist/initfs/usr/share/licenses/zenfs/COPYRIGHT.txt +3 -0
- package/dist/initfs/usr/share/licenses/zenfs/LICENSE.md +157 -0
- package/dist/initfs.tar.gz +0 -0
- package/dist/{install-Ds1oWgTf.js → install-Bq1ihBVO.js} +9 -7
- package/dist/install-Bq1ihBVO.js.map +1 -0
- package/dist/kernel-CAb1EbZv.js +68081 -0
- package/dist/kernel-CAb1EbZv.js.map +1 -0
- package/dist/kernel.d.ts +9 -2
- package/dist/kernel.js +1 -1
- package/dist/{topbar.min-CDkSVOxV.js → topbar.min-D99PF3OL.js} +15 -11
- package/dist/{topbar.min-CDkSVOxV.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 +27 -23
- package/LICENSE +0 -7
- package/dist/browser-D_CtuxSB.js +0 -23
- package/dist/browser-D_CtuxSB.js.map +0 -1
- package/dist/empty--zdtkf0T.js +0 -85466
- package/dist/empty--zdtkf0T.js.map +0 -1
- package/dist/install-Ds1oWgTf.js.map +0 -1
package/dist/kernel.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Auth } from '#auth.ts';
|
|
2
|
-
import { BIOSModule } from '@ecmaos/bios';
|
|
3
2
|
import { BootOptions } from '@ecmaos/types';
|
|
4
3
|
import { Components } from '#components.ts';
|
|
5
4
|
import { default as default_2 } from 'node:module';
|
|
@@ -30,6 +29,7 @@ import { Storage as Storage_2 } from '#storage.ts';
|
|
|
30
29
|
import { Terminal } from '@ecmaos/types';
|
|
31
30
|
import { Users } from '#users.ts';
|
|
32
31
|
import { Wasm } from '@ecmaos/types';
|
|
32
|
+
import { WebContainer } from '@webcontainer/api';
|
|
33
33
|
import { Windows } from '@ecmaos/types';
|
|
34
34
|
import { Workers } from '@ecmaos/types';
|
|
35
35
|
|
|
@@ -58,11 +58,12 @@ export declare class Kernel implements Kernel_2 {
|
|
|
58
58
|
/** Authentication and authorization service */
|
|
59
59
|
readonly auth: Auth;
|
|
60
60
|
/** BIOS module providing low-level functionality */
|
|
61
|
-
bios?: BIOSModule;
|
|
62
61
|
/** Broadcast channel for inter-kernel communication */
|
|
63
62
|
readonly channel: BroadcastChannel;
|
|
64
63
|
/** Web Components manager */
|
|
65
64
|
readonly components: Components;
|
|
65
|
+
/** WebContainer instance */
|
|
66
|
+
container?: WebContainer;
|
|
66
67
|
/** DOM manipulation service */
|
|
67
68
|
readonly dom: Dom;
|
|
68
69
|
/** Map of registered devices and their drivers */
|
|
@@ -175,6 +176,7 @@ export declare class Kernel implements Kernel_2 {
|
|
|
175
176
|
*
|
|
176
177
|
* @remarks
|
|
177
178
|
* Don't expect it to work; this will help develop further emulation layers
|
|
179
|
+
* We still need to resolve the IndexedDB/sync issues before sync fs calls will work
|
|
178
180
|
*
|
|
179
181
|
* @param options - Execution options containing script path and shell
|
|
180
182
|
* @returns Exit code of the script
|
|
@@ -265,6 +267,11 @@ export declare class Kernel implements Kernel_2 {
|
|
|
265
267
|
* @returns {Promise<T>} Result of the operation
|
|
266
268
|
*/
|
|
267
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;
|
|
268
275
|
}
|
|
269
276
|
|
|
270
277
|
export { }
|
package/dist/kernel.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { g as getDefaultExportFromCjs } from "./kernel-CAb1EbZv.js";
|
|
2
4
|
var topbar_min$3 = { exports: {} };
|
|
3
5
|
/**
|
|
4
6
|
* @license MIT
|
|
@@ -21,25 +23,27 @@ function requireTopbar_min() {
|
|
|
21
23
|
for (stop in options.barColors) lineGradient.addColorStop(stop, options.barColors[stop]);
|
|
22
24
|
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();
|
|
23
25
|
}
|
|
24
|
-
|
|
26
|
+
__name(repaint, "repaint");
|
|
27
|
+
var canvas, currentProgress, showing, progressTimerId = null, fadeTimerId = null, delayTimerId = null, options = { autoRun: true, 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: /* @__PURE__ */ __name(function(opts) {
|
|
25
28
|
for (var key in opts) options.hasOwnProperty(key) && (options[key] = opts[key]);
|
|
26
|
-
}, show: function(handler) {
|
|
29
|
+
}, "config"), show: /* @__PURE__ */ __name(function(handler) {
|
|
27
30
|
var type, elem;
|
|
28
|
-
showing || (handler ? delayTimerId = delayTimerId || setTimeout(() => topbar.show(), handler) : (showing = true, null !== fadeTimerId && window2.cancelAnimationFrame(fadeTimerId), canvas || ((elem = (canvas = document2.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 = window2).addEventListener ? elem.addEventListener(type, handler, false) : elem.attachEvent ? elem.attachEvent("on" + type, handler) : elem["on" + type] = handler), canvas.parentElement || document2.body.appendChild(canvas), canvas.style.opacity = 1, canvas.style.display = "block", topbar.progress(0), options.autoRun && function loop() {
|
|
31
|
+
showing || (handler ? delayTimerId = delayTimerId || setTimeout(() => topbar.show(), handler) : (showing = true, null !== fadeTimerId && window2.cancelAnimationFrame(fadeTimerId), canvas || ((elem = (canvas = document2.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 = window2).addEventListener ? elem.addEventListener(type, handler, false) : elem.attachEvent ? elem.attachEvent("on" + type, handler) : elem["on" + type] = handler), canvas.parentElement || document2.body.appendChild(canvas), canvas.style.opacity = 1, canvas.style.display = "block", topbar.progress(0), options.autoRun && (/* @__PURE__ */ __name(function loop() {
|
|
29
32
|
progressTimerId = window2.requestAnimationFrame(loop), topbar.progress("+" + 0.05 * Math.pow(1 - Math.sqrt(currentProgress), 2));
|
|
30
|
-
}()));
|
|
31
|
-
}, progress: function(to) {
|
|
33
|
+
}, "loop"))()));
|
|
34
|
+
}, "show"), progress: /* @__PURE__ */ __name(function(to) {
|
|
32
35
|
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;
|
|
33
|
-
}, hide: function() {
|
|
34
|
-
clearTimeout(delayTimerId), delayTimerId = null, showing && (showing = false, null != progressTimerId && (window2.cancelAnimationFrame(progressTimerId), progressTimerId = null), function loop() {
|
|
36
|
+
}, "progress"), hide: /* @__PURE__ */ __name(function() {
|
|
37
|
+
clearTimeout(delayTimerId), delayTimerId = null, showing && (showing = false, null != progressTimerId && (window2.cancelAnimationFrame(progressTimerId), progressTimerId = null), (/* @__PURE__ */ __name(function loop() {
|
|
35
38
|
return 1 <= topbar.progress("+.1") && (canvas.style.opacity -= 0.05, canvas.style.opacity <= 0.05) ? (canvas.style.display = "none", void (fadeTimerId = null)) : void (fadeTimerId = window2.requestAnimationFrame(loop));
|
|
36
|
-
}());
|
|
37
|
-
} };
|
|
39
|
+
}, "loop"))());
|
|
40
|
+
}, "hide") };
|
|
38
41
|
module.exports = topbar;
|
|
39
42
|
}).call(topbar_min$2, window, document);
|
|
40
43
|
})(topbar_min$3);
|
|
41
44
|
return topbar_min$3.exports;
|
|
42
45
|
}
|
|
46
|
+
__name(requireTopbar_min, "requireTopbar_min");
|
|
43
47
|
var topbar_minExports = requireTopbar_min();
|
|
44
48
|
const topbar_min = /* @__PURE__ */ getDefaultExportFromCjs(topbar_minExports);
|
|
45
49
|
const topbar_min$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
@@ -49,4 +53,4 @@ const topbar_min$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.define
|
|
|
49
53
|
export {
|
|
50
54
|
topbar_min$1 as t
|
|
51
55
|
};
|
|
52
|
-
//# 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",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"email": "code@mathis.network"
|
|
23
23
|
},
|
|
24
24
|
"knownIssues": [
|
|
25
|
+
"It's best to stick to Chromium-based browsers for the most features",
|
|
25
26
|
"Keyboard is broken on mobile; ecmaOS is not mobile-friendly at this time",
|
|
26
27
|
"Don't expect any sort of POSIX compliance at this stage",
|
|
27
28
|
"Most commands/devices are very basic implementations, not complete reproductions",
|
|
@@ -33,8 +34,10 @@
|
|
|
33
34
|
"If it ever fails to boot, check your logs or try clearing all data",
|
|
34
35
|
"You can run some devices that offer a CLI - e.g. '/dev/battery --help'",
|
|
35
36
|
"Use the 'install' command to install packages - e.g. 'install @ecmaos-apps/news'",
|
|
37
|
+
"You can install any NPM package - e.g. 'install jquery'",
|
|
36
38
|
"Use the 'news' command to see the latest news about ecmaOS",
|
|
37
|
-
"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"
|
|
38
41
|
],
|
|
39
42
|
"type": "module",
|
|
40
43
|
"files": [
|
|
@@ -123,14 +126,15 @@
|
|
|
123
126
|
"typescript": "^5.6.3",
|
|
124
127
|
"typescript-eslint": "^8.8.0",
|
|
125
128
|
"user-agent-data-types": "^0.4.2",
|
|
126
|
-
"vite": "^
|
|
129
|
+
"vite": "^7.1.12",
|
|
127
130
|
"vite-plugin-dts": "^4.3.0",
|
|
128
131
|
"vite-plugin-i18next-loader": "^2.0.13",
|
|
129
132
|
"vite-plugin-node-polyfills": "^0.22.0",
|
|
130
133
|
"vite-tsconfig-paths": "^5.0.1",
|
|
131
134
|
"vitest": "^2.1.2",
|
|
132
|
-
"
|
|
133
|
-
"@ecmaos/
|
|
135
|
+
"vitest-canvas-mock": "^0.3.3",
|
|
136
|
+
"@ecmaos/config-typescript": "^0.2.0",
|
|
137
|
+
"@ecmaos/types": "^0.4.0"
|
|
134
138
|
},
|
|
135
139
|
"dependencies": {
|
|
136
140
|
"@gera2ld/tarjs": "^0.3.1",
|
|
@@ -143,10 +147,10 @@
|
|
|
143
147
|
"@xterm/addon-search": "^0.15.0",
|
|
144
148
|
"@xterm/addon-serialize": "^0.13.0",
|
|
145
149
|
"@xterm/xterm": "^5.5.0",
|
|
146
|
-
"@zenfs/archives": "^1.
|
|
147
|
-
"@zenfs/core": "^
|
|
148
|
-
"@zenfs/dom": "^1.
|
|
149
|
-
"@zenfs/emscripten": "^1.0.
|
|
150
|
+
"@zenfs/archives": "^1.3.1",
|
|
151
|
+
"@zenfs/core": "^2.4.2",
|
|
152
|
+
"@zenfs/dom": "^1.2.5",
|
|
153
|
+
"@zenfs/emscripten": "^1.0.5",
|
|
150
154
|
"@zip.js/zip.js": "^2.7.52",
|
|
151
155
|
"ansi-escape-sequences": "^6.2.3",
|
|
152
156
|
"chalk": "^5.3.0",
|
|
@@ -166,20 +170,20 @@
|
|
|
166
170
|
"tslog": "^4.9.3",
|
|
167
171
|
"wabt": "^1.0.36",
|
|
168
172
|
"winbox": "^0.2.82",
|
|
169
|
-
"@ecmaos-devices/audio": "^0.0
|
|
170
|
-
"@ecmaos-devices/battery": "^0.0
|
|
171
|
-
"@ecmaos-devices/
|
|
172
|
-
"@ecmaos-devices/
|
|
173
|
-
"@ecmaos-devices/
|
|
174
|
-
"@ecmaos-devices/
|
|
175
|
-
"@ecmaos-devices/
|
|
176
|
-
"@ecmaos-devices/midi": "^0.0
|
|
177
|
-
"@ecmaos-devices/presentation": "^0.0
|
|
178
|
-
"@ecmaos-devices/sensors": "^0.0
|
|
179
|
-
"@ecmaos-devices/serial": "^0.0
|
|
180
|
-
"@ecmaos-devices/usb": "^0.0
|
|
181
|
-
"@ecmaos-devices/webgl": "^0.0
|
|
182
|
-
"@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"
|
|
183
187
|
},
|
|
184
188
|
"resolutions": {
|
|
185
189
|
"ws": ">=8.17.1"
|
package/LICENSE
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# Dual MIT/Apache-2.0 License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024-2025 Jay Mathis <code@mathis.network>
|
|
4
|
-
|
|
5
|
-
Except as otherwise noted in individual files, this software is licensed under the MIT license (<http://opensource.org/licenses/MIT>), or the Apache License, Version 2.0 (<http://www.apache.org/licenses/LICENSE-2.0>).
|
|
6
|
-
|
|
7
|
-
Downstream projects and end users may choose either license individually, or both together, at their discretion. The motivation for this dual-licensing is the additional software patent assurance provided by Apache 2.0.
|
package/dist/browser-D_CtuxSB.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from "./empty--zdtkf0T.js";
|
|
2
|
-
var browser$2;
|
|
3
|
-
var hasRequiredBrowser;
|
|
4
|
-
function requireBrowser() {
|
|
5
|
-
if (hasRequiredBrowser) return browser$2;
|
|
6
|
-
hasRequiredBrowser = 1;
|
|
7
|
-
browser$2 = function() {
|
|
8
|
-
throw new Error(
|
|
9
|
-
"ws does not work in the browser. Browser clients must use the native WebSocket object"
|
|
10
|
-
);
|
|
11
|
-
};
|
|
12
|
-
return browser$2;
|
|
13
|
-
}
|
|
14
|
-
var browserExports = requireBrowser();
|
|
15
|
-
const browser = /* @__PURE__ */ getDefaultExportFromCjs(browserExports);
|
|
16
|
-
const browser$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
17
|
-
__proto__: null,
|
|
18
|
-
default: browser
|
|
19
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
20
|
-
export {
|
|
21
|
-
browser$1 as b
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=browser-D_CtuxSB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-D_CtuxSB.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]}
|