@depup/msw 3.0.1-depup.0 → 3.0.2-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/msw
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [msw](https://www.npmjs.com/package/msw) @ 3.0.1 |
17
- | Processed | 2026-09-30 |
16
+ | Original | [msw](https://www.npmjs.com/package/msw) @ 3.0.2 |
17
+ | Processed | 2026-10-03 |
18
18
  | Smoke test | passed |
19
19
  | Deps updated | 2 |
20
20
 
package/changes.json CHANGED
@@ -9,6 +9,6 @@
9
9
  "to": "^5.10.0"
10
10
  }
11
11
  },
12
- "timestamp": "2026-09-30T16:12:49.570Z",
12
+ "timestamp": "2026-10-03T08:12:08.542Z",
13
13
  "totalUpdated": 2
14
14
  }
@@ -7,7 +7,7 @@
7
7
  * - Please do NOT modify this file.
8
8
  */
9
9
 
10
- const PACKAGE_VERSION = '3.0.1'
10
+ const PACKAGE_VERSION = '3.0.2'
11
11
  const INTEGRITY_CHECKSUM = '5cd5cf8b54c3a90f82960cedcd637772'
12
12
  const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
13
13
 
package/lib/vite/index.js CHANGED
@@ -4,7 +4,6 @@ import { fileURLToPath } from "node:url";
4
4
  const WORKER_FILENAME = "mockServiceWorker.js";
5
5
  const WORKER_SCRIPT_PATH = new URL("../mockServiceWorker.js", import.meta.url);
6
6
  const VIRTUAL_MODULE_ID = "virtual:msw";
7
- const VIRTUAL_OPTIONS_ID = "virtual:msw/options";
8
7
  const RUNTIME_PATH = fileURLToPath(new URL("./runtime.js", import.meta.url));
9
8
  /**
10
9
  * A Vite plugin for Mock Service Worker.
@@ -41,18 +40,22 @@ function msw(options = {}) {
41
40
  const environmentsUsingNetwork = /* @__PURE__ */ new Set();
