พอดีว่ามีโปรเจ็ค 3 ตัวที่โค้ดพื้นฐานเหมือนกัน
ปัญหาที่เกิดขึ้นตอนนี้คือ ถ้าตัวแม่มีการแก้ไข ต้องตามไปอัพเดทอีก 2 โปรเจ็ค
สิ่งที่ไม่สามารถทำได้คือ บริษัทห้าม Fork โปรเจ็ค ไม่ว่ากรณีใดๆ ก็ตาม
ผมเลยคิดว่าการใช้ NPM แบบ Private สำหรับบริษัทน่าจะเหมาะสมที่สุด
แต่ไม่อยากเพิ่ม Cost (จริงๆ ถ้าจำเป็นก็น่าจะจ่ายได้)
เลยอยากสอบถามผู้รู้ว่า มีวิธีทำ Server ให้เป็น Package Manager แบบ NPM ได้มั้ยครับ หรือมีตัวอื่น วิธีอื่นๆ แนะนำ เปิดรับทุกความคิดเห็นครับ
ใช้
npm i git@bitbucket.org:acmeinc/foo-bar.git
ได้นะครับhttps://dev.to/gate3/how-to-use-a-private-git-repo-as-an-npm-module-2cl9
Jusci - Google Plus - Twitter
จะลองดูครับ ขอบคุณมากๆ ครับ
ตั้ง dedicated git repository server ผมว่าก็น่าจะ work นะ แยก branch, revision ได้ง่ายด้วย
จะลองดูครับ ขอบคุณมากๆ ครับ
ไม่ต้อง create server เพิ่ม
add repository เข้าไปใน project's package.jsonผิดnpm จะ search package ใน repository ด้วย
แต่ต้อง config package.json ใน repository ให้ถูกด้วย
repository ไม่จำเป็นต้องเป็น git จะเป็น local path ก็ได้
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#repository
เคยลองแต่ใน composer ไม่เคยลองใน npm แต่น่าจะเหมือนกันเพราะลอกกันมา
ใส่ dependency เป็น git url หรือ local path ได้เลย
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#dependencies
ถ้าใช้ Azure DevOps อยู่ มี Private feed (ในหมวด Artifacts) ให้ใช้ครับ สามารถ publish Nuget, npm หรือ package แบบอื่นๆไว้ใช้ในองค์กรได้ครับ
ข้อดีอีกอันคือ ทำ cache package จาก upstream ที่เป็น public ได้ครับ กรณี public package โดนลบ เราจะยังใช้ได้อยู่จาก pacakge ที่อยู่ใน private feed ของเรา
https://docs.microsoft.com/en-us/azure/devops/artifacts/get-started-npm?view=azure-devops
ส่วนตัวพบว่าพอ shared package โตถึงระดับนึง มันเริ่มทำตามความต้องการของหลายๆโปรเจคเกินไป จะพบว่าการแก้ package เหล่านี้ ทำให้การพัฒนาโดยรวมช้าลงครับ