@efffrida/vitest-pool 0.0.13 → 0.0.15

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.
@@ -1,31 +1,22 @@
1
1
  import "@efffrida/polyfills";
2
+ // QuickJS returns Error.stack as a boxed String object, not a primitive. This
3
+ // causes @vitest/utils serializeValue to walk it as a char-indexed object
4
+ // {"0":"A","1":"s",...}. Adding toJSON makes serializeValue call valueOf()
5
+ // instead, returning the primitive string.
6
+ if (!("toJSON" in String.prototype)) {
7
+ String.prototype.toJSON = String.prototype.valueOf;
8
+ }
2
9
  import { collectTests, startTests } from "@vitest/runner";
3
10
  import { serializeError } from "@vitest/utils/error";
4
11
  import { createStackString, parseStacktrace } from "@vitest/utils/source-map";
5
12
  import { createBirpc } from "birpc";
6
13
  import { stringify as flattedStringify } from "flatted";
7
14
  import { EvaluatedModules } from "vitest";
8
- const testFiles = {};
9
15
  // There should only ever be one test running at a time in a worker and these
10
16
  // need to be shared across multiple rpc calls anyways so they will live up here
11
17
  // in the module scope.
12
18
  let runPromise;
13
19
  let setupContext;
14
- // How to post messages to the parent process - use flatted to handle circular
15
- // references
16
- const postMessage = message => {
17
- send(flattedStringify(message, (_key, value) => {
18
- /** @see https://github.com/vitest-dev/vitest/blob/372e86fdef381038a2c4999fc9007dd7292a0628/packages/vitest/src/node/ast-collect.ts#L216-L236 */
19
- if (value !== null && typeof value === "object" && "name" in value && "message" in value && "stack" in value && typeof value.stack !== "string") {
20
- return {
21
- ...value,
22
- stack: value.stack === undefined ? undefined : JSON.stringify(value.stack)
23
- };
24
- } else {
25
- return value;
26
- }
27
- }));
28
- };
29
20
  // Collections of listeners
30
21
  const cleanupListeners = /*#__PURE__*/new Set();
31
22
  const cancelListeners = /*#__PURE__*/new Set();
@@ -36,13 +27,10 @@ const birpc = /*#__PURE__*/createBirpc({
36
27
  await Promise.allSettled([...cancelListeners.values()].map(listener => listener(reason)));
37
28
  }
38
29
  }, {
39
- // How to serialize and deserialize messages.
40
- serialize: data => data,
41
- deserialize: data => data,
42
30
  // How to send and receive messages.
43
- off: rpcListener => messageListeners.delete(rpcListener),
44
31
  on: rpcListener => messageListeners.add(rpcListener),
45
- post: postMessage,
32
+ off: rpcListener => messageListeners.delete(rpcListener),
33
+ post: message => typeof message === "string" ? send(message) : send(flattedStringify(message)),
46
34
  // Names of remote functions that do not need response.
47
35
  // These are fire-and-forget messages to the vitest pool coordinator.
48
36
  eventNames: ["onUserConsoleLog", "onCollected", "onCancel"],
@@ -107,10 +95,10 @@ rpc.exports["onMessage"] = async message => {
107
95
  rpc: birpc,
108
96
  projectName: config.name ?? ""
109
97
  };
110
- return {
98
+ return send({
111
99
  type: "started",
112
100
  __vitest_worker_response__: true
113
- };
101
+ });
114
102
  }
115
103
  case "stop":
