const ReactCompiler = require('../packages/babel-plugin-react-compiler/dist'); const combinedRules = [ { name: 'rules-of-hooks', recommended: true, description: 'Validates that components and hooks follow the [Rules of Hooks](https://react.dev/reference/rules/rules-of-hooks)', }, { name: 'exhaustive-deps', recommended: true, description: 'Validates that hooks which accept dependency arrays (`useMemo()`, `useCallback()`, `useEffect()`, etc) ' + 'list all referenced variables in their dependency array. Referencing a value without including it in the ' + 'dependency array can lead to stale UI or callbacks.', }, ...ReactCompiler.LintRules, ]; const printed = combinedRules .filter( ruleConfig => ruleConfig.rule.recommended && ruleConfig.severity !== 'Off' ) .map(ruleConfig => { return ` ## \`react-hooks/${ruleConfig.rule.name}\` ${ruleConfig.rule.description} `.trim(); }) .join('\n\n'); console.log(printed);