0:0 error Parsing error: ESLint was configured to run on
<tsconfigRootDir>/vite.config.ts
usingparserOptions.project
<tsconfigRootDir>
/tsconfig.json
이유: 이 에러는 TypeScript ESLint 설정이 tsconfig 파일에 포함되어 있지 않은 vite.config.ts
파일을 분석하려는 시도 때문에 일어난다.
해결 방법: .eslintrc.cjs
파일에 있는 ignorePatterns
항목에 'vite.config.ts'
를 추가해서 해서 lint가 vite.config.ts
를 무시하도록 한다.
cra
나 vite
로 프로젝트를 시작했다면 jsx
변환 설정이 "runtime": "automatic"으로 되어 있기 때문에 import React from 'react'
가 필요없다.'react/react-in-jsx-scope': 'off',
를 rules
에 추가했다.semi
규칙을 사용했었지만 이가 코드에 가독성에 별로 도움이 되지 않는다고 생각해서 Airbnb 규칙을 따랐다.'@typescript-eslint/semi': 'off'
을 rules
에 추가했다.Function component is not a function declaration
'react/function-component-definition': [
2,
{
namedComponents: 'arrow-function',
unnamedComponents: 'arrow-function',
},
],
.eslintrc.cjs
폴더 전체 코드를 보면 다음과 같다.module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'airbnb',
'airbnb-typescript',
'airbnb/hooks',
'plugin:react/recommended',
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs', 'vite.config.ts'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh', '@typescript-eslint', 'prettier'],
rules: {
semi: 'off',
'react/react-in-jsx-scope': 'off',
'@typescript-eslint/semi': 'off',
'react/function-component-definition': [
2,
{
namedComponents: 'arrow-function',
unnamedComponents: 'arrow-function',
},
],
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: './tsconfig.json',
},
}