Node JS
  • SetUp Node&NVM
  • Folder Structure
  • Setup NodeJS Project
  • Library
    • Awilix
    • Swagger
    • Express
    • Jest
      • Supertest
    • Prettier
    • Eslint & Tslint
      • Tslint & Prettier
      • Tslint Plugin Prettier
      • Config With Airbnb
    • Husky And Friends
    • Sentry
  • INFRASTRUCTURE
    • Docker
      • Docker image
      • Docker container
      • Docker Volume
      • Docker command
      • Docker Compose
      • Problem & Solution
    • SonarQube
      • How to use in Nodejs
    • NGinX
    • ดูเพิ่มเติม
  • Note
    • .env declare type
    • Learn Link
Powered by GitBook
On this page
  • การตั้งค่า Prettier ให้อยู่ร่วมกับ ESLint 🤝
  • Install
  • เรียกใช้งาน
  • Example
  1. Library
  2. Eslint & Tslint

Tslint & Prettier

การตั้งค่าให้ Prettier กับ ESLint อยู่ร่วมกันอย่างสันติสุข

PreviousEslint & TslintNextTslint Plugin Prettier

Last updated 3 years ago

นั้นเกิดมาเพื่อให้การจัดโค้ดนั้นมีมาตฐานที่ตรงกัน ไม่ต้องมานั้งปวดหัวกับรูปแบบการเขียนโค้ดที่ต่างกันของแต่ล่ะคน หรือ Prettier นั้นเป็นตัวช่วยให้เราเองไม่ต้องมานั้งจัดโค้ดให้เสียเวลา

นั้นเอาใว้เช็ค code syntax ของ JavaScript เพื่อไม่ให้เกิด 🐛 bug หรือ 🚫 error ขึ้นมาโดยที่เราไม่รู้ตัวว่าเขียนอะไรผิดๆ ลงไป หรือยังสมารถเช็ค code quality ได้

การตั้งค่า Prettier ให้อยู่ร่วมกับ ESLint 🤝

ใน Lint เองไม่ได้มีแค่ กฎของการเช็ค code quality หรือ syntax แต่ยังมีเรื่องการทำ code formatter ด้วย ทำให้ถ้าหากใช้ร่วมกับ Prettier ก็มีแต่จะตีกันไปมา และแต่ล่ะตัวก็เก่งในแบบของตัวเอง Lint เก่งด้าน code quality, syntax check และ Prettier เองก็เก่งด้านการทำ code formatter ให้สวยงามตรงมาตฐาน

Install

npm install --save-dev tslint-config-prettier

เพิ่ม "tslint-config-prettier" ไปที่ส่วน "extends" และสำคัญก็คือต้องใว้ลำดับสุดท้าย

#tslint.json
{
  "extends": [ "tslint:recommended", "tslint-config-prettier" ]
}
#package.json
{
  "scripts": {
    "tslint-check": "tslint-config-prettier-check ./tslint.json"
  }
}

เรียกใช้งาน

npm run tslint-check

Example

ผลลัพธ์จะเจอ conflict ที่ซ้ำกันคือ quotemask ซึ่งจะทำให้พอรันเรา format ด้วย prettier จะได้ "" ออกมา แต่พอรันเช็คด้วย tslint จะไม่ผ่าน

Prettier
Lint
การตั้งค่าให้ Prettier กับ ESLint อยู่ร่วมกันอย่างสันติสุข🤝Medium
อ่านเพิ่มเติม
Integrating with Linters · Prettier
อ่านเพิ่มเติม
ผลลัพธ์
Logo
Logo