Tags:
Forums: 

พอดีว่ามีโปรเจ็ค 3 ตัวที่โค้ดพื้นฐานเหมือนกัน

ปัญหาที่เกิดขึ้นตอนนี้คือ ถ้าตัวแม่มีการแก้ไข ต้องตามไปอัพเดทอีก 2 โปรเจ็ค

สิ่งที่ไม่สามารถทำได้คือ บริษัทห้าม Fork โปรเจ็ค ไม่ว่ากรณีใดๆ ก็ตาม

ผมเลยคิดว่าการใช้ NPM แบบ Private สำหรับบริษัทน่าจะเหมาะสมที่สุด

แต่ไม่อยากเพิ่ม Cost (จริงๆ ถ้าจำเป็นก็น่าจะจ่ายได้)

เลยอยากสอบถามผู้รู้ว่า มีวิธีทำ Server ให้เป็น Package Manager แบบ NPM ได้มั้ยครับ หรือมีตัวอื่น วิธีอื่นๆ แนะนำ เปิดรับทุกความคิดเห็นครับ

Get latest news from Blognone
By: mementototem
ContributorJusci's WriterAndroidWindows
on 29 March 2021 - 21:24 #1204374
mementototem's picture

ใช้ 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 - FSN

By: nevermore
Windows PhoneAndroidUbuntuWindows
on 30 March 2021 - 14:54 #1204487 Reply to:1204374
nevermore's picture

จะลองดูครับ ขอบคุณมากๆ ครับ

By: big50000
AndroidSUSEUbuntu
on 29 March 2021 - 23:28 #1204383
big50000's picture

ตั้ง dedicated git repository server ผมว่าก็น่าจะ work นะ แยก branch, revision ได้ง่ายด้วย

By: nevermore
Windows PhoneAndroidUbuntuWindows
on 30 March 2021 - 14:54 #1204488 Reply to:1204383
nevermore's picture

จะลองดูครับ ขอบคุณมากๆ ครับ

By: rattananen
AndroidWindows
on 31 March 2021 - 14:13 #1204637

ไม่ต้อง 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

By: ZiiT
ContributorAndroidWindows
on 1 April 2021 - 14:46 #1204765

ถ้าใช้ 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 เหล่านี้ ทำให้การพัฒนาโดยรวมช้าลงครับ