기존 반응 프로젝트에 ESLint 추가
7096 단어 webdevreactjavascript
전제 조건
ESLint 구성 결정
구성과 빨간색/노란색 밑줄이 보이도록 편집기를 준비합니다. 또한 콘솔에서 lint를 실행하고 결과를 팀과 공유하십시오. 그런 다음 팀과 논의하고 비활성화, 추가 또는 경고로 변환해야 하는 규칙을 나열합니다.
"rules": {
"no-unused-vars": "warn",
"react/jsx-indent": "off",
}
경고를 무시하도록 배포 워크플로 구성을 편집해야 합니다.
전략
👉🏽 상단의 모든 파일에 대해 ESLint 비활성화
이 경우 sed를 사용하여 모든 파일의 맨 위에 모든 주석을 달았습니다.
find . -name "*.js" -exec sed -i '' '1i\
/* eslint-disable */
' {} +
이것이 구현되면 풀 요청을 제출할 때 개발자가 댓글을 제거했는지 확인하십시오. 이렇게 하면 앱이 문제 없이 컴파일되고 git 변경이 최소화됩니다.
👉🏽 env 변수를 사용하여 ESLint 비활성화
이 경우 특정 기간 동안 ESLint를 비활성화하지만 pre-commit 후크에서 여전히 linting을 활성화합니다.
ESLint를 비활성화하려면
CRA를 사용하는 경우
.env 파일에서
DISABLE_ESLINT_PLUGIN=true
제거된 CRA 또는 webpack을 사용하는 다른 사용자의 경우
webpack 구성에서 규칙 내부에 ESLint 규칙이 적용되는 부분을 주석 처리하거나 env 검사를 추가할 수 있습니다.
webpack의 ESLint 확인자는 아래 코드와 같습니다.
const disableESLintPlugin = process.env.DISABLE_ESLINT_PLUGIN === 'true';
!disableESLintPlugin &&
new ESLintPlugin({
// Plugin options
// ....
}
👉🏽 대부분 수정하고 나머지는 비활성화
현재 동일한 기능을 개발하는 많은 개발자가 있는 대규모 코드 기반에서는 이 방법을 권장하지 않습니다. 완전히 새로운 git 저장소에서 코드 기반의 완전한 리팩터링을 수행하는 경우에 적합합니다.
먼저 스타일 포맷터(즉, prettify와 같은)를 사용하는 경우 먼저 실행하십시오. 더 예쁜 CLI가 있는 경우 직접 실행할 수 있습니다.
prettier --write
또는 package.json에서 구성할 수 있습니다.
"scripts": {
"format": "prettier --write \"**/*.{js,jsx,json,md}\""
}
그런 다음 ESLint 수정 명령을 진행하십시오.
"scripts": {
"lint:fix": "eslint --fix src/**/*.{js,jsx}"
}
그런 다음 여전히 많은 오류로 끝날 수 있습니다.
자동 서프레서 사용
https://github.com/amanda-mitchell/suppress-eslint-errors
이 도구는 모든 오류를 한 줄씩 비활성화합니다.
// eslint-disable-line
모든 단일 오류에 대해. 이는 많은 변경 사항일 수 있지만 비활성화할 규칙을 선택할 수 있습니다. suppress-eslint-errors 프로젝트는 작고 이해하기 쉬운 코드이므로 목적에 맞게 복제하고 수정할 수 있습니다.
👉🏽 모든 오류를 경고로 변환
https://github.com/bfanger/eslint-plugin-only-warn
eslint-plugin-only-warn 설치
$ npm install eslint-plugin-only-warn --save-dev
.eslintrc 구성 파일의 플러그인 섹션에 only-warn을 추가합니다.
{
"plugins": ["only-warn"]
}
이 ESLint 플러그인은 모든 오류를 경고로 변환합니다. 모든 경고를 천천히 제거할 수 있습니다. 그러나 경고를 제거하려면 커밋 전 후크에 조건을 추가해야 합니다.
"scripts": {
"lint": "eslint src/**/*.{js,jsx} --max-warnings=0",
},
결론
전략 중 하나 또는 조합을 선택할 수 있습니다. 가장 좋은 전략은 프로젝트 자체의 시작 부분에 ESLint 구성을 추가하는 것입니다.
어떤 전략을 선택하든 Husky과 같은 사전 커밋 솔루션이 있고 CI 파이프라인에서도 Lint 검사가 있습니다.
Reference
이 문제에 관하여(기존 반응 프로젝트에 ESLint 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lokdevp/adding-eslint-to-existing-react-project-1nhd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)