@ricsam/isolate 0.1.8 → 0.1.11
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 +172 -18
- package/dist/cjs/bridge/diagnostics.cjs +37 -2
- package/dist/cjs/bridge/diagnostics.cjs.map +3 -3
- package/dist/cjs/bridge/runtime-bindings.cjs +203 -51
- package/dist/cjs/bridge/runtime-bindings.cjs.map +3 -3
- package/dist/cjs/bridge/sandbox-isolate.cjs +365 -0
- package/dist/cjs/bridge/sandbox-isolate.cjs.map +10 -0
- package/dist/cjs/host/create-isolate-host.cjs +51 -25
- package/dist/cjs/host/create-isolate-host.cjs.map +3 -3
- package/dist/cjs/host/nested-host-controller.cjs +311 -0
- package/dist/cjs/host/nested-host-controller.cjs.map +10 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/internal/browser-source.cjs +91 -0
- package/dist/cjs/internal/browser-source.cjs.map +10 -0
- package/dist/cjs/internal/client/connection.cjs +152 -172
- package/dist/cjs/internal/client/connection.cjs.map +3 -3
- package/dist/cjs/internal/daemon/callback-fs-handler.cjs +3 -3
- package/dist/cjs/internal/daemon/callback-fs-handler.cjs.map +3 -3
- package/dist/cjs/internal/daemon/connection.cjs +129 -4
- package/dist/cjs/internal/daemon/connection.cjs.map +3 -3
- package/dist/cjs/internal/encoding/index.cjs +27 -4
- package/dist/cjs/internal/encoding/index.cjs.map +3 -3
- package/dist/cjs/internal/fetch/index.cjs +2 -7
- package/dist/cjs/internal/fetch/index.cjs.map +3 -3
- package/dist/cjs/internal/module-loader/bundle.cjs +128 -1
- package/dist/cjs/internal/module-loader/bundle.cjs.map +3 -3
- package/dist/cjs/internal/playwright/client.cjs +4 -2
- package/dist/cjs/internal/playwright/client.cjs.map +3 -3
- package/dist/cjs/internal/playwright/handler.cjs +298 -25
- package/dist/cjs/internal/playwright/handler.cjs.map +3 -3
- package/dist/cjs/internal/playwright/index.cjs +54 -8
- package/dist/cjs/internal/playwright/index.cjs.map +3 -3
- package/dist/cjs/internal/playwright/types.cjs +3 -1
- package/dist/cjs/internal/playwright/types.cjs.map +3 -3
- package/dist/cjs/internal/protocol/codec.cjs +16 -5
- package/dist/cjs/internal/protocol/codec.cjs.map +3 -3
- package/dist/cjs/internal/protocol/marshalValue.cjs +37 -6
- package/dist/cjs/internal/protocol/marshalValue.cjs.map +3 -3
- package/dist/cjs/internal/protocol/types.cjs.map +2 -2
- package/dist/cjs/internal/runtime/index.cjs +377 -22
- package/dist/cjs/internal/runtime/index.cjs.map +3 -3
- package/dist/cjs/internal/typecheck/index.cjs +2 -1
- package/dist/cjs/internal/typecheck/index.cjs.map +3 -3
- package/dist/cjs/internal/typecheck/isolate-types.cjs +186 -13
- package/dist/cjs/internal/typecheck/isolate-types.cjs.map +3 -3
- package/dist/cjs/internal/typecheck/typecheck.cjs +2 -3
- package/dist/cjs/internal/typecheck/typecheck.cjs.map +3 -3
- package/dist/cjs/modules/index.cjs +6 -1
- package/dist/cjs/modules/index.cjs.map +3 -3
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/runtime/script-runtime.cjs +14 -12
- package/dist/cjs/runtime/script-runtime.cjs.map +3 -3
- package/dist/cjs/runtime/test-runtime.cjs +113 -0
- package/dist/cjs/runtime/test-runtime.cjs.map +10 -0
- package/dist/cjs/server/app-server.cjs +16 -9
- package/dist/cjs/server/app-server.cjs.map +3 -3
- package/dist/cjs/typecheck/index.cjs +2 -1
- package/dist/cjs/typecheck/index.cjs.map +3 -3
- package/dist/mjs/bridge/diagnostics.mjs +37 -2
- package/dist/mjs/bridge/diagnostics.mjs.map +3 -3
- package/dist/mjs/bridge/runtime-bindings.mjs +206 -51
- package/dist/mjs/bridge/runtime-bindings.mjs.map +3 -3
- package/dist/mjs/bridge/sandbox-isolate.mjs +325 -0
- package/dist/mjs/bridge/sandbox-isolate.mjs.map +10 -0
- package/dist/mjs/host/create-isolate-host.mjs +53 -25
- package/dist/mjs/host/create-isolate-host.mjs.map +3 -3
- package/dist/mjs/host/nested-host-controller.mjs +275 -0
- package/dist/mjs/host/nested-host-controller.mjs.map +10 -0
- package/dist/mjs/index.mjs.map +1 -1
- package/dist/mjs/internal/browser-source.mjs +51 -0
- package/dist/mjs/internal/browser-source.mjs.map +10 -0
- package/dist/mjs/internal/client/connection.mjs +154 -173
- package/dist/mjs/internal/client/connection.mjs.map +3 -3
- package/dist/mjs/internal/daemon/callback-fs-handler.mjs +3 -3
- package/dist/mjs/internal/daemon/callback-fs-handler.mjs.map +3 -3
- package/dist/mjs/internal/daemon/connection.mjs +129 -4
- package/dist/mjs/internal/daemon/connection.mjs.map +3 -3
- package/dist/mjs/internal/encoding/index.mjs +27 -4
- package/dist/mjs/internal/encoding/index.mjs.map +3 -3
- package/dist/mjs/internal/fetch/index.mjs +2 -7
- package/dist/mjs/internal/fetch/index.mjs.map +3 -3
- package/dist/mjs/internal/module-loader/bundle.mjs +129 -2
- package/dist/mjs/internal/module-loader/bundle.mjs.map +3 -3
- package/dist/mjs/internal/playwright/client.mjs +7 -3
- package/dist/mjs/internal/playwright/client.mjs.map +3 -3
- package/dist/mjs/internal/playwright/handler.mjs +300 -26
- package/dist/mjs/internal/playwright/handler.mjs.map +3 -3
- package/dist/mjs/internal/playwright/index.mjs +59 -9
- package/dist/mjs/internal/playwright/index.mjs.map +3 -3
- package/dist/mjs/internal/playwright/types.mjs +3 -1
- package/dist/mjs/internal/playwright/types.mjs.map +3 -3
- package/dist/mjs/internal/protocol/codec.mjs +16 -5
- package/dist/mjs/internal/protocol/codec.mjs.map +3 -3
- package/dist/mjs/internal/protocol/marshalValue.mjs +38 -6
- package/dist/mjs/internal/protocol/marshalValue.mjs.map +3 -3
- package/dist/mjs/internal/protocol/types.mjs.map +2 -2
- package/dist/mjs/internal/runtime/index.mjs +377 -22
- package/dist/mjs/internal/runtime/index.mjs.map +3 -3
- package/dist/mjs/internal/typecheck/index.mjs +3 -1
- package/dist/mjs/internal/typecheck/index.mjs.map +3 -3
- package/dist/mjs/internal/typecheck/isolate-types.mjs +186 -13
- package/dist/mjs/internal/typecheck/isolate-types.mjs.map +3 -3
- package/dist/mjs/internal/typecheck/typecheck.mjs +2 -3
- package/dist/mjs/internal/typecheck/typecheck.mjs.map +3 -3
- package/dist/mjs/modules/index.mjs +6 -1
- package/dist/mjs/modules/index.mjs.map +3 -3
- package/dist/mjs/package.json +1 -1
- package/dist/mjs/runtime/script-runtime.mjs +16 -12
- package/dist/mjs/runtime/script-runtime.mjs.map +3 -3
- package/dist/mjs/runtime/test-runtime.mjs +78 -0
- package/dist/mjs/runtime/test-runtime.mjs.map +10 -0
- package/dist/mjs/server/app-server.mjs +23 -11
- package/dist/mjs/server/app-server.mjs.map +3 -3
- package/dist/mjs/typecheck/index.mjs +2 -1
- package/dist/mjs/typecheck/index.mjs.map +3 -3
- package/dist/types/bridge/diagnostics.d.ts +6 -1
- package/dist/types/bridge/runtime-bindings.d.ts +5 -1
- package/dist/types/bridge/sandbox-isolate.d.ts +15 -0
- package/dist/types/host/nested-host-controller.d.ts +11 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internal/browser-source.d.ts +11 -0
- package/dist/types/internal/client/types.d.ts +5 -0
- package/dist/types/internal/daemon/types.d.ts +0 -2
- package/dist/types/internal/playwright/client.d.ts +2 -2
- package/dist/types/internal/playwright/handler.d.ts +27 -4
- package/dist/types/internal/playwright/index.d.ts +2 -2
- package/dist/types/internal/playwright/types.d.ts +33 -1
- package/dist/types/internal/protocol/codec.d.ts +12 -2
- package/dist/types/internal/protocol/marshalValue.d.ts +3 -2
- package/dist/types/internal/protocol/types.d.ts +25 -1
- package/dist/types/internal/runtime/index.d.ts +5 -0
- package/dist/types/internal/typecheck/index.d.ts +1 -1
- package/dist/types/internal/typecheck/isolate-types.d.ts +6 -4
- package/dist/types/internal/typecheck/typecheck.d.ts +1 -1
- package/dist/types/runtime/script-runtime.d.ts +2 -1
- package/dist/types/runtime/test-runtime.d.ts +4 -0
- package/dist/types/server/app-server.d.ts +2 -1
- package/dist/types/types.d.ts +33 -33
- package/package.json +3 -3
- package/dist/cjs/browser/browser-runtime.cjs +0 -157
- package/dist/cjs/browser/browser-runtime.cjs.map +0 -10
- package/dist/mjs/browser/browser-runtime.mjs +0 -93
- package/dist/mjs/browser/browser-runtime.mjs.map +0 -10
- package/dist/types/browser/browser-runtime.d.ts +0 -3
|
@@ -77,7 +77,7 @@ export interface TypecheckOptions {
|
|
|
77
77
|
* Which isolate global types to include.
|
|
78
78
|
* @default ["core", "fetch", "fs"]
|
|
79
79
|
*/
|
|
80
|
-
include?: Array<"core" | "fetch" | "fs" | "console" | "encoding" | "timers" | "testEnvironment" | "playwright">;
|
|
80
|
+
include?: Array<"core" | "sandboxIsolate" | "fetch" | "fs" | "console" | "encoding" | "timers" | "testEnvironment" | "playwright">;
|
|
81
81
|
/**
|
|
82
82
|
* Library type definitions to inject for import resolution.
|
|
83
83
|
* These are added to the virtual node_modules/ for module resolution.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type MutableRuntimeDiagnostics } from "../bridge/diagnostics.ts";
|
|
2
2
|
import { type RemoteRuntime } from "../internal/client/index.ts";
|
|
3
3
|
import type { ScriptRuntime } from "../types.ts";
|
|
4
4
|
export declare function createScriptRuntimeAdapter(runtime: RemoteRuntime, diagnostics: MutableRuntimeDiagnostics, options?: {
|
|
5
|
+
hasBrowser?: boolean;
|
|
5
6
|
onBeforeDispose?: (reason?: string) => void;
|
|
6
7
|
}): ScriptRuntime;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type RuntimeBindingsAdapterOptions } from "../bridge/runtime-bindings.ts";
|
|
2
|
+
import type { RemoteRuntime, RuntimeOptions } from "../internal/client/index.ts";
|
|
3
|
+
import type { CreateTestRuntimeOptions, TestRuntime } from "../types.ts";
|
|
4
|
+
export declare function createTestRuntimeAdapter(createRuntime: (options: RuntimeOptions) => Promise<RemoteRuntime>, options: CreateTestRuntimeOptions, adapterOptions?: RuntimeBindingsAdapterOptions): Promise<TestRuntime>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { DaemonConnection } from "../internal/client/index.ts";
|
|
2
|
+
import { type RuntimeBindingsAdapterOptions } from "../bridge/runtime-bindings.ts";
|
|
2
3
|
import type { AppServer, CreateAppServerOptions } from "../types.ts";
|
|
3
|
-
export declare function createAppServerAdapter(getConnection: () => Promise<DaemonConnection>, options: CreateAppServerOptions): Promise<AppServer>;
|
|
4
|
+
export declare function createAppServerAdapter(getConnection: () => Promise<DaemonConnection>, options: CreateAppServerOptions, adapterOptions?: RuntimeBindingsAdapterOptions): Promise<AppServer>;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -47,6 +47,14 @@ export interface FileBindings {
|
|
|
47
47
|
}>;
|
|
48
48
|
rename?: (from: string, to: string, context: HostCallContext) => Promise<void>;
|
|
49
49
|
}
|
|
50
|
+
export interface HostBrowserBindings {
|
|
51
|
+
createContext?: (options: unknown, context: HostCallContext) => Promise<any> | any;
|
|
52
|
+
createPage?: (contextHandle: any, context: HostCallContext) => Promise<any> | any;
|
|
53
|
+
captureConsole?: boolean;
|
|
54
|
+
onEvent?: (event: PlaywrightEvent, context: HostCallContext) => void;
|
|
55
|
+
readFile?: (path: string, context: HostCallContext) => Promise<Buffer> | Buffer;
|
|
56
|
+
writeFile?: (path: string, data: Buffer, context: HostCallContext) => Promise<void> | void;
|
|
57
|
+
}
|
|
50
58
|
export type ToolHandler = (...args: [...unknown[], HostCallContext]) => unknown | Promise<unknown> | AsyncGenerator<unknown, unknown, unknown>;
|
|
51
59
|
export type ToolBindings = Record<string, ToolHandler>;
|
|
52
60
|
export interface HostBindings {
|
|
@@ -57,6 +65,7 @@ export interface HostBindings {
|
|
|
57
65
|
files?: FileBindings;
|
|
58
66
|
modules?: ModuleResolver;
|
|
59
67
|
tools?: ToolBindings;
|
|
68
|
+
browser?: HostBrowserBindings;
|
|
60
69
|
}
|
|
61
70
|
export interface RuntimeDiagnostics {
|
|
62
71
|
activeRequests: number;
|
|
@@ -70,7 +79,9 @@ export interface RuntimeDiagnostics {
|
|
|
70
79
|
reused?: boolean;
|
|
71
80
|
lifecycleState: "idle" | "active" | "reloading" | "disposing";
|
|
72
81
|
}
|
|
73
|
-
export interface
|
|
82
|
+
export interface BrowserDiagnostics {
|
|
83
|
+
contexts: number;
|
|
84
|
+
pages: number;
|
|
74
85
|
browserConsoleLogs: number;
|
|
75
86
|
networkRequests: number;
|
|
76
87
|
networkResponses: number;
|
|
@@ -84,6 +95,18 @@ export interface BrowserRuntimeDiagnostics extends RuntimeDiagnostics {
|
|
|
84
95
|
requestFailures: unknown[];
|
|
85
96
|
};
|
|
86
97
|
}
|
|
98
|
+
export interface RuntimeResourceDiagnostics {
|
|
99
|
+
runtime: RuntimeDiagnostics;
|
|
100
|
+
browser?: BrowserDiagnostics;
|
|
101
|
+
}
|
|
102
|
+
export interface TestDiagnostics {
|
|
103
|
+
enabled: true;
|
|
104
|
+
registeredTests: number;
|
|
105
|
+
lastRun?: RunResults;
|
|
106
|
+
}
|
|
107
|
+
export interface TestRuntimeDiagnostics extends RuntimeResourceDiagnostics {
|
|
108
|
+
test: TestDiagnostics;
|
|
109
|
+
}
|
|
87
110
|
export interface WebSocketUpgradeData {
|
|
88
111
|
connectionId: string;
|
|
89
112
|
requested?: boolean;
|
|
@@ -113,7 +136,7 @@ export interface AppServer {
|
|
|
113
136
|
hard?: boolean;
|
|
114
137
|
reason?: string;
|
|
115
138
|
}): Promise<void>;
|
|
116
|
-
diagnostics(): Promise<
|
|
139
|
+
diagnostics(): Promise<RuntimeResourceDiagnostics>;
|
|
117
140
|
}
|
|
118
141
|
export interface ScriptRuntime {
|
|
119
142
|
eval(code: string, options?: string | {
|
|
@@ -124,29 +147,18 @@ export interface ScriptRuntime {
|
|
|
124
147
|
hard?: boolean;
|
|
125
148
|
reason?: string;
|
|
126
149
|
}): Promise<void>;
|
|
127
|
-
diagnostics(): Promise<
|
|
150
|
+
diagnostics(): Promise<RuntimeResourceDiagnostics>;
|
|
128
151
|
events: {
|
|
129
152
|
on(event: string, handler: (payload: unknown) => void): () => void;
|
|
130
153
|
emit(event: string, payload: unknown): Promise<void>;
|
|
131
154
|
};
|
|
132
|
-
tests: {
|
|
133
|
-
run(options?: {
|
|
134
|
-
timeoutMs?: number;
|
|
135
|
-
}): Promise<RunResults>;
|
|
136
|
-
hasTests(): Promise<boolean>;
|
|
137
|
-
reset(): Promise<void>;
|
|
138
|
-
};
|
|
139
155
|
}
|
|
140
|
-
export interface
|
|
156
|
+
export interface TestRuntime {
|
|
141
157
|
run(code: string, options?: {
|
|
142
158
|
filename?: string;
|
|
143
|
-
asTestSuite?: boolean;
|
|
144
159
|
timeoutMs?: number;
|
|
145
|
-
}): Promise<
|
|
146
|
-
|
|
147
|
-
value?: unknown;
|
|
148
|
-
}>;
|
|
149
|
-
diagnostics(): Promise<BrowserRuntimeDiagnostics>;
|
|
160
|
+
}): Promise<RunResults>;
|
|
161
|
+
diagnostics(): Promise<TestRuntimeDiagnostics>;
|
|
150
162
|
dispose(options?: {
|
|
151
163
|
hard?: boolean;
|
|
152
164
|
reason?: string;
|
|
@@ -155,13 +167,12 @@ export interface BrowserRuntime {
|
|
|
155
167
|
export interface CreateRuntimeOptions {
|
|
156
168
|
key?: string;
|
|
157
169
|
bindings: HostBindings;
|
|
158
|
-
features?: {
|
|
159
|
-
tests?: boolean;
|
|
160
|
-
};
|
|
161
170
|
cwd?: string;
|
|
162
171
|
executionTimeout?: number;
|
|
163
172
|
memoryLimitMB?: number;
|
|
164
173
|
}
|
|
174
|
+
export interface CreateTestRuntimeOptions extends CreateRuntimeOptions {
|
|
175
|
+
}
|
|
165
176
|
export interface CreateAppServerOptions extends CreateRuntimeOptions {
|
|
166
177
|
key: string;
|
|
167
178
|
entry: string;
|
|
@@ -176,21 +187,10 @@ export interface CreateAppServerOptions extends CreateRuntimeOptions {
|
|
|
176
187
|
}) => void;
|
|
177
188
|
};
|
|
178
189
|
}
|
|
179
|
-
export interface CreateBrowserRuntimeOptions extends CreateRuntimeOptions {
|
|
180
|
-
browser: {
|
|
181
|
-
page: any;
|
|
182
|
-
readFile?: (normalizedVirtualPath: string) => Promise<Buffer>;
|
|
183
|
-
captureConsole?: boolean;
|
|
184
|
-
writeFile?: (normalizedVirtualPath: string, data: Buffer) => Promise<void> | void;
|
|
185
|
-
createPage?: (context: any) => Promise<any> | any;
|
|
186
|
-
createContext?: (options?: any) => Promise<any> | any;
|
|
187
|
-
onEvent?: (event: PlaywrightEvent) => void;
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
190
|
export interface IsolateHost {
|
|
191
191
|
createAppServer(options: CreateAppServerOptions): Promise<AppServer>;
|
|
192
192
|
createRuntime(options: CreateRuntimeOptions): Promise<ScriptRuntime>;
|
|
193
|
-
|
|
193
|
+
createTestRuntime(options: CreateTestRuntimeOptions): Promise<TestRuntime>;
|
|
194
194
|
diagnostics(): Promise<{
|
|
195
195
|
runtimes: number;
|
|
196
196
|
servers: number;
|
|
@@ -213,7 +213,7 @@ export type TypeCapability = "fetch" | "files" | "tests" | "browser" | "tools" |
|
|
|
213
213
|
export interface TypeProfile {
|
|
214
214
|
profile: TypeProfileName;
|
|
215
215
|
capabilities: TypeCapability[];
|
|
216
|
-
include: Array<"core" | "fetch" | "fs" | "console" | "encoding" | "timers" | "testEnvironment" | "playwright">;
|
|
216
|
+
include: Array<"core" | "sandboxIsolate" | "fetch" | "fs" | "console" | "encoding" | "timers" | "testEnvironment" | "playwright">;
|
|
217
217
|
files: Array<{
|
|
218
218
|
name: string;
|
|
219
219
|
content: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ricsam/isolate",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Unified runtime host for app servers, script runtimes, browser runtimes, module resolution, file bindings, and typechecking",
|
|
6
6
|
"author": "ricsam <oss@ricsam.dev>",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"scripts": {
|
|
57
57
|
"build": "bun scripts/build.ts",
|
|
58
58
|
"build:npm": "bun scripts/build.ts",
|
|
59
|
-
"test": "node --test --experimental-strip-types 'src/**/*.test.ts' --test-reporter tap --test-reporter-destination stdout",
|
|
60
|
-
"test:spec": "node --test --experimental-strip-types 'src/**/*.test.ts' --test-reporter spec --test-reporter-destination stdout",
|
|
59
|
+
"test": "node --test --test-concurrency=1 --experimental-strip-types 'src/**/*.test.ts' --test-reporter tap --test-reporter-destination stdout",
|
|
60
|
+
"test:spec": "node --test --test-concurrency=1 --experimental-strip-types 'src/**/*.test.ts' --test-reporter spec --test-reporter-destination stdout",
|
|
61
61
|
"typecheck": "tsc --noEmit"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
for (let key of __getOwnPropNames(mod))
|
|
23
|
-
if (!__hasOwnProp.call(to, key))
|
|
24
|
-
__defProp(to, key, {
|
|
25
|
-
get: __accessProp.bind(mod, key),
|
|
26
|
-
enumerable: true
|
|
27
|
-
});
|
|
28
|
-
if (canCache)
|
|
29
|
-
cache.set(mod, to);
|
|
30
|
-
return to;
|
|
31
|
-
};
|
|
32
|
-
var __toCommonJS = (from) => {
|
|
33
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
34
|
-
if (entry)
|
|
35
|
-
return entry;
|
|
36
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
37
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
38
|
-
for (var key of __getOwnPropNames(from))
|
|
39
|
-
if (!__hasOwnProp.call(entry, key))
|
|
40
|
-
__defProp(entry, key, {
|
|
41
|
-
get: __accessProp.bind(from, key),
|
|
42
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
__moduleCache.set(from, entry);
|
|
46
|
-
return entry;
|
|
47
|
-
};
|
|
48
|
-
var __moduleCache;
|
|
49
|
-
var __returnValue = (v) => v;
|
|
50
|
-
function __exportSetter(name, newValue) {
|
|
51
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
52
|
-
}
|
|
53
|
-
var __export = (target, all) => {
|
|
54
|
-
for (var name in all)
|
|
55
|
-
__defProp(target, name, {
|
|
56
|
-
get: all[name],
|
|
57
|
-
enumerable: true,
|
|
58
|
-
configurable: true,
|
|
59
|
-
set: __exportSetter.bind(all, name)
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
// src/browser/browser-runtime.ts
|
|
64
|
-
var exports_browser_runtime = {};
|
|
65
|
-
__export(exports_browser_runtime, {
|
|
66
|
-
createBrowserRuntimeAdapter: () => createBrowserRuntimeAdapter
|
|
67
|
-
});
|
|
68
|
-
module.exports = __toCommonJS(exports_browser_runtime);
|
|
69
|
-
var import_node_path = __toESM(require("node:path"));
|
|
70
|
-
var import_client = require("../internal/playwright/client.cjs");
|
|
71
|
-
var import_diagnostics = require("../bridge/diagnostics.cjs");
|
|
72
|
-
var import_runtime_bindings = require("../bridge/runtime-bindings.cjs");
|
|
73
|
-
var import_script_runtime = require("../runtime/script-runtime.cjs");
|
|
74
|
-
function getMimeType(filePath) {
|
|
75
|
-
const ext = import_node_path.default.extname(filePath).toLowerCase();
|
|
76
|
-
const mimeTypes = {
|
|
77
|
-
".png": "image/png",
|
|
78
|
-
".jpg": "image/jpeg",
|
|
79
|
-
".jpeg": "image/jpeg",
|
|
80
|
-
".gif": "image/gif",
|
|
81
|
-
".webp": "image/webp",
|
|
82
|
-
".svg": "image/svg+xml",
|
|
83
|
-
".pdf": "application/pdf",
|
|
84
|
-
".txt": "text/plain",
|
|
85
|
-
".html": "text/html",
|
|
86
|
-
".css": "text/css",
|
|
87
|
-
".js": "application/javascript",
|
|
88
|
-
".json": "application/json"
|
|
89
|
-
};
|
|
90
|
-
return mimeTypes[ext] ?? "application/octet-stream";
|
|
91
|
-
}
|
|
92
|
-
async function createBrowserRuntimeAdapter(createRuntime, options) {
|
|
93
|
-
const diagnostics = import_diagnostics.createRuntimeDiagnostics();
|
|
94
|
-
let runtimeId = options.key ?? "browser-runtime";
|
|
95
|
-
const bindingsAdapter = import_runtime_bindings.createRuntimeBindingsAdapter(options.bindings, () => runtimeId, diagnostics);
|
|
96
|
-
const readFile = options.browser.readFile ? async (filePath) => {
|
|
97
|
-
const buffer = await options.browser.readFile(filePath);
|
|
98
|
-
return {
|
|
99
|
-
name: import_node_path.default.basename(filePath),
|
|
100
|
-
mimeType: getMimeType(filePath),
|
|
101
|
-
buffer
|
|
102
|
-
};
|
|
103
|
-
} : undefined;
|
|
104
|
-
const playwrightHandler = import_client.defaultPlaywrightHandler(options.browser.page, {
|
|
105
|
-
readFile,
|
|
106
|
-
writeFile: options.browser.writeFile,
|
|
107
|
-
createPage: options.browser.createPage,
|
|
108
|
-
createContext: options.browser.createContext
|
|
109
|
-
});
|
|
110
|
-
const runtime = await createRuntime({
|
|
111
|
-
...bindingsAdapter.runtimeOptions,
|
|
112
|
-
cwd: options.cwd,
|
|
113
|
-
memoryLimitMB: options.memoryLimitMB,
|
|
114
|
-
executionTimeout: options.executionTimeout,
|
|
115
|
-
testEnvironment: options.features?.tests ?? false,
|
|
116
|
-
playwright: {
|
|
117
|
-
handler: playwrightHandler,
|
|
118
|
-
console: options.browser.captureConsole ?? false,
|
|
119
|
-
onEvent: options.browser.onEvent
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
runtimeId = runtime.id;
|
|
123
|
-
const scriptRuntime = import_script_runtime.createScriptRuntimeAdapter(runtime, diagnostics, {
|
|
124
|
-
onBeforeDispose: (reason) => bindingsAdapter.abort(reason)
|
|
125
|
-
});
|
|
126
|
-
return {
|
|
127
|
-
async run(code, runOptions) {
|
|
128
|
-
await scriptRuntime.eval(code, {
|
|
129
|
-
filename: runOptions?.filename,
|
|
130
|
-
executionTimeout: runOptions?.timeoutMs
|
|
131
|
-
});
|
|
132
|
-
if (runOptions?.asTestSuite && await runtime.testEnvironment.hasTests()) {
|
|
133
|
-
return {
|
|
134
|
-
tests: await runtime.testEnvironment.runTests(runOptions.timeoutMs)
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
return {};
|
|
138
|
-
},
|
|
139
|
-
async diagnostics() {
|
|
140
|
-
const collectedData = runtime.playwright.getCollectedData();
|
|
141
|
-
return {
|
|
142
|
-
...await scriptRuntime.diagnostics(),
|
|
143
|
-
browserConsoleLogs: collectedData.browserConsoleLogs.length,
|
|
144
|
-
networkRequests: collectedData.networkRequests.length,
|
|
145
|
-
networkResponses: collectedData.networkResponses.length,
|
|
146
|
-
pageErrors: collectedData.pageErrors.length,
|
|
147
|
-
requestFailures: collectedData.requestFailures.length,
|
|
148
|
-
collectedData
|
|
149
|
-
};
|
|
150
|
-
},
|
|
151
|
-
dispose: async (disposeOptions) => {
|
|
152
|
-
await scriptRuntime.dispose(disposeOptions);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
//# debugId=4537F7187943AFB464756E2164756E21
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/browser/browser-runtime.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import path from \"node:path\";\nimport { defaultPlaywrightHandler } from \"../internal/playwright/client.cjs\";\nimport type { RemoteRuntime, RuntimeOptions } from \"../internal/client/index.cjs\";\nimport { createRuntimeDiagnostics } from \"../bridge/diagnostics.cjs\";\nimport { createRuntimeBindingsAdapter } from \"../bridge/runtime-bindings.cjs\";\nimport { createScriptRuntimeAdapter } from \"../runtime/script-runtime.cjs\";\nimport type { BrowserRuntime, BrowserRuntimeDiagnostics, CreateBrowserRuntimeOptions } from \"../types.cjs\";\n\nfunction getMimeType(filePath: string): string {\n const ext = path.extname(filePath).toLowerCase();\n const mimeTypes: Record<string, string> = {\n \".png\": \"image/png\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".gif\": \"image/gif\",\n \".webp\": \"image/webp\",\n \".svg\": \"image/svg+xml\",\n \".pdf\": \"application/pdf\",\n \".txt\": \"text/plain\",\n \".html\": \"text/html\",\n \".css\": \"text/css\",\n \".js\": \"application/javascript\",\n \".json\": \"application/json\",\n };\n return mimeTypes[ext] ?? \"application/octet-stream\";\n}\n\nexport async function createBrowserRuntimeAdapter(\n createRuntime: (options: RuntimeOptions) => Promise<RemoteRuntime>,\n options: CreateBrowserRuntimeOptions,\n): Promise<BrowserRuntime> {\n const diagnostics = createRuntimeDiagnostics();\n let runtimeId = options.key ?? \"browser-runtime\";\n const bindingsAdapter = createRuntimeBindingsAdapter(\n options.bindings,\n () => runtimeId,\n diagnostics,\n );\n const readFile = options.browser.readFile\n ? async (filePath: string) => {\n const buffer = await options.browser.readFile!(filePath);\n return {\n name: path.basename(filePath),\n mimeType: getMimeType(filePath),\n buffer,\n };\n }\n : undefined;\n const playwrightHandler = defaultPlaywrightHandler(options.browser.page as never, {\n readFile,\n writeFile: options.browser.writeFile as never,\n createPage: options.browser.createPage as never,\n createContext: options.browser.createContext as never,\n });\n const runtime = await createRuntime({\n ...bindingsAdapter.runtimeOptions,\n cwd: options.cwd,\n memoryLimitMB: options.memoryLimitMB,\n executionTimeout: options.executionTimeout,\n testEnvironment: options.features?.tests ?? false,\n playwright: {\n handler: playwrightHandler,\n console: options.browser.captureConsole ?? false,\n onEvent: options.browser.onEvent,\n },\n });\n runtimeId = runtime.id;\n const scriptRuntime = createScriptRuntimeAdapter(runtime, diagnostics, {\n onBeforeDispose: (reason) => bindingsAdapter.abort(reason),\n });\n\n return {\n async run(code, runOptions) {\n await scriptRuntime.eval(code, {\n filename: runOptions?.filename,\n executionTimeout: runOptions?.timeoutMs,\n });\n\n if (runOptions?.asTestSuite && (await runtime.testEnvironment.hasTests())) {\n return {\n tests: await runtime.testEnvironment.runTests(runOptions.timeoutMs),\n };\n }\n\n return {};\n },\n async diagnostics(): Promise<BrowserRuntimeDiagnostics> {\n const collectedData = runtime.playwright.getCollectedData();\n return {\n ...(await scriptRuntime.diagnostics()),\n browserConsoleLogs: collectedData.browserConsoleLogs.length,\n networkRequests: collectedData.networkRequests.length,\n networkResponses: collectedData.networkResponses.length,\n pageErrors: collectedData.pageErrors.length,\n requestFailures: collectedData.requestFailures.length,\n collectedData,\n };\n },\n dispose: async (disposeOptions) => {\n await scriptRuntime.dispose(disposeOptions);\n },\n };\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAiB,IAAjB;AACyC,IAAzC;AAEyC,IAAzC;AAC6C,IAA7C;AAC2C,IAA3C;AAGA,SAAS,WAAW,CAAC,UAA0B;AAAA,EAC7C,MAAM,MAAM,yBAAK,QAAQ,QAAQ,EAAE,YAAY;AAAA,EAC/C,MAAM,YAAoC;AAAA,IACxC,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AAAA,EACA,OAAO,UAAU,QAAQ;AAAA;AAG3B,eAAsB,2BAA2B,CAC/C,eACA,SACyB;AAAA,EACzB,MAAM,cAAc,4CAAyB;AAAA,EAC7C,IAAI,YAAY,QAAQ,OAAO;AAAA,EAC/B,MAAM,kBAAkB,qDACtB,QAAQ,UACR,MAAM,WACN,WACF;AAAA,EACA,MAAM,WAAW,QAAQ,QAAQ,WAC7B,OAAO,aAAqB;AAAA,IAC1B,MAAM,SAAS,MAAM,QAAQ,QAAQ,SAAU,QAAQ;AAAA,IACvD,OAAO;AAAA,MACL,MAAM,yBAAK,SAAS,QAAQ;AAAA,MAC5B,UAAU,YAAY,QAAQ;AAAA,MAC9B;AAAA,IACF;AAAA,MAEF;AAAA,EACJ,MAAM,oBAAoB,uCAAyB,QAAQ,QAAQ,MAAe;AAAA,IAChF;AAAA,IACA,WAAW,QAAQ,QAAQ;AAAA,IAC3B,YAAY,QAAQ,QAAQ;AAAA,IAC5B,eAAe,QAAQ,QAAQ;AAAA,EACjC,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,cAAc;AAAA,OAC/B,gBAAgB;AAAA,IACnB,KAAK,QAAQ;AAAA,IACb,eAAe,QAAQ;AAAA,IACvB,kBAAkB,QAAQ;AAAA,IAC1B,iBAAiB,QAAQ,UAAU,SAAS;AAAA,IAC5C,YAAY;AAAA,MACV,SAAS;AAAA,MACT,SAAS,QAAQ,QAAQ,kBAAkB;AAAA,MAC3C,SAAS,QAAQ,QAAQ;AAAA,IAC3B;AAAA,EACF,CAAC;AAAA,EACD,YAAY,QAAQ;AAAA,EACpB,MAAM,gBAAgB,iDAA2B,SAAS,aAAa;AAAA,IACrE,iBAAiB,CAAC,WAAW,gBAAgB,MAAM,MAAM;AAAA,EAC3D,CAAC;AAAA,EAED,OAAO;AAAA,SACC,IAAG,CAAC,MAAM,YAAY;AAAA,MAC1B,MAAM,cAAc,KAAK,MAAM;AAAA,QAC7B,UAAU,YAAY;AAAA,QACtB,kBAAkB,YAAY;AAAA,MAChC,CAAC;AAAA,MAED,IAAI,YAAY,eAAgB,MAAM,QAAQ,gBAAgB,SAAS,GAAI;AAAA,QACzE,OAAO;AAAA,UACL,OAAO,MAAM,QAAQ,gBAAgB,SAAS,WAAW,SAAS;AAAA,QACpE;AAAA,MACF;AAAA,MAEA,OAAO,CAAC;AAAA;AAAA,SAEJ,YAAW,GAAuC;AAAA,MACtD,MAAM,gBAAgB,QAAQ,WAAW,iBAAiB;AAAA,MAC1D,OAAO;AAAA,WACD,MAAM,cAAc,YAAY;AAAA,QACpC,oBAAoB,cAAc,mBAAmB;AAAA,QACrD,iBAAiB,cAAc,gBAAgB;AAAA,QAC/C,kBAAkB,cAAc,iBAAiB;AAAA,QACjD,YAAY,cAAc,WAAW;AAAA,QACrC,iBAAiB,cAAc,gBAAgB;AAAA,QAC/C;AAAA,MACF;AAAA;AAAA,IAEF,SAAS,OAAO,mBAAmB;AAAA,MACjC,MAAM,cAAc,QAAQ,cAAc;AAAA;AAAA,EAE9C;AAAA;",
|
|
8
|
-
"debugId": "4537F7187943AFB464756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
// src/browser/browser-runtime.ts
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { defaultPlaywrightHandler } from "../internal/playwright/client.mjs";
|
|
4
|
-
import { createRuntimeDiagnostics } from "../bridge/diagnostics.mjs";
|
|
5
|
-
import { createRuntimeBindingsAdapter } from "../bridge/runtime-bindings.mjs";
|
|
6
|
-
import { createScriptRuntimeAdapter } from "../runtime/script-runtime.mjs";
|
|
7
|
-
function getMimeType(filePath) {
|
|
8
|
-
const ext = path.extname(filePath).toLowerCase();
|
|
9
|
-
const mimeTypes = {
|
|
10
|
-
".png": "image/png",
|
|
11
|
-
".jpg": "image/jpeg",
|
|
12
|
-
".jpeg": "image/jpeg",
|
|
13
|
-
".gif": "image/gif",
|
|
14
|
-
".webp": "image/webp",
|
|
15
|
-
".svg": "image/svg+xml",
|
|
16
|
-
".pdf": "application/pdf",
|
|
17
|
-
".txt": "text/plain",
|
|
18
|
-
".html": "text/html",
|
|
19
|
-
".css": "text/css",
|
|
20
|
-
".js": "application/javascript",
|
|
21
|
-
".json": "application/json"
|
|
22
|
-
};
|
|
23
|
-
return mimeTypes[ext] ?? "application/octet-stream";
|
|
24
|
-
}
|
|
25
|
-
async function createBrowserRuntimeAdapter(createRuntime, options) {
|
|
26
|
-
const diagnostics = createRuntimeDiagnostics();
|
|
27
|
-
let runtimeId = options.key ?? "browser-runtime";
|
|
28
|
-
const bindingsAdapter = createRuntimeBindingsAdapter(options.bindings, () => runtimeId, diagnostics);
|
|
29
|
-
const readFile = options.browser.readFile ? async (filePath) => {
|
|
30
|
-
const buffer = await options.browser.readFile(filePath);
|
|
31
|
-
return {
|
|
32
|
-
name: path.basename(filePath),
|
|
33
|
-
mimeType: getMimeType(filePath),
|
|
34
|
-
buffer
|
|
35
|
-
};
|
|
36
|
-
} : undefined;
|
|
37
|
-
const playwrightHandler = defaultPlaywrightHandler(options.browser.page, {
|
|
38
|
-
readFile,
|
|
39
|
-
writeFile: options.browser.writeFile,
|
|
40
|
-
createPage: options.browser.createPage,
|
|
41
|
-
createContext: options.browser.createContext
|
|
42
|
-
});
|
|
43
|
-
const runtime = await createRuntime({
|
|
44
|
-
...bindingsAdapter.runtimeOptions,
|
|
45
|
-
cwd: options.cwd,
|
|
46
|
-
memoryLimitMB: options.memoryLimitMB,
|
|
47
|
-
executionTimeout: options.executionTimeout,
|
|
48
|
-
testEnvironment: options.features?.tests ?? false,
|
|
49
|
-
playwright: {
|
|
50
|
-
handler: playwrightHandler,
|
|
51
|
-
console: options.browser.captureConsole ?? false,
|
|
52
|
-
onEvent: options.browser.onEvent
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
runtimeId = runtime.id;
|
|
56
|
-
const scriptRuntime = createScriptRuntimeAdapter(runtime, diagnostics, {
|
|
57
|
-
onBeforeDispose: (reason) => bindingsAdapter.abort(reason)
|
|
58
|
-
});
|
|
59
|
-
return {
|
|
60
|
-
async run(code, runOptions) {
|
|
61
|
-
await scriptRuntime.eval(code, {
|
|
62
|
-
filename: runOptions?.filename,
|
|
63
|
-
executionTimeout: runOptions?.timeoutMs
|
|
64
|
-
});
|
|
65
|
-
if (runOptions?.asTestSuite && await runtime.testEnvironment.hasTests()) {
|
|
66
|
-
return {
|
|
67
|
-
tests: await runtime.testEnvironment.runTests(runOptions.timeoutMs)
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
return {};
|
|
71
|
-
},
|
|
72
|
-
async diagnostics() {
|
|
73
|
-
const collectedData = runtime.playwright.getCollectedData();
|
|
74
|
-
return {
|
|
75
|
-
...await scriptRuntime.diagnostics(),
|
|
76
|
-
browserConsoleLogs: collectedData.browserConsoleLogs.length,
|
|
77
|
-
networkRequests: collectedData.networkRequests.length,
|
|
78
|
-
networkResponses: collectedData.networkResponses.length,
|
|
79
|
-
pageErrors: collectedData.pageErrors.length,
|
|
80
|
-
requestFailures: collectedData.requestFailures.length,
|
|
81
|
-
collectedData
|
|
82
|
-
};
|
|
83
|
-
},
|
|
84
|
-
dispose: async (disposeOptions) => {
|
|
85
|
-
await scriptRuntime.dispose(disposeOptions);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
export {
|
|
90
|
-
createBrowserRuntimeAdapter
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
//# debugId=A4C0E177FD1B1FD164756E2164756E21
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/browser/browser-runtime.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import path from \"node:path\";\nimport { defaultPlaywrightHandler } from \"../internal/playwright/client.mjs\";\nimport type { RemoteRuntime, RuntimeOptions } from \"../internal/client/index.mjs\";\nimport { createRuntimeDiagnostics } from \"../bridge/diagnostics.mjs\";\nimport { createRuntimeBindingsAdapter } from \"../bridge/runtime-bindings.mjs\";\nimport { createScriptRuntimeAdapter } from \"../runtime/script-runtime.mjs\";\nimport type { BrowserRuntime, BrowserRuntimeDiagnostics, CreateBrowserRuntimeOptions } from \"../types.mjs\";\n\nfunction getMimeType(filePath: string): string {\n const ext = path.extname(filePath).toLowerCase();\n const mimeTypes: Record<string, string> = {\n \".png\": \"image/png\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".gif\": \"image/gif\",\n \".webp\": \"image/webp\",\n \".svg\": \"image/svg+xml\",\n \".pdf\": \"application/pdf\",\n \".txt\": \"text/plain\",\n \".html\": \"text/html\",\n \".css\": \"text/css\",\n \".js\": \"application/javascript\",\n \".json\": \"application/json\",\n };\n return mimeTypes[ext] ?? \"application/octet-stream\";\n}\n\nexport async function createBrowserRuntimeAdapter(\n createRuntime: (options: RuntimeOptions) => Promise<RemoteRuntime>,\n options: CreateBrowserRuntimeOptions,\n): Promise<BrowserRuntime> {\n const diagnostics = createRuntimeDiagnostics();\n let runtimeId = options.key ?? \"browser-runtime\";\n const bindingsAdapter = createRuntimeBindingsAdapter(\n options.bindings,\n () => runtimeId,\n diagnostics,\n );\n const readFile = options.browser.readFile\n ? async (filePath: string) => {\n const buffer = await options.browser.readFile!(filePath);\n return {\n name: path.basename(filePath),\n mimeType: getMimeType(filePath),\n buffer,\n };\n }\n : undefined;\n const playwrightHandler = defaultPlaywrightHandler(options.browser.page as never, {\n readFile,\n writeFile: options.browser.writeFile as never,\n createPage: options.browser.createPage as never,\n createContext: options.browser.createContext as never,\n });\n const runtime = await createRuntime({\n ...bindingsAdapter.runtimeOptions,\n cwd: options.cwd,\n memoryLimitMB: options.memoryLimitMB,\n executionTimeout: options.executionTimeout,\n testEnvironment: options.features?.tests ?? false,\n playwright: {\n handler: playwrightHandler,\n console: options.browser.captureConsole ?? false,\n onEvent: options.browser.onEvent,\n },\n });\n runtimeId = runtime.id;\n const scriptRuntime = createScriptRuntimeAdapter(runtime, diagnostics, {\n onBeforeDispose: (reason) => bindingsAdapter.abort(reason),\n });\n\n return {\n async run(code, runOptions) {\n await scriptRuntime.eval(code, {\n filename: runOptions?.filename,\n executionTimeout: runOptions?.timeoutMs,\n });\n\n if (runOptions?.asTestSuite && (await runtime.testEnvironment.hasTests())) {\n return {\n tests: await runtime.testEnvironment.runTests(runOptions.timeoutMs),\n };\n }\n\n return {};\n },\n async diagnostics(): Promise<BrowserRuntimeDiagnostics> {\n const collectedData = runtime.playwright.getCollectedData();\n return {\n ...(await scriptRuntime.diagnostics()),\n browserConsoleLogs: collectedData.browserConsoleLogs.length,\n networkRequests: collectedData.networkRequests.length,\n networkResponses: collectedData.networkResponses.length,\n pageErrors: collectedData.pageErrors.length,\n requestFailures: collectedData.requestFailures.length,\n collectedData,\n };\n },\n dispose: async (disposeOptions) => {\n await scriptRuntime.dispose(disposeOptions);\n },\n };\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";AAAA;AACA;AAEA;AACA;AACA;AAGA,SAAS,WAAW,CAAC,UAA0B;AAAA,EAC7C,MAAM,MAAM,KAAK,QAAQ,QAAQ,EAAE,YAAY;AAAA,EAC/C,MAAM,YAAoC;AAAA,IACxC,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AAAA,EACA,OAAO,UAAU,QAAQ;AAAA;AAG3B,eAAsB,2BAA2B,CAC/C,eACA,SACyB;AAAA,EACzB,MAAM,cAAc,yBAAyB;AAAA,EAC7C,IAAI,YAAY,QAAQ,OAAO;AAAA,EAC/B,MAAM,kBAAkB,6BACtB,QAAQ,UACR,MAAM,WACN,WACF;AAAA,EACA,MAAM,WAAW,QAAQ,QAAQ,WAC7B,OAAO,aAAqB;AAAA,IAC1B,MAAM,SAAS,MAAM,QAAQ,QAAQ,SAAU,QAAQ;AAAA,IACvD,OAAO;AAAA,MACL,MAAM,KAAK,SAAS,QAAQ;AAAA,MAC5B,UAAU,YAAY,QAAQ;AAAA,MAC9B;AAAA,IACF;AAAA,MAEF;AAAA,EACJ,MAAM,oBAAoB,yBAAyB,QAAQ,QAAQ,MAAe;AAAA,IAChF;AAAA,IACA,WAAW,QAAQ,QAAQ;AAAA,IAC3B,YAAY,QAAQ,QAAQ;AAAA,IAC5B,eAAe,QAAQ,QAAQ;AAAA,EACjC,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,cAAc;AAAA,OAC/B,gBAAgB;AAAA,IACnB,KAAK,QAAQ;AAAA,IACb,eAAe,QAAQ;AAAA,IACvB,kBAAkB,QAAQ;AAAA,IAC1B,iBAAiB,QAAQ,UAAU,SAAS;AAAA,IAC5C,YAAY;AAAA,MACV,SAAS;AAAA,MACT,SAAS,QAAQ,QAAQ,kBAAkB;AAAA,MAC3C,SAAS,QAAQ,QAAQ;AAAA,IAC3B;AAAA,EACF,CAAC;AAAA,EACD,YAAY,QAAQ;AAAA,EACpB,MAAM,gBAAgB,2BAA2B,SAAS,aAAa;AAAA,IACrE,iBAAiB,CAAC,WAAW,gBAAgB,MAAM,MAAM;AAAA,EAC3D,CAAC;AAAA,EAED,OAAO;AAAA,SACC,IAAG,CAAC,MAAM,YAAY;AAAA,MAC1B,MAAM,cAAc,KAAK,MAAM;AAAA,QAC7B,UAAU,YAAY;AAAA,QACtB,kBAAkB,YAAY;AAAA,MAChC,CAAC;AAAA,MAED,IAAI,YAAY,eAAgB,MAAM,QAAQ,gBAAgB,SAAS,GAAI;AAAA,QACzE,OAAO;AAAA,UACL,OAAO,MAAM,QAAQ,gBAAgB,SAAS,WAAW,SAAS;AAAA,QACpE;AAAA,MACF;AAAA,MAEA,OAAO,CAAC;AAAA;AAAA,SAEJ,YAAW,GAAuC;AAAA,MACtD,MAAM,gBAAgB,QAAQ,WAAW,iBAAiB;AAAA,MAC1D,OAAO;AAAA,WACD,MAAM,cAAc,YAAY;AAAA,QACpC,oBAAoB,cAAc,mBAAmB;AAAA,QACrD,iBAAiB,cAAc,gBAAgB;AAAA,QAC/C,kBAAkB,cAAc,iBAAiB;AAAA,QACjD,YAAY,cAAc,WAAW;AAAA,QACrC,iBAAiB,cAAc,gBAAgB;AAAA,QAC/C;AAAA,MACF;AAAA;AAAA,IAEF,SAAS,OAAO,mBAAmB;AAAA,MACjC,MAAM,cAAc,QAAQ,cAAc;AAAA;AAAA,EAE9C;AAAA;",
|
|
8
|
-
"debugId": "A4C0E177FD1B1FD164756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { RemoteRuntime, RuntimeOptions } from "../internal/client/index.ts";
|
|
2
|
-
import type { BrowserRuntime, CreateBrowserRuntimeOptions } from "../types.ts";
|
|
3
|
-
export declare function createBrowserRuntimeAdapter(createRuntime: (options: RuntimeOptions) => Promise<RemoteRuntime>, options: CreateBrowserRuntimeOptions): Promise<BrowserRuntime>;
|