Vue 프로젝트에서 ESLint 비활성화 및 Prettier 기반 전역 코드 포맷 설정

Vue CLI 기반 프로젝트에서 저장 시 자동으로 실행되는 ESLint 검사를 비활성화하고, 대신 Prettier를 사용해 일관된 코드 스타일을 적용하는 방법을 설명합니다.

1. ESLint 자동 검사 비활성화

vue.config.js 파일에서 lintOnSave 옵션을 false로 설정하여 개발 서버 실행 중 저장 시 자동 린트를 끕니다.

const { defineConfig } = require('@vue/cli-service');

module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false
});

2. ESLint 규칙 완전히 비활성화

.eslintrc.js 파일에서 모든 규칙을 제거하거나 빈 객체로 설정하여 ESLint가 아무런 검사를 수행하지 않도록 합니다.

module.exports = {
  root: true,
  env: {
    browser: true,
    node: true
  },
  parserOptions: {
    ecmaVersion: 2020,
    sourceType: 'module'
  },
  extends: [],
  rules: {}
};

3. Prettier 설치 및 전역 포맷 설정

Prettier를 개발 의존성으로 설치합니다:

npm install --save-dev prettier

package.jsonscripts에 전체 소스 코드를 포맷하는 명령어를 추가합니다. TypeScript와 JavaScript 중 사용하는 언어에 따라 경로를 조정합니다.

"scripts": {
  "serve": "vue-cli-service serve",
  "build": "vue-cli-service build",
  "format": "prettier --write \"src/**/*.{js,ts,vue}\""
}

4. Prettier 설정 파일 생성

프로젝트 루트에 .prettierrc 파일을 생성하여 원하는 포맷 규칙을 정의합니다.

{
  "semi": true,
  "singleQuote": false,
  "tabWidth": 2,
  "useTabs": false,
  "printWidth": 80,
  "trailingComma": "none",
  "bracketSpacing": true,
  "arrowParens": "avoid",
  "endOfLine": "lf"
}

5. 변경된 파일만 선택적으로 포맷하기

Git을 사용 중이라면 최근 커밋에서 변경된 파일만 포맷할 수 있습니다. Windows PowerShell 환경에서는 다음 스크립트를 사용할 수 있습니다.

"format-changed": "powershell -Command \"$files = git diff --name-only --diff-filter=ACMRTUXB HEAD~1 src/**/*.{js,ts,vue}; if ($files) { $files | ForEach-Object { prettier --write $_ } }\""

참고: PowerShell 스크립트 실행을 허용하려면 관리자 권한으로 다음 명령어를 실행해야 할 수 있습니다:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

6. 포맷 검증 명령어 추가

포맷이 올바르게 적용되었는지 확인하기 위해 체크 명령어를 추가할 수 있습니다.

"format:check": "prettier --check \"src/**/*.{js,ts,vue}\""

설정 변경 후에는 개발 서버를 재시작해야 새로운 설정이 반영됩니다.

태그: Vue.js ESLint Prettier Code Formatting Vue CLI

8월 6일 08:49에 게시됨