msw
- Version 2.11.6
 - Published
 - 4.6 MB
 - 18 dependencies
 - MIT license
 
Install
npm i mswyarn add mswpnpm add mswOverview
Seamless REST/GraphQL API mocking library for browser and Node.js.
Index
Variables
Functions
Classes
Interfaces
Enums
Type Aliases
- AsyncResponseResolverReturnType
 - DefaultBodyType
 - DefaultRequestMultipartBody
 - DefaultUnsafeFetchResponse
 - DelayMode
 - GraphQLCustomPredicate
 - GraphQLOperationType
 - GraphQLQuery
 - GraphQLRequestBody
 - GraphQLRequestHandler
 - GraphQLResponseBody
 - GraphQLResponseResolver
 - GraphQLVariables
 - HttpCustomPredicate
 - HttpRequestHandler
 - HttpRequestParsedResult
 - HttpResponseResolver
 - JsonBodyType
 - LifeCycleEventsMap
 - ParsedGraphQLRequest
 - Path
 - PathParams
 - RequestQuery
 - ResponseResolver
 - ResponseResolverReturnType
 - StrictResponse
 - UnhandledRequestCallback
 - UnhandledRequestStrategy
 - WebSocketEventListener
 - WebSocketHandlerEventMap
 - WebSocketLink
 
