diff --git a/.eslintrc.json b/.eslintrc.json index d5323083d..af0cdfc81 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -4,12 +4,11 @@ "browser": true, "commonjs": true, "es6": true, - "mocha": true, "node": true, "jest": true }, "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint", "mocha", "prettier"], + "plugins": ["@typescript-eslint", "prettier"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", @@ -20,8 +19,6 @@ }, "ignorePatterns": ["node_modules/", "dist/", ".turbo/"], "rules": { - "mocha/no-skipped-tests": "error", - "mocha/no-exclusive-tests": "error", "prettier/prettier": "error", // Intermediate deescalation to warnings diff --git a/package.json b/package.json index 4bbc68167..6a50b5353 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "eslint-config-prettier": "^9.0.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.24.2", - "eslint-plugin-mocha": "10.2.0", "eslint-plugin-n": "^16.3.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^5.0.1", diff --git a/packages/create-lz-oapp/.mocharc.json b/packages/create-lz-oapp/.mocharc.json deleted file mode 100644 index 4ddf3f6e5..000000000 --- a/packages/create-lz-oapp/.mocharc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extensions": ["ts"], - "spec": ["**/*.test.*"], - "loader": "ts-node/esm" -} diff --git a/packages/create-lz-oapp/jest.config.cjs b/packages/create-lz-oapp/jest.config.cjs new file mode 100644 index 000000000..efe80e021 --- /dev/null +++ b/packages/create-lz-oapp/jest.config.cjs @@ -0,0 +1,17 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: "ts-jest", + testEnvironment: "node", + testTimeout: 15000, + moduleNameMapper: { + "^@/(.*)\\.js$": "/src/$1", + }, + transform: { + // ts-jest does not yet work great with node16 module resolution + // so we need to help it a little + // + // See https://github.com/kulshekhar/ts-jest/issues/4207 for the issue + // And https://github.com/kulshekhar/ts-jest/issues/4198 for another one + "^.+\\.tsx?$": ["ts-jest", { tsconfig: "tsconfig.test.json" }], + }, +}; diff --git a/packages/create-lz-oapp/package.json b/packages/create-lz-oapp/package.json index ea46d038d..99280c43d 100644 --- a/packages/create-lz-oapp/package.json +++ b/packages/create-lz-oapp/package.json @@ -27,7 +27,7 @@ "dev": "npx tsup --watch", "lint": "npx eslint '**/*.{js,ts,json}'", "start": "./cli.cjs", - "test": "mocha --parallel" + "test": "jest --config jest.config.cjs" }, "dependencies": { "yoga-wasm-web": "~0.3.3" @@ -35,11 +35,10 @@ "devDependencies": { "@layerzerolabs/io-utils": "~0.0.1", "@tanstack/react-query": "^5.8.4", - "@types/mocha": "^10.0.6", + "@types/jest": "^29.5.10", "@types/prompts": "^2.4.9", "@types/react": "^18.2.38", "@types/which": "~3.0.3", - "chai": "^4.3.10", "commander": "^11.1.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", @@ -48,11 +47,12 @@ "ink-select-input": "^5.0.0", "ink-spinner": "^5.0.0", "ink-text-input": "^5.0.1", - "mocha": "^10.0.0", + "jest": "^29.7.0", "prompts": "^2.4.2", "react": "^18.2.0", "react-devtools-core": "^4.28.5", "tiged": "^2.12.5", + "ts-jest": "^29.1.1", "ts-node": "^10.9.1", "typescript": "^5.2.2", "which": "~4.0.0" diff --git a/packages/create-lz-oapp/test/utilities/cloning.test.ts b/packages/create-lz-oapp/test/utilities/cloning.test.ts index 428b99fcc..71459e1f2 100644 --- a/packages/create-lz-oapp/test/utilities/cloning.test.ts +++ b/packages/create-lz-oapp/test/utilities/cloning.test.ts @@ -1,31 +1,29 @@ -import { expect } from 'chai' -import { describe, it } from 'mocha' -import { createExampleGitURL } from '../../src/utilities/cloning.js' +import { createExampleGitURL } from '@/utilities/cloning.js' describe('utilities/cloning', () => { describe('createExampleGitURL', () => { const REPO_URL = 'git@github.com:LayerZero-Labs/lz-utils' it('should return the repository field if directory and ref are not specified', () => { - expect(createExampleGitURL({ repository: REPO_URL, id: 'dummy', label: 'Dummy' })).to.eql(REPO_URL) + expect(createExampleGitURL({ repository: REPO_URL, id: 'dummy', label: 'Dummy' })).toEqual(REPO_URL) }) it('should return the repository field with directory if directory is specified', () => { - expect(createExampleGitURL({ repository: REPO_URL, directory: 'dir', id: 'dummy', label: 'Dummy' })).to.eql( - `${REPO_URL}/dir` - ) + expect( + createExampleGitURL({ repository: REPO_URL, directory: 'dir', id: 'dummy', label: 'Dummy' }) + ).toEqual(`${REPO_URL}/dir`) expect( createExampleGitURL({ repository: REPO_URL, directory: '/dir', id: 'dummy', label: 'Dummy' }) - ).to.eql(`${REPO_URL}/dir`) + ).toEqual(`${REPO_URL}/dir`) expect( createExampleGitURL({ repository: REPO_URL, directory: 'dir', ref: '', id: 'dummy', label: 'Dummy' }) - ).to.eql(`${REPO_URL}/dir`) + ).toEqual(`${REPO_URL}/dir`) }) it('should return the repository field with directory and ref if directory and ref are specified', () => { expect( createExampleGitURL({ repository: REPO_URL, directory: 'dir', ref: 'ref', id: 'dummy', label: 'Dummy' }) - ).to.eql(`${REPO_URL}/dir#ref`) + ).toEqual(`${REPO_URL}/dir#ref`) expect( createExampleGitURL({ repository: REPO_URL, @@ -34,14 +32,14 @@ describe('utilities/cloning', () => { id: 'dummy', label: 'Dummy', }) - ).to.eql(`${REPO_URL}/dir#ref`) + ).toEqual(`${REPO_URL}/dir#ref`) }) it('should return the repository field with ref if only ref specified', () => { - expect(createExampleGitURL({ repository: REPO_URL, ref: 'ref', id: 'dummy', label: 'Dummy' })).to.eql( + expect(createExampleGitURL({ repository: REPO_URL, ref: 'ref', id: 'dummy', label: 'Dummy' })).toEqual( `${REPO_URL}#ref` ) - expect(createExampleGitURL({ repository: REPO_URL, ref: '#ref', id: 'dummy', label: 'Dummy' })).to.eql( + expect(createExampleGitURL({ repository: REPO_URL, ref: '#ref', id: 'dummy', label: 'Dummy' })).toEqual( `${REPO_URL}#ref` ) }) diff --git a/packages/create-lz-oapp/tsconfig.json b/packages/create-lz-oapp/tsconfig.json index 77a5670af..fb99fcf26 100644 --- a/packages/create-lz-oapp/tsconfig.json +++ b/packages/create-lz-oapp/tsconfig.json @@ -10,7 +10,7 @@ "lib": ["dom", "dom.Iterable", "es2022"], "resolveJsonModule": false, "target": "esnext", - "types": ["mocha", "node"], + "types": ["jest", "node"], "paths": { "@/*": ["./src/*"] } diff --git a/packages/create-lz-oapp/tsconfig.test.json b/packages/create-lz-oapp/tsconfig.test.json new file mode 100644 index 000000000..c17742ae6 --- /dev/null +++ b/packages/create-lz-oapp/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "ESNext", + "moduleResolution": "Node10" + } +} diff --git a/packages/utils-evm-test/jest.config.js b/packages/utils-evm-test/jest.config.js new file mode 100644 index 000000000..17ae5d1ac --- /dev/null +++ b/packages/utils-evm-test/jest.config.js @@ -0,0 +1,9 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + testTimeout: 15000, + moduleNameMapper: { + '^@/(.*)$': '/src/$1', + }, +}; diff --git a/packages/utils-evm-test/package.json b/packages/utils-evm-test/package.json index 0ef9e6a77..843c20943 100644 --- a/packages/utils-evm-test/package.json +++ b/packages/utils-evm-test/package.json @@ -11,7 +11,8 @@ "license": "MIT", "scripts": { "lint": "npx eslint '**/*.{js,ts,json}'", - "test": "npx hardhat test" + "pretest": "npx hardhat compile", + "test": "jest --passWithNoTests" }, "devDependencies": { "@ethersproject/abi": "^5.7.0", @@ -25,11 +26,12 @@ "@layerzerolabs/utils-evm": "~0.0.1", "@nomicfoundation/hardhat-ethers": "^3.0.2", "@nomiclabs/hardhat-ethers": "^2.2.3", - "@types/mocha": "^10.0.6", - "chai": "^4.3.10", + "@types/jest": "^29.5.10", "ethers": "^5.7.0", "fast-check": "^3.14.0", "hardhat": "^2.19.2", + "jest": "^29.7.0", + "ts-jest": "^29.1.1", "ts-node": "^10.9.1", "typescript": "^5.2.2" } diff --git a/packages/utils-evm-test/test/errors/parser.test.ts b/packages/utils-evm-test/test/errors/parser.test.ts index 14c4f0a3e..e658f564d 100644 --- a/packages/utils-evm-test/test/errors/parser.test.ts +++ b/packages/utils-evm-test/test/errors/parser.test.ts @@ -1,6 +1,5 @@ import fc from 'fast-check' import hre from 'hardhat' -import { expect } from 'chai' import { Contract } from '@ethersproject/contracts' import { createErrorParser, @@ -33,12 +32,12 @@ describe('errors/parser', () => { const assertFailed = async (promise: Promise): Promise => promise.then( (result) => { - expect.fail(`Expected a promise to always reject but it resolved with ${JSON.stringify(result)}`) + fail(`Expected a promise to always reject but it resolved with ${JSON.stringify(result)}`) }, (error) => error ) - before(async () => { + beforeAll(async () => { const contractFactory = await hre.ethers.getContractFactory(CONTRACT_NAME) contract = await contractFactory.deploy() @@ -53,9 +52,9 @@ describe('errors/parser', () => { const omniError: OmniError = { error: new RevertError('A reason is worth a million bytes'), point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(RevertError) - expect(parsedError.error.reason).to.equal('A reason is worth a million bytes') + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(RevertError) + expect(parsedError.error.reason).toBe('A reason is worth a million bytes') }) ) }) @@ -69,9 +68,9 @@ describe('errors/parser', () => { const omniError: OmniError = { error, point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(PanicError) - expect(parsedError.error.reason).to.eql(BigInt(1)) + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(PanicError) + expect(parsedError.error.reason).toEqual(BigInt(1)) }) ) }) @@ -85,9 +84,9 @@ describe('errors/parser', () => { const omniError: OmniError = { error, point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(RevertError) - expect(parsedError.error.reason).to.eql('my bad') + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(RevertError) + expect(parsedError.error.reason).toEqual('my bad') }) ) }) @@ -101,9 +100,9 @@ describe('errors/parser', () => { const omniError: OmniError = { error, point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(RevertError) - expect(parsedError.error.reason).to.eql('my bad') + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(RevertError) + expect(parsedError.error.reason).toEqual('my bad') }) ) }) @@ -117,10 +116,10 @@ describe('errors/parser', () => { const omniError: OmniError = { error, point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(CustomError) - expect(parsedError.error.reason).to.eql('CustomErrorWithNoArguments') - expect((parsedError.error as CustomError).args).to.eql([]) + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(CustomError) + expect(parsedError.error.reason).toEqual('CustomErrorWithNoArguments') + expect((parsedError.error as CustomError).args).toEqual([]) }) ) }) @@ -134,10 +133,10 @@ describe('errors/parser', () => { const omniError: OmniError = { error, point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(CustomError) - expect(parsedError.error.reason).to.eql('CustomErrorWithAnArgument') - expect((parsedError.error as CustomError).args).to.eql(['my bad']) + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(CustomError) + expect(parsedError.error.reason).toEqual('CustomErrorWithAnArgument') + expect((parsedError.error as CustomError).args).toEqual(['my bad']) }) ) }) @@ -150,10 +149,10 @@ describe('errors/parser', () => { const omniError: OmniError = { error: 'some weird error', point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(UnknownError) - expect(parsedError.error.reason).to.be.undefined - expect(parsedError.error.message).to.eql('Unknown error: some weird error') + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(UnknownError) + expect(parsedError.error.reason).toBeUndefined() + expect(parsedError.error.message).toEqual('Unknown error: some weird error') }) ) }) @@ -166,10 +165,10 @@ describe('errors/parser', () => { const omniError: OmniError = { error: new Error('some weird error'), point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(UnknownError) - expect(parsedError.error.reason).to.be.undefined - expect(parsedError.error.message).to.eql('Unknown error: Error: some weird error') + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(UnknownError) + expect(parsedError.error.reason).toBeUndefined() + expect(parsedError.error.message).toEqual('Unknown error: Error: some weird error') }) ) }) @@ -182,10 +181,10 @@ describe('errors/parser', () => { const omniError: OmniError = { error, point } const parsedError = await errorParser(omniError) - expect(parsedError.point).to.eql(point) - expect(parsedError.error).to.be.instanceOf(UnknownError) - expect(parsedError.error.reason).to.be.undefined - expect(parsedError.error.message).to.match(/Unknown error: /) + expect(parsedError.point).toEqual(point) + expect(parsedError.error).toBeInstanceOf(UnknownError) + expect(parsedError.error.reason).toBeUndefined() + expect(parsedError.error.message).toMatch(/Unknown error: /) }), // Test case for when toString method of the error is not defined { diff --git a/packages/utils-evm-test/tsconfig.json b/packages/utils-evm-test/tsconfig.json index 1e471dfdd..5613cee25 100644 --- a/packages/utils-evm-test/tsconfig.json +++ b/packages/utils-evm-test/tsconfig.json @@ -4,6 +4,6 @@ "include": ["src", "test", "*.config.ts"], "compilerOptions": { "module": "commonjs", - "types": ["node", "mocha"] + "types": ["node", "jest"] } } diff --git a/yarn.lock b/yarn.lock index 069b74224..f1572f4f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2731,11 +2731,6 @@ resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/mocha@^10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b" - integrity sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg== - "@types/mute-stream@^0.0.4": version "0.0.4" resolved "https://registry.yarnpkg.com/@types/mute-stream/-/mute-stream-0.0.4.tgz#77208e56a08767af6c5e1237be8888e2f255c478" @@ -3424,11 +3419,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - ast-parents@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/ast-parents/-/ast-parents-0.0.1.tgz#508fd0f05d0c48775d9eccda2e174423261e8dd3" @@ -4067,19 +4057,6 @@ catering@^2.1.0, catering@^2.1.1: resolved "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz" integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== -chai@^4.3.10: - version "4.3.10" - resolved "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz" - integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - chalk@5.3.0, chalk@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" @@ -4112,13 +4089,6 @@ chardet@^0.7.0: resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - checkpoint-store@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" @@ -4734,13 +4704,6 @@ dedent@^1.0.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== -deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5312,14 +5275,6 @@ eslint-plugin-import@^2.24.2, eslint-plugin-import@^2.27.5: semver "^6.3.1" tsconfig-paths "^3.14.2" -eslint-plugin-mocha@10.2.0: - version "10.2.0" - resolved "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz" - integrity sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ== - dependencies: - eslint-utils "^3.0.0" - rambda "^7.4.0" - eslint-plugin-n@^16.3.1: version "16.3.1" resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz#6cd377d1349fed10854b6535392e91fb4123193b" @@ -5430,23 +5385,11 @@ eslint-utils@^2.0.0: dependencies: eslint-visitor-keys "^1.1.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" @@ -6467,11 +6410,6 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - get-intrinsic@^1.0.2, get-intrinsic@^1.1.3: version "1.2.1" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" @@ -8551,13 +8489,6 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" @@ -9579,11 +9510,6 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - pbkdf2@^3.0.17: version "3.1.2" resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" @@ -9852,11 +9778,6 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -rambda@^7.4.0: - version "7.5.0" - resolved "https://registry.npmjs.org/rambda/-/rambda-7.5.0.tgz" - integrity sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== - randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" @@ -11428,7 +11349,7 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: +type-detect@4.0.8, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==