1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-21 11:35:34 +01:00

[PM-2328] Fix jest deprecations (#5483)

This commit is contained in:
Oscar Hinton 2023-05-22 20:19:16 +02:00 committed by GitHub
parent b31203d64f
commit 62591a8bc8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 87 additions and 50 deletions

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig"); const { compilerOptions } = require("./tsconfig");
const sharedConfig = require("../../libs/shared/jest.config.base"); const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "jest-preset-angular", preset: "jest-preset-angular",

View File

@ -1,8 +1,10 @@
const { pathsToModuleNameMapper } = require("ts-jest"); const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig.json");
const sharedConfig = require("../../libs/shared/jest.config.base"); const { compilerOptions } = require("./tsconfig");
const sharedConfig = require("../../libs/shared/jest.config.ts");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "ts-jest", preset: "ts-jest",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig"); const { compilerOptions } = require("./tsconfig");
const sharedConfig = require("../../libs/shared/jest.config.base"); const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "jest-preset-angular", preset: "jest-preset-angular",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig"); const { compilerOptions } = require("./tsconfig");
const sharedConfig = require("../../libs/shared/jest.config.base"); const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "jest-preset-angular", preset: "jest-preset-angular",
@ -11,5 +12,4 @@ module.exports = {
moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, { moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, {
prefix: "<rootDir>/", prefix: "<rootDir>/",
}), }),
modulePathIgnorePatterns: ["jslib"],
}; };

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig"); const { compilerOptions } = require("./tsconfig");
const sharedConfig = require("../../libs/shared/jest.config.base"); const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "jest-preset-angular", preset: "jest-preset-angular",
@ -11,5 +12,4 @@ module.exports = {
moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, { moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, {
prefix: "<rootDir>/", prefix: "<rootDir>/",
}), }),
modulePathIgnorePatterns: ["jslib"],
}; };

View File

@ -2,12 +2,14 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig"); const { compilerOptions } = require("./tsconfig");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
reporters: ["default", "jest-junit"], reporters: ["default", "jest-junit"],
collectCoverage: true, collectCoverage: true,
coverageReporters: ["html", "lcov"], coverageReporters: ["html", "lcov"],
coverageDirectory: "coverage", coverageDirectory: "coverage",
moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, { moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, {
prefix: "<rootDir>/", prefix: "<rootDir>/",
}), }),
@ -30,13 +32,4 @@ module.exports = {
// https://github.com/facebook/jest/issues/9430#issuecomment-1149882002 // https://github.com/facebook/jest/issues/9430#issuecomment-1149882002
// Also anecdotally improves performance when run locally // Also anecdotally improves performance when run locally
maxWorkers: 3, maxWorkers: 3,
globals: {
"ts-jest": {
// Further workaround for memory leak, recommended here:
// https://github.com/kulshekhar/ts-jest/issues/1967#issuecomment-697494014
// Makes tests run faster and reduces size/rate of leak, but loses typechecking on test code
// See https://bitwarden.atlassian.net/browse/EC-497 for more info
isolatedModules: true,
},
},
}; };

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("../shared/tsconfig.libs"); const { compilerOptions } = require("../shared/tsconfig.libs");
const sharedConfig = require("../../libs/shared/jest.config.base"); const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
displayName: "libs/angular tests", displayName: "libs/angular tests",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("../shared/tsconfig.libs"); const { compilerOptions } = require("../shared/tsconfig.libs");
const sharedConfig = require("../shared/jest.config.base"); const sharedConfig = require("../shared/jest.config.ts");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
displayName: "libs/common tests", displayName: "libs/common tests",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig"); const { compilerOptions } = require("./tsconfig");
const sharedConfig = require("../../libs/shared/jest.config.base"); const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
displayName: "libs/components tests", displayName: "libs/components tests",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("../shared/tsconfig.libs"); const { compilerOptions } = require("../shared/tsconfig.libs");
const sharedConfig = require("../shared/jest.config.base"); const sharedConfig = require("../shared/jest.config.ts");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "ts-jest", preset: "ts-jest",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("../shared/tsconfig.libs"); const { compilerOptions } = require("../shared/tsconfig.libs");
const sharedConfig = require("../shared/jest.config.base"); const sharedConfig = require("../shared/jest.config.ts");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "ts-jest", preset: "ts-jest",

