msw 0.49.3 → 1.0.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/lib/index.d.ts CHANGED
@@ -1,12 +1,11 @@
1
- import { R as ResponseTransformer, s as status, a as set, d as delay, f as fetch, b as RequestHandler, S as SetupWorkerApi, D as DefaultContext, c as DefaultBodyType, M as MockedRequest, e as ResponseResolver, g as ResponseResolutionContext, h as SerializedResponse, i as RequestHandlerDefaultInfo, j as MockedResponse, k as ResponseLookupResult, l as SharedOptions } from './SetupApi-f4099ef3.js';
2
- export { A as AsyncResponseResolverReturnType, c as DefaultBodyType, u as DefaultRequestMultipartBody, y as DelayMode, M as MockedRequest, H as MockedRequestInit, j as MockedResponse, z as RequestCache, E as RequestDestination, b as RequestHandler, B as RequestMode, F as RequestPriority, C as RequestRedirect, G as RequestReferrerPolicy, v as ResponseComposition, w as ResponseCompositionOptions, x as ResponseFunction, e as ResponseResolver, t as ResponseResolverReturnType, R as ResponseTransformer, m as SetupApi, S as SetupWorkerApi, l as SharedOptions, q as StartOptions, o as createResponseComposition, p as defaultContext, n as defaultResponse, r as response } from './SetupApi-f4099ef3.js';
1
+ import { R as ResponseTransformer, s as status, a as set, d as delay, f as fetch, S as SetupApi, W as WorkerLifecycleEventsMap, b as SetupWorker, c as RequestHandler, e as StartOptions, g as StartReturnType, D as DefaultContext, h as DefaultBodyType, M as MockedRequest, i as ResponseResolver, j as ResponseResolutionContext, k as SerializedResponse, l as RequestHandlerDefaultInfo, m as MockedResponse, n as ResponseLookupResult, o as SharedOptions, p as ServerLifecycleEventsMap } from './glossary-de6278a9.js';
2
+ export { A as AsyncResponseResolverReturnType, h as DefaultBodyType, w as DefaultRequestMultipartBody, B as DelayMode, M as MockedRequest, J as MockedRequestInit, m as MockedResponse, C as RequestCache, G as RequestDestination, c as RequestHandler, E as RequestMode, H as RequestPriority, F as RequestRedirect, I as RequestReferrerPolicy, x as ResponseComposition, y as ResponseCompositionOptions, z as ResponseFunction, i as ResponseResolver, v as ResponseResolverReturnType, R as ResponseTransformer, S as SetupApi, b as SetupWorker, o as SharedOptions, e as StartOptions, t as createResponseComposition, u as defaultContext, q as defaultResponse, r as response } from './glossary-de6278a9.js';
3
3
  import * as cookieUtils from 'cookie';
4
4
  import { GraphQLError, OperationTypeNode, DocumentNode } from 'graphql';
5
5
  import { Emitter } from 'strict-event-emitter';
6
- import { S as ServerLifecycleEventsMap } from './glossary-6c6965e4.js';
7
- import 'headers-polyfill';
8
- import '@mswjs/interceptors';
9
6
  import 'type-fest';
7
+ import '@mswjs/interceptors';
8
+ import 'headers-polyfill';
10
9
 
11
10
  type Path = string | RegExp;
12
11
  type PathParams<KeyType extends keyof any = string> = {
@@ -123,6 +122,17 @@ declare namespace index {
123
122
  };
124
123
  }
125
124
 
125
+ declare class SetupWorkerApi extends SetupApi<WorkerLifecycleEventsMap> implements SetupWorker {
126
+ private context;
127
+ private startHandler;
128
+ private stopHandler;
129
+ private listeners;
130
+ constructor(...handlers: Array<RequestHandler>);
131
+ private createWorkerContext;
132
+ start(options?: StartOptions): StartReturnType;
133
+ printHandlers(): void;
134
+ stop(): void;
135
+ }
126
136
  /**
127
137
  * Sets up a requests interception in the browser with the given request handlers.
128
138
  * @param {RequestHandler[]} handlers List of request handlers.
@@ -351,4 +361,4 @@ declare function handleRequest<ResponseType extends Record<string, any> = Mocked
351
361
  */
352
362
  declare function cleanUrl(path: string): string;
353
363
 
