Jeżeli to nie jest właściwa sekcja, to przepraszam i proszę o przeniesienie. Chodzi o testowanie React z JESTem. Mam konfigurację działającą na projekcie 100% TS. Teraz rzeźbię projekt zasadniczo w mieszanienie jednego i drugiego (tzn jest w trakcie przepisywania na TS). Przeniosłam konfigurację 1:1 i nie działa — ma problem z plikami JS. Ten fakt sprawdziłam doświadczalnie zmieniając prowizorycznie JS > TS jeden z plików - przeszło przez niego, ale wywaliło się na kolejnym .js . Błąd jest zawsze taki sam
SyntaxError: Unexpected token 'export'
Poniżej zawartość jest.config.ts
import type { Config } from '@jest/types';
const config: Config.InitialOptions = {
roots: ['<rootDir>/test', '<rootDir>/src'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
'^.+\\.css$': '<rootDir>/jest-config/style-mock.js',
},
setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
testEnvironment: 'jsdom',
collectCoverage: false,
collectCoverageFrom: ['src/**/*.{ts,tsx}'],
moduleNameMapper: {
'^.+\\.(css|sass|scss)$': 'identity-obj-proxy',
},
};
export default config;
a tu tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"noFallthroughCasesInSwitch": true
},
"include": ["src"]
}
Ktoś ma może jakiś pomysł?