@cloudflare/vitest-pool-workers 0.2.4 → 0.2.6
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/config/d1.d.ts +7 -0
- package/dist/config/index.cjs +130 -0
- package/dist/config/index.cjs.map +6 -0
- package/dist/config/index.d.ts +21 -0
- package/dist/pool/config.d.ts +82 -0
- package/dist/pool/helpers.d.ts +5 -0
- package/dist/pool/index.mjs +1529 -0
- package/dist/pool/index.mjs.map +6 -0
- package/dist/shared/d1.d.ts +4 -0
- package/dist/worker/index.mjs +352 -0
- package/dist/worker/index.mjs.map +6 -0
- package/dist/worker/lib/cloudflare/empty-internal.cjs +27 -0
- package/dist/worker/lib/cloudflare/empty-internal.cjs.map +6 -0
- package/dist/worker/lib/cloudflare/mock-agent.cjs +2056 -0
- package/dist/worker/lib/cloudflare/mock-agent.cjs.map +6 -0
- package/dist/worker/lib/cloudflare/test-internal.mjs +739 -0
- package/dist/worker/lib/cloudflare/test-internal.mjs.map +6 -0
- package/dist/worker/lib/cloudflare/test-runner.mjs +222 -0
- package/dist/worker/lib/cloudflare/test-runner.mjs.map +6 -0
- package/dist/worker/lib/cloudflare/test.mjs +30 -0
- package/dist/worker/lib/cloudflare/test.mjs.map +6 -0
- package/dist/worker/lib/debug.mjs +9 -0
- package/dist/worker/lib/debug.mjs.map +6 -0
- package/dist/worker/lib/mlly.mjs +48 -0
- package/dist/worker/lib/mlly.mjs.map +6 -0
- package/dist/worker/lib/node/console.mjs +104 -0
- package/dist/worker/lib/node/console.mjs.map +6 -0
- package/dist/worker/lib/node/dns.mjs +6 -0
- package/dist/worker/lib/node/dns.mjs.map +6 -0
- package/dist/worker/lib/node/fs/promises.mjs +6 -0
- package/dist/worker/lib/node/fs/promises.mjs.map +6 -0
- package/dist/worker/lib/node/fs.mjs +25 -0
- package/dist/worker/lib/node/fs.mjs.map +6 -0
- package/dist/worker/lib/node/http.cjs +97 -0
- package/dist/worker/lib/node/http.cjs.map +6 -0
- package/dist/worker/lib/node/module.mjs +15 -0
- package/dist/worker/lib/node/module.mjs.map +6 -0
- package/dist/worker/lib/node/net.cjs +27 -0
- package/dist/worker/lib/node/net.cjs.map +6 -0
- package/dist/worker/lib/node/perf_hooks.mjs +6 -0
- package/dist/worker/lib/node/perf_hooks.mjs.map +6 -0
- package/dist/worker/lib/node/querystring.cjs +44 -0
- package/dist/worker/lib/node/querystring.cjs.map +6 -0
- package/dist/worker/lib/node/timers.mjs +6 -0
- package/dist/worker/lib/node/timers.mjs.map +6 -0
- package/dist/worker/lib/node/tty.mjs +8 -0
- package/dist/worker/lib/node/tty.mjs.map +6 -0
- package/dist/worker/lib/node/url.mjs +75 -0
- package/dist/worker/lib/node/url.mjs.map +6 -0
- package/dist/worker/lib/node/vm.mjs +17 -0
- package/dist/worker/lib/node/vm.mjs.map +6 -0
- package/dist/worker/lib/tinypool.mjs +6 -0
- package/dist/worker/lib/tinypool.mjs.map +6 -0
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { D1Migration } from "../shared/d1";
|
|
2
|
+
/**
|
|
3
|
+
* Reads all migrations in `migrationsPath`, ordered by migration number.
|
|
4
|
+
* Each migration will have its contents split into an array of SQL queries.
|
|
5
|
+
*/
|
|
6
|
+
export declare function readD1Migrations(migrationsPath: string): Promise<D1Migration[]>;
|
|
7
|
+
export type { D1Migration };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/config/index.ts
|
|
31
|
+
var config_exports = {};
|
|
32
|
+
__export(config_exports, {
|
|
33
|
+
defineWorkersConfig: () => defineWorkersConfig,
|
|
34
|
+
defineWorkersProject: () => defineWorkersProject,
|
|
35
|
+
readD1Migrations: () => readD1Migrations
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(config_exports);
|
|
38
|
+
var import_node_assert = __toESM(require("node:assert"));
|
|
39
|
+
var import_node_worker_threads = require("node:worker_threads");
|
|
40
|
+
|
|
41
|
+
// src/config/d1.ts
|
|
42
|
+
var import_node_fs = __toESM(require("node:fs"));
|
|
43
|
+
var import_node_path = __toESM(require("node:path"));
|
|
44
|
+
async function readD1Migrations(migrationsPath) {
|
|
45
|
+
const { unstable_splitSqlQuery } = await import("wrangler");
|
|
46
|
+
const names = import_node_fs.default.readdirSync(migrationsPath).filter((name) => name.endsWith(".sql"));
|
|
47
|
+
names.sort((a, b) => {
|
|
48
|
+
const aNumber = parseInt(a.split("_")[0]);
|
|
49
|
+
const bNumber = parseInt(b.split("_")[0]);
|
|
50
|
+
return aNumber - bNumber;
|
|
51
|
+
});
|
|
52
|
+
return names.map((name) => {
|
|
53
|
+
const migrationPath = import_node_path.default.join(migrationsPath, name);
|
|
54
|
+
const migration = import_node_fs.default.readFileSync(migrationPath, "utf8");
|
|
55
|
+
const queries = unstable_splitSqlQuery(migration);
|
|
56
|
+
return { name, queries };
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// src/config/index.ts
|
|
61
|
+
var channel;
|
|
62
|
+
globalThis.structuredClone ??= function(value, options) {
|
|
63
|
+
channel ??= new import_node_worker_threads.MessageChannel();
|
|
64
|
+
channel.port1.unref();
|
|
65
|
+
channel.port2.unref();
|
|
66
|
+
channel.port1.postMessage(value, options?.transfer);
|
|
67
|
+
const message = (0, import_node_worker_threads.receiveMessageOnPort)(channel.port2);
|
|
68
|
+
(0, import_node_assert.default)(message !== void 0);
|
|
69
|
+
return message.message;
|
|
70
|
+
};
|
|
71
|
+
function mapAnyConfigExport(f, config) {
|
|
72
|
+
if (typeof config === "function") {
|
|
73
|
+
return (env) => {
|
|
74
|
+
const t = config(env);
|
|
75
|
+
if (t instanceof Promise) {
|
|
76
|
+
return t.then(f);
|
|
77
|
+
} else {
|
|
78
|
+
return f(t);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
} else if (config instanceof Promise) {
|
|
82
|
+
return config.then(f);
|
|
83
|
+
} else {
|
|
84
|
+
return f(config);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function ensureArrayIncludes(array, items) {
|
|
88
|
+
for (const item of items)
|
|
89
|
+
if (!array.includes(item))
|
|
90
|
+
array.push(item);
|
|
91
|
+
}
|
|
92
|
+
var requiredConditions = ["workerd", "worker", "browser"];
|
|
93
|
+
var requiredMainFields = ["browser", "module", "jsnext:main", "jsnext"];
|
|
94
|
+
var configPlugin = {
|
|
95
|
+
name: "@cloudflare/vitest-pool-workers:config",
|
|
96
|
+
// Run after `vitest:project` plugin:
|
|
97
|
+
// https://github.com/vitest-dev/vitest/blob/8014614475afa880f4e583b166bb91dea5415cc6/packages/vitest/src/node/plugins/workspace.ts#L26
|
|
98
|
+
config(config) {
|
|
99
|
+
config.resolve ??= {};
|
|
100
|
+
config.resolve.conditions ??= [];
|
|
101
|
+
config.resolve.mainFields ??= [];
|
|
102
|
+
config.ssr ??= {};
|
|
103
|
+
config.test ??= {};
|
|
104
|
+
const nodeIndex = config.resolve.conditions.indexOf("node");
|
|
105
|
+
if (nodeIndex !== -1)
|
|
106
|
+
config.resolve.conditions.splice(nodeIndex, 1);
|
|
107
|
+
ensureArrayIncludes(config.resolve.conditions, requiredConditions);
|
|
108
|
+
ensureArrayIncludes(config.resolve.mainFields, requiredMainFields);
|
|
109
|
+
config.ssr.target = "webworker";
|
|
110
|
+
config.test.pool ??= "@cloudflare/vitest-pool-workers";
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
function ensureWorkersConfig(config) {
|
|
114
|
+
config.plugins ??= [];
|
|
115
|
+
config.plugins.push(configPlugin);
|
|
116
|
+
return config;
|
|
117
|
+
}
|
|
118
|
+
function defineWorkersConfig(config) {
|
|
119
|
+
return mapAnyConfigExport(ensureWorkersConfig, config);
|
|
120
|
+
}
|
|
121
|
+
function defineWorkersProject(config) {
|
|
122
|
+
return mapAnyConfigExport(ensureWorkersConfig, config);
|
|
123
|
+
}
|
|
124
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
125
|
+
0 && (module.exports = {
|
|
126
|
+
defineWorkersConfig,
|
|
127
|
+
defineWorkersProject,
|
|
128
|
+
readD1Migrations
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/config/index.ts", "../../src/config/d1.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmB;AACnB,iCAAqD;;;ACDrD,qBAAe;AACf,uBAAiB;AAOjB,eAAsB,iBACrB,gBACyB;AACzB,QAAM,EAAE,uBAAuB,IAAI,MAAM,OAAO,UAAU;AAC1D,QAAM,QAAQ,eAAAA,QACZ,YAAY,cAAc,EAC1B,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM,CAAC;AACxC,QAAM,KAAK,CAAC,GAAG,MAAM;AACpB,UAAM,UAAU,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;AACxC,UAAM,UAAU,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;AACxC,WAAO,UAAU;AAAA,EAClB,CAAC;AACD,SAAO,MAAM,IAAI,CAAC,SAAS;AAC1B,UAAM,gBAAgB,iBAAAC,QAAK,KAAK,gBAAgB,IAAI;AACpD,UAAM,YAAY,eAAAD,QAAG,aAAa,eAAe,MAAM;AACvD,UAAM,UAAU,uBAAuB,SAAS;AAChD,WAAO,EAAE,MAAM,QAAQ;AAAA,EACxB,CAAC;AACF;;;ADhBA,IAAI;AACJ,WAAW,oBAAoB,SAAU,OAAO,SAAS;AAExD,cAAY,IAAI,0CAAe;AAC/B,UAAQ,MAAM,MAAM;AACpB,UAAQ,MAAM,MAAM;AACpB,UAAQ,MAAM,YAAY,OAAO,SAAS,QAAQ;AAClD,QAAM,cAAU,iDAAqB,QAAQ,KAAK;AAClD,yBAAAE,SAAO,YAAY,MAAS;AAC5B,SAAO,QAAQ;AAChB;AAMA,SAAS,mBACR,GACA,QACqB;AACrB,MAAI,OAAO,WAAW,YAAY;AACjC,WAAO,CAAC,QAAQ;AACf,YAAM,IAAI,OAAO,GAAG;AACpB,UAAI,aAAa,SAAS;AACzB,eAAO,EAAE,KAAK,CAAC;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,CAAC;AAAA,MACX;AAAA,IACD;AAAA,EACD,WAAW,kBAAkB,SAAS;AACrC,WAAO,OAAO,KAAK,CAAC;AAAA,EACrB,OAAO;AACN,WAAO,EAAE,MAAM;AAAA,EAChB;AACD;AAsBA,SAAS,oBAAuB,OAAY,OAAY;AACvD,aAAW,QAAQ;AAAO,QAAI,CAAC,MAAM,SAAS,IAAI;AAAG,YAAM,KAAK,IAAI;AACrE;AAEA,IAAM,qBAAqB,CAAC,WAAW,UAAU,SAAS;AAC1D,IAAM,qBAAqB,CAAC,WAAW,UAAU,eAAe,QAAQ;AAExE,IAAM,eAA6B;AAAA,EAClC,MAAM;AAAA;AAAA;AAAA,EAGN,OAAO,QAAQ;AACd,WAAO,YAAY,CAAC;AACpB,WAAO,QAAQ,eAAe,CAAC;AAC/B,WAAO,QAAQ,eAAe,CAAC;AAC/B,WAAO,QAAQ,CAAC;AAChB,WAAO,SAAS,CAAC;AAIjB,UAAM,YAAY,OAAO,QAAQ,WAAW,QAAQ,MAAM;AAC1D,QAAI,cAAc;AAAI,aAAO,QAAQ,WAAW,OAAO,WAAW,CAAC;AAInE,wBAAoB,OAAO,QAAQ,YAAY,kBAAkB;AAIjE,wBAAoB,OAAO,QAAQ,YAAY,kBAAkB;AAIjE,WAAO,IAAI,SAAS;AAIpB,WAAO,KAAK,SAAS;AAAA,EACtB;AACD;AAEA,SAAS,oBAA0C,QAAc;AAChE,SAAO,YAAY,CAAC;AACpB,SAAO,QAAQ,KAAK,YAAY;AAChC,SAAO;AACR;AAEO,SAAS,oBACf,QAC2C;AAC3C,SAAO,mBAAmB,qBAAqB,MAAM;AACtD;AAEO,SAAS,qBACf,QAC8C;AAC9C,SAAO,mBAAmB,qBAAqB,MAAM;AACtD;",
|
|
5
|
+
"names": ["fs", "path", "assert"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WorkersPoolOptions } from "../pool/config";
|
|
2
|
+
import type { Awaitable, inject } from "vitest";
|
|
3
|
+
import type { ConfigEnv, UserConfig, UserWorkspaceConfig } from "vitest/config";
|
|
4
|
+
export type AnyConfigExport<T extends UserConfig> = T | Promise<T> | ((env: ConfigEnv) => T | Promise<T>);
|
|
5
|
+
export interface WorkerPoolOptionsContext {
|
|
6
|
+
inject: typeof inject;
|
|
7
|
+
}
|
|
8
|
+
export type WorkersUserConfig<T extends UserConfig> = T & {
|
|
9
|
+
test?: {
|
|
10
|
+
pool?: "@cloudflare/vitest-pool-workers";
|
|
11
|
+
poolMatchGlobs?: never;
|
|
12
|
+
poolOptions?: {
|
|
13
|
+
workers?: WorkersPoolOptions | ((ctx: WorkerPoolOptionsContext) => Awaitable<WorkersPoolOptions>);
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type WorkersUserConfigExport = WorkersUserConfig<UserConfig>;
|
|
18
|
+
export type WorkersProjectConfigExport = WorkersUserConfig<UserWorkspaceConfig>;
|
|
19
|
+
export declare function defineWorkersConfig(config: AnyConfigExport<WorkersUserConfigExport>): AnyConfigExport<WorkersUserConfigExport>;
|
|
20
|
+
export declare function defineWorkersProject(config: AnyConfigExport<WorkersProjectConfigExport>): AnyConfigExport<WorkersProjectConfigExport>;
|
|
21
|
+
export * from "./d1";
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { ModuleRule, WorkerOptions } from "miniflare";
|
|
3
|
+
import type { WorkspaceProject } from "vitest/node";
|
|
4
|
+
export declare const OPTIONS_PATH: string;
|
|
5
|
+
declare const WorkersPoolOptionsSchema: z.ZodObject<{
|
|
6
|
+
/**
|
|
7
|
+
* Entrypoint to Worker run in the same isolate/context as tests. This is
|
|
8
|
+
* required to use `import { SELF } from "cloudflare:test"`, or Durable
|
|
9
|
+
* Objects without an explicit `scriptName`. Note this goes through Vite
|
|
10
|
+
* transforms and can be a TypeScript file. Note also
|
|
11
|
+
* `import module from "<path-to-main>"` inside tests gives exactly the same
|
|
12
|
+
* `module` instance as is used internally for the `SELF` and Durable Object
|
|
13
|
+
* bindings.
|
|
14
|
+
*/
|
|
15
|
+
main: z.ZodOptional<z.ZodString>;
|
|
16
|
+
/**
|
|
17
|
+
* Enables per-test isolated storage. If enabled, any writes to storage
|
|
18
|
+
* performed in a test will be undone at the end of the test. The test storage
|
|
19
|
+
* environment is copied from the containing suite, meaning `beforeAll()`
|
|
20
|
+
* hooks can be used to seed data. If this is disabled, all tests will share
|
|
21
|
+
* the same storage.
|
|
22
|
+
*/
|
|
23
|
+
isolatedStorage: z.ZodDefault<z.ZodBoolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Runs all tests in this project serially in the same worker, using the same
|
|
26
|
+
* module cache. This can significantly speed up tests if you've got lots of
|
|
27
|
+
* small test files.
|
|
28
|
+
*/
|
|
29
|
+
singleWorker: z.ZodDefault<z.ZodBoolean>;
|
|
30
|
+
miniflare: z.ZodOptional<z.ZodObject<{
|
|
31
|
+
workers: z.ZodOptional<z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
32
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
33
|
+
workers: z.ZodOptional<z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
34
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
35
|
+
workers: z.ZodOptional<z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
36
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
37
|
+
wrangler: z.ZodOptional<z.ZodObject<{
|
|
38
|
+
configPath: z.ZodOptional<z.ZodString>;
|
|
39
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
|
+
configPath?: string | undefined;
|
|
42
|
+
environment?: string | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
configPath?: string | undefined;
|
|
45
|
+
environment?: string | undefined;
|
|
46
|
+
}>>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
isolatedStorage: boolean;
|
|
49
|
+
singleWorker: boolean;
|
|
50
|
+
main?: string | undefined;
|
|
51
|
+
miniflare?: z.objectOutputType<{
|
|
52
|
+
workers: z.ZodOptional<z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
53
|
+
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
54
|
+
wrangler?: {
|
|
55
|
+
configPath?: string | undefined;
|
|
56
|
+
environment?: string | undefined;
|
|
57
|
+
} | undefined;
|
|
58
|
+
}, {
|
|
59
|
+
main?: string | undefined;
|
|
60
|
+
isolatedStorage?: boolean | undefined;
|
|
61
|
+
singleWorker?: boolean | undefined;
|
|
62
|
+
miniflare?: z.objectInputType<{
|
|
63
|
+
workers: z.ZodOptional<z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
64
|
+
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
65
|
+
wrangler?: {
|
|
66
|
+
configPath?: string | undefined;
|
|
67
|
+
environment?: string | undefined;
|
|
68
|
+
} | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
export type SourcelessWorkerOptions = Omit<WorkerOptions, "script" | "scriptPath" | "modules" | "modulesRoot"> & {
|
|
71
|
+
modulesRules?: ModuleRule[];
|
|
72
|
+
};
|
|
73
|
+
export type WorkersPoolOptions = z.input<typeof WorkersPoolOptionsSchema> & {
|
|
74
|
+
miniflare?: SourcelessWorkerOptions & {
|
|
75
|
+
workers?: WorkerOptions[];
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
export type WorkersPoolOptionsWithDefines = WorkersPoolOptions & {
|
|
79
|
+
defines?: Record<string, string>;
|
|
80
|
+
};
|
|
81
|
+
export declare function parseProjectOptions(project: WorkspaceProject): Promise<WorkersPoolOptionsWithDefines>;
|
|
82
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WorkspaceProject } from "vitest/node";
|
|
2
|
+
export declare const WORKER_NAME_PREFIX = "vitest-pool-workers-";
|
|
3
|
+
export declare function isFileNotFoundError(e: unknown): boolean;
|
|
4
|
+
export declare function getProjectPath(project: WorkspaceProject): string | number;
|
|
5
|
+
export declare function getRelativeProjectPath(project: WorkspaceProject): string | number;
|