Skip to content

Releases: mswjs/msw

v0.19.3

13 Jun 15:40
Compare
Choose a tag to compare

Bug fixes

  • Fixes an issue that resulted into GraphQL requests issued using a GET method not being intercepted (#210, #212).

v0.19.2

13 Jun 09:58
Compare
Choose a tag to compare

Bug fixes

  • Fixes an issue that resulted into TypeError [ERR_INVALID_URL]: Invalid URL: undefined//undefined exception when using third-party request issuing libraries in Node (#209, #211).

v0.19.1

12 Jun 12:26
Compare
Choose a tag to compare

Features

  • Calling ctx.delay() without any arguments now simulates a random realistic server response time in a range between 100-400ms (#192, #198). Responses in Node are instantaneous.

Bug fixes

  • Fixes an issue that resulted into Uncaught (in promise) SyntaxError: Unexpected end of input exception when processing a request. Internally, a request’s body is now always retrieved as text, parsing it as JSON is delegated to the client side (based on the Content-Type header) (#200, #201).

v0.19.0

04 Jun 13:26
Compare
Choose a tag to compare

Features

  • The library now defers all the client-side requests that happen between calling worker.start() and successful worker activation. This eliminates race condition between the two, and now comes as the default behavior. (#190, #196)

The behavior of deferring requests can be configured using the waitUntilReady: boolean option on worker.start():

import { setupWorker, rest } from 'msw'

const worker = setupWorker(/* request handlers */)

worker.start({
  // You can opt-out of the deferred network requests behavior.
  waitUntilReady: false
})

v0.18.1

04 Jun 08:06
Compare
Choose a tag to compare

Bug fixes

  • Fixes an outdated repository URL in the Service Worker activation message.
  • Fixes an issue that resulted into ReferenceError: location is not defined error when using a request handler with a relative URL in setupServer (#193)

v0.18.0

30 May 11:36
Compare
Choose a tag to compare

Features

rest.get('/books', (req, res, ctx) => {
  return res.once(ctx.json([1, 2, 3]))
})

Bug fixes

  • Fixes an issue that resulted into the following TypeScript error when installing msw (#185, #186 ):
TS7016: Could not find a declaration file for module 'cookie'
  • Fixes an outdated GitHub repository link in the mockServiceWorker.js file.

v0.17.2

25 May 15:50
Compare
Choose a tag to compare

Bug fixes

  • Fixes an issue that caused an empty non-JSON request body being parsed as JSON (#175, #179)

v0.17.1

24 May 08:31
Compare
Choose a tag to compare

Bug fixes

  • Fixes an issue that resulted into responses to axios requests not being mocked properly (#180, #181).

Internal

  • Lists node-request-interceptor as an external dependency of the msw/node bundle.

v0.17.0

21 May 08:39
Compare
Choose a tag to compare

Features

  • Custom request handlers have reworked lifecycle and accept new methods:
    • parse(), to retrieve additional information about the request before the predicate.
    • getPublicRequest(), to modify the original request with public information (i.e. adding req.params or req.variables).

Bug Fixes

  • Fixes an issue that resulted into GraphQL mutations not being logged properly (#161, #176)

v0.16.2

20 May 10:10
Compare
Choose a tag to compare

Features

  • GraphQL requests are now being printed into browser’s console using a proper format (operation name / response status) (#161, #174)
  • Each custom request handler can have its own log function that controls what and how gets printed into browser’s console for introspection:
// my-handler.js
export const myHandler = () => {
  return {
    log(req, res, handler) {
      console.log('%s %s', req.method, req.url.href)
    }
  }
}

The information available in the log function:

  • req, intercepted request instance;
  • res, resolved mocked response object;
  • handler, exact request handler that captured this request.

Bug fixes

  • Fixes an issue that resulted into a request body with the Content-Type: application/json to be unparsed in req.body reference of the request handler (#171, #172).