เราควบคุมพลังของพื้นที่ทำงาน pnpm เพื่อให้ monorepo ของเราทำงานได้อย่างราบรื่นกว่าแพนเค้กทาเนยสด
โคลน Hey monorepo ไปยังเครื่องของคุณ:
git clone [email protected]:/repos/hey/hey.git
กำลังโยก macOS หรือไม่? คุณสามารถคว้าทั้งสองอย่างได้ด้วย Homebrew เหมือนผู้เชี่ยวชาญด้านการชงตัวจริง:
brew install nvm pnpm
ใช้ nvm
เพื่อเรียก Node.js เวอร์ชันมหัศจรรย์ที่คุณต้องการ:
nvm install
เทเลพอร์ตตัวเองไปที่รูทของ repository และปล่อยให้ pnpm โรยเวทย์มนตร์การพึ่งพาของมัน:
pnpm install
.env
ถ่ายทอดตัวช่วยสร้างภายในของคุณและสร้างไฟล์ .env
จากเทมเพลต .env.example
สำหรับทุกแพ็คเกจและแอปที่ต้องการ อย่าลืมโรยตัวแปรสภาพแวดล้อมที่จำเป็นด้วย!
cp .env.example .env
อย่าลืมเล่น Copycat และทำซ้ำการสร้างไฟล์ .env
นี้สำหรับทุกแพ็คเกจและแอปที่ต้องการ ความสม่ำเสมอเป็นสิ่งสำคัญ!
เมื่อดวงดาวทั้งหมดเรียงกันและทุกอย่างเข้าที่แล้ว ให้เริ่มแอปพลิเคชันในโหมดการพัฒนา:
pnpm dev
พร้อมที่จะสร้างแอปพลิเคชันแล้วหรือยัง? เพียงรันคำสั่งนี้:
pnpm build
ต้องการทำการทดสอบในขณะที่คุณกำลังพัฒนาหรือไม่? นี่คือวิธีการ:
pnpm test
เราใช้ ts-prune
เพื่อค้นหาและกำจัดการส่งออกที่ไม่ได้ใช้และผู้ช่วยเหลือที่ซุ่มซ่อนอยู่ในโค้ดเบสของเรา โปรดทราบว่าคุณจะต้องรันงานนี้ด้วยตนเองสำหรับแต่ละแพ็คเกจและแอป มีความสุขกับการตัดแต่งกิ่ง!
cd apps/web ; npx ts-prune -i generated.ts
ถึงเวลาเปลี่ยนโฉมการพึ่งพาของเราแล้ว! เราพึ่งพาพลังวิเศษของ pnpm
เพื่อให้ทุกอย่างทันสมัยและดูเฉียบคม
script/clean-branches
script/update-dependencies
เราไว้วางใจ pnpm
เพื่อให้ไฟล์ล็อคของเราสดใหม่และยอดเยี่ยม!
script/clean-branches
script/update-lock-file
เราใช้ Ripgrep เพื่อค้นหาข้อความในโค้ดเบส มันเหมือนกับว่า grep
และ ag
มีลูก แล้วเด็กคนนั้นก็เติบโตขึ้นมาเป็นปีศาจแห่งความเร็ว!
ติดตั้งผ่าน Homebrew:
brew install ripgrep
ค้นหาข้อความใน codebase:
rg " const Verified "
ใน apps/web
เรามีเครื่องวิเคราะห์บันเดิลที่จะวิเคราะห์ขนาดและเนื้อหาของบันเดิลการผลิตของเรา เหมือนกับการเอ็กซ์เรย์มองเห็นโค้ดของคุณ!
หากต้องการสร้างเอาต์พุตนี้ ให้รัน:
cd apps/web
ANALYZE=true pnpm build
เรียกใช้คำสั่งนี้เพื่อสร้าง apps/web
และดูหน้าต่างเบราว์เซอร์สามหน้าต่างเปิดขึ้นมาอย่างน่าอัศจรรย์ โดยแต่ละหน้าต่างแสดงรายละเอียดบันเดิลสำหรับโหนด Edge และบันเดิลไคลเอนต์ บันเดิลไคลเอนต์คือสิ่งสำคัญสำหรับประสิทธิภาพของเพจ ในขณะที่บันเดิลทั้งหมดมีบทบาทสำคัญในการพัฒนาและสร้างประสิทธิภาพ
เราขอให้ผู้มีส่วนร่วมและสมาชิกในทีมทุกคนปฏิบัติตามหลักจรรยาบรรณของเรา ให้คิดว่ามันเป็นกฎทองของชุมชนของเรา - เล่นให้ดีและรักษาความรู้สึกดีๆ ให้ไหลลื่น!
โครงการนี้เป็นโอเพ่นซอร์สภายใต้ใบอนุญาต AGPL-3.0 สำหรับรายละเอียดที่สำคัญทั้งหมด โปรดดูไฟล์ LICENSE ช่างเปลี่ยนหน้าจริงๆ!
เรา ? คุณไปดวงจันทร์และกลับมา! การสนับสนุนของคุณเปรียบเสมือนการเติมกาแฟให้กับโค้ดของเราอย่างไม่มีสิ้นสุด ขอบคุณที่ทำให้เฮ้เป็นสถานที่ที่ยอดเยี่ยมที่สุดในจักรวาล!
-