npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mirage-msw

v0.2.2

Published

Allow mirage to use MSW (Mock Service Worker) as the interceptor

Downloads

637

Readme

Mirage-MSW

Experimental MirageJS interceptor using MSW.

Usage

Installation

Pick one depending on your package manager. Mirage 0.2.0-alpha.1+ and MSW 2.0.0+ are peer dependencies.

npm i --save-dev mirage-msw mirage@^0.2.0-alpha.1 msw@^2
pnpm i --save-dev mirage-msw mirage@^0.2.0-alpha.1 msw@^2
yarn add --dev mirage-msw mirage@^0.2.0-alpha.1 msw@^2

Be sure to run msw init as well, if you haven't previously.

Configuration

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

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

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

This will cause msw to be used instead of the default interceptor, 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:

  • [x] 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. (Added in mirage 0.2.0-alpha.1)
  • [ ] 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. (https://github.com/miragejs/mirage-msw/issues/17)