From b18a72f56f68dd23ac58a7834fcb83e265cf3b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Thu, 29 Jun 2023 23:40:53 +0200 Subject: [PATCH] feat: update eslint config in React templates (#13550) --- .../create-vite/template-preact-ts/src/main.tsx | 2 +- .../create-vite/template-react-ts/.eslintrc.cjs | 15 +++++++++++++-- .../create-vite/template-react-ts/src/main.tsx | 2 +- packages/create-vite/template-react/.eslintrc.cjs | 5 ++++- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/create-vite/template-preact-ts/src/main.tsx b/packages/create-vite/template-preact-ts/src/main.tsx index 125b2d586a34bc..846cd1e988102e 100644 --- a/packages/create-vite/template-preact-ts/src/main.tsx +++ b/packages/create-vite/template-preact-ts/src/main.tsx @@ -2,4 +2,4 @@ import { render } from 'preact' import { App } from './app.tsx' import './index.css' -render(, document.getElementById('app') as HTMLElement) +render(, document.getElementById('app')!) diff --git a/packages/create-vite/template-react-ts/.eslintrc.cjs b/packages/create-vite/template-react-ts/.eslintrc.cjs index c376ea9bd57bae..1dc7153b3ad796 100644 --- a/packages/create-vite/template-react-ts/.eslintrc.cjs +++ b/packages/create-vite/template-react-ts/.eslintrc.cjs @@ -1,16 +1,27 @@ /* eslint-env node */ module.exports = { + root: true, env: { browser: true, es2020: true }, extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', 'plugin:react-hooks/recommended', ], parser: '@typescript-eslint/parser', - parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: true, + tsconfigRootDir: __dirname, + }, plugins: ['react-refresh'], rules: { - 'react-refresh/only-export-components': 'warn', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + '@typescript-eslint/no-non-null-assertion': 'off', }, } diff --git a/packages/create-vite/template-react-ts/src/main.tsx b/packages/create-vite/template-react-ts/src/main.tsx index 91c03f3fb20c1e..3d7150da80e43e 100644 --- a/packages/create-vite/template-react-ts/src/main.tsx +++ b/packages/create-vite/template-react-ts/src/main.tsx @@ -3,7 +3,7 @@ import ReactDOM from 'react-dom/client' import App from './App.tsx' import './index.css' -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( +ReactDOM.createRoot(document.getElementById('root')!).render( , diff --git a/packages/create-vite/template-react/.eslintrc.cjs b/packages/create-vite/template-react/.eslintrc.cjs index dc8cfde9749a21..ee71034ece0476 100644 --- a/packages/create-vite/template-react/.eslintrc.cjs +++ b/packages/create-vite/template-react/.eslintrc.cjs @@ -12,6 +12,9 @@ module.exports = { settings: { react: { version: '18.2' } }, plugins: ['react-refresh'], rules: { - 'react-refresh/only-export-components': 'warn', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], }, }