mirror of
https://github.com/hanzoai/msw.git
synced 2026-09-24 17:00:34 +00:00
chore: use @swc/jest vs ts-jest (#1457)
* chore: use @swc/jest vs ts-jest * chore: fix esm default import issue in tests
This commit is contained in:
committed by
GitHub
parent
12b8df0a03
commit
fd5176f5ed
@@ -3,6 +3,8 @@ import * as path from 'path'
|
||||
import chalk from 'chalk'
|
||||
import { until } from '@open-draft/until'
|
||||
|
||||
const { cyan } = chalk
|
||||
|
||||
/**
|
||||
* Copies the given Service Worker source file into the destination.
|
||||
* Injects the integrity checksum into the destination file.
|
||||
@@ -46,5 +48,5 @@ export default async function copyServiceWorker(
|
||||
throw new Error(`Failed to write file.\n${writeFileError.message}`)
|
||||
}
|
||||
|
||||
console.log('Service Worker copied to: %s', chalk.cyan(destFilePath))
|
||||
console.log('Service Worker copied to: %s', cyan(destFilePath))
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ module.exports = {
|
||||
bail: true,
|
||||
roots: ['<rootDir>/src', '<rootDir>/cli'],
|
||||
transform: {
|
||||
'^.+\\.tsx?$': 'ts-jest',
|
||||
'^.+\\.tsx?$': '@swc/jest',
|
||||
},
|
||||
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(j|t)sx?$',
|
||||
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
|
||||
|
||||
+2
-1
@@ -114,6 +114,8 @@
|
||||
"@commitlint/config-conventional": "^16.0.0",
|
||||
"@open-draft/test-server": "^0.2.3",
|
||||
"@ossjs/release": "^0.4.0",
|
||||
"@swc/core": "^1.3.15",
|
||||
"@swc/jest": "^0.2.23",
|
||||
"@types/fs-extra": "^9.0.13",
|
||||
"@types/jest": "26",
|
||||
"@types/json-bigint": "^1.0.1",
|
||||
@@ -142,7 +144,6 @@
|
||||
"rimraf": "^3.0.2",
|
||||
"simple-git-hooks": "^2.8.0",
|
||||
"statuses": "^2.0.0",
|
||||
"ts-jest": "26",
|
||||
"ts-loader": "^9.2.6",
|
||||
"ts-node": "^10.1.0",
|
||||
"tsup": "^5.12.8",
|
||||
|
||||
+4
-2
@@ -1,6 +1,8 @@
|
||||
module.exports = {
|
||||
preset: 'ts-jest',
|
||||
testTimeout: 15000,
|
||||
transform: {
|
||||
'^.+\\.tsx?$': '@swc/jest',
|
||||
},
|
||||
testTimeout: 10000,
|
||||
moduleNameMapper: {
|
||||
'^msw(.*)': '<rootDir>/..$1',
|
||||
},
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import * as https from 'https'
|
||||
/**
|
||||
* @jest-environment node
|
||||
*/
|
||||
import https from 'https'
|
||||
import { rest } from 'msw'
|
||||
import { setupServer, SetupServerApi } from 'msw/node'
|
||||
import { setupServer } from 'msw/node'
|
||||
import { ServerApi, createServer } from '@open-draft/test-server'
|
||||
import { waitForClientRequest } from '../../../support/utils'
|
||||
|
||||
let httpServer: ServerApi
|
||||
let server: SetupServerApi
|
||||
const server = setupServer()
|
||||
|
||||
beforeAll(async () => {
|
||||
httpServer = await createServer((app) => {
|
||||
@@ -13,12 +17,6 @@ beforeAll(async () => {
|
||||
})
|
||||
})
|
||||
|
||||
server = setupServer(
|
||||
rest.get(httpServer.https.makeUrl('/user'), (req, res, ctx) => {
|
||||
return res(ctx.json({ cookies: req.cookies }))
|
||||
}),
|
||||
)
|
||||
|
||||
server.listen()
|
||||
})
|
||||
|
||||
@@ -27,34 +25,24 @@ afterAll(async () => {
|
||||
await httpServer.close()
|
||||
})
|
||||
|
||||
test('has access to request cookies', (done) => {
|
||||
let responseBody = ''
|
||||
test('has access to request cookies', async () => {
|
||||
server.use(
|
||||
rest.get(httpServer.https.makeUrl('/user'), (req, res, ctx) => {
|
||||
return res(ctx.json({ cookies: req.cookies }))
|
||||
}),
|
||||
)
|
||||
|
||||
const url = new URL(httpServer.https.makeUrl('/user'))
|
||||
|
||||
https.get(
|
||||
{
|
||||
method: 'GET',
|
||||
protocol: url.protocol,
|
||||
host: url.host,
|
||||
path: url.pathname,
|
||||
headers: {
|
||||
Cookie: 'auth-token=abc-123',
|
||||
},
|
||||
const request = https.get({
|
||||
protocol: url.protocol,
|
||||
host: url.host,
|
||||
path: url.pathname,
|
||||
headers: {
|
||||
Cookie: 'auth-token=abc-123',
|
||||
},
|
||||
(res) => {
|
||||
res.setEncoding('utf8')
|
||||
res.on('error', done)
|
||||
res.on('data', (chunk) => (responseBody += chunk))
|
||||
res.on('end', () => {
|
||||
const json = JSON.parse(responseBody)
|
||||
expect(json).toEqual({
|
||||
cookies: {
|
||||
'auth-token': 'abc-123',
|
||||
},
|
||||
})
|
||||
})
|
||||
const { responseText } = await waitForClientRequest(request)
|
||||
|
||||
done()
|
||||
})
|
||||
},
|
||||
)
|
||||
expect(responseText).toBe('{"cookies":{"auth-token":"abc-123"}}')
|
||||
})
|
||||
|
||||
@@ -1,84 +1,75 @@
|
||||
/**
|
||||
* @jest-environment node
|
||||
*/
|
||||
import * as http from 'http'
|
||||
/**
|
||||
* @note Do not import as wildcard lest the ESM gods be displeased.
|
||||
* Make sure "allowSyntheticDefaultImports" is true in tsconfig.json.
|
||||
*/
|
||||
import http from 'http'
|
||||
import { ServerApi, createServer } from '@open-draft/test-server'
|
||||
import { rest } from 'msw'
|
||||
import { setupServer } from 'msw/node'
|
||||
import { waitForClientRequest } from '../../../support/utils'
|
||||
|
||||
describe('setupServer / http', () => {
|
||||
const server = setupServer(
|
||||
rest.get('http://test.mswjs.io', (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(401),
|
||||
ctx.set('x-header', 'yes'),
|
||||
ctx.json({
|
||||
firstName: 'John',
|
||||
}),
|
||||
)
|
||||
}),
|
||||
)
|
||||
let httpServer: ServerApi
|
||||
const server = setupServer()
|
||||
|
||||
beforeAll(() => {
|
||||
server.listen()
|
||||
})
|
||||
beforeAll(async () => {
|
||||
server.listen()
|
||||
|
||||
afterAll(() => {
|
||||
server.close()
|
||||
})
|
||||
|
||||
describe('given I perform a request using http.get', () => {
|
||||
let res: http.IncomingMessage
|
||||
let resBody = ''
|
||||
|
||||
beforeAll((done) => {
|
||||
http.get('http://test.mswjs.io', (message) => {
|
||||
res = message
|
||||
res.setEncoding('utf8')
|
||||
res.on('data', (chunk) => (resBody += chunk))
|
||||
res.on('end', done)
|
||||
})
|
||||
})
|
||||
|
||||
test('should return mocked status code', () => {
|
||||
expect(res.statusCode).toEqual(401)
|
||||
})
|
||||
|
||||
test('should return mocked headers', () => {
|
||||
expect(res.headers).toHaveProperty('content-type', 'application/json')
|
||||
expect(res.headers).toHaveProperty('x-header', 'yes')
|
||||
})
|
||||
|
||||
test('should return mocked body', () => {
|
||||
expect(resBody).toEqual('{"firstName":"John"}')
|
||||
})
|
||||
})
|
||||
|
||||
describe('given I perform a request using http.request', () => {
|
||||
let res: http.IncomingMessage
|
||||
let resBody = ''
|
||||
|
||||
beforeAll((done) => {
|
||||
const req = http.request('http://test.mswjs.io', (message) => {
|
||||
res = message
|
||||
res.setEncoding('utf8')
|
||||
res.on('data', (chunk) => (resBody += chunk))
|
||||
res.on('end', done)
|
||||
})
|
||||
|
||||
req.end()
|
||||
})
|
||||
|
||||
test('should return mocked status code', () => {
|
||||
expect(res.statusCode).toEqual(401)
|
||||
})
|
||||
|
||||
test('should return mocked headers', () => {
|
||||
expect(res.headers).toHaveProperty('content-type', 'application/json')
|
||||
expect(res.headers).toHaveProperty('x-header', 'yes')
|
||||
})
|
||||
|
||||
test('should return mocked body', () => {
|
||||
expect(resBody).toEqual('{"firstName":"John"}')
|
||||
httpServer = await createServer((app) => {
|
||||
app.get('/resource', (_, res) => {
|
||||
return res.status(500).send('original-response')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
server.use(
|
||||
rest.get(httpServer.http.makeUrl('/resource'), (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(401),
|
||||
ctx.set('x-header', 'yes'),
|
||||
ctx.json({ firstName: 'John' }),
|
||||
)
|
||||
}),
|
||||
)
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
server.resetHandlers()
|
||||
})
|
||||
|
||||
afterAll(async () => {
|
||||
server.close()
|
||||
await httpServer.close()
|
||||
})
|
||||
|
||||
it('returns a mocked response to an "http.get" request', async () => {
|
||||
const request = http.get(httpServer.http.makeUrl('/resource'))
|
||||
const { response, responseText } = await waitForClientRequest(request)
|
||||
|
||||
expect(response.statusCode).toBe(401)
|
||||
expect(response.headers).toEqual(
|
||||
expect.objectContaining({
|
||||
'content-type': 'application/json',
|
||||
'x-header': 'yes',
|
||||
}),
|
||||
)
|
||||
expect(responseText).toBe('{"firstName":"John"}')
|
||||
})
|
||||
|
||||
it('returns a mocked response to an "http.request" request', async () => {
|
||||
const request = http.request(httpServer.http.makeUrl('/resource'))
|
||||
request.end()
|
||||
const { response, responseText } = await waitForClientRequest(request)
|
||||
|
||||
expect(response.statusCode).toBe(401)
|
||||
expect(response.headers).toEqual(
|
||||
expect.objectContaining({
|
||||
'content-type': 'application/json',
|
||||
'x-header': 'yes',
|
||||
}),
|
||||
)
|
||||
expect(responseText).toBe('{"firstName":"John"}')
|
||||
})
|
||||
|
||||
@@ -1,85 +1,71 @@
|
||||
/**
|
||||
* @jest-environment node
|
||||
*/
|
||||
import * as https from 'https'
|
||||
import { IncomingMessage } from 'http'
|
||||
import https from 'https'
|
||||
import { ServerApi, createServer } from '@open-draft/test-server'
|
||||
import { rest } from 'msw'
|
||||
import { setupServer } from 'msw/node'
|
||||
import { waitForClientRequest } from '../../../support/utils'
|
||||
|
||||
describe('setupServer / https', () => {
|
||||
const server = setupServer(
|
||||
rest.get('https://test.mswjs.io', (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(401),
|
||||
ctx.set('x-header', 'yes'),
|
||||
ctx.json({
|
||||
firstName: 'John',
|
||||
}),
|
||||
)
|
||||
}),
|
||||
)
|
||||
let httpServer: ServerApi
|
||||
const server = setupServer()
|
||||
|
||||
beforeAll(() => {
|
||||
server.listen()
|
||||
})
|
||||
beforeAll(async () => {
|
||||
server.listen()
|
||||
|
||||
afterAll(() => {
|
||||
server.close()
|
||||
})
|
||||
|
||||
describe('given I perform a request using https.get', () => {
|
||||
let res: IncomingMessage
|
||||
let resBody = ''
|
||||
|
||||
beforeAll((done) => {
|
||||
https.get('https://test.mswjs.io', (message) => {
|
||||
res = message
|
||||
res.setEncoding('utf8')
|
||||
res.on('data', (chunk) => (resBody += chunk))
|
||||
res.on('end', done)
|
||||
})
|
||||
})
|
||||
|
||||
test('should return mocked status code', () => {
|
||||
expect(res.statusCode).toEqual(401)
|
||||
})
|
||||
|
||||
test('should return mocked headers', () => {
|
||||
expect(res.headers).toHaveProperty('content-type', 'application/json')
|
||||
expect(res.headers).toHaveProperty('x-header', 'yes')
|
||||
})
|
||||
|
||||
test('should return mocked body', () => {
|
||||
expect(resBody).toEqual('{"firstName":"John"}')
|
||||
})
|
||||
})
|
||||
|
||||
describe('given I perform a request using https.request', () => {
|
||||
let res: IncomingMessage
|
||||
let resBody = ''
|
||||
|
||||
beforeAll((done) => {
|
||||
const req = https.request('https://test.mswjs.io', (message) => {
|
||||
res = message
|
||||
res.setEncoding('utf8')
|
||||
res.on('data', (chunk) => (resBody += chunk))
|
||||
res.on('end', done)
|
||||
})
|
||||
|
||||
req.end()
|
||||
})
|
||||
|
||||
test('should return mocked status code', () => {
|
||||
expect(res.statusCode).toEqual(401)
|
||||
})
|
||||
|
||||
test('should return mocked headers', () => {
|
||||
expect(res.headers).toHaveProperty('content-type', 'application/json')
|
||||
expect(res.headers).toHaveProperty('x-header', 'yes')
|
||||
})
|
||||
|
||||
test('should return mocked body', () => {
|
||||
expect(resBody).toEqual('{"firstName":"John"}')
|
||||
httpServer = await createServer((app) => {
|
||||
app.get('/resource', (_, res) => {
|
||||
return res.status(500).send('original-response')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
server.use(
|
||||
rest.get(httpServer.https.makeUrl('/resource'), (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(401),
|
||||
ctx.set('x-header', 'yes'),
|
||||
ctx.json({ firstName: 'John' }),
|
||||
)
|
||||
}),
|
||||
)
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
server.resetHandlers()
|
||||
})
|
||||
|
||||
afterAll(async () => {
|
||||
server.close()
|
||||
await httpServer.close()
|
||||
})
|
||||
|
||||
it('returns a mocked response to an "https.get" request', async () => {
|
||||
const request = https.get(httpServer.https.makeUrl('/resource'))
|
||||
const { response, responseText } = await waitForClientRequest(request)
|
||||
|
||||
expect(response.statusCode).toBe(401)
|
||||
expect(response.headers).toEqual(
|
||||
expect.objectContaining({
|
||||
'content-type': 'application/json',
|
||||
'x-header': 'yes',
|
||||
}),
|
||||
)
|
||||
expect(responseText).toBe('{"firstName":"John"}')
|
||||
})
|
||||
|
||||
it('returns a mocked response to an "https.request" request', async () => {
|
||||
const request = https.request(httpServer.https.makeUrl('/resource'))
|
||||
request.end()
|
||||
const { response, responseText } = await waitForClientRequest(request)
|
||||
|
||||
expect(response.statusCode).toBe(401)
|
||||
expect(response.headers).toEqual(
|
||||
expect.objectContaining({
|
||||
'content-type': 'application/json',
|
||||
'x-header': 'yes',
|
||||
}),
|
||||
)
|
||||
expect(responseText).toBe('{"firstName":"John"}')
|
||||
})
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import * as path from 'path'
|
||||
import { ChildProcess } from 'child_process'
|
||||
import { ClientRequest, IncomingMessage } from 'http'
|
||||
|
||||
export function sleep(duration: number) {
|
||||
return new Promise((resolve) => {
|
||||
@@ -43,3 +44,29 @@ export function clearCookies(): void {
|
||||
.replace(/=.*/, `=;expires=${new Date(0).toUTCString()};path=/`)
|
||||
})
|
||||
}
|
||||
|
||||
export async function waitForClientRequest(request: ClientRequest): Promise<{
|
||||
response: IncomingMessage
|
||||
responseText: string
|
||||
}> {
|
||||
return new Promise((resolve, reject) => {
|
||||
request.once('error', reject)
|
||||
request.once('abort', () => reject(new Error('Request was aborted')))
|
||||
|
||||
request.on('response', (response) => {
|
||||
response.once('error', reject)
|
||||
|
||||
const responseChunks: Array<Buffer> = []
|
||||
|
||||
response.on('data', (chunk) => {
|
||||
responseChunks.push(Buffer.from(chunk))
|
||||
})
|
||||
response.once('end', () => {
|
||||
resolve({
|
||||
response,
|
||||
responseText: Buffer.concat(responseChunks).toString('utf8'),
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"strict": true,
|
||||
"target": "ES2015",
|
||||
"moduleResolution": "node",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"resolveJsonModule": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"esModuleInterop": true,
|
||||
"declaration": false,
|
||||
"noEmit": true,
|
||||
|
||||
@@ -1541,6 +1541,13 @@
|
||||
slash "^3.0.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
"@jest/create-cache-key-function@^27.4.2":
|
||||
version "27.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz#7448fae15602ea95c828f5eceed35c202a820b31"
|
||||
integrity sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==
|
||||
dependencies:
|
||||
"@jest/types" "^27.5.1"
|
||||
|
||||
"@jest/environment@^26.6.2":
|
||||
version "26.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c"
|
||||
@@ -1666,6 +1673,17 @@
|
||||
"@types/yargs" "^15.0.0"
|
||||
chalk "^4.0.0"
|
||||
|
||||
"@jest/types@^27.5.1":
|
||||
version "27.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80"
|
||||
integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==
|
||||
dependencies:
|
||||
"@types/istanbul-lib-coverage" "^2.0.0"
|
||||
"@types/istanbul-reports" "^3.0.0"
|
||||
"@types/node" "*"
|
||||
"@types/yargs" "^16.0.0"
|
||||
chalk "^4.0.0"
|
||||
|
||||
"@jridgewell/gen-mapping@^0.3.0":
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
|
||||
@@ -1820,6 +1838,80 @@
|
||||
dependencies:
|
||||
"@sinonjs/commons" "^1.7.0"
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.15.tgz#889e4c2aba1641df6ba8f3255f8923a4d764fdcd"
|
||||
integrity sha512-XDa4jtf+LsL7/cFPhlfeAfkLgwFufKQZ+0SmhRSKL8clA5Me1TU4zxmFoHNyDQZ0el8Q9dCDWOWn3e0Q32lHdQ==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.15.tgz#5c7cb29d44ba0fbdf149df7a1629869328ff7a66"
|
||||
integrity sha512-f3Dn3s6tx9JyZVWtftOkcO67IUkFHFTRRoJKXlbCxeut6ogudZSJdc42rYomjAiwWkSS8kNpsOic+cDw8EgksQ==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.15.tgz#f4d31f321428b6fa32cdcadf5f9963961def2cf3"
|
||||
integrity sha512-bjZByu6FKXGhF+z0EwrdC3hDGt/vQnEc1BF9lettEeCSMbOUdAjz8afbnYEu25p6Un8qgEj5xyQgsnLOzLFJ8g==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.15.tgz#6f93caf14e10ca07d90dee87be585f93b8354108"
|
||||
integrity sha512-/rm4+ck3oLC7qKi7q7IyqnPRg51HVVvpmcRPBbLrYPnD2m+FnL2uAPhOemAwM+GDv3eS+f5f8ye2Yz3hy99AtA==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.15.tgz#cc699b525fe1bcb7d404d03f56dec6cb55e532fe"
|
||||
integrity sha512-TRJcHyBsW/empMTaHEPmVnIKAThI43lTG7xANwtsB8/31ZSIDUEosZ3fEqmLSBqwvCoQfp93++2MFNQGTwMwpQ==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.15.tgz#ad181324f97ed0d4519bd23a14a8104cba157d94"
|
||||
integrity sha512-Xktb1uP4P9qNvyQ2nVPX2s+pAthWuTPmNeLO2NlS2jumzq01v4r3F64wLK7t31lvTEXyuiZSdfhE0yILcGmEqg==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.15.tgz#4841c4f2435d848cc0d1fd50bf09c7c974fbae92"
|
||||
integrity sha512-XUppG2CUE8guxKNpfhnbm2ukKdn0/hh+/t6tkQkbNm95CQqe0yiNMSZxUWIyf4wFcw1lymb15oiG8r34T+7iwQ==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.15.tgz#1a8c7d068bc9a39663ab3339c0271a7b2a047169"
|
||||
integrity sha512-gU1HFMrVAiLZaLmgN7LlsdWY5deIFjAvB84/kQzQNvPbnaDJbA9FXN7b0Wi9rn4WCmWmbZBj5H8O3UkCQV7WYw==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.15.tgz#b0bbaa8b3b25953f5a3980f9bc9e83609912bdba"
|
||||
integrity sha512-LmKqV6Vv455NaI7kv8P1xTbPCm8S1dNzI7EXb0A87Tm4Tzd5z6KnhDFCbvhMQjHixlq09V1szTdtN5YkIhMXEg==
|
||||
|
||||
"@swc/[email protected]":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.15.tgz#1b092b2eac1cf8c131945ae2ce4b816a37af8a10"
|
||||
integrity sha512-hikhDyJCNyf0C9+b62MXywmTx72+T3cbVBJa9q7vgBV/cKA9z0qbiVMmozAGraIv/gSq9HLHR9Q2nWWWeJl7yg==
|
||||
|
||||
"@swc/core@^1.3.15":
|
||||
version "1.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.15.tgz#f2ebac4b4d03e1085358fd4cb48a8030a6341a3d"
|
||||
integrity sha512-x5PYlmn2qFp8j0sl5vZHEdyA7SfjiqS7KgXSZfXydYiV1yFOaWQo2LvDjZ73fx3zhIR7oR96myDorglVpWdfhw==
|
||||
optionalDependencies:
|
||||
"@swc/core-darwin-arm64" "1.3.15"
|
||||
"@swc/core-darwin-x64" "1.3.15"
|
||||
"@swc/core-linux-arm-gnueabihf" "1.3.15"
|
||||
"@swc/core-linux-arm64-gnu" "1.3.15"
|
||||
"@swc/core-linux-arm64-musl" "1.3.15"
|
||||
"@swc/core-linux-x64-gnu" "1.3.15"
|
||||
"@swc/core-linux-x64-musl" "1.3.15"
|
||||
"@swc/core-win32-arm64-msvc" "1.3.15"
|
||||
"@swc/core-win32-ia32-msvc" "1.3.15"
|
||||
"@swc/core-win32-x64-msvc" "1.3.15"
|
||||
|
||||
"@swc/jest@^0.2.23":
|
||||
version "0.2.23"
|
||||
resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.23.tgz#0b7499d5927faaa090c5b7a4a0e35122968fef30"
|
||||
integrity sha512-ZLj17XjHbPtNsgqjm83qizENw05emLkKGu3WuPUttcy9hkngl0/kcc7fDbcSBpADS0GUtsO+iKPjZFWVAtJSlA==
|
||||
dependencies:
|
||||
"@jest/create-cache-key-function" "^27.4.2"
|
||||
jsonc-parser "^3.2.0"
|
||||
|
||||
"@tootallnate/once@1":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
|
||||
@@ -2204,6 +2296,13 @@
|
||||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
"@types/yargs@^16.0.0":
|
||||
version "16.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
|
||||
integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
|
||||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
"@types/yargs@^17.0.10":
|
||||
version "17.0.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a"
|
||||
@@ -3229,13 +3328,6 @@ browserslist@^4.19.1:
|
||||
node-releases "^2.0.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
[email protected]:
|
||||
version "0.2.6"
|
||||
resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
|
||||
integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
|
||||
dependencies:
|
||||
fast-json-stable-stringify "2.x"
|
||||
|
||||
[email protected]:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
|
||||
@@ -3248,11 +3340,6 @@ buffer-crc32@~0.2.3:
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
|
||||
|
||||
[email protected]:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
||||
@@ -4907,7 +4994,7 @@ fast-glob@^3.2.9:
|
||||
merge2 "^1.3.0"
|
||||
micromatch "^4.0.4"
|
||||
|
||||
[email protected], fast-json-stable-stringify@^2.0.0:
|
||||
fast-json-stable-stringify@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
|
||||
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
||||
@@ -6569,7 +6656,7 @@ jest-snapshot@^26.6.2:
|
||||
pretty-format "^26.6.2"
|
||||
semver "^7.3.2"
|
||||
|
||||
jest-util@^26.1.0, jest-util@^26.6.2:
|
||||
jest-util@^26.6.2:
|
||||
version "26.6.2"
|
||||
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1"
|
||||
integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==
|
||||
@@ -6741,13 +6828,6 @@ json3@^3.3.3:
|
||||
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
|
||||
integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
|
||||
|
||||
[email protected], json5@^2.1.2:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
|
||||
integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
|
||||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
json5@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
|
||||
@@ -6755,6 +6835,18 @@ json5@^1.0.1:
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
|
||||
json5@^2.1.2:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
|
||||
integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
|
||||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
jsonc-parser@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
|
||||
integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
|
||||
|
||||
jsonfile@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
@@ -6984,7 +7076,7 @@ lodash.uniqby@^4.7.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302"
|
||||
integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=
|
||||
|
||||
[email protected], lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0:
|
||||
lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
@@ -7031,7 +7123,7 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
|
||||
dependencies:
|
||||
semver "^6.0.0"
|
||||
|
||||
[email protected], make-error@^1.1.1:
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
@@ -7251,11 +7343,6 @@ mixin-deep@^1.2.0:
|
||||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
[email protected]:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
|
||||
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
|
||||
|
||||
mkdirp@^0.5.1, mkdirp@^0.5.5:
|
||||
version "0.5.5"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
|
||||
@@ -8688,18 +8775,18 @@ [email protected], semver@^7.3.5:
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4:
|
||||
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.2.1, semver@^7.3.2, semver@^7.3.4:
|
||||
version "7.3.4"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
|
||||
integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.3.7:
|
||||
version "7.3.7"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
|
||||
@@ -9613,22 +9700,6 @@ ts-interface-checker@^0.1.9:
|
||||
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
|
||||
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
|
||||
|
||||
ts-jest@26:
|
||||
version "26.5.6"
|
||||
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35"
|
||||
integrity sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==
|
||||
dependencies:
|
||||
bs-logger "0.x"
|
||||
buffer-from "1.x"
|
||||
fast-json-stable-stringify "2.x"
|
||||
jest-util "^26.1.0"
|
||||
json5 "2.x"
|
||||
lodash "4.x"
|
||||
make-error "1.x"
|
||||
mkdirp "1.x"
|
||||
semver "7.x"
|
||||
yargs-parser "20.x"
|
||||
|
||||
ts-loader@^9.2.6:
|
||||
version "9.2.6"
|
||||
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74"
|
||||
@@ -10423,11 +10494,6 @@ yaml@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec"
|
||||
integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==
|
||||
|
||||
[email protected]:
|
||||
version "20.2.5"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.5.tgz#5d37729146d3f894f39fc94b6796f5b239513186"
|
||||
integrity sha512-jYRGS3zWy20NtDtK2kBgo/TlAoy5YUuhD9/LZ7z7W4j1Fdw2cqD0xEEclf8fxc8xjD6X5Qr+qQQwCEsP8iRiYg==
|
||||
|
||||
yargs-parser@^10.0.0:
|
||||
version "10.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
|
||||
|
||||
Reference in New Issue
Block a user