354
- export { GraphQLContext, GraphQLHandler, GraphQLJsonRequestBody, GraphQLRequest, GraphQLRequestBody, GraphQLVariables, HandleRequestOptions, Match, ParsedGraphQLRequest, ParsedRestRequest, Path, PathParams, RESTMethods, RequestQuery, RestContext, RestHandler, RestRequest, cleanUrl, compose, index as context, graphql, graphqlContext, handleRequest, matchRequestUrl, rest, restContext, setupWorker };
364
+ export { GraphQLContext, GraphQLHandler, GraphQLJsonRequestBody, GraphQLRequest, GraphQLRequestBody, GraphQLVariables, HandleRequestOptions, Match, ParsedGraphQLRequest, ParsedRestRequest, Path, PathParams, RESTMethods, RequestQuery, RestContext, RestHandler, RestRequest, SetupWorkerApi, cleanUrl, compose, index as context, graphql, graphqlContext, handleRequest, matchRequestUrl, rest, restContext, setupWorker };
package/lib/index.js CHANGED
@@ -57,6 +57,7 @@ __export(src_exports, {
57
57
  RequestHandler: () => RequestHandler,
58
58
  RestHandler: () => RestHandler,
59
59
  SetupApi: () => SetupApi,
60
+ SetupWorkerApi: () => SetupWorkerApi,
60
61
  cleanUrl: () => cleanUrl,
61
62
  compose: () => compose,
62
63
  context: () => context_exports,
@@ -433,8 +434,35 @@ var xml = (body2) => {
433
434
  };
434
435
  };
435
436
 
437
+ // src/utils/internal/checkGlobals.ts
438
+ var import_outvariant2 = require("outvariant");
439
+
440
+ // src/utils/internal/devUtils.ts
441
+ var import_outvariant = require("outvariant");
442
+ var LIBRARY_PREFIX = "[MSW]";
443
+ function formatMessage(message, ...positionals) {
444
+ const interpolatedMessage = (0, import_outvariant.format)(message, ...positionals);
445
+ return `${LIBRARY_PREFIX} ${interpolatedMessage}`;
446
+ }
447
+ function warn(message, ...positionals) {
448
+ console.warn(formatMessage(message, ...positionals));
449
+ }
450
+ function error(message, ...positionals) {
451
+ console.error(formatMessage(message, ...positionals));
452
+ }
453
+ var devUtils = {
454
+ formatMessage,
455
+ warn,
456
+ error
457
+ };
458
+
459
+ // src/utils/internal/checkGlobals.ts
460
+ function checkGlobals() {
461
+ (0, import_outvariant2.invariant)(typeof URL !== "undefined", devUtils.formatMessage(`Global "URL" class is not defined. This likely means that you're running MSW in an environment that doesn't support all Node.js standard API (e.g. React Native). If that's the case, please use an appropriate polyfill for the "URL" class, like "react-native-url-polyfill".`));
462
+ }
463
+
436
464
  // src/setupWorker/setupWorker.ts
437
- var import_outvariant4 = require("outvariant");
465
+ var import_outvariant5 = require("outvariant");
438
466
  var import_is_node_process3 = require("is-node-process");
439
467
 
440
468
  // src/setupWorker/start/createStartHandler.ts
@@ -462,25 +490,6 @@ function getAbsoluteWorkerUrl(workerUrl) {
462
490
  return new URL(workerUrl, location.href).href;
463
491
  }
464
492
 
465
- // src/utils/internal/devUtils.ts
466
- var import_outvariant = require("outvariant");
467
- var LIBRARY_PREFIX = "[MSW]";
468
- function formatMessage(message, ...positionals) {
469
- const interpolatedMessage = (0, import_outvariant.format)(message, ...positionals);
470
- return `${LIBRARY_PREFIX} ${interpolatedMessage}`;
471
- }
472
- function warn(message, ...positionals) {
473
- console.warn(formatMessage(message, ...positionals));
474
- }
475
- function error(message, ...positionals) {
476
- console.error(formatMessage(message, ...positionals));
477
- }
478
- var devUtils = {
479
- formatMessage,
480
- warn,
481
- error
482
- };
483
-
484
493
  // src/setupWorker/start/utils/getWorkerInstance.ts
485
494
  var getWorkerInstance = async (url, options = {}, findWorker) => {
486
495
  const absoluteWorkerUrl = getAbsoluteWorkerUrl(url);
@@ -1228,7 +1237,7 @@ var RestHandler = class extends RequestHandler {
1228
1237
  };
1229
1238
 
1230
1239
  // src/context/field.ts
1231
- var import_outvariant2 = require("outvariant");
1240
+ var import_outvariant3 = require("outvariant");
1232
1241
  var field = (fieldName, fieldValue) => {
1233
1242
  return (res) => {
1234
1243
  validateFieldName(fieldName);
@@ -1238,10 +1247,10 @@ var field = (fieldName, fieldValue) => {
1238
1247
  };
1239
1248
  };
1240
1249
  function validateFieldName(fieldName) {
1241
- (0, import_outvariant2.invariant)(fieldName.trim() !== "", devUtils.formatMessage("Failed to set a custom field on a GraphQL response: field name cannot be empty."));
1242
- (0, import_outvariant2.invariant)(fieldName !== "data", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.data()" instead?', fieldName));
1243
- (0, import_outvariant2.invariant)(fieldName !== "errors", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.errors()" instead?', fieldName));
1244
- (0, import_outvariant2.invariant)(fieldName !== "extensions", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.extensions()" instead?', fieldName));
1250
+ (0, import_outvariant3.invariant)(fieldName.trim() !== "", devUtils.formatMessage("Failed to set a custom field on a GraphQL response: field name cannot be empty."));
1251
+ (0, import_outvariant3.invariant)(fieldName !== "data", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.data()" instead?', fieldName));
1252
+ (0, import_outvariant3.invariant)(fieldName !== "errors", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.errors()" instead?', fieldName));
1253
+ (0, import_outvariant3.invariant)(fieldName !== "extensions", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.extensions()" instead?', fieldName));
1245
1254
  }
1246
1255
 
1247
1256
  // src/utils/internal/tryCatch.ts
@@ -1844,7 +1853,7 @@ function createFallbackStop(context) {
1844
1853
  }
1845
1854
 
1846
1855
  // src/SetupApi.ts
1847
- var import_outvariant3 = require("outvariant");
1856
+ var import_outvariant4 = require("outvariant");
1848
1857
  var import_strict_event_emitter = require("strict-event-emitter");
1849
1858
 
1850
1859
  // src/utils/internal/pipeEvents.ts
@@ -1880,7 +1889,7 @@ var SetupApi = class {
1880
1889
  }
1881
1890
  validateHandlers(...handlers) {
1882
1891
  for (const handler of handlers) {
1883
- (0, import_outvariant3.invariant)(!Array.isArray(handler), devUtils.formatMessage('Failed to construct "%s" given an Array of request handlers. Make sure you spread the request handlers when calling the respective setup function.'), this.constructor.name);
1892
+ (0, import_outvariant4.invariant)(!Array.isArray(handler), devUtils.formatMessage('Failed to construct "%s" given an Array of request handlers. Make sure you spread the request handlers when calling the respective setup function.'), this.constructor.name);
1884
1893
  }
1885
1894
  }
1886
1895
  dispose() {
@@ -1922,7 +1931,7 @@ var SetupWorkerApi = class extends SetupApi {
1922
1931
  super(...handlers);
1923
1932
  this.startHandler = null;
1924
1933
  this.stopHandler = null;
1925
- (0, import_outvariant4.invariant)(!(0, import_is_node_process3.isNodeProcess)(), devUtils.formatMessage("Failed to execute `setupWorker` in a non-browser environment. Consider using `setupServer` for Node.js environment instead."));
1934
+ (0, import_outvariant5.invariant)(!(0, import_is_node_process3.isNodeProcess)(), devUtils.formatMessage("Failed to execute `setupWorker` in a non-browser environment. Consider using `setupServer` for Node.js environment instead."));
1926
1935
  this.listeners = [];
1927
1936
  this.context = this.createWorkerContext();
1928
1937
  }
@@ -2069,6 +2078,9 @@ function createGraphQLLink(url) {
2069
2078
  var graphql = __spreadProps(__spreadValues({}, standardGraphQLHandlers), {
2070
2079
  link: createGraphQLLink
2071
2080
  });
2081
+
2082
+ // src/index.ts
2083
+ checkGlobals();
2072
2084
  // Annotate the CommonJS export names for ESM import in node:
2073
2085
  0 && (module.exports = {
2074
2086
  GraphQLHandler,
@@ -2077,6 +2089,7 @@ var graphql = __spreadProps(__spreadValues({}, standardGraphQLHandlers), {
2077
2089
  RequestHandler,
2078
2090
  RestHandler,
2079
2091
  SetupApi,
2092
+ SetupWorkerApi,
2080
2093
  cleanUrl,
2081
2094
  compose,
2082
2095
  context,