22 คะแนน โดย xguru 2025-07-21 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เครื่องมือจัดการตัวแปรสภาพแวดล้อมยุคถัดไป ที่ก้าวข้ามข้อจำกัดของแนวทาง .env/.env.example แบบเดิม แก้ปัญหาเรื่องการทำงานร่วมกัน, AI, ความปลอดภัย และ type safety ได้ในครั้งเดียว
    • จัดการสคีมาของตัวแปรสภาพแวดล้อมไว้ในที่เดียวด้วย .env.schema จึงไม่ต้องกังวลเรื่องค่าจริงกับตัวอย่างใน .env.example ไม่ตรงกัน
  • เพิ่มข้อมูลแบบประกาศลงในไฟล์ .env ได้หลากหลายผ่าน คอมเมนต์เดคอเรเตอร์ @env-spec เช่น สคีมา, ประเภทข้อมูล, การตรวจสอบความถูกต้อง, ตัวอย่าง, ระดับความอ่อนไหว, การจัดการความลับภายนอก
    • @required, @type=string, @sensitive, @example เป็นต้น
  • การตรวจสอบความถูกต้องที่ทรงพลัง: แจ้งข้อผิดพลาดจากการตั้งค่าที่ไม่ถูกต้องหรือค่าที่ขาดหายด้วยข้อความที่ชัดเจนทันที (ป้องกันล่วงหน้าก่อนรันไทม์)
  • สร้าง type อัตโนมัติตามสคีมา ช่วยให้การเข้าถึงตัวแปรสภาพแวดล้อมในโค้ดมี type safety และรองรับ IDE IntelliSense
  • ความปลอดภัย: ปิดบังข้อมูลอ่อนไหวอัตโนมัติ (ใน log/console) และตรวจจับการรั่วไหลใน bundled client/response
  • หลายสภาพแวดล้อมและการ override: รองรับการตั้งค่าสภาพแวดล้อมที่ซับซ้อน เช่น ค่าเริ่มต้น, ไฟล์แยกตามสภาพแวดล้อม, ค่าส่วนตัวที่ถูก git-ignore และการรวมกับ process env
  • การผสานรวมความลับภายนอก: โหลดซีเคร็ตแบบไดนามิกผ่านคำสั่งอย่าง 1Password, exec และมีแผนรองรับปลั๊กอิน, การเข้ารหัสในเครื่อง และ team vault เร็ว ๆ นี้
  • ไม่ยึดติดกับภาษา/รันไทม์: ใช้ได้ไม่เฉพาะกับ JS/TS แต่รวมถึงทุกภาษาและทุกโปรเซส เช่น varlock run -- python my.py เพื่อ inject validated env ได้
  • แทนที่ dotenv ได้อย่างสมบูรณ์: เพียงเปลี่ยนจากการ import dotenv มาใช้ varlock ก็ใช้งานความสามารถอย่างการตรวจสอบความถูกต้องทันที, การสร้าง type อัตโนมัติ, การเสริมความปลอดภัย และการผสานรวมหลายสภาพแวดล้อม/ซีเคร็ตได้ทันที

2 ความคิดเห็น

 
onixboox 2025-07-23

ถ้าอย่างนั้นหมายความว่าต้องใส่ .env.schema ไว้ใน .gitignore ด้วยใช่ไหม?

 
onixboox 2025-07-23

อ๋อ.. หมายถึงเก็บข้อมูลไว้ใน .env แล้วให้ .env.schema เป็นฝ่ายอ่านเข้ามาสินะ