Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion packages/fxa-auth-server/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
rootDir: '.',
modulePathIgnorePatterns: ['<rootDir>/dist/'],
testMatch: [
'<rootDir>/lib/**/*.spec.ts',
'<rootDir>/config/**/*.spec.ts',
Expand All @@ -29,7 +30,7 @@ module.exports = {
maxWorkers: 4,
clearMocks: true,
workerIdleMemoryLimit: '512MB',
setupFiles: ['<rootDir>/jest.setup.js', '<rootDir>/jest.setup-proxyquire.js'],
setupFiles: ['<rootDir>/jest.setup.js', '<rootDir>/jest.setup-resolve.js'],
testPathIgnorePatterns: ['\\.in\\.spec\\.ts$'],
// Coverage configuration (enabled via --coverage flag)
collectCoverageFrom: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/**
* Fix for proxyquire not finding .ts files under Jest/ts-jest.
* proxyquire uses resolve.sync() which defaults to only .js extensions.
* Fix for module resolution not finding .ts files under Jest/ts-jest.
* resolve.sync() defaults to only .js extensions, which breaks jest.mock()
* for modules that resolve to .ts index files (e.g. fxa-shared/db/models/auth).
* This patches resolve.sync to also look for .ts files.
*/

const resolve = require('resolve');
const originalSync = resolve.sync;
resolve.sync = function(id, opts) {
resolve.sync = function (id, opts) {
opts = opts || {};
if (!opts.extensions || opts.extensions.length === 0) {
opts.extensions = ['.ts', '.tsx', '.js', '.json', '.node'];
Expand Down
Loading