연습장
eslint + prettier 적용 본문
정리
1. package.json 생성
npm init -y
2. airbnb 스타일 관련 설치
npx install-peerdeps --dev eslint-config-airbnb
3. prettier 설치
npm install --save-dev prettier eslint-plugin-prettier eslint-config-prettier
4. .eslintrc.js 생성
// .eslintrc.js
module.exports = {
extends: [
'airbnb-base',
'plugin:prettier/recommended', // Prettier 관련 규칙 추가
],
env: {
browser: true,
node: true,
es2021: true,
},
rules: {
'no-console': 'off',
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
},
};
5. .prettierrc 생성
{
"singleQuote": true,
"semi": true,
"useTabs": false,
"tabWidth": 2,
"trailingComma": "all",
"printWidth": 80,
"arrowParens": "avoid"
}
6. setting.json 설정
{
... ...
"eslint.enable": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
.eslintrc.js 파일 alt + a , alt + shift + f 로 정리
7. js 파일 생성 테스트
// src/app.js
console.log('dd') ;;;
console.log('1111111111111111', '2222222222222222222', '333333333333333333333', '44444444444444444444444', '5555555555555555555'); ;;;
다음과 같이 되면 적용 된것.
// src/app.js
console.log("dd");
console.log(
"1111111111111111",
"2222222222222222222",
"333333333333333333333",
"44444444444444444444444",
"5555555555555555555",
);
package.json
{
"name": "eslint_test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"eslint": "^8.2.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"prettier": "^3.3.3"
}
}
cli 사용시
"scripts": {
"lint": "eslint src --fix"
},
npm run lint
'클론코딩해보기 > 환경 세팅' 카테고리의 다른 글
[최종] 바닐라 javaScript 세팅 (0) | 2024.08.14 |
---|---|
04. ES6 -> @babel/polyfill 에서 core-js@3 (0) | 2024.08.12 |
03. ES6 -> babel + Webpack + Sass (0) | 2024.08.12 |
02. ES6 -> babel + Webpack (0) | 2024.08.11 |
01. ES6 -> babel (0) | 2024.08.11 |