Express.js 프로젝트에서 ESLint와 Prettier 설정하는 방법

Express.js 프로젝트에서 코드 품질을 유지하고 일관된 코드 스타일을 적용하려면 ESLintPrettier를 함께 설정하는 것이 중요합니다. 이 가이드는 최신 ESLint(Flat Config 방식)와 Prettier를 Express.js 프로젝트에 적용하는 방법을 단계별로 설명합니다.


1. ESLint 및 Prettier 설치

터미널을 열고 프로젝트 루트에서 다음 명령어를 실행하세요:

npm install eslint prettier eslint-config-prettier eslint-plugin-node --save-dev

설치되는 패키지 설명:

  • eslint: 코드 품질 분석 도구
  • prettier: 코드 포매터 (코드 스타일 정리)
  • eslint-config-prettier: ESLint와 Prettier 간 충돌을 방지하는 설정
  • eslint-plugin-node: Node.js 코드 규칙을 위한 ESLint 플러그인

2. ESLint 설정 (eslint.config.mjs 생성)

ESLint 최신 버전(9.x 이상)에서는 Flat Config 방식을 사용합니다. 기존 .eslintrc 파일 대신 eslint.config.mjs 파일을 생성해야 합니다.

eslint.config.mjs 설정 예제

import globals from "globals";
import pluginJs from "@eslint/js";
import pluginNode from "eslint-plugin-node";
import prettier from "eslint-config-prettier";

/** @type {import('eslint').Linter.FlatConfigData[]} */
export default [
  {
    files: ["**/*.js"],
    languageOptions: {
      sourceType: "commonjs",
      globals: globals.node,
    },
    plugins: {
      node: pluginNode,
    },
    rules: {
      "no-console": "off",
      "no-unused-vars": ["warn"],
      "eqeqeq": ["error", "always"],
      "curly": ["error", "all"],
      "consistent-return": "off",
    },
  },
  pluginJs.configs.recommended,
  prettier,
];

🔍 주요 설정 설명

  • globals.node: Node.js의 전역 객체(require, module, __dirname 등) 허용
  • no-console": "off": console.log 사용 가능하도록 설정
  • no-unused-vars": "warn": 사용되지 않는 변수는 경고 표시
  • eqeqeq": "error": == 대신 === 강제
  • curly": "error": 모든 if, else에 중괄호 {} 사용 강제

3. Prettier 설정 (.prettierrc 생성)

프로젝트 루트에 .prettierrc 파일을 만들고 다음 내용을 추가하세요:

{
  "semi": true,
  "singleQuote": true,
  "printWidth": 80,
  "tabWidth": 2,
  "trailingComma": "es5"
}

📌 설명

  • semi: true → 세미콜론(;)을 사용
  • singleQuote: true → 작은 따옴표(') 사용
  • printWidth: 80 → 한 줄 길이를 80자로 제한
  • trailingComma: "es5" → ES5 문법에 맞게 마지막 쉼표 유지

4. ESLint 및 Prettier 무시 파일 설정

.eslintignore

node_modules/

.prettierignore

node_modules/

이렇게 하면 node_modules/ 내부 파일을 검사하지 않아 불필요한 오류를 방지할 수 있습니다.


5. package.json에 실행 스크립트 추가

package.json에 다음과 같은 스크립트를 추가하면 ESLint와 Prettier를 쉽게 실행할 수 있습니다.

"scripts": {
  "lint": "eslint .",
  "lint:fix": "eslint . --fix",
  "format": "prettier --write ."
}

🛠 실행 명령어

  • npm run lint → 코드 검사 수행
  • npm run lint:fix → 자동으로 수정 가능한 문제 해결
  • npm run format → 코드 스타일을 Prettier로 정리

6. 실행 및 확인

설정이 완료되었으면, 터미널에서 다음 명령어를 실행해 정상적으로 작동하는지 확인하세요:

npm run lint
npm run lint:fix
npm run format

성공적으로 실행되면 ESLint와 Prettier가 정상적으로 적용된 것입니다! 🎉


마무리

Express.js 프로젝트에서 ESLint와 Prettier를 설정하면 코드 품질을 유지하고 일관된 스타일을 적용하는 데 큰 도움이 됩니다. 최신 Flat Config 방식에 맞춰 설정하였으므로, 최신 ESLint 버전에서도 안정적으로 작동합니다.

🚀 추가 질문이 있다면 댓글로 남겨주세요!

Leave a comment