116
104
  {
@@ -124,20 +112,20 @@ rpc.exports["onMessage"] = async message => {
124
112
  await Promise.allSettled([...cleanupListeners.values()].map(listener => listener()));
125
113
  cancelListeners.clear();
126
114
  cleanupListeners.clear();
127
- return {
115
+ return send({
128
116
  type: "stopped",
129
117
  __vitest_worker_response__: true
130
- };
118
+ });
131
119
  }
132
120
  case "run":
133
121
  case "collect":
134
122
  {
135
123
  if (runPromise !== undefined) {
136
- return {
124
+ return send({
137
125
  type: "testfileFinished",
138
126
  __vitest_worker_response__: true,
139
127
  error: serializeError("Worker is already running tests")
140
- };
128
+ });
141
129
  }
142
130
  /** @see https://github.com/vitest-dev/vitest/blob/4f58c77147796d48bf70579222a577df977300f8/packages/vitest/src/runtime/worker.ts#L28-L49 */
143
131
  provideWorkerState(globalThis, {
@@ -168,45 +156,9 @@ rpc.exports["onMessage"] = async message => {
168
156
  const entrypoint = message.type === "run" ? startTests : collectTests;
169
157
  const testRunner = {
170
158
  config: setupContext.config,
171
- importFile: async file => {
172
- const nodeAssert = await import("node:assert");
173
- const nodeBuffer = await import("node:buffer");
174
- const nodeCrypto = await import("node:crypto");
175
- const diagnosticsChannel = await import("node:diagnostics_channel");
176
- const nodeEvents = await import("node:events");
177
- const nodeFs = await import("node:fs");
178
- const nodeNet = await import("node:net");
179
- const nodeOs = await import("node:os");
180
- const nodePath = await import("node:path");
181
- const nodeProcess = await import("node:process");
182
- const nodeStream = await import("node:stream");
183
- const nodeTimers = await import("node:timers");
184
- const nodeTty = await import("node:tty");
185
- const nodeUrl = await import("node:url");
186
- const nodeUtil = await import("node:util");
187
- const nodeVm = await import("node:vm");
188
- const vitestModule = await import("vitest");
189
- const vitestRunnerModule = await import("@vitest/runner");
190
- globalThis.__node_assert = nodeAssert;
191
- globalThis.__node_buffer = nodeBuffer;
192
- globalThis.__node_crypto = nodeCrypto;
193
- globalThis.__node_diagnosticsChannel = diagnosticsChannel;
194
- globalThis.__node_events = nodeEvents;
195
- globalThis.__node_fs = nodeFs;
196
- globalThis.__node_net = nodeNet;
197
- globalThis.__node_os = nodeOs;
198
- globalThis.__node_path = nodePath;
199
- globalThis.__node_process = nodeProcess;
200
- globalThis.__node_stream = nodeStream;
201
- globalThis.__node_timers = nodeTimers;
202
- globalThis.__node_tty = nodeTty;
203
- globalThis.__node_url = nodeUrl;
204
- globalThis.__node_util = nodeUtil;
205
- globalThis.__node_vm = nodeVm;
206
- globalThis.__vitest = vitestModule;
207
- globalThis.__vitest_runner = vitestRunnerModule;
208
- const source = Buffer.from(testFiles[file], "base64").toString("utf-8");
209
- await Script.load(file, source);
159
+ importFile: async _file => {
160
+ // @efffrida/vitest-pool/agent/file-map
161
+ return Promise.reject("importFile is not supported in the frida pool agent");
210
162
  }
211
163
  };
212
164
  try {
@@ -214,16 +166,16 @@ rpc.exports["onMessage"] = async message => {
214
166
  runPromise = entrypoint([file], patchTestRunner(testRunner));
215
167
  await runPromise;
216
168
  }
217
- return {
169
+ return send({
218
170
  type: "testfileFinished",
219
171
  __vitest_worker_response__: true
220
- };
172
+ });
221
173
  } catch (error) {
222
- return {
174
+ return send({
223
175
  type: "testfileFinished",
224
176
  __vitest_worker_response__: true,
225
177
  error: serializeError(error)
226
- };
178
+ });
227
179
  } finally {
228
180
  runPromise = undefined;
229
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","names":["collectTests","startTests","serializeError","createStackString","parseStacktrace","createBirpc","stringify","flattedStringify","EvaluatedModules","testFiles","runPromise","setupContext","postMessage","message","send","_key","value","stack","undefined","JSON","cleanupListeners","Set","cancelListeners","messageListeners","birpc","onCancel","reason","Promise","allSettled","values","map","listener","serialize","data","deserialize","off","rpcListener","delete","on","add","post","eventNames","timeout","provideWorkerState","context","state","NAME_WORKER_STATE","Object","defineProperty","configurable","writable","enumerable","patchTestRunner","testRunner","originalOnTaskUpdate","onTaskUpdate","task","events","call","originalOnCollectStart","onCollectStart","file","onQueued","originalOnCollected","onCollected","files","rpc","exports","isWorkerRequest","u","__vitest_worker_request__","forEach","type","process","env","VITEST_POOL_ID","String","poolId","VITEST_WORKER_ID","workerId","config","environment","pool","projectName","name","__vitest_worker_response__","$rejectPendingCalls","method","reject","clear","error","globalThis","durations","prepare","ctx","providedContext","metaEnv","resolvingModules","moduleExecutionInfo","Map","evaluatedModules","onCleanup","onFilterStackTrace","entrypoint","importFile","nodeAssert","nodeBuffer","nodeCrypto","diagnosticsChannel","nodeEvents","nodeFs","nodeNet","nodeOs","nodePath","nodeProcess","nodeStream","nodeTimers","nodeTty","nodeUrl","nodeUtil","nodeVm","vitestModule","vitestRunnerModule","__node_assert","__node_buffer","__node_crypto","__node_diagnosticsChannel","__node_events","__node_fs","__node_net","__node_os","__node_path","__node_process","__node_stream","__node_timers","__node_tty","__node_url","__node_util","__node_vm","__vitest","__vitest_runner","source","Buffer","from","toString","Script","load"],"sources":["../../frida/agent.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"agent.js","names":["String","prototype","toJSON","valueOf","collectTests","startTests","serializeError","createStackString","parseStacktrace","createBirpc","stringify","flattedStringify","EvaluatedModules","runPromise","setupContext","cleanupListeners","Set","cancelListeners","messageListeners","birpc","onCancel","reason","Promise","allSettled","values","map","listener","on","rpcListener","add","off","delete","post","message","send","eventNames","timeout","provideWorkerState","context","state","NAME_WORKER_STATE","Object","defineProperty","value","configurable","writable","enumerable","patchTestRunner","testRunner","originalOnTaskUpdate","onTaskUpdate","task","events","call","originalOnCollectStart","onCollectStart","file","onQueued","originalOnCollected","onCollected","files","rpc","exports","isWorkerRequest","u","__vitest_worker_request__","forEach","type","process","env","VITEST_POOL_ID","poolId","VITEST_WORKER_ID","workerId","config","environment","pool","projectName","name","__vitest_worker_response__","undefined","$rejectPendingCalls","method","reject","clear","error","globalThis","durations","prepare","ctx","providedContext","metaEnv","resolvingModules","moduleExecutionInfo","Map","evaluatedModules","onCleanup","onFilterStackTrace","stack","entrypoint","importFile","_file"],"sources":["../../frida/agent.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -37,15 +37,12 @@ declare const ConfigSchema: Schema.Struct<{
37
37
  * @category Tests
38
38
  */
39
39
  export declare class FridaPoolWorker implements VitestNode.PoolWorker {
40
- readonly agentTemplatePath: URL;
41
40
  readonly name = "frida-pool";
42
- private readonly customOptions;
41
+ private static initQueue;
42
+ private readonly scope;
43
+ private readonly scriptContext;
43
44
  private readonly cancelables;
44
- private modifiedAgentScope;
45
- private managedRuntime;
46
45
  private sends;
47
- private compiledAgentUrlPromise;
48
- private messageCallback;
49
46
  constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>);
50
47
  start(): Promise<void>;
51
48
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAoD/C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAEH;;;GAGG;AACH,qBAAa,eAAgB,YAAW,UAAU,CAAC,UAAU;IACzD,QAAQ,CAAC,iBAAiB,MAAiD;IAC3E,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0D;IAEtF,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,cAAc,CAA8E;IACpG,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,uBAAuB,CAAe;IAC9C,OAAO,CAAC,eAAe,CAAmC;gBAE9C,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;IAYjG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8EtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAqDrD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAWvD,WAAW,CAAC,IAAI,EAAE,OAAO;IAKzB,SAAS,CAAC,IAAI,EAAE,OAAO;CAG1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GACxB,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,KACzD,UAAU,CAAC,qBAMb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAmD/C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAEH;;;GAGG;AACH,qBAAa,eAAgB,YAAW,UAAU,CAAC,UAAU;IACzD,SAAgB,IAAI,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAE5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAClF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsE;IAElG,OAAO,CAAC,KAAK,CAA+B;gBAEhC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;IAwIjG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IA8DrD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAQvD,WAAW,CAAC,IAAI,EAAE,OAAO;IAKzB,SAAS,CAAC,IAAI,EAAE,OAAO;CAG1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GACxB,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,KACzD,UAAU,CAAC,qBAMb,CAAC"}