Skip to content

lofty87/code-convention

Repository files navigation

@lofty87/code-convention


TypeScript 기반 React, Next, Expo 프로젝트에서 사용할 수 있는 Code Convention (ESLint, Prettier) 입니다. Code Convention 을 잡고 프로젝트를 진행하게 되면, 나 또는 팀원들이 모두 일관성 있는 코드를 작성하게 되어 코드 관리가 쉽고 유지 보수에 용이하다는 장점이 있습니다. 또 코드가 통일성 있고 깔끔하게 되어 코드의 품질을 올릴 수 있습니다.

아래와 같이 프로젝트를 설정할 경우, 파일 저장만으로 자동 ESLint FormattingPrettier Formatting 이 가능해집니다.


1. Prerequisite (required)

  • typescript@>=4.6.3
    • tsconfig.json
  • VSCode Extensions
    • ESLint
    • Prettier - Code formatter

2. Dependencies

  • @lofty87/eslint-config@^4.0.2
    • @typescript-eslint/eslint-plugin@^5.50.0
    • @typescript-eslint/parser@^5.50.0
    • eslint-plugin-import@^2.27.5
    • eslint-plugin-jsx-a11y@^6.7.1
    • eslint-plugin-react@^7.32.2
    • eslint-plugin-react-hooks@^4.6.0
  • @lofty87/prettier-config@^1.0.8
  • eslint-config-prettier@^9.0.0 (충돌방지)

3. Installation

# npm
npm install @lofty87/code-convention eslint --save-dev

# yarn
yarn add @lofty87/code-convention eslint --dev

4. Configuration

1. ESLint Formatting

프로젝트 폴더(root)에 .eslintrc.json 파일을 생성하고 아래 내용을 추가합니다.

{
  "extends": [
    "@lofty87/eslint-config",
    "prettier"
  ],
  "rules": {}
}

VSCode Preferences 의 Settings 안에 아래 내용을 추가합니다.

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  }
}

자, 이제 파일을 저장하면 자동으로 ESLint Formatting 이 가능합니다.


2. Prettier Formatting

프로젝트 폴더(root)에 .prettierrc.json 파일을 생성하고 아래 내용을 추가합니다.

"@lofty87/prettier-config"

VSCode Preferences 의 Settings 안에 아래 내용을 추가합니다.

{
  "[javascript]": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascriptreact]": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescriptreact]": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

자, 이제 파일을 저장하면 자동으로 Prettier Formatting 이 가능합니다.

About

Lofty87 Project Code Convention

Resources

Stars

Watchers

Forks