New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

msw

Package Overview
Dependencies
Maintainers
1
Versions
278
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

msw - npm Package Compare versions

Comparing version 0.11.5 to 0.12.0

lib/context/body.test.d.ts

53

lib/mockServiceWorker.js

@@ -10,3 +10,3 @@ /**

const INTEGRITY_CHECKSUM = '2579d4c0118e1d20d98165a260d9134e'
const INTEGRITY_CHECKSUM = 'ea757fe0ea4a3107c2559092a72c7b14'
const bannerStyle = 'color:orangered;font-weight:bold;'

@@ -29,3 +29,3 @@ const bypassHeaderName = 'x-msw-bypass'

case 'INTEGRITY_CHECK_REQUEST': {
messageClient(client, {
sendToClient(client, {
type: 'INTEGRITY_CHECK_RESPONSE',

@@ -39,3 +39,3 @@ payload: INTEGRITY_CHECKSUM,

self.__isMswEnabled = true
messageClient(client, {
sendToClient(client, {
type: 'MOCKING_ENABLED',

@@ -72,3 +72,3 @@ payload: true,

function messageClient(client, message) {
function sendToClient(client, message) {
return new Promise((resolve, reject) => {

@@ -89,2 +89,9 @@ const channel = new MessageChannel()

function createResponse(clientMessage) {
return new Response(clientMessage.payload.body, {
...clientMessage.payload,
headers: clientMessage.payload.headers,
})
}
self.addEventListener('fetch', async function(event) {

@@ -127,3 +134,3 @@ const { clientId, request } = event

const clientResponse = await messageClient(client, {
const rawClientMessage = await sendToClient(client, {
type: 'REQUEST',

@@ -148,14 +155,34 @@ payload: {

if (clientResponse === 'MOCK_NOT_FOUND') {
const clientMessage = JSON.parse(rawClientMessage)
if (clientMessage.type === 'MOCK_NOT_FOUND') {
return resolve(getOriginalResponse())
}
const mockedResponse = JSON.parse(clientResponse, (key, value) => {
return key === 'headers' ? new Headers(value) : value
})
if (clientMessage.type === 'INTERNAL_ERROR') {
const parsedBody = JSON.parse(clientMessage.payload.body)
setTimeout(
resolve.bind(this, new Response(mockedResponse.body, mockedResponse)),
mockedResponse.delay,
)
console.error(
`\
[MSW] Request handler function for "%s %s" has thrown the following exception:
${parsedBody.errorType}: ${parsedBody.message}
(see more detailed error stack trace in the mocked response body)
This exception has been gracefully handled as a 500 response, however, it's strongly recommended to resolve this error.
If you wish to mock an error response, please refer to this guide: https://redd.gitbook.io/msw/recipes/mocking-error-responses\
`,
request.method,
request.url,
)
return resolve(createResponse(clientMessage))
}
if (clientMessage.type === 'MOCK_SUCCESS') {
setTimeout(
resolve.bind(this, createResponse(clientMessage)),
clientMessage.delay,
)
}
}).catch((error) => {

@@ -162,0 +189,0 @@ console.error(

@@ -5,2 +5,3 @@ export interface ServiceWorkerMessage<T> {

}
export declare type ClientMessageTypes = 'MOCK_NOT_FOUND' | 'MOCK_SUCCESS' | 'INTERNAL_ERROR';
/**

@@ -14,5 +15,8 @@ * Creates a communication channel between the client

*/
send(message: string): void;
send(message: {
type: ClientMessageTypes;
payload?: string | Record<string, any>;
}): void;
};
export declare type ServiceWorkerMessageHandler<T> = (message: ServiceWorkerMessage<T>, event: MessageEvent) => void;
export declare const addMessageListener: <T>(type: string, handler: ServiceWorkerMessageHandler<T>, errorHandler?: () => void) => void;
{
"name": "msw",
"version": "0.11.5",
"version": "0.12.0",
"description": "Client-side API mocking using Service Workers.",

@@ -35,10 +35,10 @@ "main": "lib/index.js",

"graphql": "^14.6.0",
"node-match-path": "^0.3.0",
"node-match-path": "^0.3.1",
"ramda": "^0.27.0",
"statuses": "^1.5.0",
"yargs": "^15.1.0"
"yargs": "^15.3.1"
},
"devDependencies": {
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@babel/core": "^7.9.0",
"@babel/preset-env": "^7.9.0",
"@types/jest": "^25.1.2",

@@ -48,5 +48,4 @@ "@types/node": "^13.7.7",

"@types/ramda": "^0.26.41",
"@types/webpack-dev-server": "^3.10.0",
"awesome-typescript-loader": "^5.2.1",
"babel-loader": "8.0.6",
"@types/webpack-dev-server": "^3.10.1",
"babel-loader": "^8.1.0",
"babel-minify": "^0.5.1",

@@ -57,11 +56,12 @@ "babel-plugin-ramda": "2.0.0",

"ignore-loader": "^0.1.2",
"jest": "^25.1.0",
"jest": "^25.2.4",
"node-fetch": "^2.6.0",
"prettier": "^1.19.1",
"prettier": "^2.0.2",
"puppeteer": "^2.1.1",
"regenerator-runtime": "0.13.3",
"ts-jest": "^25.2.0",
"ts-node": "^8.6.2",
"regenerator-runtime": "^0.13.5",
"ts-jest": "^25.3.0",
"ts-loader": "^6.2.2",
"ts-node": "^8.8.1",
"typescript": "^3.7.5",
"webpack": "^4.41.6",
"webpack": "^4.42.1",
"webpack-cli": "^3.3.11",

@@ -68,0 +68,0 @@ "webpack-dev-server": "^3.10.3"

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc