Add a fast heuristic to detect whether a file may contain React components or hooks before running the full compiler. This avoids the overhead of Babel AST parsing and compilation for utility files, config files, and other non-React code. The heuristic uses ESLint's already-parsed AST to check for functions with React-like names at module scope: - Capitalized functions: MyComponent, Button, App - Hook pattern functions: useEffect, useState, useMyCustomHook Files without matching function names are skipped and return an empty result, which is cached to avoid re-checking for subsequent rules. Also adds test coverage for the heuristic edge cases.
13 lines
346 B
JavaScript
13 lines
346 B
JavaScript
'use strict';
|
|
|
|
process.env.NODE_ENV = 'development';
|
|
|
|
module.exports = {
|
|
setupFiles: [require.resolve('../../scripts/jest/setupEnvironment.js')],
|
|
moduleFileExtensions: ['ts', 'js', 'json'],
|
|
moduleNameMapper: {
|
|
'^babel-plugin-react-compiler$':
|
|
'<rootDir>/../../compiler/packages/babel-plugin-react-compiler/dist/index.js',
|
|
},
|
|
};
|