From 3f152a8cab628513081cd797257abd0582f2e0d6 Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Thu, 28 Mar 2024 14:49:15 +0800 Subject: [PATCH] refactor: remove jest --- packages/schemas/jest.config.js | 13 --- packages/schemas/package.json | 15 ++- packages/schemas/src/gen/utils.test.ts | 2 + packages/schemas/src/utils/domain.test.ts | 2 + packages/schemas/tsconfig.test.json | 8 -- packages/shared/jest.config.js | 13 --- packages/shared/package.json | 14 +-- packages/shared/src/esm/module-proxy.ts | 4 + .../shared/src/include.d/import-meta.d.ts | 10 +- packages/shared/src/node/env/UrlSet.test.ts | 2 + packages/shared/src/utils/id.test.ts | 2 + packages/shared/src/utils/sub-domain.test.ts | 2 + packages/shared/src/utils/ttl-cache.test.ts | 18 +-- .../src/utils/user-display-name.test.ts | 2 + packages/shared/tsconfig.json | 2 +- packages/shared/tsconfig.test.json | 3 - pnpm-lock.yaml | 108 +++++------------- 17 files changed, 69 insertions(+), 151 deletions(-) delete mode 100644 packages/schemas/jest.config.js delete mode 100644 packages/schemas/tsconfig.test.json delete mode 100644 packages/shared/jest.config.js delete mode 100644 packages/shared/tsconfig.test.json diff --git a/packages/schemas/jest.config.js b/packages/schemas/jest.config.js deleted file mode 100644 index 5656d3347..000000000 --- a/packages/schemas/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/** @type {import('jest').Config} */ -const config = { - transform: {}, - coveragePathIgnorePatterns: ['/node_modules/', '/src/__mocks__/'], - coverageReporters: ['text-summary', 'lcov'], - coverageProvider: 'v8', - roots: ['./lib'], - moduleNameMapper: { - '^(chalk|inquirer)$': '/../shared/lib/esm/module-proxy.js', - }, -}; - -export default config; diff --git a/packages/schemas/package.json b/packages/schemas/package.json index 81c346625..aae1bc9ca 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -26,15 +26,14 @@ "generate": "./generate.sh", "build:alterations": "rm -rf alterations-js && tsc -p tsconfig.build.alterations.json", "build": "pnpm generate && rm -rf lib/ && tsc -p tsconfig.build.json && pnpm build:alterations", - "build:test": "pnpm generate && rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build:test": "pnpm build", "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", "lint": "eslint --ext .ts src", "lint:report": "pnpm lint --format json --output-file report.json", "prepublishOnly": "! ls alterations/next-*", "prepack": "pnpm build", - "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", - "test": "pnpm build:test && pnpm test:only", - "test:ci": "pnpm test:only" + "test": "vitest src", + "test:ci": "pnpm run test --silent --coverage" }, "engines": { "node": "^20.9.0" @@ -42,21 +41,21 @@ "devDependencies": { "@silverhand/eslint-config": "5.0.0", "@silverhand/essentials": "^2.9.0", + "@silverhand/slonik": "31.0.0-beta.2", "@silverhand/ts-config": "5.0.0", "@types/inquirer": "^9.0.0", - "@types/jest": "^29.4.0", "@types/node": "^20.9.5", "@types/pluralize": "^0.0.33", + "@vitest/coverage-v8": "^1.4.0", "camelcase": "^8.0.0", "chalk": "^5.0.0", "eslint": "^8.44.0", - "jest": "^29.7.0", "lint-staged": "^15.0.0", "pluralize": "^8.0.0", "prettier": "^3.0.0", "roarr": "^7.11.0", - "@silverhand/slonik": "31.0.0-beta.2", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "vitest": "^1.4.0" }, "eslintConfig": { "extends": "@silverhand", diff --git a/packages/schemas/src/gen/utils.test.ts b/packages/schemas/src/gen/utils.test.ts index 679dc630e..fadf34d35 100644 --- a/packages/schemas/src/gen/utils.test.ts +++ b/packages/schemas/src/gen/utils.test.ts @@ -1,3 +1,5 @@ +import { describe, it, expect } from 'vitest'; + import { parseType, getType, splitTableFieldDefinitions } from './utils.js'; describe('splitTableFieldDefinitions', () => { diff --git a/packages/schemas/src/utils/domain.test.ts b/packages/schemas/src/utils/domain.test.ts index 61167fd46..bb83f35b5 100644 --- a/packages/schemas/src/utils/domain.test.ts +++ b/packages/schemas/src/utils/domain.test.ts @@ -1,3 +1,5 @@ +import { describe, it, expect } from 'vitest'; + import { findDuplicatedOrBlockedEmailDomains } from './domain.js'; describe('findDuplicatedOrBlockedEmailDomains', () => { diff --git a/packages/schemas/tsconfig.test.json b/packages/schemas/tsconfig.test.json deleted file mode 100644 index 55de18c33..000000000 --- a/packages/schemas/tsconfig.test.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "isolatedModules": false, - "allowJs": true - }, - "include": ["src"] -} diff --git a/packages/shared/jest.config.js b/packages/shared/jest.config.js deleted file mode 100644 index 5656d3347..000000000 --- a/packages/shared/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/** @type {import('jest').Config} */ -const config = { - transform: {}, - coveragePathIgnorePatterns: ['/node_modules/', '/src/__mocks__/'], - coverageReporters: ['text-summary', 'lcov'], - coverageProvider: 'v8', - roots: ['./lib'], - moduleNameMapper: { - '^(chalk|inquirer)$': '/../shared/lib/esm/module-proxy.js', - }, -}; - -export default config; diff --git a/packages/shared/package.json b/packages/shared/package.json index c041a20d7..995e79862 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -28,26 +28,26 @@ "scripts": { "precommit": "lint-staged", "build": "rm -rf lib/ && tsc -p tsconfig.build.json", - "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build:test": "pnpm build", "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", "lint": "eslint --ext .ts src", "lint:report": "pnpm lint --format json --output-file report.json", "prepack": "pnpm build", - "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", - "test": "pnpm build:test && pnpm test:only", - "test:ci": "pnpm test:only" + "test": "vitest src", + "test:ci": "pnpm run test --silent --coverage" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@logto/connector-kit": "workspace:^2.1.0", "@silverhand/eslint-config": "5.0.0", "@silverhand/ts-config": "5.0.0", - "@types/jest": "^29.4.0", "@types/node": "^20.9.5", + "@vitest/coverage-v8": "^1.4.0", "eslint": "^8.44.0", - "jest": "^29.7.0", "lint-staged": "^15.0.0", "prettier": "^3.0.0", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "vitest": "^1.4.0" }, "engines": { "node": "^20.9.0" diff --git a/packages/shared/src/esm/module-proxy.ts b/packages/shared/src/esm/module-proxy.ts index a6662ef8f..6868afd33 100644 --- a/packages/shared/src/esm/module-proxy.ts +++ b/packages/shared/src/esm/module-proxy.ts @@ -1,3 +1,7 @@ +/** + * @fileoverview This file is used for jest only. This package does not need jest for testing. + */ + const { jest } = import.meta; // For testing diff --git a/packages/shared/src/include.d/import-meta.d.ts b/packages/shared/src/include.d/import-meta.d.ts index e016debb5..54a74e9c9 100644 --- a/packages/shared/src/include.d/import-meta.d.ts +++ b/packages/shared/src/include.d/import-meta.d.ts @@ -1,10 +1,4 @@ interface ImportMeta { - jest: typeof jest & { - // Almost same as `jest.mock()`, but factory is required - unstable_mockModule: ( - moduleName: string, - factory: () => T, - options?: jest.MockOptions - ) => typeof jest; - }; + // eslint-disable-next-line @typescript-eslint/consistent-type-imports -- import from outside will invalid this module augmentation + jest: typeof import('@jest/globals').jest; } diff --git a/packages/shared/src/node/env/UrlSet.test.ts b/packages/shared/src/node/env/UrlSet.test.ts index 2348ddc2a..63e302edc 100644 --- a/packages/shared/src/node/env/UrlSet.test.ts +++ b/packages/shared/src/node/env/UrlSet.test.ts @@ -1,3 +1,5 @@ +import { afterEach, describe, expect, it } from 'vitest'; + import UrlSet from './UrlSet.js'; describe('UrlSet', () => { diff --git a/packages/shared/src/utils/id.test.ts b/packages/shared/src/utils/id.test.ts index 1c8bdcff4..788f82667 100644 --- a/packages/shared/src/utils/id.test.ts +++ b/packages/shared/src/utils/id.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest'; + import { generateStandardId, generateStandardSecret, generateStandardShortId } from './id.js'; describe('standard id generator', () => { diff --git a/packages/shared/src/utils/sub-domain.test.ts b/packages/shared/src/utils/sub-domain.test.ts index 0515a92ce..bc9f7272f 100644 --- a/packages/shared/src/utils/sub-domain.test.ts +++ b/packages/shared/src/utils/sub-domain.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest'; + import { isValidSubdomain } from './sub-domain.js'; describe('isValidSubdomain()', () => { diff --git a/packages/shared/src/utils/ttl-cache.test.ts b/packages/shared/src/utils/ttl-cache.test.ts index d9b69209f..ee6a9659f 100644 --- a/packages/shared/src/utils/ttl-cache.test.ts +++ b/packages/shared/src/utils/ttl-cache.test.ts @@ -1,31 +1,31 @@ -import { TtlCache } from './ttl-cache.js'; +import { afterEach, describe, expect, it, beforeEach, vi } from 'vitest'; -const { jest } = import.meta; +import { TtlCache } from './ttl-cache.js'; describe('TtlCache', () => { beforeEach(() => { - jest.useFakeTimers(); + vi.useFakeTimers(); }); afterEach(() => { - jest.useRealTimers(); + vi.useRealTimers(); }); it('should return cached value after a long time if ttl is not set', () => { - jest.setSystemTime(0); + vi.setSystemTime(0); const cache = new TtlCache(); const someObject = Object.freeze({ foo: 'bar', baz: 123 }); cache.set('foo', someObject); - jest.setSystemTime(100_000_000); + vi.setSystemTime(100_000_000); expect(cache.get('foo')).toBe(someObject); expect(cache.has('foo')).toBe(true); }); it('should return cached value and honor ttl', () => { - jest.setSystemTime(0); + vi.setSystemTime(0); const cache = new TtlCache(100); const someObject = Object.freeze({ foo: 'bar', baz: 123 }); @@ -33,7 +33,7 @@ describe('TtlCache', () => { cache.set(123, someObject); cache.set('foo', someObject, 99); - jest.setSystemTime(100); + vi.setSystemTime(100); expect(cache.get(123)).toBe(someObject); expect(cache.has(123)).toBe(true); expect(cache.get('123')).toBe(undefined); @@ -41,7 +41,7 @@ describe('TtlCache', () => { expect(cache.get('foo')).toBe(undefined); expect(cache.has('foo')).toBe(false); - jest.setSystemTime(101); + vi.setSystemTime(101); expect(cache.get(123)).toBe(undefined); expect(cache.has(123)).toBe(false); }); diff --git a/packages/shared/src/utils/user-display-name.test.ts b/packages/shared/src/utils/user-display-name.test.ts index 8c02e035b..27594135b 100644 --- a/packages/shared/src/utils/user-display-name.test.ts +++ b/packages/shared/src/utils/user-display-name.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest'; + import { getUserDisplayName } from './user-display-name.js'; describe('getUserDisplayName', () => { diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index 260f3d2f0..225658205 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -2,7 +2,7 @@ "extends": "@silverhand/ts-config/tsconfig.base", "compilerOptions": { "outDir": "lib", - "types": ["node", "jest"] + "types": ["node"] }, "include": [ "src" diff --git a/packages/shared/tsconfig.test.json b/packages/shared/tsconfig.test.json deleted file mode 100644 index 1c66acf6d..000000000 --- a/packages/shared/tsconfig.test.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./tsconfig" -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b1fcb558c..f7d4c7d94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3814,15 +3814,15 @@ importers: '@types/inquirer': specifier: ^9.0.0 version: 9.0.3 - '@types/jest': - specifier: ^29.4.0 - version: 29.4.0 '@types/node': specifier: ^20.9.5 version: 20.10.4 '@types/pluralize': specifier: ^0.0.33 version: 0.0.33 + '@vitest/coverage-v8': + specifier: ^1.4.0 + version: 1.4.0(vitest@1.4.0) camelcase: specifier: ^8.0.0 version: 8.0.0 @@ -3832,9 +3832,6 @@ importers: eslint: specifier: ^8.44.0 version: 8.44.0 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.10.4) lint-staged: specifier: ^15.0.0 version: 15.0.2 @@ -3850,6 +3847,9 @@ importers: typescript: specifier: ^5.3.3 version: 5.3.3 + vitest: + specifier: ^1.4.0 + version: 1.4.0(@types/node@20.10.4) packages/shared: dependencies: @@ -3869,6 +3869,9 @@ importers: specifier: ^5.0.1 version: 5.0.1 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@logto/connector-kit': specifier: workspace:^2.1.0 version: link:../toolkit/connector-kit @@ -3878,18 +3881,15 @@ importers: '@silverhand/ts-config': specifier: 5.0.0 version: 5.0.0(typescript@5.3.3) - '@types/jest': - specifier: ^29.4.0 - version: 29.4.0 '@types/node': specifier: ^20.9.5 version: 20.10.4 + '@vitest/coverage-v8': + specifier: ^1.4.0 + version: 1.4.0(vitest@1.4.0) eslint: specifier: ^8.44.0 version: 8.44.0 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.10.4) lint-staged: specifier: ^15.0.0 version: 15.0.2 @@ -3899,6 +3899,9 @@ importers: typescript: specifier: ^5.3.3 version: 5.3.3 + vitest: + specifier: ^1.4.0 + version: 1.4.0(@types/node@20.10.4) packages/toolkit/connector-kit: dependencies: @@ -5959,7 +5962,7 @@ packages: resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 jsesc: 2.5.2 dev: true @@ -6001,7 +6004,7 @@ packages: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 dev: true /@babel/helper-module-transforms@7.20.2: @@ -6015,7 +6018,7 @@ packages: '@babel/helper-validator-identifier': 7.22.5 '@babel/template': 7.18.10 '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color dev: true @@ -6033,14 +6036,14 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 dev: true /@babel/helper-string-parser@7.19.4: @@ -6074,7 +6077,7 @@ packages: dependencies: '@babel/template': 7.18.10 '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color dev: true @@ -6093,7 +6096,7 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.24.0 dev: true /@babel/parser@7.24.0: @@ -6296,8 +6299,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 dev: true /@babel/traverse@7.20.1: @@ -7255,13 +7258,6 @@ packages: jest-mock: 29.7.0 dev: true - /@jest/expect-utils@29.5.0: - resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/expect-utils@29.7.0: resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10053,8 +10049,8 @@ packages: /@types/jest@29.4.0: resolution: {integrity: sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==} dependencies: - expect: 29.5.0 - pretty-format: 29.5.0 + expect: 29.7.0 + pretty-format: 29.7.0 dev: true /@types/jsdom@20.0.0: @@ -12420,11 +12416,6 @@ packages: semver: 5.7.2 dev: false - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -13345,17 +13336,6 @@ packages: engines: {node: '>=16'} dev: true - /expect@29.5.0: - resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.5.0 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-util: 29.5.0 - dev: true - /expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15069,7 +15049,7 @@ packages: engines: {node: '>=10'} dependencies: '@babel/core': 7.20.2 - '@babel/parser': 7.20.3 + '@babel/parser': 7.24.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.0 @@ -15335,16 +15315,6 @@ packages: - supports-color dev: true - /jest-diff@29.5.0: - resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - /jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15423,11 +15393,6 @@ packages: - typescript dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15483,16 +15448,6 @@ packages: resolution: {integrity: sha512-thJdy9ibhDo8k+0arFalNCQBJ0u7eqTfpTzS2MzL3iCLmbRCkI+yhhKSiAxEi55e5ZUyf01ySa0fMqzF+sblAw==} dev: true - /jest-matcher-utils@29.5.0: - resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.5.0 - jest-get-type: 29.4.3 - pretty-format: 29.7.0 - dev: true - /jest-matcher-utils@29.7.0: resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -18642,15 +18597,6 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.5.0: - resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}