0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-30 20:33:54 -05:00

refactor(ui): use swc for testing (#3726)

* refactor(ui): use swc for testing

* chore: remove unused code
This commit is contained in:
Gao Sun 2023-04-21 00:21:21 +08:00 committed by GitHub
parent 2ad86d55b3
commit be373591a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 237 additions and 180 deletions

View file

@ -1,6 +1,3 @@
// Need to disable following rules to mock text-decode/text-encoder and crypto for jsdom
// https://github.com/jsdom/jsdom/issues/1612
import { Crypto } from '@peculiar/webcrypto';
import dotenv from 'dotenv'; import dotenv from 'dotenv';
import fetch from 'node-fetch'; import fetch from 'node-fetch';
import { TextDecoder, TextEncoder } from 'text-encoder'; import { TextDecoder, TextEncoder } from 'text-encoder';
@ -10,7 +7,6 @@ const { jest } = import.meta;
dotenv.config(); dotenv.config();
/* eslint-disable @silverhand/fp/no-mutation */ /* eslint-disable @silverhand/fp/no-mutation */
global.crypto = new Crypto();
global.fetch = fetch; global.fetch = fetch;
global.TextDecoder = TextDecoder; global.TextDecoder = TextDecoder;
global.TextEncoder = TextEncoder; global.TextEncoder = TextEncoder;

View file

@ -26,7 +26,6 @@
"@logto/js": "1.1.0", "@logto/js": "1.1.0",
"@logto/node": "1.1.1", "@logto/node": "1.1.1",
"@logto/schemas": "workspace:^1.1.0", "@logto/schemas": "workspace:^1.1.0",
"@peculiar/webcrypto": "^1.3.3",
"@silverhand/eslint-config": "3.0.1", "@silverhand/eslint-config": "3.0.1",
"@silverhand/essentials": "^2.5.0", "@silverhand/essentials": "^2.5.0",
"@silverhand/ts-config": "3.0.0", "@silverhand/ts-config": "3.0.0",

View file

@ -1,3 +1,5 @@
import crypto from 'node:crypto';
import { assert } from '@silverhand/essentials'; import { assert } from '@silverhand/essentials';
export const generateName = () => crypto.randomUUID(); export const generateName = () => crypto.randomUUID();

View file

@ -1,20 +1,32 @@
import type { Config } from '@silverhand/jest-config'; import type { Config } from '@jest/types';
import { merge } from '@silverhand/jest-config';
const config: Config.InitialOptions = { const config: Config.InitialOptions = {
...merge({ roots: ['<rootDir>/src'],
testEnvironment: 'jsdom', testEnvironment: 'jsdom',
setupFilesAfterEnv: ['<rootDir>/src/jest.setup.ts'], setupFilesAfterEnv: ['<rootDir>/src/jest.setup.ts'],
transform: { transform: {
'\\.(svg)$': 'jest-transformer-svg', '^.+\\.(t|j)sx?$': [
'\\.(png)$': 'jest-transform-stub', '@swc/jest',
}, {
moduleNameMapper: { sourceMaps: true,
'^@logto/app-insights/(.*)$': '<rootDir>/node_modules/@logto/app-insights/lib/$1', jsc: {
'^@logto/shared/(.*)$': '<rootDir>/../shared/lib/$1', transform: {
}, react: {
}), runtime: 'automatic',
// Will update common config soon },
},
},
},
],
'\\.(svg)$': 'jest-transformer-svg',
'\\.(png)$': 'jest-transform-stub',
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
'^@logto/app-insights/(.*)$': '<rootDir>/../app-insights/lib/$1',
'^@logto/shared/(.*)$': '<rootDir>/../shared/lib/$1',
'\\.module\\.(css|sass|scss)$': 'identity-obj-proxy',
},
transformIgnorePatterns: ['node_modules/(?!(.*(nanoid|jose|ky|@logto|@silverhand))/)'], transformIgnorePatterns: ['node_modules/(?!(.*(nanoid|jose|ky|@logto|@silverhand))/)'],
}; };

View file

@ -20,6 +20,7 @@
"test": "jest" "test": "jest"
}, },
"devDependencies": { "devDependencies": {
"@jest/types": "^29.5.0",
"@logto/app-insights": "workspace:^1.1.0", "@logto/app-insights": "workspace:^1.1.0",
"@logto/connector-kit": "workspace:^1.1.1", "@logto/connector-kit": "workspace:^1.1.1",
"@logto/core-kit": "workspace:^2.0.0", "@logto/core-kit": "workspace:^2.0.0",
@ -32,15 +33,15 @@
"@parcel/core": "2.8.3", "@parcel/core": "2.8.3",
"@parcel/transformer-sass": "2.8.3", "@parcel/transformer-sass": "2.8.3",
"@parcel/transformer-svg-react": "2.8.3", "@parcel/transformer-svg-react": "2.8.3",
"@peculiar/webcrypto": "^1.3.3",
"@react-spring/shared": "^9.6.1", "@react-spring/shared": "^9.6.1",
"@react-spring/web": "^9.6.1", "@react-spring/web": "^9.6.1",
"@silverhand/eslint-config": "3.0.1", "@silverhand/eslint-config": "3.0.1",
"@silverhand/eslint-config-react": "3.0.1", "@silverhand/eslint-config-react": "3.0.1",
"@silverhand/essentials": "^2.5.0", "@silverhand/essentials": "^2.5.0",
"@silverhand/jest-config": "1.2.2",
"@silverhand/ts-config": "3.0.0", "@silverhand/ts-config": "3.0.0",
"@silverhand/ts-config-react": "3.0.0", "@silverhand/ts-config-react": "3.0.0",
"@swc/core": "^1.3.52",
"@swc/jest": "^0.2.26",
"@testing-library/react": "^14.0.0", "@testing-library/react": "^14.0.0",
"@types/color": "^3.0.3", "@types/color": "^3.0.3",
"@types/jest": "^29.4.0", "@types/jest": "^29.4.0",
@ -84,7 +85,6 @@
"stylelint": "^15.0.0", "stylelint": "^15.0.0",
"superstruct": "^1.0.3", "superstruct": "^1.0.3",
"tiny-cookie": "^2.4.1", "tiny-cookie": "^2.4.1",
"ts-jest": "^29.0.5",
"typescript": "^5.0.0", "typescript": "^5.0.0",
"use-debounced-loader": "^0.1.1", "use-debounced-loader": "^0.1.1",
"zod": "^3.20.2" "zod": "^3.20.2"

View file

@ -1,5 +1,3 @@
import { Crypto } from '@peculiar/webcrypto';
// https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom // https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
// eslint-disable-next-line @silverhand/fp/no-mutating-methods // eslint-disable-next-line @silverhand/fp/no-mutating-methods
Object.defineProperty(window, 'matchMedia', { Object.defineProperty(window, 'matchMedia', {
@ -17,9 +15,6 @@ Object.defineProperty(window, 'matchMedia', {
})), })),
}); });
// eslint-disable-next-line @silverhand/fp/no-mutation, no-restricted-syntax
global.crypto = new Crypto() as typeof global.crypto;
const translation = (key: string) => key; const translation = (key: string) => key;
// eslint-disable-next-line @typescript-eslint/no-unsafe-return // eslint-disable-next-line @typescript-eslint/no-unsafe-return

