Testing should just work
/jest.config.js
module.exports = {
preset: "@anansi/jest-preset"
}
See @anansi/webpack-config for full list of module formats supported.
Anansi's webpack automatically makes media files, svgs, scss/css modules, webworkers and TypeScript or babel work automatically. Using this preset enables all those module types to be handled in exactly as you'd expect with the webpack config.
Jest doesn't give much flexibility with regard to presets, so we provide some environmental variables to do customizations that impact multiple aspects of the configuration. However, this can also be done in a javascript jest config like so:
/jest.config.js
process.env.ANANSI_JEST_BABELCONFIG = 'babel.config.js';
process.env.ANANSI_JEST_TSCONFIG = 'tsconfig.test.json';
module.exports = {
preset: '@anansi/jest-preset',
};
It might be useful to have a specific tsconfig for tests that inherits from the base config. Use this variable to have jest pickup that file instead.
By default jest will automatically search for the appropriate babel configuration (with the value of true
).
In case this doesn't work you can specify a string for the babel configuration.
Using 'babel.config.js' will automatically invoke the rootMode: 'upward'
algorithm.
If set to 'false', this disables type checking which can reduce memory usage quite a bit.
This can be useful when running tests in multiple environments as the environment often doesn't impact typing, making re-checking types a waste of resources.