From fa381f349c482e257edc0dc7197e85cb202c9295 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 2 Mar 2022 14:10:56 -0500 Subject: [PATCH] chore: use swc for tests instead of Babel (#4584) * chore: use swc for tests instead of Babel * chore: lower jsc.target to es2019 * test: got integration tests running * test: add back jest-resolver * test: add back another babel types package and reset snapshots * chore: switch syntax to work around SWC bug --- jest.config.base.js | 21 ++ package.json | 9 +- packages/ast-spec/jest.config.js | 14 +- .../eslint-plugin-internal/jest.config.js | 15 +- packages/eslint-plugin-tslint/jest.config.js | 15 +- packages/eslint-plugin/jest.config.js | 14 +- .../src/rules/consistent-type-definitions.ts | 85 ++++---- .../src/rules/prefer-function-type.ts | 163 ++++++++-------- packages/experimental-utils/jest.config.js | 15 +- packages/parser/jest.config.js | 15 +- packages/scope-manager/jest.config.js | 18 +- packages/type-utils/jest.config.js | 15 +- packages/types/jest.config.js | 14 +- packages/typescript-estree/jest.config.js | 20 +- packages/typescript-estree/package.json | 7 +- packages/utils/jest.config.js | 15 +- packages/visitor-keys/jest.config.js | 14 +- tests/integration/jest.config.js | 16 +- tsconfig.eslint.json | 7 +- yarn.lock | 184 +++++++++++++----- 20 files changed, 309 insertions(+), 367 deletions(-) create mode 100644 jest.config.base.js diff --git a/jest.config.base.js b/jest.config.base.js new file mode 100644 index 00000000000..4470c1be07b --- /dev/null +++ b/jest.config.base.js @@ -0,0 +1,21 @@ +'use strict'; + +// @ts-check +/** @type {import('@jest/types').Config.InitialOptions} */ +module.exports = { + collectCoverage: false, + collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], + coverageReporters: ['text-summary', 'lcov'], + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], + resolver: '/../../tests/jest-resolver.js', + transform: { + '^.+\\.(t|j)sx?$': [ + '@swc/jest', + { + jsc: { + target: 'es2019', + }, + }, + ], + }, +}; diff --git a/package.json b/package.json index be65ffebf46..7a6d45dba70 100644 --- a/package.json +++ b/package.json @@ -55,16 +55,14 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "devDependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.4", - "@babel/types": "^7.16.0", "@commitlint/cli": "^16.0.1", "@commitlint/config-conventional": "^16.0.0", "@nrwl/cli": "13.0.2", "@nrwl/nx-cloud": "12.5.1", "@nrwl/tao": "13.0.2", "@nrwl/workspace": "13.0.2", - "@types/babel__code-frame": "^7.0.3", + "@swc/core": "^1.2.143", + "@swc/jest": "^0.2.17", "@types/debug": "^4.1.7", "@types/eslint-visitor-keys": "^1.0.0", "@types/glob": "^7.2.0", @@ -81,6 +79,7 @@ "@types/tmp": "^0.2.2", "all-contributors-cli": "^6.20.0", "cross-env": "^7.0.3", + "cross-fetch": "^3.1.4", "cspell": "^5.12.3", "cz-conventional-changelog": "^3.3.0", "downlevel-dts": "^0.9.0", @@ -100,12 +99,10 @@ "make-dir": "^3.1.0", "markdownlint-cli": "^0.29.0", "ncp": "^2.0.0", - "cross-fetch": "^3.1.4", "prettier": "^2.5.0", "pretty-format": "^27.3.1", "rimraf": "^3.0.2", "tmp": "^0.2.1", - "ts-jest": "^27.0.5", "ts-node": "^10.4.0", "tslint": "^6.1.3", "typescript": ">=3.3.1 <4.6.0" diff --git a/packages/ast-spec/jest.config.js b/packages/ast-spec/jest.config.js index c23ca67fbc6..77fe4d022a9 100644 --- a/packages/ast-spec/jest.config.js +++ b/packages/ast-spec/jest.config.js @@ -3,18 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - ['^.+\\.tsx?$']: 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: ['./tests/.+\\.test\\.ts$'], - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/eslint-plugin-internal/jest.config.js b/packages/eslint-plugin-internal/jest.config.js index bf4e270e376..5f1ea3f4bcb 100644 --- a/packages/eslint-plugin-internal/jest.config.js +++ b/packages/eslint-plugin-internal/jest.config.js @@ -3,19 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/.+\\.test\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/eslint-plugin-tslint/jest.config.js b/packages/eslint-plugin-tslint/jest.config.js index 37b87a10d75..821770114b2 100644 --- a/packages/eslint-plugin-tslint/jest.config.js +++ b/packages/eslint-plugin-tslint/jest.config.js @@ -3,19 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/.+\\.spec\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/eslint-plugin/jest.config.js b/packages/eslint-plugin/jest.config.js index bf4e270e376..1f9cdcdecd9 100644 --- a/packages/eslint-plugin/jest.config.js +++ b/packages/eslint-plugin/jest.config.js @@ -3,19 +3,7 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/.+\\.test\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/eslint-plugin/src/rules/consistent-type-definitions.ts b/packages/eslint-plugin/src/rules/consistent-type-definitions.ts index 56581ef21fc..d87383bdc42 100644 --- a/packages/eslint-plugin/src/rules/consistent-type-definitions.ts +++ b/packages/eslint-plugin/src/rules/consistent-type-definitions.ts @@ -85,6 +85,46 @@ export default util.createRule({ }), ...(option === 'type' && { TSInterfaceDeclaration(node): void { + const fix = isCurrentlyTraversedNodeWithinModuleDeclaration() + ? null + : (fixer: TSESLint.RuleFixer): TSESLint.RuleFix[] => { + const typeNode = node.typeParameters ?? node.id; + const fixes: TSESLint.RuleFix[] = []; + + const firstToken = sourceCode.getTokenBefore(node.id); + if (firstToken) { + fixes.push(fixer.replaceText(firstToken, 'type')); + fixes.push( + fixer.replaceTextRange( + [typeNode.range[1], node.body.range[0]], + ' = ', + ), + ); + } + + if (node.extends) { + node.extends.forEach(heritage => { + const typeIdentifier = sourceCode.getText(heritage); + fixes.push( + fixer.insertTextAfter(node.body, ` & ${typeIdentifier}`), + ); + }); + } + + if ( + node.parent?.type === AST_NODE_TYPES.ExportDefaultDeclaration + ) { + fixes.push( + fixer.removeRange([node.parent.range[0], node.range[0]]), + fixer.insertTextAfter( + node.body, + `\nexport default ${node.id.name}`, + ), + ); + } + + return fixes; + }; context.report({ node: node.id, messageId: 'typeOverInterface', @@ -92,50 +132,7 @@ export default util.createRule({ * remove automatically fix when the interface is within a declare global * @see {@link https://github.com/typescript-eslint/typescript-eslint/issues/2707} */ - fix: isCurrentlyTraversedNodeWithinModuleDeclaration() - ? null - : (fixer): TSESLint.RuleFix[] => { - const typeNode = node.typeParameters ?? node.id; - const fixes: TSESLint.RuleFix[] = []; - - const firstToken = sourceCode.getTokenBefore(node.id); - if (firstToken) { - fixes.push(fixer.replaceText(firstToken, 'type')); - fixes.push( - fixer.replaceTextRange( - [typeNode.range[1], node.body.range[0]], - ' = ', - ), - ); - } - - if (node.extends) { - node.extends.forEach(heritage => { - const typeIdentifier = sourceCode.getText(heritage); - fixes.push( - fixer.insertTextAfter( - node.body, - ` & ${typeIdentifier}`, - ), - ); - }); - } - - if ( - node.parent?.type === - AST_NODE_TYPES.ExportDefaultDeclaration - ) { - fixes.push( - fixer.removeRange([node.parent.range[0], node.range[0]]), - fixer.insertTextAfter( - node.body, - `\nexport default ${node.id.name}`, - ), - ); - } - - return fixes; - }, + fix, }); }, }), diff --git a/packages/eslint-plugin/src/rules/prefer-function-type.ts b/packages/eslint-plugin/src/rules/prefer-function-type.ts index d13d187276e..ba5865abfd7 100644 --- a/packages/eslint-plugin/src/rules/prefer-function-type.ts +++ b/packages/eslint-plugin/src/rules/prefer-function-type.ts @@ -104,93 +104,96 @@ export default util.createRule({ const fixable = node.parent && node.parent.type === AST_NODE_TYPES.ExportDefaultDeclaration; - context.report({ - node: member, - messageId: 'functionTypeOverCallableType', - data: { - literalOrInterface: phrases[node.type], - }, - fix: fixable - ? null - : (fixer): TSESLint.RuleFix[] => { - const fixes: TSESLint.RuleFix[] = []; - const start = member.range[0]; - const colonPos = member.returnType!.range[0] - start; - const text = sourceCode.getText().slice(start, member.range[1]); - const comments = sourceCode - .getCommentsBefore(member) - .concat(sourceCode.getCommentsAfter(member)); - let suggestion = `${text.slice(0, colonPos)} =>${text.slice( - colonPos + 1, - )}`; - const lastChar = suggestion.endsWith(';') ? ';' : ''; - if (lastChar) { - suggestion = suggestion.slice(0, -1); - } - if (shouldWrapSuggestion(node.parent)) { - suggestion = `(${suggestion})`; - } - - if (node.type === AST_NODE_TYPES.TSInterfaceDeclaration) { - if (typeof node.typeParameters !== 'undefined') { - suggestion = `type ${sourceCode - .getText() - .slice( - node.id.range[0], - node.typeParameters.range[1], - )} = ${suggestion}${lastChar}`; - } else { - suggestion = `type ${node.id.name} = ${suggestion}${lastChar}`; - } - } - const isParentExported = - node.parent && - node.parent.type === AST_NODE_TYPES.ExportNamedDeclaration; + const fix = fixable + ? null + : (fixer: TSESLint.RuleFixer): TSESLint.RuleFix[] => { + const fixes: TSESLint.RuleFix[] = []; + const start = member.range[0]; + const colonPos = member.returnType!.range[0] - start; + const text = sourceCode.getText().slice(start, member.range[1]); + const comments = sourceCode + .getCommentsBefore(member) + .concat(sourceCode.getCommentsAfter(member)); + let suggestion = `${text.slice(0, colonPos)} =>${text.slice( + colonPos + 1, + )}`; + const lastChar = suggestion.endsWith(';') ? ';' : ''; + if (lastChar) { + suggestion = suggestion.slice(0, -1); + } + if (shouldWrapSuggestion(node.parent)) { + suggestion = `(${suggestion})`; + } - if ( - node.type === AST_NODE_TYPES.TSInterfaceDeclaration && - isParentExported - ) { - const commentsText = comments.reduce((text, comment) => { - return ( - text + - (comment.type === AST_TOKEN_TYPES.Line - ? `//${comment.value}` - : `/*${comment.value}*/`) + - '\n' - ); - }, ''); - // comments should move before export and not between export and interface declaration - fixes.push( - fixer.insertTextBefore( - node.parent as TSESTree.Node | TSESTree.Token, - commentsText, - ), - ); + if (node.type === AST_NODE_TYPES.TSInterfaceDeclaration) { + if (typeof node.typeParameters !== 'undefined') { + suggestion = `type ${sourceCode + .getText() + .slice( + node.id.range[0], + node.typeParameters.range[1], + )} = ${suggestion}${lastChar}`; } else { - comments.forEach(comment => { - let commentText = - comment.type === AST_TOKEN_TYPES.Line - ? `//${comment.value}` - : `/*${comment.value}*/`; - const isCommentOnTheSameLine = - comment.loc.start.line === member.loc.start.line; - if (!isCommentOnTheSameLine) { - commentText += '\n'; - } else { - commentText += ' '; - } - suggestion = commentText + suggestion; - }); + suggestion = `type ${node.id.name} = ${suggestion}${lastChar}`; } + } - const fixStart = node.range[0]; + const isParentExported = + node.parent && + node.parent.type === AST_NODE_TYPES.ExportNamedDeclaration; + + if ( + node.type === AST_NODE_TYPES.TSInterfaceDeclaration && + isParentExported + ) { + const commentsText = comments.reduce((text, comment) => { + return ( + text + + (comment.type === AST_TOKEN_TYPES.Line + ? `//${comment.value}` + : `/*${comment.value}*/`) + + '\n' + ); + }, ''); + // comments should move before export and not between export and interface declaration fixes.push( - fixer.replaceTextRange([fixStart, node.range[1]], suggestion), + fixer.insertTextBefore( + node.parent as TSESTree.Node | TSESTree.Token, + commentsText, + ), ); - return fixes; - }, + } else { + comments.forEach(comment => { + let commentText = + comment.type === AST_TOKEN_TYPES.Line + ? `//${comment.value}` + : `/*${comment.value}*/`; + const isCommentOnTheSameLine = + comment.loc.start.line === member.loc.start.line; + if (!isCommentOnTheSameLine) { + commentText += '\n'; + } else { + commentText += ' '; + } + suggestion = commentText + suggestion; + }); + } + + const fixStart = node.range[0]; + fixes.push( + fixer.replaceTextRange([fixStart, node.range[1]], suggestion), + ); + return fixes; + }; + + context.report({ + node: member, + messageId: 'functionTypeOverCallableType', + data: { + literalOrInterface: phrases[node.type], + }, + fix, }); } } diff --git a/packages/experimental-utils/jest.config.js b/packages/experimental-utils/jest.config.js index bf4e270e376..5f1ea3f4bcb 100644 --- a/packages/experimental-utils/jest.config.js +++ b/packages/experimental-utils/jest.config.js @@ -3,19 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/.+\\.test\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/parser/jest.config.js b/packages/parser/jest.config.js index af3026d5c10..5a7d0fc5112 100644 --- a/packages/parser/jest.config.js +++ b/packages/parser/jest.config.js @@ -3,19 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/lib/.+\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/scope-manager/jest.config.js b/packages/scope-manager/jest.config.js index 629629e0cf5..9148e4d46fb 100644 --- a/packages/scope-manager/jest.config.js +++ b/packages/scope-manager/jest.config.js @@ -3,22 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - ['^.+\\.tsx?$']: 'ts-jest', - }, - testRegex: [ - './tests/.+\\.test\\.ts$', - './tests/eslint-scope/[^/]+\\.test\\.ts$', - ], - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], + ...require('../../jest.config.base.js'), setupFilesAfterEnv: ['./tests/util/serializers/index.ts'], }; diff --git a/packages/type-utils/jest.config.js b/packages/type-utils/jest.config.js index bf4e270e376..5f1ea3f4bcb 100644 --- a/packages/type-utils/jest.config.js +++ b/packages/type-utils/jest.config.js @@ -3,19 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/.+\\.test\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/types/jest.config.js b/packages/types/jest.config.js index c23ca67fbc6..77fe4d022a9 100644 --- a/packages/types/jest.config.js +++ b/packages/types/jest.config.js @@ -3,18 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - ['^.+\\.tsx?$']: 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: ['./tests/.+\\.test\\.ts$'], - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/typescript-estree/jest.config.js b/packages/typescript-estree/jest.config.js index 4b54bcf55cc..43f847a6fbf 100644 --- a/packages/typescript-estree/jest.config.js +++ b/packages/typescript-estree/jest.config.js @@ -1,26 +1,12 @@ 'use strict'; +// @ts-check +/** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - testEnvironment: 'node', - transform: { - ['^.+\\.tsx?$']: 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: [ './tests/lib/.*\\.ts$', './tests/ast-alignment/spec\\.ts$', './tests/[^/]+\\.test\\.ts$', ], - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], - globals: { - 'ts-jest': { - isolatedModules: true, - diagnostics: { - // ignore the diagnostic error for the invalidFileErrors fixtures - ignoreCodes: [5056], - }, - }, - }, }; diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index d4ec037e5df..df2d09d9d63 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -50,10 +50,9 @@ "tsutils": "^3.21.0" }, "devDependencies": { - "@babel/code-frame": "*", - "@babel/parser": "*", - "@babel/types": "*", - "@types/babel__code-frame": "*", + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@types/babel__code-frame": "^7.0.3", "@types/debug": "*", "@types/glob": "*", "@types/is-glob": "*", diff --git a/packages/utils/jest.config.js b/packages/utils/jest.config.js index bf4e270e376..5f1ea3f4bcb 100644 --- a/packages/utils/jest.config.js +++ b/packages/utils/jest.config.js @@ -3,19 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - resolver: '/../../tests/jest-resolver.js', - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: './tests/.+\\.test\\.ts$', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/visitor-keys/jest.config.js b/packages/visitor-keys/jest.config.js index c23ca67fbc6..77fe4d022a9 100644 --- a/packages/visitor-keys/jest.config.js +++ b/packages/visitor-keys/jest.config.js @@ -3,18 +3,6 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - globals: { - 'ts-jest': { - isolatedModules: true, - }, - }, - testEnvironment: 'node', - transform: { - ['^.+\\.tsx?$']: 'ts-jest', - }, + ...require('../../jest.config.base.js'), testRegex: ['./tests/.+\\.test\\.ts$'], - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/tests/integration/jest.config.js b/tests/integration/jest.config.js index cd6d67fdab0..b12a54583fd 100644 --- a/tests/integration/jest.config.js +++ b/tests/integration/jest.config.js @@ -8,23 +8,11 @@ require('ts-node').register({ const { tseslintPackages } = require('./pack-packages'); module.exports = { - testEnvironment: 'node', - transform: { - ['^.+\\.tsx?$']: 'ts-jest', - }, - testRegex: ['/tests/[^/]+.test.ts$'], - collectCoverage: false, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], + ...require('../../jest.config.base.js'), globals: { - 'ts-jest': { - isolatedModules: true, - diagnostics: { - // ignore the diagnostic error for the invalidFileErrors fixtures - ignoreCodes: [5056], - }, - }, tseslintPackages, }, + testRegex: ['/tests/[^/]+.test.ts$'], rootDir: __dirname, // TODO(Brad Zacher) - for some reason if we run more than 1 test at a time diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 102bb2a44e3..1498a141c2b 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -5,5 +5,10 @@ "allowJs": true }, "extends": "./tsconfig.base.json", - "include": ["tools/**/*.ts", ".eslintrc.js", "tests/jest-resolver.js"] + "include": [ + "tools/**/*.ts", + ".eslintrc.js", + "jest.config.base.js", + "tests/jest-resolver.js" + ] } diff --git a/yarn.lock b/yarn.lock index 7a4998ad8d3..b83f1fc8bed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -125,13 +125,6 @@ "@algolia/logger-common" "4.11.0" "@algolia/requester-common" "4.11.0" -"@babel/code-frame@*", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -139,6 +132,13 @@ dependencies: "@babel/highlight" "^7.10.4" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" @@ -527,7 +527,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@*", "@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.16.4", "@babel/parser@^7.7.2": +"@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.16.4", "@babel/parser@^7.7.2": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== @@ -1308,7 +1308,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@*", "@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== @@ -2229,6 +2229,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@^27.4.4": version "27.4.4" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.4.4.tgz#66ebebc79673d84aad29d2bb70a8c51e6c29bb4d" @@ -2484,6 +2491,17 @@ "@types/yargs" "^16.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" + "@lerna/add@4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-4.0.0.tgz#c36f57d132502a57b9e7058d1548b7a565ef183f" @@ -3792,6 +3810,97 @@ "@svgr/plugin-jsx" "^6.1.0" "@svgr/plugin-svgo" "^6.1.0" +"@swc/core-android-arm-eabi@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.143.tgz#06ed94a45ded81d69defc20263ebeaf12b835d10" + integrity sha512-OyRhH2NfHRm8jgN6KxpEX5fBg2KaGdocPQgSWzhk9QSnn+juacBXg6lE9lQEb1nekb36XusE51GNiImOnZI9RQ== + +"@swc/core-android-arm64@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.143.tgz#094ab2a9ebb7332b5f3bbd943756c7b7a1c34400" + integrity sha512-hMnZcFkoI26n3QakazyNmuMpaIm/pyC1KJXvp49wTaFazbeG0OqxbWvzUIK3vDnXJPuNf1m9c0jXtvQaXbacvQ== + +"@swc/core-darwin-arm64@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.143.tgz#3c55564dd08c64101be2bc176edcfce3362a87b3" + integrity sha512-Mcd27MvxBCqNJ9HHEu2RH7lY0zcImSP1/3uivJ4eiiAE7WSUdrs9flhryZ7AlOfs0DR7b4fpjJgK0tZyg9K9Yw== + +"@swc/core-darwin-x64@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.143.tgz#94bb46a355ff13a8b6bc721e426fbf15f724e672" + integrity sha512-KV8147NuOqU6wCliAF+PmpbUecwUn0GynOUjb44kMbwCsYeH/Pm5FewGvyW9Dr7rnpnoT11pOUAJlcRzRfXrDA== + +"@swc/core-freebsd-x64@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.143.tgz#7881b8538129661991971196c2c9933ab3b0d248" + integrity sha512-SU3hOtPqwaCxTO8jajEaNMO8aU0/5JduuRBbv843UzCz9S2on+dTYNkm94TsBxhX+JYN+T9yGi/tynoTjKj1QA== + +"@swc/core-linux-arm-gnueabihf@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.143.tgz#9410e592dbb6428be21b9d594a16df7ba3b5d1a1" + integrity sha512-ZGfb0Fz2jQqrRv3gg0gdzQfkZbqTAC9ac03fXx0KiNFgkAjnWNm0JYRQe0sxa1L5wBml2Sv4aAFIN1BHi6roVA== + +"@swc/core-linux-arm64-gnu@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.143.tgz#aed181358f8df7d0fd6a28084da9bf03d0cc329f" + integrity sha512-roLB+QYf7omusDTNfqsAuFWMyeRjXi2Wp1abNh++7YZVhkZ57q1tUNJiqw6KJhaSd5KSQGpBygarDRvL70ZZ4Q== + +"@swc/core-linux-arm64-musl@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.143.tgz#3544732447718317cc35ad246c4ab0d7ff9e6481" + integrity sha512-66qRHVh2F4Z0b6G8n9CEKuKwYVIzfTlNHixwoqCgdCbHT5n1lUiWigDel1psCDbrD/p9nWTU0lfVtbqmKJWnPw== + +"@swc/core-linux-x64-gnu@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.143.tgz#410c6900059510a3408c1f439ab8926ac795ee4b" + integrity sha512-FSn9E+uWSyLQtHFpJcj+jNU+NPxrwOMlB+XUObfRcZwRzV6W0KeGLwnwvuhByYmGE7ujvEGCEQpLP95ER88TzQ== + +"@swc/core-linux-x64-musl@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.143.tgz#0faf67e39c5e4ece043d170b7c5495a44a2d88f1" + integrity sha512-yCD0LkqUVTLz07MD1m5gajfdOobIqUdQ8E0ZarkcCqvd6eLygXb7U2fn0pZs1eadOqxLSjEjig1i2bCx655Z5w== + +"@swc/core-win32-arm64-msvc@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.143.tgz#88a5bf3ee44207b44cb2a250ca57a7ea039bbde8" + integrity sha512-ehdvirsmL5yJ3J5HUcZD48VBFFiINX61FM5NTfRQgZgqGTyZo88iNTHsBmQXaEtp25y9xr6xXtKXeRGIBpuszg== + +"@swc/core-win32-ia32-msvc@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.143.tgz#e6d3fc8aeb2e5177ae7dbbd5c85488f164c7cdb9" + integrity sha512-ZWENEbRo9Jbqm/3ezLGotYN7siIEYC5PoJQBi+P/Fg42xm7bUpewIbbGmizOMN0d0+OWVc2V1IFg9bbA0oZbpg== + +"@swc/core-win32-x64-msvc@1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.143.tgz#78fbb91aec9079de4b7bfae08769d20ba3c78297" + integrity sha512-IBJ4DLOtMOAzW1+fFkdoj0e85l+CLj+Zn3jjUtdlYKroEunA3xNGci5+Ak/NRvt4lnlPlyVyw+2JXsfpnV2FCA== + +"@swc/core@^1.2.143": + version "1.2.143" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.143.tgz#2af9aa45a54d718510fa00895b5d3f91fb96d143" + integrity sha512-kZ1OVaNS183b3nMZBDQMev/ULpF/iUcF4bwlx+Nz6GH7D9qGTTbhiN7xWkoCWjcCY1TF8Bt7z1+ddX6ibPSc8w== + optionalDependencies: + "@swc/core-android-arm-eabi" "1.2.143" + "@swc/core-android-arm64" "1.2.143" + "@swc/core-darwin-arm64" "1.2.143" + "@swc/core-darwin-x64" "1.2.143" + "@swc/core-freebsd-x64" "1.2.143" + "@swc/core-linux-arm-gnueabihf" "1.2.143" + "@swc/core-linux-arm64-gnu" "1.2.143" + "@swc/core-linux-arm64-musl" "1.2.143" + "@swc/core-linux-x64-gnu" "1.2.143" + "@swc/core-linux-x64-musl" "1.2.143" + "@swc/core-win32-arm64-msvc" "1.2.143" + "@swc/core-win32-ia32-msvc" "1.2.143" + "@swc/core-win32-x64-msvc" "1.2.143" + +"@swc/jest@^0.2.17": + version "0.2.17" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.17.tgz#0a36083cf5bca39c3c03323cdfc84b61fd670ac2" + integrity sha512-n/g989+O8xxMcTZnP0phDrrgezGZBQBf7cX4QuzEsn07QkWbqmMsfaCxdF0kzajXublXWJ8yk5vRe3VNk1tczA== + dependencies: + "@jest/create-cache-key-function" "^27.4.2" + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -3834,7 +3943,7 @@ resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== -"@types/babel__code-frame@*", "@types/babel__code-frame@^7.0.3": +"@types/babel__code-frame@^7.0.3": version "7.0.3" resolved "https://registry.yarnpkg.com/@types/babel__code-frame/-/babel__code-frame-7.0.3.tgz#eda94e1b7c9326700a4b69c485ebbc9498a0b63f" integrity sha512-2TN6oiwtNjOezilFVl77zwdNPwQWaDBBCCWWxyo1ctiO3vAtd7H/aB/CBJdw9+kqq3+latD0SXoedIuHySSZWw== @@ -5162,13 +5271,6 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4 node-releases "^2.0.1" picocolors "^1.0.0" -bs-logger@0.x: - 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" - bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -7546,7 +7648,7 @@ fast-glob@^3.2.7, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.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== @@ -10005,7 +10107,7 @@ jest-util@27.2.0: is-ci "^3.0.0" picomatch "^2.2.3" -jest-util@^27.0.0, jest-util@^27.2.0, jest-util@^27.4.2: +jest-util@^27.2.0, jest-util@^27.4.2: version "27.4.2" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.4.2.tgz#ed95b05b1adfd761e2cda47e0144c6a58e05a621" integrity sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA== @@ -10231,13 +10333,6 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@2.x, json5@^2.1.2, json5@^2.2.0: - 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" @@ -10245,6 +10340,13 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +json5@^2.1.2, json5@^2.2.0: + 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.0.0, jsonc-parser@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" @@ -10617,7 +10719,7 @@ lodash.map@^4.4.0, lodash.map@^4.5.1: resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= -lodash.memoize@4.x, lodash.memoize@^4.1.2: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= @@ -10752,7 +10854,7 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-error@1.x, 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== @@ -13634,7 +13736,7 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.3.5, semver@7.x, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: +semver@7.3.5, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -14615,20 +14717,6 @@ ts-essentials@^2.0.3: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745" integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== -ts-jest@^27.0.5: - version "27.1.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.3.tgz#1f723e7e74027c4da92c0ffbd73287e8af2b2957" - integrity sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "20.x" - ts-node@^10.4.0: version "10.5.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" @@ -15635,11 +15723,6 @@ yargs-parser@20.2.4: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -15648,6 +15731,11 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + yargs@15.4.1, yargs@^15.0.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"