Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency msw to v2 #1532

Merged
merged 4 commits into from
Oct 30, 2023
Merged

Conversation

bcgov-devops
Copy link
Contributor

@bcgov-devops bcgov-devops commented Oct 26, 2023

This PR contains the following updates:

Package Type Update Change
msw (source) devDependencies major ^1.3.2 -> ^2.0.0

Release Notes

mswjs/msw (msw)

v2.0.0

Compare Source

v2.0.0 (2023-10-23)

[!IMPORTANT]
This release is a BREAKING CHANGE. Please follow the Migration guidelines to upgrade. This release took a lot of effort to make, and I expect a bit of that effort on your part while upgrading. Most of the changes are mechanical, and a simple Find/Replace All will get you a long way. For the rest of it, you will learn how to handle requests and responses using the standard JavaScript API. Thank you!

Breaking changes

  • Drops support for Node.js 16. Please upgrade to Node.js 18 or later to use the global Fetch API.
  • Drops support for TypeScript < 4.7.
  • All browser-side exports, like setupWorker, SetupWorkerApi, etc., must be imported from msw/browser now.
  • Renames the rest object to http (rest.get -> http.get).
  • Response resolver call signature is no longer (req, res, ctx) => res() but instead ({ request }) => new Response().
  • The following exports are removed due to no longer being needed:
    • response
    • context and related exports (defaultContext, restContext, graphqlContext).
    • compose and createResponseComposition
  • res.once() is removed in favor of the { once: boolean } option on the request handler.
  • Replaces the .printHandlers() method with .listHandlers().
  • Removes the NetworkError class in favor of the standard Response.error().
  • Moves request error handling from the worker thread to the client thread.
  • Changes the call signature of the Life-cycle Events API to accept a single object argument.
  • Uses crypto.randomUUID() instead of Math.random() in the worker.
  • For the full list of changes and detailed instructions on how to upgrade please see the Migration guidelines.

Features

  • Adopts Fetch API primitives. Represent intercepted requests and mocked responses as Request and Response instances respectively.
  • Supports Node.js v18.
  • Supports ReadableStream as a mocked response body.
  • Supports reading the intercepted request body as FormData.
  • Supports FormData as a mocked response body.
  • Uses File polyfill in Node.js.
  • Supports XMLHttpRequest “upload” events when responding with a mocked stream response.
  • Allows mocking a network error once using the { once: true } request handler option.
  • Makes the RequestHandler API public.

Bug fixes

  • Fixes the issue where the request body couldn’t be properly read as FormData.
  • Fixes a set of issues related to response patching when using the FormData response body.
  • Fixes the issue where URLSearchParams as the request body couldn’t be read.
  • Fixes the issue where a bypassed request’s referrerPolicy was reset to a different value than the original.
  • Fixes the wrong order of XMLHttpRequest events and readyState changes.
  • Fixes the issue when reading an XMLHttpRequest body of responseType equal to "arraybuffer" as an incorrect buffer (previously, always assumed to be a string).
  • Fixes the order of XMLHttpRequest events when the request fails.
  • Keeps XMLHttpRequest status equal to 0 until the request actually resolves.
  • Fixes the issue when the onload event callback was called twice for XMLHttpRequest.
  • Various improvements in Node.js network behavior compliance.

@​dbritto-dev @​ddolcimascolo @​markwhitfeld @​christoph-fricke @​thepassle @​piotr-cz @​mattcosta7 @​koddsson @​dkobierski @​ricardocosta @​dxlbnl @​zkochan @​felipefreitag @​weyert @​95th @​committomaster @​Xayer @​Kosai106 @​colinsullivan @​xmlking @​thw0rted @​lee-reinhardt @​wKovacs64 @​TeChn4K @​cmolina @​nickrttn @​thomasbertet @​mscottnelson @​jonnedeprez @​negabaro @​the-ult @​WesleyYue @​cwagner22 @​skvale @​alawiii521 @​csantos1113 @​elliotgonzalez123 @​committomaster @​tsteckenborn @​xxleyi @​jonnedeprez @​danny-does-stuff @​lemcii @​mattrodak @​luisr-carrillo @​lee-reinhardt @​ealejandrootalvaro @​tomdglenn91


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.


Thanks for the PR!

Deployments, as required, will be available below:

Please create PRs in draft mode. Mark as ready to enable:

After merge, new images are promoted to:

@DerekRoberts
Copy link
Member

Breaking changes to investigate.
https://mswjs.io/docs/migrations/1.x-to-2.x

@DerekRoberts DerekRoberts self-assigned this Oct 30, 2023
@DerekRoberts DerekRoberts added the dependencies Pull requests that update a dependency file label Oct 30, 2023
@DerekRoberts DerekRoberts enabled auto-merge (squash) October 30, 2023 19:18
@DerekRoberts DerekRoberts merged commit 808c5fa into main Oct 30, 2023
14 checks passed
@DerekRoberts DerekRoberts deleted the renovate/msw-2.x branch October 30, 2023 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants