build: enhance test configuration and TypeScript handling
- Update Jest config to use ts-jest for better TypeScript support - Add TSX test file pattern support for React components - Improve Babel config with proper TypeScript preset settings - Enable better import.meta transformation for Jest compatibility
This commit is contained in:
@@ -1,31 +1,43 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
['@babel/preset-env', {
|
||||
targets: {
|
||||
node: 'current'
|
||||
}
|
||||
}],
|
||||
'@babel/preset-typescript'
|
||||
[
|
||||
'@babel/preset-env',
|
||||
{
|
||||
targets: {
|
||||
node: 'current',
|
||||
},
|
||||
},
|
||||
],
|
||||
[
|
||||
'@babel/preset-typescript',
|
||||
{
|
||||
isTSX: true,
|
||||
allExtensions: true,
|
||||
},
|
||||
],
|
||||
],
|
||||
plugins: [
|
||||
// Transform import.meta for Jest compatibility
|
||||
function() {
|
||||
function () {
|
||||
return {
|
||||
visitor: {
|
||||
MetaProperty(path) {
|
||||
if (path.node.meta.name === 'import' && path.node.property.name === 'meta') {
|
||||
if (
|
||||
path.node.meta.name === 'import' &&
|
||||
path.node.property.name === 'meta'
|
||||
) {
|
||||
path.replaceWithSourceString('({ env: process.env })');
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
},
|
||||
],
|
||||
env: {
|
||||
test: {
|
||||
plugins: [
|
||||
// Additional test-specific plugins can go here
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"<rootDir>/types/**/__tests__/**/*.test.ts",
|
||||
"<rootDir>/components/**/__tests__/**/*.test.tsx",
|
||||
"<rootDir>/tests/**/*.test.ts",
|
||||
"<rootDir>/tests/**/*.test.tsx",
|
||||
"<rootDir>/tests/**/*.test.js"
|
||||
],
|
||||
"collectCoverageFrom": [
|
||||
@@ -25,7 +26,14 @@
|
||||
"^node-fetch$": "<rootDir>/tests/__mocks__/node-fetch.js"
|
||||
},
|
||||
"transform": {
|
||||
"^.+\\.tsx?$": "babel-jest",
|
||||
"^.+\\.tsx?$": [
|
||||
"ts-jest",
|
||||
{
|
||||
"tsconfig": "tsconfig.json",
|
||||
"babelConfig": "babel.config.cjs",
|
||||
"diagnostics": false
|
||||
}
|
||||
],
|
||||
"^.+\\.jsx?$": "babel-jest"
|
||||
},
|
||||
"transformIgnorePatterns": ["node_modules/(?!(@jest/transform|uuid|node-fetch)/)"],
|
||||
|
||||
Reference in New Issue
Block a user