42
41
  return {
43
42
  name: "msw",
44
- async resolveId(id) {
43
+ resolveId(id) {
45
44
  if (mode === "worker-only") return;
46
- if (id === VIRTUAL_OPTIONS_ID) return `\0${VIRTUAL_OPTIONS_ID}`;
47
- if (id === VIRTUAL_MODULE_ID) return this.resolve(RUNTIME_PATH);
45
+ if (id === VIRTUAL_MODULE_ID) return `\0${VIRTUAL_MODULE_ID}`;
48
46
  },
49
47
  load(id) {
50
- if (mode === "worker-only" || id !== `\0${VIRTUAL_OPTIONS_ID}`) return;
51
- if (this.environment.config.consumer === "server") return `export { defaultNetworkOptions } from 'msw/node'`;
48
+ if (mode === "worker-only" || id !== `\0${VIRTUAL_MODULE_ID}`) return;
49
+ if (this.environment.config.consumer === "server") return `
50
+ import { defaultNetworkOptions } from 'msw/node'
51
+ import { createNetwork } from ${JSON.stringify(RUNTIME_PATH)}
52
+ export const network = await createNetwork(defaultNetworkOptions)
53
+ `;
52
54
  environmentsUsingNetwork.add(this.environment.name);
53
55
  return `
54
56
  import { createDefaultNetworkOptions } from 'msw/browser'
55
- export const defaultNetworkOptions = createDefaultNetworkOptions(${JSON.stringify(workerUrl)})
57
+ import { createNetwork } from ${JSON.stringify(RUNTIME_PATH)}
58
+ export const network = await createNetwork(createDefaultNetworkOptions(${JSON.stringify(workerUrl)}))
56
59
  `;
57
60
  },
58
61
  configResolved(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/vite/plugin.ts"],"sourcesContent":["import * as fs from 'node:fs'\nimport { fileURLToPath } from 'node:url'\nimport type { Plugin } from 'vite'\n\nconst WORKER_FILENAME = 'mockServiceWorker.js'\nconst WORKER_SCRIPT_PATH = new URL('../mockServiceWorker.js', import.meta.url)\nconst VIRTUAL_MODULE_ID = 'virtual:msw'\nconst VIRTUAL_OPTIONS_ID = 'virtual:msw/options'\nconst RUNTIME_PATH = fileURLToPath(new URL('./runtime.js', import.meta.url))\n\nexport interface MswPluginOptions {\n /**\n * Use automatic integration or only provide the worker script for manual setup.\n * In worker-only mode, virtual modules are disabled.\n * @default \"auto\"\n */\n mode?: 'auto' | 'worker-only'\n}\n\n/**\n * A Vite plugin for Mock Service Worker.\n *\n * @example\n * // vite.config.ts\n * import { msw } from 'msw/vite'\n *\n * export default defineConfig({\n * plugins: [msw()]\n * })\n *\n * @example\n * // src/{client,server}.ts\n * if (import.meta.env.DEV) {\n * const { network } = await import('virtual:msw')\n * const { handlers } = await import('./mocks/handlers')\n *\n * network.configure({ handlers })\n * await network.enable()\n * }\n *\n * @remarks\n * The worker script is served during development and emitted next to any\n * client bundle that imports `virtual:msw`. Guard mocking setup with\n * `import.meta.env.DEV` to exclude both from production builds.\n *\n * For application TypeScript projects that do not include the Vite config,\n * add `/// <reference types=\"msw/vite/client\" />` to an included declaration file.\n */\nexport function msw(options: MswPluginOptions = {}): Plugin {\n const mode = options.mode ?? 'auto'\n let workerUrl = `/${WORKER_FILENAME}`\n const environmentsUsingNetwork = new Set<string>()\n\n return {\n name: 'msw',\n async resolveId(id) {\n if (mode === 'worker-only') {\n return\n }\n\n if (id === VIRTUAL_OPTIONS_ID) {\n return `\\0${VIRTUAL_OPTIONS_ID}`\n }\n\n if (id === VIRTUAL_MODULE_ID) {\n return this.resolve(RUNTIME_PATH)\n }\n },\n load(id) {\n if (mode === 'worker-only' || id !== `\\0${VIRTUAL_OPTIONS_ID}`) {\n return\n }\n\n if (this.environment.config.consumer === 'server') {\n return `export { defaultNetworkOptions } from 'msw/node'`\n }\n\n environmentsUsingNetwork.add(this.environment.name)\n\n return `\nimport { createDefaultNetworkOptions } from 'msw/browser'\nexport const defaultNetworkOptions = createDefaultNetworkOptions(${JSON.stringify(workerUrl)})\n`\n },\n configResolved(config) {\n // Keep relative build bases relative and service workers on the app's origin.\n const base =\n config.base === './'\n ? config.base\n : new URL(config.base, 'http://localhost').pathname\n workerUrl = `${base}${WORKER_FILENAME}`\n },\n generateBundle() {\n if (this.environment.config.consumer !== 'client') {\n return\n }\n\n // In \"auto\" mode, the worker is only useful to bundles that contain the\n // network. A user guard (e.g. `import.meta.env.DEV`) that drops the\n // `virtual:msw` import drops the worker too.\n if (\n mode === 'auto' &&\n !environmentsUsingNetwork.has(this.environment.name)\n ) {\n return\n }\n\n this.emitFile({\n type: 'asset',\n fileName: WORKER_FILENAME,\n source: fs.readFileSync(WORKER_SCRIPT_PATH, 'utf8'),\n })\n },\n configureServer(server) {\n const workerScript = fs.readFileSync(WORKER_SCRIPT_PATH, 'utf8')\n server.middlewares.use((request, response, next) => {\n const requestUrl = new URL(request.url ?? '/', 'http://localhost')\n\n if (requestUrl.pathname !== workerUrl) {\n next()\n return\n }\n\n response.writeHead(200, {\n 'cache-control': 'no-cache',\n 'content-type': 'application/javascript; charset=utf-8',\n 'service-worker-allowed': '/',\n })\n response.end(workerScript)\n })\n },\n }\n}\n"],"mappings":";;;AAIA,MAAM,kBAAkB;AACxB,MAAM,qBAAqB,IAAI,IAAI,2BAA2B,YAAY,GAAG;AAC7E,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,MAAM,eAAe,cAAc,IAAI,IAAI,gBAAgB,YAAY,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwC3E,SAAgB,IAAI,UAA4B,CAAC,GAAW;CAC1D,MAAM,OAAO,QAAQ,QAAQ;CAC7B,IAAI,YAAY,IAAI;CACpB,MAAM,2CAA2B,IAAI,IAAY;CAEjD,OAAO;EACL,MAAM;EACN,MAAM,UAAU,IAAI;GAClB,IAAI,SAAS,eACX;GAGF,IAAI,OAAO,oBACT,OAAO,KAAK;GAGd,IAAI,OAAO,mBACT,OAAO,KAAK,QAAQ,YAAY;EAEpC;EACA,KAAK,IAAI;GACP,IAAI,SAAS,iBAAiB,OAAO,KAAK,sBACxC;GAGF,IAAI,KAAK,YAAY,OAAO,aAAa,UACvC,OAAO;GAGT,yBAAyB,IAAI,KAAK,YAAY,IAAI;GAElD,OAAO;;mEAEsD,KAAK,UAAU,SAAS,EAAE;;EAEzF;EACA,eAAe,QAAQ;GAMrB,YAAY,GAHV,OAAO,SAAS,OACZ,OAAO,OACP,IAAI,IAAI,OAAO,MAAM,kBAAkB,CAAC,CAAC,WACzB;EACxB;EACA,iBAAiB;GACf,IAAI,KAAK,YAAY,OAAO,aAAa,UACvC;GAMF,IACE,SAAS,UACT,CAAC,yBAAyB,IAAI,KAAK,YAAY,IAAI,GAEnD;GAGF,KAAK,SAAS;IACZ,MAAM;IACN,UAAU;IACV,QAAQ,GAAG,aAAa,oBAAoB,MAAM;GACpD,CAAC;EACH;EACA,gBAAgB,QAAQ;GACtB,MAAM,eAAe,GAAG,aAAa,oBAAoB,MAAM;GAC/D,OAAO,YAAY,KAAK,SAAS,UAAU,SAAS;IAGlD,IAAI,IAFmB,IAAI,QAAQ,OAAO,KAAK,kBAElC,CAAC,CAAC,aAAa,WAAW;KACrC,KAAK;KACL;IACF;IAEA,SAAS,UAAU,KAAK;KACtB,iBAAiB;KACjB,gBAAgB;KAChB,0BAA0B;IAC5B,CAAC;IACD,SAAS,IAAI,YAAY;GAC3B,CAAC;EACH;CACF;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/vite/plugin.ts"],"sourcesContent":["import * as fs from 'node:fs'\nimport { fileURLToPath } from 'node:url'\nimport type { Plugin } from 'vite'\n\nconst WORKER_FILENAME = 'mockServiceWorker.js'\nconst WORKER_SCRIPT_PATH = new URL('../mockServiceWorker.js', import.meta.url)\nconst VIRTUAL_MODULE_ID = 'virtual:msw'\nconst RUNTIME_PATH = fileURLToPath(new URL('./runtime.js', import.meta.url))\n\nexport interface MswPluginOptions {\n /**\n * Use automatic integration or only provide the worker script for manual setup.\n * In worker-only mode, virtual modules are disabled.\n * @default \"auto\"\n */\n mode?: 'auto' | 'worker-only'\n}\n\n/**\n * A Vite plugin for Mock Service Worker.\n *\n * @example\n * // vite.config.ts\n * import { msw } from 'msw/vite'\n *\n * export default defineConfig({\n * plugins: [msw()]\n * })\n *\n * @example\n * // src/{client,server}.ts\n * if (import.meta.env.DEV) {\n * const { network } = await import('virtual:msw')\n * const { handlers } = await import('./mocks/handlers')\n *\n * network.configure({ handlers })\n * await network.enable()\n * }\n *\n * @remarks\n * The worker script is served during development and emitted next to any\n * client bundle that imports `virtual:msw`. Guard mocking setup with\n * `import.meta.env.DEV` to exclude both from production builds.\n *\n * For application TypeScript projects that do not include the Vite config,\n * add `/// <reference types=\"msw/vite/client\" />` to an included declaration file.\n */\nexport function msw(options: MswPluginOptions = {}): Plugin {\n const mode = options.mode ?? 'auto'\n let workerUrl = `/${WORKER_FILENAME}`\n const environmentsUsingNetwork = new Set<string>()\n\n return {\n name: 'msw',\n resolveId(id) {\n if (mode === 'worker-only') {\n return\n }\n\n if (id === VIRTUAL_MODULE_ID) {\n return `\\0${VIRTUAL_MODULE_ID}`\n }\n },\n load(id) {\n if (mode === 'worker-only' || id !== `\\0${VIRTUAL_MODULE_ID}`) {\n return\n }\n\n // Tools like Vitest import the runtime natively when it's installed\n // in \"node_modules\". Provide it with the environment's options from here\n // so it never has to import a virtual module that only Vite can resolve.\n if (this.environment.config.consumer === 'server') {\n return `\nimport { defaultNetworkOptions } from 'msw/node'\nimport { createNetwork } from ${JSON.stringify(RUNTIME_PATH)}\nexport const network = await createNetwork(defaultNetworkOptions)\n`\n }\n\n environmentsUsingNetwork.add(this.environment.name)\n\n return `\nimport { createDefaultNetworkOptions } from 'msw/browser'\nimport { createNetwork } from ${JSON.stringify(RUNTIME_PATH)}\nexport const network = await createNetwork(createDefaultNetworkOptions(${JSON.stringify(workerUrl)}))\n`\n },\n configResolved(config) {\n // Keep relative build bases relative and service workers on the app's origin.\n const base =\n config.base === './'\n ? config.base\n : new URL(config.base, 'http://localhost').pathname\n workerUrl = `${base}${WORKER_FILENAME}`\n },\n generateBundle() {\n if (this.environment.config.consumer !== 'client') {\n return\n }\n\n // In \"auto\" mode, the worker is only useful to bundles that contain the\n // network. A user guard (e.g. `import.meta.env.DEV`) that drops the\n // `virtual:msw` import drops the worker too.\n if (\n mode === 'auto' &&\n !environmentsUsingNetwork.has(this.environment.name)\n ) {\n return\n }\n\n this.emitFile({\n type: 'asset',\n fileName: WORKER_FILENAME,\n source: fs.readFileSync(WORKER_SCRIPT_PATH, 'utf8'),\n })\n },\n configureServer(server) {\n const workerScript = fs.readFileSync(WORKER_SCRIPT_PATH, 'utf8')\n server.middlewares.use((request, response, next) => {\n const requestUrl = new URL(request.url ?? '/', 'http://localhost')\n\n if (requestUrl.pathname !== workerUrl) {\n next()\n return\n }\n\n response.writeHead(200, {\n 'cache-control': 'no-cache',\n 'content-type': 'application/javascript; charset=utf-8',\n 'service-worker-allowed': '/',\n })\n response.end(workerScript)\n })\n },\n }\n}\n"],"mappings":";;;AAIA,MAAM,kBAAkB;AACxB,MAAM,qBAAqB,IAAI,IAAI,2BAA2B,YAAY,GAAG;AAC7E,MAAM,oBAAoB;AAC1B,MAAM,eAAe,cAAc,IAAI,IAAI,gBAAgB,YAAY,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwC3E,SAAgB,IAAI,UAA4B,CAAC,GAAW;CAC1D,MAAM,OAAO,QAAQ,QAAQ;CAC7B,IAAI,YAAY,IAAI;CACpB,MAAM,2CAA2B,IAAI,IAAY;CAEjD,OAAO;EACL,MAAM;EACN,UAAU,IAAI;GACZ,IAAI,SAAS,eACX;GAGF,IAAI,OAAO,mBACT,OAAO,KAAK;EAEhB;EACA,KAAK,IAAI;GACP,IAAI,SAAS,iBAAiB,OAAO,KAAK,qBACxC;GAMF,IAAI,KAAK,YAAY,OAAO,aAAa,UACvC,OAAO;;gCAEiB,KAAK,UAAU,YAAY,EAAE;;;GAKvD,yBAAyB,IAAI,KAAK,YAAY,IAAI;GAElD,OAAO;;gCAEmB,KAAK,UAAU,YAAY,EAAE;yEACY,KAAK,UAAU,SAAS,EAAE;;EAE/F;EACA,eAAe,QAAQ;GAMrB,YAAY,GAHV,OAAO,SAAS,OACZ,OAAO,OACP,IAAI,IAAI,OAAO,MAAM,kBAAkB,CAAC,CAAC,WACzB;EACxB;EACA,iBAAiB;GACf,IAAI,KAAK,YAAY,OAAO,aAAa,UACvC;GAMF,IACE,SAAS,UACT,CAAC,yBAAyB,IAAI,KAAK,YAAY,IAAI,GAEnD;GAGF,KAAK,SAAS;IACZ,MAAM;IACN,UAAU;IACV,QAAQ,GAAG,aAAa,oBAAoB,MAAM;GACpD,CAAC;EACH;EACA,gBAAgB,QAAQ;GACtB,MAAM,eAAe,GAAG,aAAa,oBAAoB,MAAM;GAC/D,OAAO,YAAY,KAAK,SAAS,UAAU,SAAS;IAGlD,IAAI,IAFmB,IAAI,QAAQ,OAAO,KAAK,kBAElC,CAAC,CAAC,aAAa,WAAW;KACrC,KAAK;KACL;IACF;IAEA,SAAS,UAAU,KAAK;KACtB,iBAAiB;KACjB,gBAAgB;KAChB,0BAA0B;IAC5B,CAAC;IACD,SAAS,IAAI,YAAY;GAC3B,CAAC;EACH;CACF;AACF"}
@@ -1,6 +1,5 @@
1
- import { NetworkApi } from "msw/experimental";
2
- import { defaultNetworkOptions } from "virtual:msw/options";
1
+ import { defineNetwork } from "msw/experimental";
3
2
  //#region src/vite/runtime.d.ts
4
- export declare const network: NetworkApi<typeof defaultNetworkOptions.sources>;
3
+ export declare function createNetwork(options: Parameters<typeof defineNetwork>[0]): Promise<ReturnType<typeof defineNetwork>>;
5
4
  //#endregion
6
5
  //# sourceMappingURL=runtime.d.ts.map
@@ -1,77 +1,79 @@
1
1
  import { NetworkReadyState, defineNetwork } from "msw/experimental";
2
- import { defaultNetworkOptions } from "virtual:msw/options";
3
2
  //#region src/vite/runtime.ts
4
3
  const hot = import.meta.hot;
5
4
  const hotData = hot?.data;
6
- while (hotData?.disposeNetwork) {
7
- const disposePrevious = hotData.disposeNetwork;
8
- await disposePrevious();
9
- if (hotData.disposeNetwork === disposePrevious) break;
10
- }
11
- const network = defineNetwork(defaultNetworkOptions);
12
- if (hot && hotData) {
13
- let resumeAfterUpdate = false;
14
- let retired = false;
15
- let pendingOperation;
16
- const configure = network.configure;
17
- const enable = network.enable;
18
- const disable = network.disable;
19
- const runOperation = (action) => {
20
- const result = pendingOperation ? pendingOperation.then(action) : action();
21
- if (result instanceof Promise) {
22
- const operation = result.finally(() => {
23
- if (pendingOperation === operation) pendingOperation = void 0;
5
+ async function createNetwork(options) {
6
+ while (hotData?.disposeNetwork) {
7
+ const disposePrevious = hotData.disposeNetwork;
8
+ await disposePrevious();
9
+ if (hotData.disposeNetwork === disposePrevious) break;
10
+ }
11
+ const network = defineNetwork(options);
12
+ if (hot && hotData) {
13
+ let resumeAfterUpdate = false;
14
+ let retired = false;
15
+ let pendingOperation;
16
+ const configure = network.configure;
17
+ const enable = network.enable;
18
+ const disable = network.disable;
19
+ const runOperation = (action) => {
20
+ const result = pendingOperation ? pendingOperation.then(action) : action();
21
+ if (result instanceof Promise) {
22
+ const operation = result.finally(() => {
23
+ if (pendingOperation === operation) pendingOperation = void 0;
24
+ });
25
+ pendingOperation = operation;
26
+ return operation;
27
+ }
28
+ };
29
+ const stop = () => {
30
+ if (network.readyState === NetworkReadyState.ENABLED) return disable();
31
+ };
32
+ network.configure = (options) => {
33
+ runOperation(() => {
34
+ if (retired) return;
35
+ const stopped = stop();
36
+ if (stopped instanceof Promise) return stopped.then(() => configure(options));
37
+ configure(options);
38
+ });
39
+ };
40
+ network.enable = async () => {
41
+ await runOperation(() => {
42
+ if (!retired && network.readyState === NetworkReadyState.DISABLED) return enable();
24
43
  });
25
- pendingOperation = operation;
26
- return operation;
27
- }
28
- };
29
- const stop = () => {
30
- if (network.readyState === NetworkReadyState.ENABLED) return disable();
31
- };
32
- network.configure = (options) => {
33
- runOperation(() => {
34
- if (retired) return;
35
- const stopped = stop();
36
- if (stopped instanceof Promise) return stopped.then(() => configure(options));
37
- configure(options);
38
- });
39
- };
40
- network.enable = async () => {
41
- await runOperation(() => {
42
- if (!retired && network.readyState === NetworkReadyState.DISABLED) return enable();
43
- });
44
- };
45
- network.disable = async () => {
46
- await runOperation(stop);
47
- };
48
- const disableNetwork = async () => {
49
- await network.disable();
50
- };
51
- const beforeUpdate = async () => {
52
- resumeAfterUpdate = network.readyState === NetworkReadyState.ENABLED;
53
- await disableNetwork();
54
- };
55
- const afterUpdate = async () => {
56
- const shouldResume = resumeAfterUpdate;
57
- resumeAfterUpdate = false;
58
- if (shouldResume && network.readyState === NetworkReadyState.DISABLED) await network.enable();
59
- };
60
- hot.on("vite:beforeUpdate", beforeUpdate);
61
- hot.on("vite:afterUpdate", afterUpdate);
62
- hot.on("vite:beforeFullReload", disableNetwork);
63
- const disposeNetwork = async () => {
64
- retired = true;
65
- resumeAfterUpdate = false;
66
- hot.off("vite:beforeUpdate", beforeUpdate);
67
- hot.off("vite:afterUpdate", afterUpdate);
68
- hot.off("vite:beforeFullReload", disableNetwork);
69
- await disableNetwork();
70
- };
71
- hotData.disposeNetwork = disposeNetwork;
72
- hot.dispose(disposeNetwork);
44
+ };
45
+ network.disable = async () => {
46
+ await runOperation(stop);
47
+ };
48
+ const disableNetwork = async () => {
49
+ await network.disable();
50
+ };
51
+ const beforeUpdate = async () => {
52
+ resumeAfterUpdate = network.readyState === NetworkReadyState.ENABLED;
53
+ await disableNetwork();
54
+ };
55
+ const afterUpdate = async () => {
56
+ const shouldResume = resumeAfterUpdate;
57
+ resumeAfterUpdate = false;
58
+ if (shouldResume && network.readyState === NetworkReadyState.DISABLED) await network.enable();
59
+ };
60
+ hot.on("vite:beforeUpdate", beforeUpdate);
61
+ hot.on("vite:afterUpdate", afterUpdate);
62
+ hot.on("vite:beforeFullReload", disableNetwork);
63
+ const disposeNetwork = async () => {
64
+ retired = true;
65
+ resumeAfterUpdate = false;
66
+ hot.off("vite:beforeUpdate", beforeUpdate);
67
+ hot.off("vite:afterUpdate", afterUpdate);
68
+ hot.off("vite:beforeFullReload", disableNetwork);
69
+ await disableNetwork();
70
+ };
71
+ hotData.disposeNetwork = disposeNetwork;
72
+ hot.dispose(disposeNetwork);
73
+ }
74
+ return network;
73
75
  }
74
76
  //#endregion
75
- export { network };
77
+ export { createNetwork };
76
78
 
77
79
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":[],"sources":["../../src/vite/runtime.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\n\nimport {\n defineNetwork,\n NetworkReadyState,\n type NetworkApi,\n} from 'msw/experimental'\nimport { defaultNetworkOptions } from 'virtual:msw/options'\n\nconst hot = import.meta.hot\nconst hotData: { disposeNetwork?: () => Promise<void> } | undefined = hot?.data\n\n// SSR imports can re-evaluate this module before the old HMR listener runs.\nwhile (hotData?.disposeNetwork) {\n const disposePrevious = hotData.disposeNetwork\n await disposePrevious()\n\n if (hotData.disposeNetwork === disposePrevious) {\n break\n }\n}\n\nexport const network: NetworkApi<typeof defaultNetworkOptions.sources> =\n defineNetwork<typeof defaultNetworkOptions.sources>(defaultNetworkOptions)\n\nif (hot && hotData) {\n let resumeAfterUpdate = false\n let retired = false\n let pendingOperation: Promise<void> | undefined\n const configure = network.configure\n const enable = network.enable\n const disable = network.disable\n\n const runOperation = (action: () => void | Promise<void>) => {\n const result = pendingOperation ? pendingOperation.then(action) : action()\n\n if (result instanceof Promise) {\n const operation = result.finally(() => {\n if (pendingOperation === operation) {\n pendingOperation = undefined\n }\n })\n pendingOperation = operation\n\n return operation\n }\n }\n\n const stop = () => {\n if (network.readyState === NetworkReadyState.ENABLED) {\n return disable()\n }\n }\n\n // An SSR entry may be re-evaluated while this module remains cached.\n network.configure = (options) => {\n void runOperation(() => {\n if (retired) {\n return\n }\n\n const stopped = stop()\n\n if (stopped instanceof Promise) {\n return stopped.then(() => configure(options))\n }\n\n configure(options)\n })\n }\n network.enable = async () => {\n await runOperation(() => {\n if (!retired && network.readyState === NetworkReadyState.DISABLED) {\n return enable()\n }\n })\n }\n network.disable = async () => {\n await runOperation(stop)\n }\n\n const disableNetwork = async () => {\n await network.disable()\n }\n\n const beforeUpdate = async () => {\n resumeAfterUpdate = network.readyState === NetworkReadyState.ENABLED\n await disableNetwork()\n }\n\n const afterUpdate = async () => {\n const shouldResume = resumeAfterUpdate\n resumeAfterUpdate = false\n\n if (shouldResume && network.readyState === NetworkReadyState.DISABLED) {\n await network.enable()\n }\n }\n\n hot.on('vite:beforeUpdate', beforeUpdate)\n hot.on('vite:afterUpdate', afterUpdate)\n hot.on('vite:beforeFullReload', disableNetwork)\n\n const disposeNetwork = async () => {\n retired = true\n resumeAfterUpdate = false\n\n hot.off('vite:beforeUpdate', beforeUpdate)\n hot.off('vite:afterUpdate', afterUpdate)\n hot.off('vite:beforeFullReload', disableNetwork)\n\n await disableNetwork()\n }\n\n hotData.disposeNetwork = disposeNetwork\n hot.dispose(disposeNetwork)\n}\n"],"mappings":";;;AASA,MAAM,MAAM,YAAY;AACxB,MAAM,UAAgE,KAAK;AAG3E,OAAO,SAAS,gBAAgB;CAC9B,MAAM,kBAAkB,QAAQ;CAChC,MAAM,gBAAgB;CAEtB,IAAI,QAAQ,mBAAmB,iBAC7B;AAEJ;AAEA,MAAa,UACX,cAAoD,qBAAqB;AAE3E,IAAI,OAAO,SAAS;CAClB,IAAI,oBAAoB;CACxB,IAAI,UAAU;CACd,IAAI;CACJ,MAAM,YAAY,QAAQ;CAC1B,MAAM,SAAS,QAAQ;CACvB,MAAM,UAAU,QAAQ;CAExB,MAAM,gBAAgB,WAAuC;EAC3D,MAAM,SAAS,mBAAmB,iBAAiB,KAAK,MAAM,IAAI,OAAO;EAEzE,IAAI,kBAAkB,SAAS;GAC7B,MAAM,YAAY,OAAO,cAAc;IACrC,IAAI,qBAAqB,WACvB,mBAAmB,KAAA;GAEvB,CAAC;GACD,mBAAmB;GAEnB,OAAO;EACT;CACF;CAEA,MAAM,aAAa;EACjB,IAAI,QAAQ,eAAe,kBAAkB,SAC3C,OAAO,QAAQ;CAEnB;CAGA,QAAQ,aAAa,YAAY;EAC/B,mBAAwB;GACtB,IAAI,SACF;GAGF,MAAM,UAAU,KAAK;GAErB,IAAI,mBAAmB,SACrB,OAAO,QAAQ,WAAW,UAAU,OAAO,CAAC;GAG9C,UAAU,OAAO;EACnB,CAAC;CACH;CACA,QAAQ,SAAS,YAAY;EAC3B,MAAM,mBAAmB;GACvB,IAAI,CAAC,WAAW,QAAQ,eAAe,kBAAkB,UACvD,OAAO,OAAO;EAElB,CAAC;CACH;CACA,QAAQ,UAAU,YAAY;EAC5B,MAAM,aAAa,IAAI;CACzB;CAEA,MAAM,iBAAiB,YAAY;EACjC,MAAM,QAAQ,QAAQ;CACxB;CAEA,MAAM,eAAe,YAAY;EAC/B,oBAAoB,QAAQ,eAAe,kBAAkB;EAC7D,MAAM,eAAe;CACvB;CAEA,MAAM,cAAc,YAAY;EAC9B,MAAM,eAAe;EACrB,oBAAoB;EAEpB,IAAI,gBAAgB,QAAQ,eAAe,kBAAkB,UAC3D,MAAM,QAAQ,OAAO;CAEzB;CAEA,IAAI,GAAG,qBAAqB,YAAY;CACxC,IAAI,GAAG,oBAAoB,WAAW;CACtC,IAAI,GAAG,yBAAyB,cAAc;CAE9C,MAAM,iBAAiB,YAAY;EACjC,UAAU;EACV,oBAAoB;EAEpB,IAAI,IAAI,qBAAqB,YAAY;EACzC,IAAI,IAAI,oBAAoB,WAAW;EACvC,IAAI,IAAI,yBAAyB,cAAc;EAE/C,MAAM,eAAe;CACvB;CAEA,QAAQ,iBAAiB;CACzB,IAAI,QAAQ,cAAc;AAC5B"}
1
+ {"version":3,"file":"runtime.js","names":[],"sources":["../../src/vite/runtime.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\n\nimport { defineNetwork, NetworkReadyState } from 'msw/experimental'\n\nconst hot = import.meta.hot\nconst hotData: { disposeNetwork?: () => Promise<void> } | undefined = hot?.data\n\nexport async function createNetwork(\n options: Parameters<typeof defineNetwork>[0],\n): Promise<ReturnType<typeof defineNetwork>> {\n // SSR imports can re-evaluate the network before the old HMR listener runs.\n while (hotData?.disposeNetwork) {\n const disposePrevious = hotData.disposeNetwork\n await disposePrevious()\n\n if (hotData.disposeNetwork === disposePrevious) {\n break\n }\n }\n\n const network = defineNetwork(options)\n\n if (hot && hotData) {\n let resumeAfterUpdate = false\n let retired = false\n let pendingOperation: Promise<void> | undefined\n const configure = network.configure\n const enable = network.enable\n const disable = network.disable\n\n const runOperation = (action: () => void | Promise<void>) => {\n const result = pendingOperation ? pendingOperation.then(action) : action()\n\n if (result instanceof Promise) {\n const operation = result.finally(() => {\n if (pendingOperation === operation) {\n pendingOperation = undefined\n }\n })\n pendingOperation = operation\n\n return operation\n }\n }\n\n const stop = () => {\n if (network.readyState === NetworkReadyState.ENABLED) {\n return disable()\n }\n }\n\n // An SSR entry may be re-evaluated while this module remains cached.\n network.configure = (options) => {\n void runOperation(() => {\n if (retired) {\n return\n }\n\n const stopped = stop()\n\n if (stopped instanceof Promise) {\n return stopped.then(() => configure(options))\n }\n\n configure(options)\n })\n }\n network.enable = async () => {\n await runOperation(() => {\n if (!retired && network.readyState === NetworkReadyState.DISABLED) {\n return enable()\n }\n })\n }\n network.disable = async () => {\n await runOperation(stop)\n }\n\n const disableNetwork = async () => {\n await network.disable()\n }\n\n const beforeUpdate = async () => {\n resumeAfterUpdate = network.readyState === NetworkReadyState.ENABLED\n await disableNetwork()\n }\n\n const afterUpdate = async () => {\n const shouldResume = resumeAfterUpdate\n resumeAfterUpdate = false\n\n if (shouldResume && network.readyState === NetworkReadyState.DISABLED) {\n await network.enable()\n }\n }\n\n hot.on('vite:beforeUpdate', beforeUpdate)\n hot.on('vite:afterUpdate', afterUpdate)\n hot.on('vite:beforeFullReload', disableNetwork)\n\n const disposeNetwork = async () => {\n retired = true\n resumeAfterUpdate = false\n\n hot.off('vite:beforeUpdate', beforeUpdate)\n hot.off('vite:afterUpdate', afterUpdate)\n hot.off('vite:beforeFullReload', disableNetwork)\n\n await disableNetwork()\n }\n\n hotData.disposeNetwork = disposeNetwork\n hot.dispose(disposeNetwork)\n }\n\n return network\n}\n"],"mappings":";;AAIA,MAAM,MAAM,YAAY;AACxB,MAAM,UAAgE,KAAK;AAE3E,eAAsB,cACpB,SAC2C;CAE3C,OAAO,SAAS,gBAAgB;EAC9B,MAAM,kBAAkB,QAAQ;EAChC,MAAM,gBAAgB;EAEtB,IAAI,QAAQ,mBAAmB,iBAC7B;CAEJ;CAEA,MAAM,UAAU,cAAc,OAAO;CAErC,IAAI,OAAO,SAAS;EAClB,IAAI,oBAAoB;EACxB,IAAI,UAAU;EACd,IAAI;EACJ,MAAM,YAAY,QAAQ;EAC1B,MAAM,SAAS,QAAQ;EACvB,MAAM,UAAU,QAAQ;EAExB,MAAM,gBAAgB,WAAuC;GAC3D,MAAM,SAAS,mBAAmB,iBAAiB,KAAK,MAAM,IAAI,OAAO;GAEzE,IAAI,kBAAkB,SAAS;IAC7B,MAAM,YAAY,OAAO,cAAc;KACrC,IAAI,qBAAqB,WACvB,mBAAmB,KAAA;IAEvB,CAAC;IACD,mBAAmB;IAEnB,OAAO;GACT;EACF;EAEA,MAAM,aAAa;GACjB,IAAI,QAAQ,eAAe,kBAAkB,SAC3C,OAAO,QAAQ;EAEnB;EAGA,QAAQ,aAAa,YAAY;GAC/B,mBAAwB;IACtB,IAAI,SACF;IAGF,MAAM,UAAU,KAAK;IAErB,IAAI,mBAAmB,SACrB,OAAO,QAAQ,WAAW,UAAU,OAAO,CAAC;IAG9C,UAAU,OAAO;GACnB,CAAC;EACH;EACA,QAAQ,SAAS,YAAY;GAC3B,MAAM,mBAAmB;IACvB,IAAI,CAAC,WAAW,QAAQ,eAAe,kBAAkB,UACvD,OAAO,OAAO;GAElB,CAAC;EACH;EACA,QAAQ,UAAU,YAAY;GAC5B,MAAM,aAAa,IAAI;EACzB;EAEA,MAAM,iBAAiB,YAAY;GACjC,MAAM,QAAQ,QAAQ;EACxB;EAEA,MAAM,eAAe,YAAY;GAC/B,oBAAoB,QAAQ,eAAe,kBAAkB;GAC7D,MAAM,eAAe;EACvB;EAEA,MAAM,cAAc,YAAY;GAC9B,MAAM,eAAe;GACrB,oBAAoB;GAEpB,IAAI,gBAAgB,QAAQ,eAAe,kBAAkB,UAC3D,MAAM,QAAQ,OAAO;EAEzB;EAEA,IAAI,GAAG,qBAAqB,YAAY;EACxC,IAAI,GAAG,oBAAoB,WAAW;EACtC,IAAI,GAAG,yBAAyB,cAAc;EAE9C,MAAM,iBAAiB,YAAY;GACjC,UAAU;GACV,oBAAoB;GAEpB,IAAI,IAAI,qBAAqB,YAAY;GACzC,IAAI,IAAI,oBAAoB,WAAW;GACvC,IAAI,IAAI,yBAAyB,cAAc;GAE/C,MAAM,eAAe;EACvB;EAEA,QAAQ,iBAAiB;EACzB,IAAI,QAAQ,cAAc;CAC5B;CAEA,OAAO;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depup/msw",
3
- "version": "3.0.1-depup.0",
3
+ "version": "3.0.2-depup.0",
4
4
  "description": "The industry standard for API mocking in JavaScript. (with updated dependencies)",
5
5
  "type": "module",
6
6
  "main": "./lib/core/index.js",
@@ -167,7 +167,7 @@
167
167
  "json-bigint": "^1.0.0",
168
168
  "knip": "^6.34.0",
169
169
  "lint-staged": "^17.1.1",
170
- "msw": "^3.0.1",
170
+ "msw": "^3.0.2",
171
171
  "oxlint": "^1.75.0",
172
172
  "page-with": "^0.6.1",
173
173
  "prettier": "^3.9.6",
@@ -238,8 +238,8 @@
238
238
  },
239
239
  "depsUpdated": 2,
240
240
  "originalPackage": "msw",
241
- "originalVersion": "3.0.1",
242
- "processedAt": "2026-09-30T16:13:04.601Z",
241
+ "originalVersion": "3.0.2",
242
+ "processedAt": "2026-10-03T08:12:25.616Z",
243
243
  "smokeTest": "passed"
244
244
  }
245
245
  }
@@ -784,7 +784,7 @@ test('serves only the worker in worker-only mode with an absolute base URL', asy
784
784
  server.environments.client.pluginContainer.resolveId('virtual:msw'),
785
785
  ).resolves.toBeNull()
786
786
  await expect(
787
- server.environments.ssr.pluginContainer.resolveId('virtual:msw/options'),
787
+ server.environments.ssr.pluginContainer.resolveId('virtual:msw'),
788
788
  ).resolves.toBeNull()
789
789
  })
790
790
 
@@ -5,7 +5,6 @@ import type { Plugin } from 'vite'
5
5
  const WORKER_FILENAME = 'mockServiceWorker.js'
6
6
  const WORKER_SCRIPT_PATH = new URL('../mockServiceWorker.js', import.meta.url)
7
7
  const VIRTUAL_MODULE_ID = 'virtual:msw'
8
- const VIRTUAL_OPTIONS_ID = 'virtual:msw/options'
9
8
  const RUNTIME_PATH = fileURLToPath(new URL('./runtime.js', import.meta.url))
10
9
 
11
10
  export interface MswPluginOptions {
@@ -53,33 +52,37 @@ export function msw(options: MswPluginOptions = {}): Plugin {
53
52
 
54
53
  return {
55
54
  name: 'msw',
56
- async resolveId(id) {
55
+ resolveId(id) {
57
56
  if (mode === 'worker-only') {
58
57
  return
59
58
  }
60
59
 
61
- if (id === VIRTUAL_OPTIONS_ID) {
62
- return `\0${VIRTUAL_OPTIONS_ID}`
63
- }
64
-
65
60
  if (id === VIRTUAL_MODULE_ID) {
66
- return this.resolve(RUNTIME_PATH)
61
+ return `\0${VIRTUAL_MODULE_ID}`
67
62
  }
68
63
  },
69
64
  load(id) {
70
- if (mode === 'worker-only' || id !== `\0${VIRTUAL_OPTIONS_ID}`) {
65
+ if (mode === 'worker-only' || id !== `\0${VIRTUAL_MODULE_ID}`) {
71
66
  return
72
67
  }
73
68
 
69
+ // Tools like Vitest import the runtime natively when it's installed
70
+ // in "node_modules". Provide it with the environment's options from here
71
+ // so it never has to import a virtual module that only Vite can resolve.
74
72
  if (this.environment.config.consumer === 'server') {
75
- return `export { defaultNetworkOptions } from 'msw/node'`
73
+ return `
74
+ import { defaultNetworkOptions } from 'msw/node'
75
+ import { createNetwork } from ${JSON.stringify(RUNTIME_PATH)}
76
+ export const network = await createNetwork(defaultNetworkOptions)
77
+ `
76
78
  }
77
79
 
78
80
  environmentsUsingNetwork.add(this.environment.name)
79
81
 
80
82
  return `
81
83
  import { createDefaultNetworkOptions } from 'msw/browser'
82
- export const defaultNetworkOptions = createDefaultNetworkOptions(${JSON.stringify(workerUrl)})
84
+ import { createNetwork } from ${JSON.stringify(RUNTIME_PATH)}
85
+ export const network = await createNetwork(createDefaultNetworkOptions(${JSON.stringify(workerUrl)}))
83
86
  `
84
87
  },
85
88
  configResolved(config) {
@@ -1,117 +1,117 @@
1
1
  /// <reference types="vite/client" />
2
2
 
3
- import {
4
- defineNetwork,
5
- NetworkReadyState,
6
- type NetworkApi,
7
- } from 'msw/experimental'
8
- import { defaultNetworkOptions } from 'virtual:msw/options'
3
+ import { defineNetwork, NetworkReadyState } from 'msw/experimental'
9
4
 
10
5
  const hot = import.meta.hot
11
6
  const hotData: { disposeNetwork?: () => Promise<void> } | undefined = hot?.data
12
7
 
13
- // SSR imports can re-evaluate this module before the old HMR listener runs.
14
- while (hotData?.disposeNetwork) {
15
- const disposePrevious = hotData.disposeNetwork
16
- await disposePrevious()
8
+ export async function createNetwork(
9
+ options: Parameters<typeof defineNetwork>[0],
10
+ ): Promise<ReturnType<typeof defineNetwork>> {
11
+ // SSR imports can re-evaluate the network before the old HMR listener runs.
12
+ while (hotData?.disposeNetwork) {
13
+ const disposePrevious = hotData.disposeNetwork
14
+ await disposePrevious()
17
15
 
18
- if (hotData.disposeNetwork === disposePrevious) {
19
- break
16
+ if (hotData.disposeNetwork === disposePrevious) {
17
+ break
18
+ }
20
19
  }
21
- }
22
20
 
23
- export const network: NetworkApi<typeof defaultNetworkOptions.sources> =
24
- defineNetwork<typeof defaultNetworkOptions.sources>(defaultNetworkOptions)
21
+ const network = defineNetwork(options)
25
22
 
26
- if (hot && hotData) {
27
- let resumeAfterUpdate = false
28
- let retired = false
29
- let pendingOperation: Promise<void> | undefined
30
- const configure = network.configure
31
- const enable = network.enable
32
- const disable = network.disable
23
+ if (hot && hotData) {
24
+ let resumeAfterUpdate = false
25
+ let retired = false
26
+ let pendingOperation: Promise<void> | undefined
27
+ const configure = network.configure
28
+ const enable = network.enable
29
+ const disable = network.disable
33
30
 
34
- const runOperation = (action: () => void | Promise<void>) => {
35
- const result = pendingOperation ? pendingOperation.then(action) : action()
31
+ const runOperation = (action: () => void | Promise<void>) => {
32
+ const result = pendingOperation ? pendingOperation.then(action) : action()
36
33
 
37
- if (result instanceof Promise) {
38
- const operation = result.finally(() => {
39
- if (pendingOperation === operation) {
40
- pendingOperation = undefined
41
- }
42
- })
43
- pendingOperation = operation
34
+ if (result instanceof Promise) {
35
+ const operation = result.finally(() => {
36
+ if (pendingOperation === operation) {
37
+ pendingOperation = undefined
38
+ }
39
+ })
40
+ pendingOperation = operation
44
41
 
45
- return operation
42
+ return operation
43
+ }
46
44
  }
47
- }
48
45
 
49
- const stop = () => {
50
- if (network.readyState === NetworkReadyState.ENABLED) {
51
- return disable()
46
+ const stop = () => {
47
+ if (network.readyState === NetworkReadyState.ENABLED) {
48
+ return disable()
49
+ }
52
50
  }
53
- }
54
51
 
55
- // An SSR entry may be re-evaluated while this module remains cached.
56
- network.configure = (options) => {
57
- void runOperation(() => {
58
- if (retired) {
59
- return
60
- }
52
+ // An SSR entry may be re-evaluated while this module remains cached.
53
+ network.configure = (options) => {
54
+ void runOperation(() => {
55
+ if (retired) {
56
+ return
57
+ }
61
58
 
62
- const stopped = stop()
59
+ const stopped = stop()
63
60
 
64
- if (stopped instanceof Promise) {
65
- return stopped.then(() => configure(options))
66
- }
61
+ if (stopped instanceof Promise) {
62
+ return stopped.then(() => configure(options))
63
+ }
67
64
 
68
- configure(options)
69
- })
70
- }
71
- network.enable = async () => {
72
- await runOperation(() => {
73
- if (!retired && network.readyState === NetworkReadyState.DISABLED) {
74
- return enable()
75
- }
76
- })
77
- }
78
- network.disable = async () => {
79
- await runOperation(stop)
80
- }
65
+ configure(options)
66
+ })
67
+ }
68
+ network.enable = async () => {
69
+ await runOperation(() => {
70
+ if (!retired && network.readyState === NetworkReadyState.DISABLED) {
71
+ return enable()
72
+ }
73
+ })
74
+ }
75
+ network.disable = async () => {
76
+ await runOperation(stop)
77
+ }
81
78
 
82
- const disableNetwork = async () => {
83
- await network.disable()
84
- }
79
+ const disableNetwork = async () => {
80
+ await network.disable()
81
+ }
85
82
 
86
- const beforeUpdate = async () => {
87
- resumeAfterUpdate = network.readyState === NetworkReadyState.ENABLED
88
- await disableNetwork()
89
- }
83
+ const beforeUpdate = async () => {
84
+ resumeAfterUpdate = network.readyState === NetworkReadyState.ENABLED
85
+ await disableNetwork()
86
+ }
90
87
 
91
- const afterUpdate = async () => {
92
- const shouldResume = resumeAfterUpdate
93
- resumeAfterUpdate = false
88
+ const afterUpdate = async () => {
89
+ const shouldResume = resumeAfterUpdate
90
+ resumeAfterUpdate = false
94
91
 
95
- if (shouldResume && network.readyState === NetworkReadyState.DISABLED) {
96
- await network.enable()
92
+ if (shouldResume && network.readyState === NetworkReadyState.DISABLED) {
93
+ await network.enable()
94
+ }
97
95
  }
98
- }
99
96
 
100
- hot.on('vite:beforeUpdate', beforeUpdate)
101
- hot.on('vite:afterUpdate', afterUpdate)
102
- hot.on('vite:beforeFullReload', disableNetwork)
97
+ hot.on('vite:beforeUpdate', beforeUpdate)
98
+ hot.on('vite:afterUpdate', afterUpdate)
99
+ hot.on('vite:beforeFullReload', disableNetwork)
100
+
101
+ const disposeNetwork = async () => {
102
+ retired = true
103
+ resumeAfterUpdate = false
103
104
 
104
- const disposeNetwork = async () => {
105
- retired = true
106
- resumeAfterUpdate = false
105
+ hot.off('vite:beforeUpdate', beforeUpdate)
106
+ hot.off('vite:afterUpdate', afterUpdate)
107
+ hot.off('vite:beforeFullReload', disableNetwork)
107
108
 
108
- hot.off('vite:beforeUpdate', beforeUpdate)
109
- hot.off('vite:afterUpdate', afterUpdate)
110
- hot.off('vite:beforeFullReload', disableNetwork)
109
+ await disableNetwork()
110
+ }
111
111
 
112
- await disableNetwork()
112
+ hotData.disposeNetwork = disposeNetwork
113
+ hot.dispose(disposeNetwork)
113
114
  }
114
115
 
115
- hotData.disposeNetwork = disposeNetwork
116
- hot.dispose(disposeNetwork)
116
+ return network
117
117
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
- "include": ["./index.ts", "./plugin.ts", "./runtime.ts", "./options.d.ts"],
3
+ "include": ["./index.ts", "./plugin.ts", "./runtime.ts"],
4
4
  "compilerOptions": {
5
5
  "types": ["node"]
6
6
  }
@@ -1,5 +0,0 @@
1
- declare module 'virtual:msw/options' {
2
- export const defaultNetworkOptions:
3
- | typeof import('msw/browser').defaultNetworkOptions
4
- | typeof import('msw/node').defaultNetworkOptions
5
- }