mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-25 12:15:18 +01:00
[EC-497] Fix memory leaks in tests (#3421)
* Add isolatedModules:true * Add manual typechecking in CI for libs/ tests
This commit is contained in:
parent
233c85f7a3
commit
05ebca2c4c
11
.github/workflows/test.yml
vendored
11
.github/workflows/test.yml
vendored
@ -42,7 +42,16 @@ jobs:
|
|||||||
- name: Install Node dependencies
|
- name: Install Node dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
|
# We use isolatedModules: true which disables typechecking in tests
|
||||||
|
# Tests in apps/ are typechecked when their app is built, so we just do it here for libs/
|
||||||
|
# See https://bitwarden.atlassian.net/browse/EC-497
|
||||||
|
- name: Run typechecking
|
||||||
|
run: |
|
||||||
|
for p in libs/**/tsconfig.spec.json; do
|
||||||
|
echo "Typechecking $p"
|
||||||
|
npx tsc --noEmit --project $p
|
||||||
|
done
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
export NODE_OPTIONS=--max_old_space_size=6144
|
|
||||||
npm run test
|
npm run test
|
||||||
|
@ -26,4 +26,13 @@ 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,
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
@ -10,10 +10,15 @@ module.exports = {
|
|||||||
// Also anecdotally improves performance when run locally
|
// Also anecdotally improves performance when run locally
|
||||||
maxWorkers: 3,
|
maxWorkers: 3,
|
||||||
|
|
||||||
// Jest does not use tsconfig.spec.json by default
|
|
||||||
globals: {
|
globals: {
|
||||||
"ts-jest": {
|
"ts-jest": {
|
||||||
|
// Jest does not use tsconfig.spec.json by default
|
||||||
tsconfig: "<rootDir>/tsconfig.spec.json",
|
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,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user