Skip to content

Commit

Permalink
Add README
Browse files Browse the repository at this point in the history
  • Loading branch information
IanVS committed Nov 9, 2023
1 parent 4f41456 commit 36fbe40
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Mirage-MSW

Experimental [MirageJS](https://miragejs.com/) interceptor using [MSW](https://mswjs.io/).

## Usage

### Installation

Pick one depending on your package manager:

```shell
npm i --save-dev mirage-msw
pnpm i --save-dev mirage-msw
yarn add --dev mirage-msw
```

If you are not already using MSW or Mirage, you will need to install those as well. Be sure to run [`msw init`](https://mswjs.io/docs/integrations/browser#copy-the-worker-script) as well.

We currently only support MSW v1, though we are exploring v2 support: https://github.com/miragejs/mirage-msw/pull/12

### Configuration

Wherever you are creating your miragejs server, set the interceptor:

```ts
import MSWInterceptor from 'mirage-msw';
import { createServer } from 'miragejs';

createServer({
interceptor: new MSWInterceptor(),
// ... rest of your config
});
```

This will cause msw to be used instead of the default interceptor, [pretender](https://github.com/pretenderjs/pretender).

## Caveats

This is very early, experimental software. There are probably a lot of bugs, so if you find one, please report it.

Here are the known issues so far:

- [ ] MSW starts up asynchronously, whereas Mirage up to now has always been completely synchronous. We will probably need to make a breaking change to Mirage to make `createServer` an async function.
- [ ] Currently no support for FormData requests.
- [ ] Only works in the browser, same as pretender. But MSW does have an option for node.js, so we may be able to support that in the future.

0 comments on commit 36fbe40

Please sign in to comment.