Dark mode
Registry คือบริการสำหรับเก็บ Package ต่างๆ ซึ่งใน Node.js ส่วนใหญ่จะเก็บไว้ที่ NPM Registry
เวลาเราจะหา Package หรือ Library ต่างๆ ให้เข้ามามาที่ NPM Registry
ลองเข้าไปดูได้ที่ https://www.npmjs.com/package/@biomejs/biome?activeTab=readme
จากรูปจะสังเกตว่ามี Tab ต่างๆ เช่น
- README => ดึง README.md มาแสดง
- Code => Code ต่างๆ
- Dependencies => Package นั้นมีการใช้ Package อื่นอะไรบ้าง
- Dependents => Package นั้นถูกใช้ในโปรเจกต์อะไรบ้าง
- Version => มีเวอร์ชันอะไรบ้าง
สร้าง Package
เมื่อเราต้องการสร้าง package เพื่อแชร์ให้คนอื่นใช้งาน เราต้องเตรียมโครงสร้างไฟล์ประมาณนี้
md
my-package/
├── dist/index
├── src/
│ └── index.js # โค้ดหลักของ package
├── package.json # ไฟล์กำหนดค่าของ package
├── README.md # เอกสารอธิบายการใช้งาน
├── LICENSE # ไฟล์ลิขสิทธิ์
└── .gitignore # ไฟล์ที่ไม่ต้องการให้ git track
package สมัยใหม่ เราจะ build มันก่อนเพื่อให้มีขนาดเล็กและพร้อมใช้ และเราเอา dist/index.js ที่ build ได้ใส่ ใน main ใน package.json
json
{
"name": "my-package-name",
"main": "dist/index.js",
"scripts": {
"build": "bun build src/index.js --target dist"
},
}
การ Publish Package มายัง NPM
ลองจาก build เรียบร้อยและทำงานได้ สามารถ publish ไปยัง NPM โดยพิมพ์
npm publish
แต่แนะนำว่าควรใช้ release-it เพราะมันง่ายกว่า สะดวกกว่า มีการจัดการที่ดีกว่า