loopbackio / loopbackio/loopback-next
Spike: Switch from lerna to pnpm workspaces
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 5.1k
- Fork
- 1.1k
- Merge trung bình
- 2 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 27
Mô tả
Our current lerna-based setup is very inefficient. Most of the pull requests in this repository are created by RenovateBot to update package-lock files, our git history is full of RenovateBot commits that make it difficult to spot relevant changes.
Let's investigate how to switch from lerna to pnpm and use a single root package-lock file for the entire monorepo.
References:
- pnpm workspaces: https://pnpm.js.org/en/workspaces
- Travis CI setup: https://pnpm.js.org/en/continuous-integration#travis
Topics to investigate:
- How to release new versions using conventional release process? Can we perhaps use https://github.com/atlassian/changesets? Related: https://github.com/pnpm/pnpm/issues/2225
- Does RenovateBot support pnpm? If not, is there any other bot we could use instead? E.g. GitHub's Dependabot. Related: https://github.com/renovatebot/renovate/issues/2015
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với các tham chiếu đến pnpm workspaces và Travis CI trong issue, sau đó xem xét các workflow hiện tại của Lerna, package-lock, RenovateBot và release. Công việc được xem là hoàn tất khi đã ghi lại một kế hoạch migration khả thi, bao gồm việc xử lý release và hỗ trợ cập nhật dependency, thay vì thực hiện thay đổi implementation.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- nodejs, typescript
- Lĩnh vực
- build-system, devops, release, tooling
- Loại issue
- Tái cấu trúc
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100