N

Nokfa Docs

ไม่มีชื่อบทความ

pnpm run prepare คืออะไร

คำสั่ง pnpm run prepare คือการรันสคริปต์ที่ชื่อว่า prepare ที่กำหนดไว้ในไฟล์ package.json ของโปรเจค Node.js

ตัวอย่าง package.json:

"scripts": {
  ...
  "prepare": "husky install"
}

เมื่อใช้คำสั่ง:

pnpm run prepare

ระบบจะเรียกคำสั่งที่กำหนดไว้ในสคริปต์ prepare โดยอัตโนมัติ เช่นในกรณีนี้ คือการรัน husky install


ทำไมถึงต้องใช้ pnpm run prepare ?

1. เพื่อ ติดตั้ง Husky Git Hooks

Husky เป็นเครื่องมือที่ช่วยให้สามารถรันสคริปต์อัตโนมัติตอนที่มีเหตุการณ์สำคัญใน Git เช่น:

  • ก่อนที่จะ commit (pre-commit)
  • ก่อนที่จะ push (pre-push)
  • ตรวจสอบ commit message (commit-msg)

คำสั่ง husky install จะทำการสร้างและตั้งค่าไฟล์ในโฟลเดอร์ .husky/ และเชื่อมโยงกับโฟลเดอร์ .git/hooks/ เพื่อให้ Git สามารถใช้งาน hooks เหล่านี้ได้จริง

2. ต้องรันหลังจาก clone โปรเจคใหม่

หลังจากโคลน repository หรือถ้ามีการลบโฟลเดอร์ .husky/ หรือ .git/ ออกไป จำเป็นต้องรันคำสั่งนี้ใหม่เสมอเพื่อให้ Git hooks กลับมาทำงานได้

หากไม่รันคำสั่ง pnpm run prepare:

  • Git hooks จะไม่ทำงาน
  • สคริปต์ที่ใช้ตรวจสอบหรือควบคุมคุณภาพโค้ดจะไม่ทำงานอัตโนมัติ

สรุปสั้นๆ แบบเข้าใจง่าย

  • pnpm run prepare ใช้เพื่อเตรียม Git hooks ผ่าน Husky ให้พร้อมใช้งาน
  • ควรรันทุกครั้งหลังจากติดตั้ง dependencies (pnpm install) หรือ clone โปรเจคใหม่
  • โดยทั่วไป npm/yarn/pnpm v7+ จะรัน prepare อัตโนมัติระหว่างติดตั้ง dependencies แต่ควรรันซ้ำเพื่อความแน่ใจหลัง clone โปรเจคใหม่เสมอ

ตัวอย่างการใช้งานจริง

ขั้นตอนที่แนะนำหลังจาก clone โปรเจค:

pnpm install
pnpm run prepare   # ติดตั้ง Husky hooks ให้พร้อมใช้งาน

หรือจะกำหนดขั้นตอนนี้เป็นมาตรฐานในการทำงานสำหรับทีมได้เช่นกัน


อธิบายง่ายๆ

"ถ้าอยากให้มีระบบอัตโนมัติในการตรวจสอบโค้ดหรือ commit message ก่อนที่จะ commit หรือ push ขึ้นไปที่ repository ต้องรันคำสั่ง pnpm run prepare หลังจากที่ clone โปรเจคทุกครั้ง"