View file

@ -1,6 +0,0 @@
{
"extends": "./tsconfig",
"compilerOptions": {
"allowJs": true
}
}

View file

@ -3375,9 +3375,6 @@ importers:
'@logto/schemas': '@logto/schemas':
specifier: workspace:^1.1.0 specifier: workspace:^1.1.0
version: link:../schemas version: link:../schemas
'@peculiar/webcrypto':
specifier: ^1.3.3
version: 1.3.3
'@silverhand/eslint-config': '@silverhand/eslint-config':
specifier: 3.0.1 specifier: 3.0.1
version: 3.0.1(eslint@8.34.0)(prettier@2.8.4)(typescript@5.0.2) version: 3.0.1(eslint@8.34.0)(prettier@2.8.4)(typescript@5.0.2)
@ -3780,6 +3777,9 @@ importers:
packages/ui: packages/ui:
devDependencies: devDependencies:
'@jest/types':
specifier: ^29.5.0
version: 29.5.0
'@logto/app-insights': '@logto/app-insights':
specifier: workspace:^1.1.0 specifier: workspace:^1.1.0
version: link:../app-insights version: link:../app-insights
@ -3816,9 +3816,6 @@ importers:
'@parcel/transformer-svg-react': '@parcel/transformer-svg-react':
specifier: 2.8.3 specifier: 2.8.3
version: 2.8.3(@parcel/core@2.8.3) version: 2.8.3(@parcel/core@2.8.3)
'@peculiar/webcrypto':
specifier: ^1.3.3
version: 1.3.3
'@react-spring/shared': '@react-spring/shared':
specifier: ^9.6.1 specifier: ^9.6.1
version: 9.6.1(react@18.2.0) version: 9.6.1(react@18.2.0)
@ -3834,15 +3831,18 @@ importers:
'@silverhand/essentials': '@silverhand/essentials':
specifier: ^2.5.0 specifier: ^2.5.0
version: 2.5.0 version: 2.5.0
'@silverhand/jest-config':
specifier: 1.2.2
version: 1.2.2(@babel/core@7.20.2)(jest@29.5.0)(typescript@5.0.2)
'@silverhand/ts-config': '@silverhand/ts-config':
specifier: 3.0.0 specifier: 3.0.0
version: 3.0.0(typescript@5.0.2) version: 3.0.0(typescript@5.0.2)
'@silverhand/ts-config-react': '@silverhand/ts-config-react':
specifier: 3.0.0 specifier: 3.0.0
version: 3.0.0(typescript@5.0.2) version: 3.0.0(typescript@5.0.2)
'@swc/core':
specifier: ^1.3.52
version: 1.3.52
'@swc/jest':
specifier: ^0.2.26
version: 0.2.26(@swc/core@1.3.52)
'@testing-library/react': '@testing-library/react':
specifier: ^14.0.0 specifier: ^14.0.0
version: 14.0.0(react-dom@18.2.0)(react@18.2.0) version: 14.0.0(react-dom@18.2.0)(react@18.2.0)
@ -3893,7 +3893,7 @@ importers:
version: 3.0.0 version: 3.0.0
jest: jest:
specifier: ^29.5.0 specifier: ^29.5.0
version: 29.5.0(@types/node@18.11.18) version: 29.5.0
jest-environment-jsdom: jest-environment-jsdom:
specifier: ^29.0.0 specifier: ^29.0.0
version: 29.2.2 version: 29.2.2
@ -3972,9 +3972,6 @@ importers:
tiny-cookie: tiny-cookie:
specifier: ^2.4.1 specifier: ^2.4.1
version: 2.4.1 version: 2.4.1
ts-jest:
specifier: ^29.0.5
version: 29.0.5(@babel/core@7.20.2)(@jest/types@29.5.0)(jest@29.5.0)(typescript@5.0.2)
typescript: typescript:
specifier: ^5.0.0 specifier: ^5.0.0
version: 5.0.2 version: 5.0.2
@ -6739,6 +6736,13 @@ packages:
- ts-node - ts-node
dev: true dev: true
/@jest/create-cache-key-function@27.5.1:
resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
dev: true
/@jest/environment@27.5.1: /@jest/environment@27.5.1:
resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@ -8246,33 +8250,6 @@ packages:
nullthrows: 1.1.1 nullthrows: 1.1.1
dev: true dev: true
/@peculiar/asn1-schema@2.1.0:
resolution: {integrity: sha512-D6g4C5YRKC/iPujMAOXuZ7YGdaoMx8GsvWzfVSyx2LYeL38ECOKNywlYAuwbqQvON64lgsYdAujWQPX8hhoBLw==}
dependencies:
'@types/asn1js': 2.0.2
asn1js: 2.3.2
pvtsutils: 1.2.2
tslib: 2.5.0
dev: true
/@peculiar/json-schema@1.1.12:
resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
engines: {node: '>=8.0.0'}
dependencies:
tslib: 2.5.0
dev: true
/@peculiar/webcrypto@1.3.3:
resolution: {integrity: sha512-+jkp16Hp18HkphJlMtqsQKjyDWJBh0AhDuoB+vVakuIRbkBdaFb7v26Ldm25altjiYhCyQnR5NChHxwSTvbXJw==}
engines: {node: '>=10.12.0'}
dependencies:
'@peculiar/asn1-schema': 2.1.0
'@peculiar/json-schema': 1.1.12
pvtsutils: 1.2.2
tslib: 2.4.1
webcrypto-core: 1.7.3
dev: true
/@pkgr/utils@2.3.1: /@pkgr/utils@2.3.1:
resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
@ -8613,26 +8590,6 @@ packages:
resolution: {integrity: sha512-8GgVFAmbo6S0EgsjYXH4aH8a69O7SzEtPFPDpVZmJuGEt8e3ODVx0F2V4rXyC3/SzFbcb2md2gRbA+Z6aTad6g==} resolution: {integrity: sha512-8GgVFAmbo6S0EgsjYXH4aH8a69O7SzEtPFPDpVZmJuGEt8e3ODVx0F2V4rXyC3/SzFbcb2md2gRbA+Z6aTad6g==}
engines: {node: ^16.13.0 || ^18.12.0 || ^19.2.0, pnpm: ^7} engines: {node: ^16.13.0 || ^18.12.0 || ^19.2.0, pnpm: ^7}
/@silverhand/jest-config@1.2.2(@babel/core@7.20.2)(jest@29.5.0)(typescript@5.0.2):
resolution: {integrity: sha512-sCOIHN3kIG9nyySkDao8nz6HK8VhGoUV4WG1CCriDDeGTqbHs4IprzTp1p+ChFdC8JGBCElQC0cIFrWYTFnTAQ==}
engines: {node: ^16.0.0 || ^18.0.0}
peerDependencies:
jest: ^29.0.0 || ^29.1.2
dependencies:
'@jest/types': 29.5.0
deepmerge: 4.2.2
identity-obj-proxy: 3.0.0
jest: 29.5.0(@types/node@18.11.18)
jest-matcher-specific-error: 1.0.0
jest-transform-stub: 2.0.0
ts-jest: 29.0.5(@babel/core@7.20.2)(@jest/types@29.5.0)(jest@29.5.0)(typescript@5.0.2)
transitivePeerDependencies:
- '@babel/core'
- babel-jest
- esbuild
- typescript
dev: true
/@silverhand/jest-config@3.0.0(jest@29.5.0): /@silverhand/jest-config@3.0.0(jest@29.5.0):
resolution: {integrity: sha512-5ezkX1/EVQiL2Y3lMY3jLT00GvyRgNKWAB/LIToVN0BQPnasdzKV6sSn2wrQD6XY3lNvR9TBdZajGmG/jtcRjA==} resolution: {integrity: sha512-5ezkX1/EVQiL2Y3lMY3jLT00GvyRgNKWAB/LIToVN0BQPnasdzKV6sSn2wrQD6XY3lNvR9TBdZajGmG/jtcRjA==}
engines: {node: ^18.12.0} engines: {node: ^18.12.0}
@ -8860,12 +8817,135 @@ packages:
svgo: 2.8.0 svgo: 2.8.0
dev: true dev: true
/@swc/core-darwin-arm64@1.3.52:
resolution: {integrity: sha512-Y+4YDN7mAhMgqLVMjpIOagFg93uWdQRsJXd3NAXo24CAJXLBuXsiXQdJVdhGavQkF0+NuhFSTGrzB8TknzWQkg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@swc/core-darwin-x64@1.3.52:
resolution: {integrity: sha512-XbvBA+DwTedleh/smYA6E1Z1L1tVnF+ULhpszAAW4YYDzH47R73ucCdcSH/aHs4swv+uyvRquKoDtTTNZFvD4A==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-arm-gnueabihf@1.3.52:
resolution: {integrity: sha512-YRTLjZcoGH09q0vjg5s6vxOryzAGlMx2Ly6Hq8+8ruBtG3QTsCN3y7MI8mX254xdFCJiTX5YwQheGjRXS7FF9A==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-arm64-gnu@1.3.52:
resolution: {integrity: sha512-B0HKtj0XpqpqflGKMxFlyXyORN0xshF8TVzUBD/2FgF7o8fE2RM1eqtdf1EzmZTT1hwxLpJXrEj+0gSXfWPW4A==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-arm64-musl@1.3.52:
resolution: {integrity: sha512-GCxNjTAborAmv4VV1AMZLyejHLGgIzu13tvLUFqybtU4jFxVbE2ZK4ZnPCfDlWN+eBwyRWk1oNFR2hH+66vaUQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-x64-gnu@1.3.52:
resolution: {integrity: sha512-mrvDBSkLI3Mza2qcu3uzB5JGwMBYDb1++UQ1VB0RXf2AR21/cCper4P44IpfdeqFz9XyXq18Sh3gblICUCGvig==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-x64-musl@1.3.52:
resolution: {integrity: sha512-r9RIvKUQv7yBkpXz+QxPAucdoj8ymBlgIm5rLE0b5VmU7dlKBnpAmRBYaITdH6IXhF0pwuG+FHAd5elBcrkIwA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-win32-arm64-msvc@1.3.52:
resolution: {integrity: sha512-YRtEr7tDo0Wes3M2ZhigF4erUjWBXeFP+O+iz6ELBBmPG7B7m/lrA21eiW9/90YGnzi0iNo46shK6PfXuPhP+Q==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@swc/core-win32-ia32-msvc@1.3.52:
resolution: {integrity: sha512-t1x6EdYg3nnnmZBkEtmdXwGpVFTnkNCYyTILcn4367tKI6NpcNe75tz6wBUZAWAmol6Bn75je9KHDNC9uBcO2A==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@swc/core-win32-x64-msvc@1.3.52:
resolution: {integrity: sha512-ef0KzcHxWgRii0EyUlgzNA0ycqaRRKxSb6QCO9Ev3tib4SSjbPy0MAndU7f82Ndm/pPmXT+7cciRtZ083vzjZA==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@swc/core@1.3.52:
resolution: {integrity: sha512-2LOkkl5Ebyzg1e2pu/tqz5zAAiNAtSR99KZDJz4+FTpo6lYwr+SRkeXSNFrYAReHBMb5VJoimrLDLHJ2X1E7Lg==}
engines: {node: '>=10'}
requiresBuild: true
peerDependencies:
'@swc/helpers': ^0.5.0
peerDependenciesMeta:
'@swc/helpers':
optional: true
optionalDependencies:
'@swc/core-darwin-arm64': 1.3.52
'@swc/core-darwin-x64': 1.3.52
'@swc/core-linux-arm-gnueabihf': 1.3.52
'@swc/core-linux-arm64-gnu': 1.3.52
'@swc/core-linux-arm64-musl': 1.3.52
'@swc/core-linux-x64-gnu': 1.3.52
'@swc/core-linux-x64-musl': 1.3.52
'@swc/core-win32-arm64-msvc': 1.3.52
'@swc/core-win32-ia32-msvc': 1.3.52
'@swc/core-win32-x64-msvc': 1.3.52
dev: true
/@swc/helpers@0.4.14: /@swc/helpers@0.4.14:
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
dependencies: dependencies:
tslib: 2.5.0 tslib: 2.5.0
dev: true dev: true
/@swc/jest@0.2.26(@swc/core@1.3.52):
resolution: {integrity: sha512-7lAi7q7ShTO3E5Gt1Xqf3pIhRbERxR1DUxvtVa9WKzIB+HGQ7wZP5sYx86zqnaEoKKGhmOoZ7gyW0IRu8Br5+A==}
engines: {npm: '>= 7.0.0'}
peerDependencies:
'@swc/core': '*'
dependencies:
'@jest/create-cache-key-function': 27.5.1
'@swc/core': 1.3.52
jsonc-parser: 3.2.0
dev: true
/@szmarczak/http-timer@5.0.1: /@szmarczak/http-timer@5.0.1:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
@ -8939,10 +9019,6 @@ packages:
resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==}
dev: true dev: true
/@types/asn1js@2.0.2:
resolution: {integrity: sha512-t4YHCgtD+ERvH0FyxvNlYwJ2ezhqw7t+Ygh4urQ7dJER8i185JPv6oIM3ey5YQmGN6Zp9EMbpohkjZi9t3UxwA==}
dev: true
/@types/babel__core@7.1.19: /@types/babel__core@7.1.19:
resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==}
dependencies: dependencies:
@ -9933,13 +10009,6 @@ packages:
safer-buffer: 2.1.2 safer-buffer: 2.1.2
dev: false dev: false
/asn1js@2.3.2:
resolution: {integrity: sha512-IYzujqcOk7fHaePpTyvD3KPAA0AjT3qZlaQAw76zmPPAV/XTjhO+tbHjbFbIQZIhw+fk9wCSfb0Z6K+JHe8Q2g==}
engines: {node: '>=6.0.0'}
dependencies:
pvutils: 1.1.3
dev: true
/ast-types-flow@0.0.7: /ast-types-flow@0.0.7:
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
dev: true dev: true
@ -10208,13 +10277,6 @@ packages:
update-browserslist-db: 1.0.10(browserslist@4.21.4) update-browserslist-db: 1.0.10(browserslist@4.21.4)
dev: true dev: true
/bs-logger@0.2.6:
resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
engines: {node: '>= 6'}
dependencies:
fast-json-stable-stringify: 2.1.0
dev: true
/bser@2.1.1: /bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
dependencies: dependencies:
@ -11096,6 +11158,17 @@ packages:
/dayjs@1.11.6: /dayjs@1.11.6:
resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==}
/debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: 2.1.3
dev: true
/debug@3.2.7(supports-color@5.5.0): /debug@3.2.7(supports-color@5.5.0):
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies: peerDependencies:
@ -11636,7 +11709,7 @@ packages:
/eslint-import-resolver-node@0.3.7: /eslint-import-resolver-node@0.3.7:
resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
dependencies: dependencies:
debug: 3.2.7(supports-color@5.5.0) debug: 3.2.7
is-core-module: 2.11.0 is-core-module: 2.11.0
resolve: 1.22.1 resolve: 1.22.1
transitivePeerDependencies: transitivePeerDependencies:
@ -11685,7 +11758,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 5.57.0(eslint@8.34.0)(typescript@5.0.2) '@typescript-eslint/parser': 5.57.0(eslint@8.34.0)(typescript@5.0.2)
debug: 3.2.7(supports-color@5.5.0) debug: 3.2.7
eslint: 8.34.0 eslint: 8.34.0
eslint-import-resolver-node: 0.3.7 eslint-import-resolver-node: 0.3.7
eslint-import-resolver-typescript: 3.5.4(eslint-plugin-import@2.27.5)(eslint@8.34.0) eslint-import-resolver-typescript: 3.5.4(eslint-plugin-import@2.27.5)(eslint@8.34.0)
@ -11737,7 +11810,7 @@ packages:
array-includes: 3.1.6 array-includes: 3.1.6
array.prototype.flat: 1.3.1 array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1 array.prototype.flatmap: 1.3.1
debug: 3.2.7(supports-color@5.5.0) debug: 3.2.7
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.34.0 eslint: 8.34.0
eslint-import-resolver-node: 0.3.7 eslint-import-resolver-node: 0.3.7
@ -13795,6 +13868,34 @@ packages:
- supports-color - supports-color
dev: true dev: true
/jest-cli@29.5.0:
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
dependencies:
'@jest/core': 29.5.0
'@jest/test-result': 29.5.0
'@jest/types': 29.5.0
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.10
import-local: 3.1.0
jest-config: 29.5.0(@types/node@18.11.18)
jest-util: 29.5.0
jest-validate: 29.5.0
prompts: 2.4.2
yargs: 17.6.0
transitivePeerDependencies:
- '@types/node'
- supports-color
- ts-node
dev: true
/jest-cli@29.5.0(@types/node@18.11.18): /jest-cli@29.5.0(@types/node@18.11.18):
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@ -14261,7 +14362,7 @@ packages:
jest: ^28.1.0 || ^29.1.2 jest: ^28.1.0 || ^29.1.2
react: ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0
dependencies: dependencies:
jest: 29.5.0(@types/node@18.11.18) jest: 29.5.0
react: 18.2.0 react: 18.2.0
dev: true dev: true
@ -14349,6 +14450,26 @@ packages:
supports-color: 8.1.1 supports-color: 8.1.1
dev: true dev: true
/jest@29.5.0:
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
dependencies:
'@jest/core': 29.5.0
'@jest/types': 29.5.0
import-local: 3.1.0
jest-cli: 29.5.0
transitivePeerDependencies:
- '@types/node'
- supports-color
- ts-node
dev: true
/jest@29.5.0(@types/node@18.11.18): /jest@29.5.0(@types/node@18.11.18):
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@ -14506,10 +14627,8 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/json5@2.2.3: /jsonc-parser@3.2.0:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
engines: {node: '>=6'}
hasBin: true
dev: true dev: true
/jsonfile@4.0.0: /jsonfile@4.0.0:
@ -15018,10 +15137,6 @@ packages:
resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
dev: false dev: false
/lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
dev: true
/lodash.merge@4.6.2: /lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true dev: true
@ -17118,17 +17233,6 @@ packages:
resolution: {integrity: sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw==} resolution: {integrity: sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw==}
dev: true dev: true
/pvtsutils@1.2.2:
resolution: {integrity: sha512-OALo5ZEdqiI127i64+CXwkCOyFHUA+tCQgaUO/MvRDFXWPr53f2sx28ECNztUEzuyu5xvuuD1EB/szg9mwJoGA==}
dependencies:
tslib: 2.5.0
dev: true
/pvutils@1.1.3:
resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
engines: {node: '>=6.0.0'}
dev: true
/q@1.5.1: /q@1.5.1:
resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=}
engines: {node: '>=0.6.0', teleport: '>=0.2.0'} engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
@ -19139,41 +19243,6 @@ packages:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
dev: true dev: true
/ts-jest@29.0.5(@babel/core@7.20.2)(@jest/types@29.5.0)(jest@29.5.0)(typescript@5.0.2):
resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
'@babel/core': '>=7.0.0-beta.0 <8'
'@jest/types': ^29.0.0
babel-jest: ^29.0.0
esbuild: '*'
jest: ^29.0.0 || ^29.1.2
typescript: '>=4.3'
peerDependenciesMeta:
'@babel/core':
optional: true
'@jest/types':
optional: true
babel-jest:
optional: true
esbuild:
optional: true
dependencies:
'@babel/core': 7.20.2
'@jest/types': 29.5.0
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
jest: 29.5.0(@types/node@18.11.18)
jest-util: 29.5.0
json5: 2.2.3
lodash.memoize: 4.1.2
make-error: 1.3.6
semver: 7.3.8
typescript: 5.0.2
yargs-parser: 21.1.1
dev: true
/ts-node@10.7.0(@types/node@18.11.18)(typescript@4.9.4): /ts-node@10.7.0(@types/node@18.11.18)(typescript@4.9.4):
resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==} resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==}
hasBin: true hasBin: true
@ -19705,16 +19774,6 @@ packages:
engines: {node: '>= 8'} engines: {node: '>= 8'}
dev: true dev: true
/webcrypto-core@1.7.3:
resolution: {integrity: sha512-8TnMtwwC/hQOyvElAOJ26lJKGgcErUG02KnKS1+QhjV4mDvQetVWU1EUEeLF8ICOrdc42+GypocyBJKRqo2kQg==}
dependencies:
'@peculiar/asn1-schema': 2.1.0
'@peculiar/json-schema': 1.1.12
asn1js: 2.3.2
pvtsutils: 1.2.2
tslib: 2.5.0
dev: true
/webidl-conversions@3.0.1: /webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}