@scelar/nodepod 1.0.6 → 1.0.7
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/{child_process-4ZrgCVFu.js → child_process-CgnmoilU.js} +4 -4
- package/dist/{child_process-4ZrgCVFu.js.map → child_process-CgnmoilU.js.map} +1 -1
- package/dist/{child_process-Cao4lyrb.cjs → child_process-bGGe8mTj.cjs} +5 -5
- package/dist/{child_process-Cao4lyrb.cjs.map → child_process-bGGe8mTj.cjs.map} +1 -1
- package/dist/{index-HkVqijtm.js → index-DZpqX03n.js} +11 -35
- package/dist/{index-HkVqijtm.js.map → index-DZpqX03n.js.map} +1 -1
- package/dist/{index-DuYo2yDs.cjs → index-NinyWmnj.cjs} +12 -30
- package/dist/{index-DuYo2yDs.cjs.map → index-NinyWmnj.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/polyfills/readline.d.ts +108 -108
- package/dist/sdk/nodepod.d.ts +58 -59
- package/package.json +97 -97
- package/src/sdk/nodepod.ts +127 -81
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p, I, q, s, t, v, w, x, y, P, z, A, C, F, S, G, H, J, K, O, Q, U, X, Z, _, $, a0, a1, a1 as a12, a2, a3, a4, a5, a6,
|
|
1
|
+
import { p, I, q, s, t, v, w, x, y, P, z, A, C, F, S, G, H, J, K, O, Q, U, X, Z, _, $, a0, a1, a1 as a12, a2, a3, a4, a5, a6, m, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at } from "./index-DZpqX03n.js";
|
|
2
2
|
export {
|
|
3
3
|
p as DependencyInstaller,
|
|
4
4
|
I as IframeSandbox,
|
|
@@ -34,7 +34,7 @@ export {
|
|
|
34
34
|
a4 as executeCode,
|
|
35
35
|
a5 as fsevents,
|
|
36
36
|
a6 as generateSandboxDeployment,
|
|
37
|
-
|
|
37
|
+
m as getActiveContext,
|
|
38
38
|
a7 as getProxyInstance,
|
|
39
39
|
a8 as getSandboxHostingConfig,
|
|
40
40
|
a9 as getSandboxPageHtml,
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
import { EventEmitter } from "./events";
|
|
2
|
-
export declare function getActiveInterfaceCount(): number;
|
|
3
|
-
export declare function setActiveInterfaceCount(n: number): void;
|
|
4
|
-
export declare function resetActiveInterfaceCount(): void;
|
|
5
|
-
export interface InterfaceConfig {
|
|
6
|
-
input?: unknown;
|
|
7
|
-
output?: unknown;
|
|
8
|
-
terminal?: boolean;
|
|
9
|
-
prompt?: string;
|
|
10
|
-
historySize?: number;
|
|
11
|
-
history?: string[];
|
|
12
|
-
removeHistoryDuplicates?: boolean;
|
|
13
|
-
completer?: (line: string) => [string[], string] | void;
|
|
14
|
-
crlfDelay?: number;
|
|
15
|
-
escapeCodeTimeout?: number;
|
|
16
|
-
tabSize?: number;
|
|
17
|
-
signal?: AbortSignal;
|
|
18
|
-
}
|
|
19
|
-
export declare function emitKeypressEvents(stream: unknown, _iface?: Interface): void;
|
|
20
|
-
export interface Interface extends EventEmitter {
|
|
21
|
-
_promptStr: string;
|
|
22
|
-
input: unknown;
|
|
23
|
-
output: unknown;
|
|
24
|
-
closed: boolean;
|
|
25
|
-
_lineBuffer: string;
|
|
26
|
-
_pendingQuestions: Array<{
|
|
27
|
-
query: string;
|
|
28
|
-
handler: (answer: string) => void;
|
|
29
|
-
signal?: AbortSignal;
|
|
30
|
-
abortListener?: () => void;
|
|
31
|
-
}>;
|
|
32
|
-
terminal: boolean;
|
|
33
|
-
line: string;
|
|
34
|
-
cursor: number;
|
|
35
|
-
history: string[];
|
|
36
|
-
_historyIndex: number;
|
|
37
|
-
_historySize: number;
|
|
38
|
-
_removeHistoryDuplicates: boolean;
|
|
39
|
-
_savedLine: string;
|
|
40
|
-
_killRing: string[];
|
|
41
|
-
_refreshLine(): void;
|
|
42
|
-
_onKeypress(char: string | undefined, key: any): void;
|
|
43
|
-
_onData(text: string): void;
|
|
44
|
-
_addToHistory(line: string): void;
|
|
45
|
-
prompt(preserveCursor?: boolean): void;
|
|
46
|
-
setPrompt(text: string): void;
|
|
47
|
-
getPrompt(): string;
|
|
48
|
-
question(query: string, optsOrHandler?: unknown, handler?: (answer: string) => void): void;
|
|
49
|
-
pause(): this;
|
|
50
|
-
resume(): this;
|
|
51
|
-
close(): void;
|
|
52
|
-
write(data: string | null, _key?: {
|
|
53
|
-
ctrl?: boolean;
|
|
54
|
-
name?: string;
|
|
55
|
-
meta?: boolean;
|
|
56
|
-
shift?: boolean;
|
|
57
|
-
sequence?: string;
|
|
58
|
-
}): void;
|
|
59
|
-
clearLine(dir?: number): void;
|
|
60
|
-
getCursorPos(): {
|
|
61
|
-
rows: number;
|
|
62
|
-
cols: number;
|
|
63
|
-
};
|
|
64
|
-
[Symbol.asyncIterator](): AsyncGenerator<string, void, undefined>;
|
|
65
|
-
}
|
|
66
|
-
interface InterfaceConstructor {
|
|
67
|
-
new (cfg?: InterfaceConfig): Interface;
|
|
68
|
-
(this: any, cfg?: InterfaceConfig): void;
|
|
69
|
-
prototype: any;
|
|
70
|
-
}
|
|
71
|
-
export declare const Interface: InterfaceConstructor;
|
|
72
|
-
export declare function createInterface(cfgOrInput?: InterfaceConfig | unknown, output?: unknown): Interface;
|
|
73
|
-
export declare function clearLine(stream: unknown, dir: number, done?: () => void): boolean;
|
|
74
|
-
export declare function clearScreenDown(stream: unknown, done?: () => void): boolean;
|
|
75
|
-
export declare function cursorTo(stream: unknown, x: number, yOrDone?: number | (() => void), done?: () => void): boolean;
|
|
76
|
-
export declare function moveCursor(stream: unknown, dx: number, dy: number, done?: () => void): boolean;
|
|
77
|
-
declare class ReadlineWriter {
|
|
78
|
-
private _stream;
|
|
79
|
-
private _buffer;
|
|
80
|
-
private _autoCommit;
|
|
81
|
-
constructor(stream: any, opts?: {
|
|
82
|
-
autoCommit?: boolean;
|
|
83
|
-
});
|
|
84
|
-
clearLine(dir: -1 | 0 | 1): this;
|
|
85
|
-
clearScreenDown(): this;
|
|
86
|
-
cursorTo(x: number, y?: number): this;
|
|
87
|
-
moveCursor(dx: number, dy: number): this;
|
|
88
|
-
commit(): Promise<void>;
|
|
89
|
-
rollback(): this;
|
|
90
|
-
}
|
|
91
|
-
export declare const promises: {
|
|
92
|
-
createInterface(cfg?: InterfaceConfig): any;
|
|
93
|
-
Readline: typeof ReadlineWriter;
|
|
94
|
-
};
|
|
95
|
-
declare const _default: {
|
|
96
|
-
Interface: InterfaceConstructor;
|
|
97
|
-
createInterface: typeof createInterface;
|
|
98
|
-
clearLine: typeof clearLine;
|
|
99
|
-
clearScreenDown: typeof clearScreenDown;
|
|
100
|
-
cursorTo: typeof cursorTo;
|
|
101
|
-
moveCursor: typeof moveCursor;
|
|
102
|
-
emitKeypressEvents: typeof emitKeypressEvents;
|
|
103
|
-
promises: {
|
|
104
|
-
createInterface(cfg?: InterfaceConfig): any;
|
|
105
|
-
Readline: typeof ReadlineWriter;
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
export default _default;
|
|
1
|
+
import { EventEmitter } from "./events";
|
|
2
|
+
export declare function getActiveInterfaceCount(): number;
|
|
3
|
+
export declare function setActiveInterfaceCount(n: number): void;
|
|
4
|
+
export declare function resetActiveInterfaceCount(): void;
|
|
5
|
+
export interface InterfaceConfig {
|
|
6
|
+
input?: unknown;
|
|
7
|
+
output?: unknown;
|
|
8
|
+
terminal?: boolean;
|
|
9
|
+
prompt?: string;
|
|
10
|
+
historySize?: number;
|
|
11
|
+
history?: string[];
|
|
12
|
+
removeHistoryDuplicates?: boolean;
|
|
13
|
+
completer?: (line: string) => [string[], string] | void;
|
|
14
|
+
crlfDelay?: number;
|
|
15
|
+
escapeCodeTimeout?: number;
|
|
16
|
+
tabSize?: number;
|
|
17
|
+
signal?: AbortSignal;
|
|
18
|
+
}
|
|
19
|
+
export declare function emitKeypressEvents(stream: unknown, _iface?: Interface): void;
|
|
20
|
+
export interface Interface extends EventEmitter {
|
|
21
|
+
_promptStr: string;
|
|
22
|
+
input: unknown;
|
|
23
|
+
output: unknown;
|
|
24
|
+
closed: boolean;
|
|
25
|
+
_lineBuffer: string;
|
|
26
|
+
_pendingQuestions: Array<{
|
|
27
|
+
query: string;
|
|
28
|
+
handler: (answer: string) => void;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
abortListener?: () => void;
|
|
31
|
+
}>;
|
|
32
|
+
terminal: boolean;
|
|
33
|
+
line: string;
|
|
34
|
+
cursor: number;
|
|
35
|
+
history: string[];
|
|
36
|
+
_historyIndex: number;
|
|
37
|
+
_historySize: number;
|
|
38
|
+
_removeHistoryDuplicates: boolean;
|
|
39
|
+
_savedLine: string;
|
|
40
|
+
_killRing: string[];
|
|
41
|
+
_refreshLine(): void;
|
|
42
|
+
_onKeypress(char: string | undefined, key: any): void;
|
|
43
|
+
_onData(text: string): void;
|
|
44
|
+
_addToHistory(line: string): void;
|
|
45
|
+
prompt(preserveCursor?: boolean): void;
|
|
46
|
+
setPrompt(text: string): void;
|
|
47
|
+
getPrompt(): string;
|
|
48
|
+
question(query: string, optsOrHandler?: unknown, handler?: (answer: string) => void): void;
|
|
49
|
+
pause(): this;
|
|
50
|
+
resume(): this;
|
|
51
|
+
close(): void;
|
|
52
|
+
write(data: string | null, _key?: {
|
|
53
|
+
ctrl?: boolean;
|
|
54
|
+
name?: string;
|
|
55
|
+
meta?: boolean;
|
|
56
|
+
shift?: boolean;
|
|
57
|
+
sequence?: string;
|
|
58
|
+
}): void;
|
|
59
|
+
clearLine(dir?: number): void;
|
|
60
|
+
getCursorPos(): {
|
|
61
|
+
rows: number;
|
|
62
|
+
cols: number;
|
|
63
|
+
};
|
|
64
|
+
[Symbol.asyncIterator](): AsyncGenerator<string, void, undefined>;
|
|
65
|
+
}
|
|
66
|
+
interface InterfaceConstructor {
|
|
67
|
+
new (cfg?: InterfaceConfig): Interface;
|
|
68
|
+
(this: any, cfg?: InterfaceConfig): void;
|
|
69
|
+
prototype: any;
|
|
70
|
+
}
|
|
71
|
+
export declare const Interface: InterfaceConstructor;
|
|
72
|
+
export declare function createInterface(cfgOrInput?: InterfaceConfig | unknown, output?: unknown): Interface;
|
|
73
|
+
export declare function clearLine(stream: unknown, dir: number, done?: () => void): boolean;
|
|
74
|
+
export declare function clearScreenDown(stream: unknown, done?: () => void): boolean;
|
|
75
|
+
export declare function cursorTo(stream: unknown, x: number, yOrDone?: number | (() => void), done?: () => void): boolean;
|
|
76
|
+
export declare function moveCursor(stream: unknown, dx: number, dy: number, done?: () => void): boolean;
|
|
77
|
+
declare class ReadlineWriter {
|
|
78
|
+
private _stream;
|
|
79
|
+
private _buffer;
|
|
80
|
+
private _autoCommit;
|
|
81
|
+
constructor(stream: any, opts?: {
|
|
82
|
+
autoCommit?: boolean;
|
|
83
|
+
});
|
|
84
|
+
clearLine(dir: -1 | 0 | 1): this;
|
|
85
|
+
clearScreenDown(): this;
|
|
86
|
+
cursorTo(x: number, y?: number): this;
|
|
87
|
+
moveCursor(dx: number, dy: number): this;
|
|
88
|
+
commit(): Promise<void>;
|
|
89
|
+
rollback(): this;
|
|
90
|
+
}
|
|
91
|
+
export declare const promises: {
|
|
92
|
+
createInterface(cfg?: InterfaceConfig): any;
|
|
93
|
+
Readline: typeof ReadlineWriter;
|
|
94
|
+
};
|
|
95
|
+
declare const _default: {
|
|
96
|
+
Interface: InterfaceConstructor;
|
|
97
|
+
createInterface: typeof createInterface;
|
|
98
|
+
clearLine: typeof clearLine;
|
|
99
|
+
clearScreenDown: typeof clearScreenDown;
|
|
100
|
+
cursorTo: typeof cursorTo;
|
|
101
|
+
moveCursor: typeof moveCursor;
|
|
102
|
+
emitKeypressEvents: typeof emitKeypressEvents;
|
|
103
|
+
promises: {
|
|
104
|
+
createInterface(cfg?: InterfaceConfig): any;
|
|
105
|
+
Readline: typeof ReadlineWriter;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
export default _default;
|
package/dist/sdk/nodepod.d.ts
CHANGED
|
@@ -1,59 +1,58 @@
|
|
|
1
|
-
import { MemoryVolume } from "../memory-volume";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
private
|
|
13
|
-
private
|
|
14
|
-
private
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
-
private
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
get
|
|
54
|
-
get
|
|
55
|
-
get
|
|
56
|
-
get
|
|
57
|
-
get
|
|
58
|
-
|
|
59
|
-
}
|
|
1
|
+
import { MemoryVolume } from "../memory-volume";
|
|
2
|
+
import { DependencyInstaller } from "../packages/installer";
|
|
3
|
+
import { RequestProxy } from "../request-proxy";
|
|
4
|
+
import type { NodepodOptions, TerminalOptions, Snapshot, SnapshotOptions, SpawnOptions } from "./types";
|
|
5
|
+
import { NodepodFS } from "./nodepod-fs";
|
|
6
|
+
import { NodepodProcess } from "./nodepod-process";
|
|
7
|
+
import { NodepodTerminal } from "./nodepod-terminal";
|
|
8
|
+
import { ProcessManager } from "../threading/process-manager";
|
|
9
|
+
export declare class Nodepod {
|
|
10
|
+
readonly fs: NodepodFS;
|
|
11
|
+
private _volume;
|
|
12
|
+
private _packages;
|
|
13
|
+
private _proxy;
|
|
14
|
+
private _cwd;
|
|
15
|
+
private _processManager;
|
|
16
|
+
private _vfsBridge;
|
|
17
|
+
private _sharedVFS;
|
|
18
|
+
private _syncChannel;
|
|
19
|
+
private _unwatchVFS;
|
|
20
|
+
private _handler;
|
|
21
|
+
private constructor();
|
|
22
|
+
static boot(opts?: NodepodOptions): Promise<Nodepod>;
|
|
23
|
+
spawn(cmd: string, args?: string[], opts?: SpawnOptions): Promise<NodepodProcess>;
|
|
24
|
+
private _resolveCommand;
|
|
25
|
+
createTerminal(opts: TerminalOptions): NodepodTerminal;
|
|
26
|
+
setPreviewScript(script: string): Promise<void>;
|
|
27
|
+
clearPreviewScript(): Promise<void>;
|
|
28
|
+
port(num: number): string | null;
|
|
29
|
+
/** Directory names excluded from snapshots at any depth when shallow=true. */
|
|
30
|
+
private static readonly SHALLOW_EXCLUDE_DIRS;
|
|
31
|
+
snapshot(opts?: SnapshotOptions): Snapshot;
|
|
32
|
+
restore(snapshot: Snapshot, opts?: SnapshotOptions): Promise<void>;
|
|
33
|
+
teardown(): void;
|
|
34
|
+
memoryStats(): {
|
|
35
|
+
vfs: {
|
|
36
|
+
fileCount: number;
|
|
37
|
+
totalBytes: number;
|
|
38
|
+
dirCount: number;
|
|
39
|
+
watcherCount: number;
|
|
40
|
+
};
|
|
41
|
+
engine: {
|
|
42
|
+
moduleCacheSize: number;
|
|
43
|
+
transformCacheSize: number;
|
|
44
|
+
};
|
|
45
|
+
heap: {
|
|
46
|
+
usedMB: number;
|
|
47
|
+
totalMB: number;
|
|
48
|
+
limitMB: number;
|
|
49
|
+
} | null;
|
|
50
|
+
};
|
|
51
|
+
get volume(): MemoryVolume;
|
|
52
|
+
/** @deprecated Main-thread engine removed for security. All code runs in isolated Web Workers via spawn(). */
|
|
53
|
+
get engine(): never;
|
|
54
|
+
get packages(): DependencyInstaller;
|
|
55
|
+
get proxy(): RequestProxy;
|
|
56
|
+
get processManager(): ProcessManager;
|
|
57
|
+
get cwd(): string;
|
|
58
|
+
}
|
package/package.json
CHANGED
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@scelar/nodepod",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Browser-native Node.js runtime environment",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"license": "MIT WITH Commons-Clause",
|
|
7
|
-
"author": "R1ck404 (https://github.com/R1ck404)",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/ScelarOrg/Nodepod.git"
|
|
11
|
-
},
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/ScelarOrg/Nodepod/issues"
|
|
14
|
-
},
|
|
15
|
-
"homepage": "https://github.com/ScelarOrg/Nodepod#readme",
|
|
16
|
-
"keywords": [
|
|
17
|
-
"node",
|
|
18
|
-
"browser",
|
|
19
|
-
"runtime",
|
|
20
|
-
"sandbox",
|
|
21
|
-
"typescript",
|
|
22
|
-
"virtual-filesystem",
|
|
23
|
-
"polyfill",
|
|
24
|
-
"webcontainer",
|
|
25
|
-
"in-browser",
|
|
26
|
-
"nodejs"
|
|
27
|
-
],
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=20.0.0"
|
|
30
|
-
},
|
|
31
|
-
"main": "./dist/index.cjs",
|
|
32
|
-
"module": "./dist/index.mjs",
|
|
33
|
-
"types": "./dist/index.d.ts",
|
|
34
|
-
"exports": {
|
|
35
|
-
".": {
|
|
36
|
-
"import": {
|
|
37
|
-
"types": "./dist/index.d.ts",
|
|
38
|
-
"default": "./dist/index.mjs"
|
|
39
|
-
},
|
|
40
|
-
"require": {
|
|
41
|
-
"types": "./dist/index.d.ts",
|
|
42
|
-
"default": "./dist/index.cjs"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"files": [
|
|
47
|
-
"src",
|
|
48
|
-
"dist"
|
|
49
|
-
],
|
|
50
|
-
"sideEffects": false,
|
|
51
|
-
"scripts": {
|
|
52
|
-
"build:lib": "vite build --config vite.lib.config.js && node -e \"require('fs').copyFileSync('static/__sw__.js','dist/__sw__.js')\"",
|
|
53
|
-
"build:types": "tsc --project tsconfig.build.json",
|
|
54
|
-
"build:publish": "npm run build:lib && npm run build:types",
|
|
55
|
-
"type-check": "tsc --noEmit",
|
|
56
|
-
"test": "vitest run",
|
|
57
|
-
"test:watch": "vitest",
|
|
58
|
-
"bench": "vitest bench",
|
|
59
|
-
"bench:run": "vitest bench --run"
|
|
60
|
-
},
|
|
61
|
-
"dependencies": {
|
|
62
|
-
"acorn": "^8.15.0",
|
|
63
|
-
"acorn-jsx": "^5.3.2",
|
|
64
|
-
"brotli": "^1.3.3",
|
|
65
|
-
"brotli-wasm": "^3.0.1",
|
|
66
|
-
"comlink": "^4.4.2",
|
|
67
|
-
"pako": "^2.1.0",
|
|
68
|
-
"resolve.exports": "^2.0.3",
|
|
69
|
-
"zod": "^4.3.6"
|
|
70
|
-
},
|
|
71
|
-
"peerDependencies": {
|
|
72
|
-
"@xterm/xterm": "^6.0.0",
|
|
73
|
-
"@xterm/addon-fit": "^0.11.0",
|
|
74
|
-
"@xterm/addon-webgl": "^0.19.0"
|
|
75
|
-
},
|
|
76
|
-
"peerDependenciesMeta": {
|
|
77
|
-
"@xterm/xterm": {
|
|
78
|
-
"optional": true
|
|
79
|
-
},
|
|
80
|
-
"@xterm/addon-fit": {
|
|
81
|
-
"optional": true
|
|
82
|
-
},
|
|
83
|
-
"@xterm/addon-webgl": {
|
|
84
|
-
"optional": true
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
"devDependencies": {
|
|
88
|
-
"@types/node": "^25.0.10",
|
|
89
|
-
"@types/pako": "^2.0.4",
|
|
90
|
-
"esbuild": "^0.27.2",
|
|
91
|
-
"typescript": "^5.9.3",
|
|
92
|
-
"vite": "^5.4.0",
|
|
93
|
-
"vite-plugin-top-level-await": "^1.6.0",
|
|
94
|
-
"vite-plugin-wasm": "^3.5.0",
|
|
95
|
-
"vitest": "^4.0.18"
|
|
96
|
-
}
|
|
97
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@scelar/nodepod",
|
|
3
|
+
"version": "1.0.7",
|
|
4
|
+
"description": "Browser-native Node.js runtime environment",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT WITH Commons-Clause",
|
|
7
|
+
"author": "R1ck404 (https://github.com/R1ck404)",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/ScelarOrg/Nodepod.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/ScelarOrg/Nodepod/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/ScelarOrg/Nodepod#readme",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"node",
|
|
18
|
+
"browser",
|
|
19
|
+
"runtime",
|
|
20
|
+
"sandbox",
|
|
21
|
+
"typescript",
|
|
22
|
+
"virtual-filesystem",
|
|
23
|
+
"polyfill",
|
|
24
|
+
"webcontainer",
|
|
25
|
+
"in-browser",
|
|
26
|
+
"nodejs"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=20.0.0"
|
|
30
|
+
},
|
|
31
|
+
"main": "./dist/index.cjs",
|
|
32
|
+
"module": "./dist/index.mjs",
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"import": {
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"default": "./dist/index.mjs"
|
|
39
|
+
},
|
|
40
|
+
"require": {
|
|
41
|
+
"types": "./dist/index.d.ts",
|
|
42
|
+
"default": "./dist/index.cjs"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"files": [
|
|
47
|
+
"src",
|
|
48
|
+
"dist"
|
|
49
|
+
],
|
|
50
|
+
"sideEffects": false,
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build:lib": "vite build --config vite.lib.config.js && node -e \"require('fs').copyFileSync('static/__sw__.js','dist/__sw__.js')\"",
|
|
53
|
+
"build:types": "tsc --project tsconfig.build.json",
|
|
54
|
+
"build:publish": "npm run build:lib && npm run build:types",
|
|
55
|
+
"type-check": "tsc --noEmit",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"test:watch": "vitest",
|
|
58
|
+
"bench": "vitest bench",
|
|
59
|
+
"bench:run": "vitest bench --run"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"acorn": "^8.15.0",
|
|
63
|
+
"acorn-jsx": "^5.3.2",
|
|
64
|
+
"brotli": "^1.3.3",
|
|
65
|
+
"brotli-wasm": "^3.0.1",
|
|
66
|
+
"comlink": "^4.4.2",
|
|
67
|
+
"pako": "^2.1.0",
|
|
68
|
+
"resolve.exports": "^2.0.3",
|
|
69
|
+
"zod": "^4.3.6"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"@xterm/xterm": "^6.0.0",
|
|
73
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
74
|
+
"@xterm/addon-webgl": "^0.19.0"
|
|
75
|
+
},
|
|
76
|
+
"peerDependenciesMeta": {
|
|
77
|
+
"@xterm/xterm": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
80
|
+
"@xterm/addon-fit": {
|
|
81
|
+
"optional": true
|
|
82
|
+
},
|
|
83
|
+
"@xterm/addon-webgl": {
|
|
84
|
+
"optional": true
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"devDependencies": {
|
|
88
|
+
"@types/node": "^25.0.10",
|
|
89
|
+
"@types/pako": "^2.0.4",
|
|
90
|
+
"esbuild": "^0.27.2",
|
|
91
|
+
"typescript": "^5.9.3",
|
|
92
|
+
"vite": "^5.4.0",
|
|
93
|
+
"vite-plugin-top-level-await": "^1.6.0",
|
|
94
|
+
"vite-plugin-wasm": "^3.5.0",
|
|
95
|
+
"vitest": "^4.0.18"
|
|
96
|
+
}
|
|
97
|
+
}
|