View File

@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("../shared/tsconfig.libs"); const { compilerOptions } = require("../shared/tsconfig.libs");
const sharedConfig = require("../shared/jest.config.base"); const sharedConfig = require("../shared/jest.config.ts");
/** @type {import('jest').Config} */
module.exports = { module.exports = {
...sharedConfig, ...sharedConfig,
preset: "ts-jest", preset: "ts-jest",

View File

@ -0,0 +1,32 @@
/* eslint-env node */
/* eslint-disable @typescript-eslint/no-var-requires */
const { defaultTransformerOptions } = require("jest-preset-angular/presets");
/** @type {import('jest').Config} */
module.exports = {
testMatch: ["**/+(*.)+(spec).+(ts)"],
// Workaround for a memory leak that crashes tests in CI:
// https://github.com/facebook/jest/issues/9430#issuecomment-1149882002
// Also anecdotally improves performance when run locally
maxWorkers: 3,
transform: {
"^.+\\.(ts|js|mjs|svg)$": [
"jest-preset-angular",
{
...defaultTransformerOptions,
// Jest does not use tsconfig.spec.json by default
tsconfig: "<rootDir>/tsconfig.spec.json",
// Further workaround for memory leak, recommended here:
// https://github.com/kulshekhar/ts-jest/issues/1967#issuecomment-697494014
// Makes tests run faster and reduces size/rate of leak, but loses typechecking on test code
// See https://bitwarden.atlassian.net/browse/EC-497 for more info
isolatedModules: true,
astTransformers: {
before: ["<rootDir>/../../libs/shared/es2020-transformer.ts"],
},
},
],
},
};

View File

@ -1,27 +0,0 @@
/* eslint-env node */
module.exports = {
testMatch: ["**/+(*.)+(spec).+(ts)"],
collectCoverage: true,
coverageReporters: ["html", "lcov"],
coverageDirectory: "coverage",
// Workaround for a memory leak that crashes tests in CI:
// https://github.com/facebook/jest/issues/9430#issuecomment-1149882002
// Also anecdotally improves performance when run locally
maxWorkers: 3,
globals: {
"ts-jest": {
// Jest does not use tsconfig.spec.json by default
tsconfig: "<rootDir>/tsconfig.spec.json",
// Further workaround for memory leak, recommended here:
// https://github.com/kulshekhar/ts-jest/issues/1967#issuecomment-697494014
// Makes tests run faster and reduces size/rate of leak, but loses typechecking on test code
// See https://bitwarden.atlassian.net/browse/EC-497 for more info
isolatedModules: true,
astTransformers: {
before: ["<rootDir>/../../libs/shared/es2020-transformer.ts"],
},
},
},
};

View File

@ -0,0 +1,29 @@
/* eslint-env node */
/** @type {import('jest').Config} */
module.exports = {
testMatch: ["**/+(*.)+(spec).+(ts)"],
// Workaround for a memory leak that crashes tests in CI:
// https://github.com/facebook/jest/issues/9430#issuecomment-1149882002
// Also anecdotally improves performance when run locally
maxWorkers: 3,
transform: {
"^.+\\.tsx?$": [
"ts-jest",
{
// Jest does not use tsconfig.spec.json by default
tsconfig: "<rootDir>/tsconfig.spec.json",
// Further workaround for memory leak, recommended here:
// https://github.com/kulshekhar/ts-jest/issues/1967#issuecomment-697494014
// Makes tests run faster and reduces size/rate of leak, but loses typechecking on test code
// See https://bitwarden.atlassian.net/browse/EC-497 for more info
isolatedModules: true,
astTransformers: {
before: ["<rootDir>/../../libs/shared/es2020-transformer.ts"],
},
},
],
},
};