UNPKG

@nlabs/lex

Version:
63 lines (60 loc) 1.83 kB
/** * Copyright (c) 2018-Present, Nitrogen Labs, Inc. * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms. */ // Read Jest config from LEX_CONFIG environment variable if available let lexConfig = null; if(process.env.LEX_CONFIG) { try { lexConfig = JSON.parse(process.env.LEX_CONFIG); } catch(error) { console.warn('Failed to parse LEX_CONFIG:', error.message); } } const baseConfig = { testEnvironment: 'jsdom', moduleFileExtensions: ['ts', 'tsx', 'js', 'json', 'node'], moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', '\\.(css|less|scss|sass)$': 'identity-obj-proxy', '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mocks__/fileMock.js' }, transformIgnorePatterns: [ 'node_modules/(?!(strip-indent|chalk|@testing-library/jest-dom|zod|@nlabs|@nlabs/arkhamjs|@nlabs/utils|@nlabs/lex)/.*)' ], setupFilesAfterEnv: ['<rootDir>/jest.setup.js'], transform: { '^.+\\.ts$|^.+\\.tsx$': ['ts-jest', { useESM: false, tsconfig: 'tsconfig.test.json' }], '^.+\\.js$|^.+\\.jsx$': ['babel-jest', { presets: [ ['@babel/preset-env', {targets: {node: 'current'}}], '@babel/preset-react' ] }] }, moduleDirectories: ['node_modules', '<rootDir>'], testRegex: '(/__tests__/.*|\\.(test|spec|integration))\\.(ts|tsx|js|jsx)?$', collectCoverage: true, coverageDirectory: '<rootDir>/coverage', coveragePathIgnorePatterns: [ '/node_modules/', '/dist', '/lib', '__snapshots__', '.d.ts' ], coverageReporters: ['html', 'text'], verbose: true }; // Merge with Lex config if available if(lexConfig && lexConfig.jest) { module.exports = { ...baseConfig, ...lexConfig.jest }; } else { module.exports = baseConfig; }