Variables
variable bodyType
const bodyType: Symbol;variable graphql
const graphql: {    link: typeof createGraphQLLink;    query: GraphQLRequestHandler;    mutation: GraphQLRequestHandler;    operation: <        Query extends Record<string, any> = Record<string, any>,        Variables extends GraphQLVariables = GraphQLVariables    >(        resolver: ResponseResolver<            GraphQLResolverExtras<Variables>,            null,            {                data?: Query;                errors?: readonly GraphQLError[];                extensions?: Record<string, any>;            }        >    ) => GraphQLHandler;};A namespace to intercept and mock GraphQL operations
Example 1
graphql.query('GetUser', resolver) graphql.mutation('DeletePost', resolver)
See Also
variable http
const http: {    all: HttpRequestHandler;    head: HttpRequestHandler;    get: HttpRequestHandler;    post: HttpRequestHandler;    put: HttpRequestHandler;    delete: HttpRequestHandler;    patch: HttpRequestHandler;    options: HttpRequestHandler;};A namespace to intercept and mock HTTP requests.
Example 1
http.get('/user', resolver) http.post('/post/:id', resolver)
See Also
variable MAX_SERVER_RESPONSE_TIME
const MAX_SERVER_RESPONSE_TIME: number;variable MIN_SERVER_RESPONSE_TIME
const MIN_SERVER_RESPONSE_TIME: number;variable NODE_SERVER_RESPONSE_TIME
const NODE_SERVER_RESPONSE_TIME: number;variable SET_TIMEOUT_MAX_ALLOWED_INT
const SET_TIMEOUT_MAX_ALLOWED_INT: number;variable ws
const ws: { link: typeof createWebSocketLinkHandler };A namespace to intercept and mock WebSocket connections.
Example 1
const chat = ws.link('wss://chat.example.com')
See Also
Functions
function bypass
bypass: (input: BypassRequestInput, init?: RequestInit) => Request;Creates a
Requestinstance that will always be ignored by MSW.Example 1
import { bypass } from 'msw'
fetch(bypass('/resource')) fetch(bypass(new URL('/resource', 'https://example.com))) fetch(bypass(new Request('https://example.com/resource')))
See Also
function cleanUrl
cleanUrl: (path: string) => string;Removes search parameters and the fragment from a given URL string.
function delay
delay: (durationOrMode?: DelayMode | number) => Promise<void>;Delays the response by the given duration (ms).
Example 1
await delay() // emulate realistic server response time await delay(1200) // delay response by 1200ms await delay('infinite') // delay response infinitely
See Also
function getResponse
getResponse: (    handlers: Array<RequestHandler>,    request: Request,    resolutionContext?: ResponseResolutionContext) => Promise<Response | undefined>;Finds a response for the given request instance in the array of request handlers.
Parameter handlers
The array of request handlers.
Parameter request
The
Requestinstance.Parameter resolutionContext
Request resolution options.
Returns
{Response} A mocked response, if any.
function handleRequest
handleRequest: (    request: Request,    requestId: string,    handlers: Array<RequestHandler>,    options: RequiredDeep<SharedOptions>,    emitter: Emitter<LifeCycleEventsMap>,    handleRequestOptions?: HandleRequestOptions) => Promise<Response | undefined>;function isCommonAssetRequest
isCommonAssetRequest: (request: Request) => boolean;Determines if the given request is a static asset request. Useful when deciding which unhandled requests to ignore. Despite being ignored, you can still intercept and mock static assets by creating request handlers for them.
Example 1
import { isCommonAssetRequest } from 'msw'
await worker.start({ onUnhandledRequest(request, print) { if (!isCommonAssetRequest(request)) { print.warning() } } })
function matchRequestUrl
matchRequestUrl: (url: URL, path: Path, baseUrl?: string) => Match;Returns the result of matching given request URL against a mask.
function onUnhandledRequest
onUnhandledRequest: (    request: Request,    strategy?: UnhandledRequestStrategy) => Promise<void>;function passthrough
passthrough: () => HttpResponse<any>;Performs the intercepted request as-is.
This stops request handler lookup so no other handlers can affect this request past this point. Unlike
bypass(), this will not trigger an additional request.Example 1
http.get('/resource', () => { return passthrough() })
See Also
Classes
class GraphQLHandler
class GraphQLHandler extends RequestHandler<    GraphQLHandlerInfo,    GraphQLRequestParsedResult,    GraphQLResolverExtras<any>> {}constructor
constructor(    operationType: any,    predicate: any,    endpoint: Path,    resolver: ResponseResolver<GraphQLResolverExtras<any>, any, any>,    options?: RequestHandlerOptions);property parsedRequestCache
static parsedRequestCache: WeakMap<    Request,    ParsedGraphQLQuery & { query: string; variables?: GraphQLVariables }>;method extendResolverArgs
protected extendResolverArgs: (args: {    request: Request;    parsedResult: GraphQLRequestParsedResult;}) => {    query: string;    operationType: OperationTypeNode;    operationName: string;    variables: GraphQLVariables;    cookies: Record<string, string>;};method log
log: (args: {    request: Request;    response: Response;    parsedResult: GraphQLRequestParsedResult;}) => Promise<void>;method parse
parse: (args: { request: Request }) => Promise<GraphQLRequestParsedResult>;method parseGraphQLRequestOrGetFromCache
parseGraphQLRequestOrGetFromCache: (    request: Request) => Promise<ParsedGraphQLRequest<GraphQLVariables>>;Parses the request body, once per request, cached across all GraphQL handlers. This is done to avoid multiple parsing of the request body, which each requires a clone of the request.
method predicate
predicate: (args: {    request: Request;    parsedResult: GraphQLRequestParsedResult;}) => Promise<boolean>;class HttpHandler
class HttpHandler extends RequestHandler<    HttpHandlerInfo,    HttpRequestParsedResult,    HttpRequestResolverExtras<any>> {}Request handler for HTTP requests. Provides request matching based on method and URL.
constructor
constructor(    method: HttpHandlerMethod,    predicate: HttpRequestPredicate<PathParams<string>>,    resolver: ResponseResolver<HttpRequestResolverExtras<any>, any, any>,    options?: RequestHandlerOptions);method extendResolverArgs
protected extendResolverArgs: (args: {    request: Request;    parsedResult: HttpRequestParsedResult;}) => { params: PathParams<string>; cookies: Record<string, string> };method log
log: (args: { request: Request; response: Response }) => Promise<void>;method parse
parse: (args: {    request: Request;    resolutionContext?: ResponseResolutionContext;}) => Promise<{ match: Match; cookies: Record<string, string> }>;method predicate
predicate: (args: {    request: Request;    parsedResult: HttpRequestParsedResult;    resolutionContext?: ResponseResolutionContext;}) => Promise<boolean>;class HttpResponse
class HttpResponse<BodyType extends DefaultBodyType> extends FetchResponse {}A drop-in replacement for the standard
Responseclass to allow additional features, like mocking the responseSet-Cookieheader.Example 1
new HttpResponse('Hello world', { status: 201 }) HttpResponse.json({ name: 'John' }) HttpResponse.formData(form)
See Also
constructor
constructor(body?: DefaultBodyType, init?: HttpResponseInit);property [bodyType]
readonly [bodyType]: DefaultBodyType;method arrayBuffer
static arrayBuffer: <BodyType extends ArrayBuffer | SharedArrayBuffer>(    body?: BodyType,    init?: HttpResponseInit) => HttpResponse<BodyType>;Create a
Responsewith anArrayBufferbody.Example 1
const buffer = new ArrayBuffer(3) const view = new Uint8Array(buffer) view.set([1, 2, 3])
HttpResponse.arrayBuffer(buffer)
method error
static error: () => HttpResponse<any>;method formData
static formData: (    body?: FormData,    init?: HttpResponseInit) => HttpResponse<FormData>;Create a
Responsewith aFormDatabody.Example 1
const data = new FormData() data.set('name', 'Alice')
HttpResponse.formData(data)
method html
static html: <BodyType extends string>(    body?: BodyType | null,    init?: HttpResponseInit) => HttpResponse<BodyType>;Create a
Responsewith aContent-Type: "text/html"body.Example 1
HttpResponse.html(
<p class="author">Jane Doe</p>) HttpResponse.html(<main id="abc-123">Main text</main>, { status: 201 })
method json
static json: <BodyType extends JsonBodyType>(    body?: NoInfer<BodyType> | null | undefined,    init?: HttpResponseInit) => HttpResponse<BodyType>;Create a
Responsewith aContent-Type: "application/json"body.Example 1
HttpResponse.json({ firstName: 'John' }) HttpResponse.json({ error: 'Not Authorized' }, { status: 401 })
method text
static text: <BodyType extends string>(    body?: NoInfer<BodyType> | null,    init?: HttpResponseInit) => HttpResponse<BodyType>;Create a
Responsewith aContent-Type: "text/plain"body.Example 1
HttpResponse.text('hello world') HttpResponse.text('Error', { status: 500 })
method xml
static xml: <BodyType extends string>(    body?: BodyType | null,    init?: HttpResponseInit) => HttpResponse<BodyType>;Create a
Responsewith aContent-Type: "application/xml"body.Example 1
HttpResponse.xml(
<user name="John" />) HttpResponse.xml(<article id="abc-123" />, { status: 201 })
class RequestHandler
abstract class RequestHandler<    HandlerInfo extends RequestHandlerDefaultInfo = RequestHandlerDefaultInfo,    ParsedResult extends Record<string, any> | undefined = any,    ResolverExtras extends Record<string, unknown> = any,    HandlerOptions extends RequestHandlerOptions = RequestHandlerOptions> {}constructor
constructor(args: RequestHandlerArgs<HandlerInfo, HandlerOptions>);property cache
static cache: WeakMap<    StrictRequest<DefaultBodyType>,    StrictRequest<DefaultBodyType>>;property info
info: RequestHandlerDefaultInfo & RequestHandlerInternalInfo;property isUsed
isUsed: boolean;Indicates whether this request handler has been used (its resolver has successfully executed).
property resolver
protected resolver: ResponseResolver<ResolverExtras, any, any>;method extendResolverArgs
protected extendResolverArgs: (_args: {    request: Request;    parsedResult: ParsedResult;}) => ResolverExtras;method log
abstract log: (args: {    request: Request;    response: Response;    parsedResult: ParsedResult;}) => void;Print out the successfully handled request.
method parse
parse: (_args: {    request: Request;    resolutionContext?: ResponseResolutionContext;}) => Promise<ParsedResult>;Parse the intercepted request to extract additional information from it. Parsed result is then exposed to other methods of this request handler.
method predicate
abstract predicate: (args: {    request: Request;    parsedResult: ParsedResult;    resolutionContext?: ResponseResolutionContext;}) => boolean | Promise<boolean>;Determine if the intercepted request should be mocked.
method run
run: (args: {    request: StrictRequest<any>;    requestId: string;    resolutionContext?: ResponseResolutionContext;}) => Promise<RequestHandlerExecutionResult<ParsedResult> | null>;Execute this request handler and produce a mocked response using the given resolver function.
method test
test: (args: {    request: Request;    resolutionContext?: ResponseResolutionContext;}) => Promise<boolean>;Test if this handler matches the given request.
This method is not used internally but is exposed as a convenience method for consumers writing custom handlers.
class SetupApi
abstract class SetupApi<EventsMap extends EventMap> extends Disposable {}Generic class for the mock API setup.
constructor
constructor(    ...initialHandlers: (        | RequestHandler<              RequestHandlerDefaultInfo,              any,              any,              RequestHandlerOptions          >        | WebSocketHandler    )[]);property emitter
protected readonly emitter: Emitter<EventsMap>;property events
readonly events: LifeCycleEventEmitter<EventsMap>;property handlersController
protected handlersController: HandlersController;property publicEmitter
protected readonly publicEmitter: Emitter<EventsMap>;method listHandlers
listHandlers: () => ReadonlyArray<RequestHandler | WebSocketHandler>;method resetHandlers
resetHandlers: (    ...nextHandlers: Array<RequestHandler | WebSocketHandler>) => void;method restoreHandlers
restoreHandlers: () => void;method use
use: (...runtimeHandlers: Array<RequestHandler | WebSocketHandler>) => void;class WebSocketHandler
class WebSocketHandler {}constructor
constructor(url: Path);property [kEmitter]
protected [kEmitter]: Emitter<WebSocketHandlerEventMap>;property callFrame
callFrame?: string;property id
id: string;method connect
protected connect: (connection: WebSocketHandlerConnection) => boolean;method parse
parse: (args: {    url: URL;    resolutionContext?: WebSocketResolutionContext;}) => WebSocketHandlerParsedResult;method predicate
predicate: (args: {    url: URL;    parsedResult: WebSocketHandlerParsedResult;}) => boolean;method run
run: (    connection: Omit<WebSocketHandlerConnection, 'params'>,    resolutionContext?: WebSocketResolutionContext) => Promise<boolean>;Interfaces
interface GraphQLJsonRequestBody
interface GraphQLJsonRequestBody<Variables extends GraphQLVariables> {}interface HandleRequestOptions
interface HandleRequestOptions {}property resolutionContext
resolutionContext?: {    /**     * A base url to use when resolving relative urls.     * @note This is primarily used by the `@mswjs/http-middleware`     * to resolve relative urls in the context of the running server     */    baseUrl?: string;};resolutionContextis not part of the general public api but is exposed to aid in creating extensions like@mswjs/http-middleware.
method onMockedResponse
onMockedResponse: (    response: Response,    handler: RequiredDeep<HandlersExecutionResult>) => void;Invoked when the mocked response is ready to be sent.
method onPassthroughResponse
onPassthroughResponse: (request: Request) => void;Invoked whenever a request is performed as-is.
interface HttpResponseInit
interface HttpResponseInit extends ResponseInit {}property type
type?: ResponseType;interface Match
interface Match {}interface RequestHandlerOptions
interface RequestHandlerOptions {}property once
once?: boolean;interface SharedOptions
interface SharedOptions {}property onUnhandledRequest
onUnhandledRequest?: UnhandledRequestStrategy;Specifies how to react to a request that has no corresponding request handler. Warns on unhandled requests by default.
Example 1
worker.start({ onUnhandledRequest: 'bypass' })
Example 2
worker.start({ onUnhandledRequest: 'warn' })
Example 3
server.listen({ onUnhandledRequest: 'error' })
interface StrictRequest
interface StrictRequest<BodyType extends JsonBodyType> extends Request {}interface WebSocketHandlerConnection
interface WebSocketHandlerConnection {}Enums
enum HttpMethods
enum HttpMethods {    HEAD = 'HEAD',    GET = 'GET',    POST = 'POST',    PUT = 'PUT',    PATCH = 'PATCH',    OPTIONS = 'OPTIONS',    DELETE = 'DELETE',}Type Aliases
type AsyncResponseResolverReturnType
type AsyncResponseResolverReturnType<ResponseBodyType extends DefaultBodyType> =    MaybePromise<        | ResponseResolverReturnType<ResponseBodyType>        | Iterable<              MaybeAsyncResponseResolverReturnType<ResponseBodyType>,              MaybeAsyncResponseResolverReturnType<ResponseBodyType>,              MaybeAsyncResponseResolverReturnType<ResponseBodyType>          >        | AsyncIterable<              MaybeAsyncResponseResolverReturnType<ResponseBodyType>,              MaybeAsyncResponseResolverReturnType<ResponseBodyType>,              MaybeAsyncResponseResolverReturnType<ResponseBodyType>          >    >;type DefaultBodyType
type DefaultBodyType =    | Record<string, any>    | DefaultRequestMultipartBody    | string    | number    | boolean    | null    | undefined;type DefaultRequestMultipartBody
type DefaultRequestMultipartBody = Record<    string,    string | File | Array<string | File>>;type DefaultUnsafeFetchResponse
type DefaultUnsafeFetchResponse = Response & {    [bodyType]?: never;};type DelayMode
type DelayMode = 'real' | 'infinite';type GraphQLCustomPredicate
type GraphQLCustomPredicate = (args: {    request: Request;    query: string;    operationType: GraphQLOperationType;    operationName: string;    variables: GraphQLVariables;    cookies: Record<string, string>;}) => GraphQLCustomPredicateResult | Promise<GraphQLCustomPredicateResult>;type GraphQLOperationType
type GraphQLOperationType = OperationTypeNode | 'all';type GraphQLQuery
type GraphQLQuery = Record<string, any> | null;type GraphQLRequestBody
type GraphQLRequestBody<VariablesType extends GraphQLVariables> =    | GraphQLJsonRequestBody<VariablesType>    | GraphQLMultipartRequestBody    | Record<string, any>    | undefined;type GraphQLRequestHandler
type GraphQLRequestHandler = <    Query extends GraphQLQuery = GraphQLQuery,    Variables extends GraphQLVariables = GraphQLVariables>(    predicate:        | GraphQLHandlerNameSelector        | DocumentNode        | TypedDocumentNode<Query, Variables>        | GraphQLCustomPredicate,    resolver: GraphQLResponseResolver<        [Query] extends [never] ? GraphQLQuery : Query,        Variables    >,    options?: RequestHandlerOptions) => GraphQLHandler;type GraphQLResponseBody
type GraphQLResponseBody<BodyType extends DefaultBodyType> =    | {          data?: BodyType | null;          errors?: readonly Partial<GraphQLError>[] | null;          extensions?: Record<string, any>;      }    | null    | undefined;type GraphQLResponseResolver
type GraphQLResponseResolver<    Query extends GraphQLQuery = GraphQLQuery,    Variables extends GraphQLVariables = GraphQLVariables> = ResponseResolver<    GraphQLResolverExtras<Variables>,    null,    GraphQLResponseBody<[Query] extends [never] ? GraphQLQuery : Query>>;type GraphQLVariables
type GraphQLVariables = Record<string, any>;type HttpCustomPredicate
type HttpCustomPredicate<Params extends PathParams> = (args: {    request: Request;    cookies: Record<string, string>;}) => HttpCustomPredicateResult<Params> | Promise<HttpCustomPredicateResult<Params>>;type HttpRequestHandler
type HttpRequestHandler = <    Params extends PathParams<keyof Params> = PathParams,    RequestBodyType extends DefaultBodyType = DefaultBodyType,    ResponseBodyType extends DefaultBodyType = undefined>(    predicate: HttpRequestPredicate<Params>,    resolver: HttpResponseResolver<Params, RequestBodyType, ResponseBodyType>,    options?: RequestHandlerOptions) => HttpHandler;type HttpRequestParsedResult
type HttpRequestParsedResult = {    match: Match;    cookies: Record<string, string>;};type HttpResponseResolver
type HttpResponseResolver<    Params extends PathParams<keyof Params> = PathParams,    RequestBodyType extends DefaultBodyType = DefaultBodyType,    ResponseBodyType extends DefaultBodyType = DefaultBodyType> = ResponseResolver<    HttpRequestResolverExtras<Params>,    RequestBodyType,    ResponseBodyType>;type JsonBodyType
type JsonBodyType =    | Record<string, any>    | string    | number    | boolean    | null    | undefined;type LifeCycleEventsMap
type LifeCycleEventsMap = {    'request:start': [        args: {            request: Request;            requestId: string;        }    ];    'request:match': [        args: {            request: Request;            requestId: string;        }    ];    'request:unhandled': [        args: {            request: Request;            requestId: string;        }    ];    'request:end': [        args: {            request: Request;            requestId: string;        }    ];    'response:mocked': [        args: {            response: Response;            request: Request;            requestId: string;        }    ];    'response:bypass': [        args: {            response: Response;            request: Request;            requestId: string;        }    ];    unhandledException: [        args: {            error: Error;            request: Request;            requestId: string;        }    ];};type ParsedGraphQLRequest
type ParsedGraphQLRequest<    VariablesType extends GraphQLVariables = GraphQLVariables> =    | (ParsedGraphQLQuery & {          query: string;          variables?: VariablesType;      })    | undefined;type Path
type Path = string | RegExp;type PathParams
type PathParams<KeyType extends keyof any = string> = {    [ParamName in KeyType]?: string | ReadonlyArray<string>;};type RequestQuery
type RequestQuery = {    [queryName: string]: string;};type ResponseResolver
type ResponseResolver<    ResolverExtraInfo extends Record<string, unknown> = Record<string, unknown>,    RequestBodyType extends DefaultBodyType = DefaultBodyType,    ResponseBodyType extends DefaultBodyType = undefined> = (    info: ResponseResolverInfo<ResolverExtraInfo, RequestBodyType>) => AsyncResponseResolverReturnType<ResponseBodyType>;type ResponseResolverReturnType
type ResponseResolverReturnType<    ResponseBodyType extends DefaultBodyType = undefined> =    | ([ResponseBodyType] extends [undefined]          ? Response          : ResponseBodyType extends GraphQLRequestBody<any>          ? HttpResponse<ResponseBodyType> | DefaultUnsafeFetchResponse          : HttpResponse<ResponseBodyType>)    | undefined    | void;type StrictResponse
type StrictResponse<BodyType extends DefaultBodyType> = HttpResponse<BodyType>;Opaque
Responsetype that supports strict body type.Deprecated
Please use HttpResponse instead.
type UnhandledRequestCallback
type UnhandledRequestCallback = (    request: Request,    print: UnhandledRequestPrint) => void;type UnhandledRequestStrategy
type UnhandledRequestStrategy =    | 'bypass'    | 'warn'    | 'error'    | UnhandledRequestCallback;type WebSocketEventListener
type WebSocketEventListener<EventType extends keyof WebSocketHandlerEventMap> = (    ...args: WebSocketHandlerEventMap[EventType]) => void;type WebSocketHandlerEventMap
type WebSocketHandlerEventMap = {    connection: [args: WebSocketHandlerConnection];};type WebSocketLink
type WebSocketLink = {    /**     * A set of all WebSocket clients connected     * to this link.     *     * @see {@link https://mswjs.io/docs/api/ws#clients `clients` API reference}     */    clients: Set<WebSocketClientConnectionProtocol>;    /**     * Adds an event listener to this WebSocket link.     *     * @example     * const chat = ws.link('wss://chat.example.com')     * chat.addEventListener('connection', listener)     *     * @see {@link https://mswjs.io/docs/api/ws#onevent-listener `on()` API reference}     */    addEventListener<EventType extends keyof WebSocketHandlerEventMap>(        event: EventType,        listener: WebSocketEventListener<EventType>    ): WebSocketHandler;    /**     * Broadcasts the given data to all WebSocket clients.     *     * @example     * const service = ws.link('wss://example.com')     * service.addEventListener('connection', () => {     *   service.broadcast('hello, everyone!')     * })     *     * @see {@link https://mswjs.io/docs/api/ws#broadcastdata `broadcast()` API reference}     */    broadcast(data: WebSocketData): void;    /**     * Broadcasts the given data to all WebSocket clients     * except the ones provided in the `clients` argument.     *     * @example     * const service = ws.link('wss://example.com')     * service.addEventListener('connection', ({ client }) => {     *   service.broadcastExcept(client, 'hi, the rest of you!')     * })     *     * @see {@link https://mswjs.io/docs/api/ws#broadcastexceptclients-data `broadcast()` API reference}     */    broadcastExcept(        clients:            | WebSocketClientConnectionProtocol            | Array<WebSocketClientConnectionProtocol>,        data: WebSocketData    ): void;};Package Files (18)
- lib/core/HttpResponse-BpT5A_2L.d.ts
 - lib/core/SetupApi.d.ts
 - lib/core/bypass.d.ts
 - lib/core/delay.d.ts
 - lib/core/getResponse.d.ts
 - lib/core/graphql.d.ts
 - lib/core/handlers/HttpHandler.d.ts
 - lib/core/handlers/WebSocketHandler.d.ts
 - lib/core/http.d.ts
 - lib/core/index.d.ts
 - lib/core/isCommonAssetRequest.d.ts
 - lib/core/passthrough.d.ts
 - lib/core/sharedOptions.d.ts
 - lib/core/utils/handleRequest.d.ts
 - lib/core/utils/matching/matchRequestUrl.d.ts
 - lib/core/utils/request/onUnhandledRequest.d.ts
 - lib/core/utils/url/cleanUrl.d.ts
 - lib/core/ws.d.ts
 
Dependencies (18)
Dev Dependencies (54)
- @commitlint/cli
 - @commitlint/config-conventional
 - @eslint/eslintrc
 - @eslint/js
 - @fastify/websocket
 - @graphql-typed-document-node/core
 - @open-draft/test-server
 - @ossjs/release
 - @playwright/test
 - @swc/core
 - @types/eslint__js
 - @types/express
 - @types/json-bigint
 - @types/node
 - @types/serviceworker
 - @typescript-eslint/eslint-plugin
 - @typescript-eslint/parser
 - @web/dev-server
 - axios
 - babel-minify
 - commitizen
 - cross-env
 - cross-fetch
 - cz-conventional-changelog
 - esbuild
 - esbuild-loader
 - eslint
 - eslint-config-prettier
 - eslint-plugin-prettier
 - express
 - fastify
 - fs-extra
 - fs-teardown
 - glob
 - jsdom
 - json-bigint
 - knip
 - lint-staged
 - msw
 - page-with
 - prettier
 - publint
 - regenerator-runtime
 - rimraf
 - simple-git-hooks
 - tsup
 - typescript
 - typescript-eslint
 - undici
 - url-loader
 - vitest
 - vitest-environment-miniflare
 - webpack
 - webpack-http-server
 
Peer Dependencies (1)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/msw.
- Markdown[](https://www.jsdocs.io/package/msw)
 - HTML<a href="https://www.jsdocs.io/package/msw"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
 
- Updated .
Package analyzed in 8324 ms. - Missing or incorrect documentation? Open an issue for this package.
 
