pnpm の版の宣言を packageManager のままにするか、devEngines.packageManager へ移すかを決める
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- json, yaml
- Lĩnh vực
- build-system
Hướng nghiên cứu
Start by inspecting package.json, pnpm-lock.yaml, and the repository workflows to confirm how the current package-manager declaration is used. Run the documented pnpm install comparison and check whether the lockfile header changes when using devEngines.packageManager. Done means recording the decision and, if migration is chosen, updating the declaration and any resulting lockfile changes.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
今の状態
このリポジトリは pnpm の版を package.json の packageManager で宣言している。
https://pnpm.io/package_json は packageManager を legacy と呼び、
devEngines.packageManager を案内している。
pnpm を 12.5.1 へ上げる変更では、この宣言を移さなかった。移さない理由は、その
変更の範囲を版の更新に限るためであって、packageManager のほうが優れているから
ではない。両者を分ける実測上の根拠は、下記のとおり見つかっていない。
確かめたこと
版を 1 つに固定できるかどうかは差にならない。使い捨てのプロジェクトに
devEngines.packageManager を
{"name":"pnpm","version":"12.5.1","onFail":"download"} だけで置いて
pnpm install を実行すると、終了コードは 0 で、生成された pnpm-lock.yaml は
次を記録する。
packageManagerDependencies:
pnpm:
specifier: 12.5.1
version: 12.5.1
公式の逐語も「Unlike the packageManager field, this supports version ranges.」
であり、範囲を「書ける」であって「範囲でしか書けない」ではない。
ロックファイルの見た目も差にならない。同じ実測で、devEngines でも先頭に
packageManagerDependencies と @pnpm/exe.* を含む env lockfile 文書が付いた。
CI も差にならない。pnpm/action-setup の v6.1.0 の README は「Omit version
input to use the version in the packageManager or devEngines.packageManager
field in the package.json」と述べており、どちらでも版を読む。このリポジトリの
ワークフローは version を渡していないので、この経路に当たる。
どこをどう良くできるか
devEngines.packageManager へ移すと、公式が legacy と呼ぶ側から離れられる。
onFail の挙動を宣言でき、必要になったときに範囲でも書ける。
移さない場合は、packageManager を使い続ける判断を、legacy と呼ばれていることを
承知のうえで下したものとして記録しておく必要がある。
いずれにせよ、決めるには上記のほかに次を確かめるとよい。devEngines へ移した
ときに pnpm-lock.yaml の先頭の文書が現在のものと一致するか(差分が出るなら、
その差分はこの移行が持ち込んだものだと分かるようにしておく)。
実施しなかった理由
版を上げる変更の中で宣言の場所も移すと、2 つの決定が 1 つのコミットに混ざる。
どちらが原因で CI の挙動が変わったのかを切り分けられなくなる。
- Ngôn ngữ chính
- TypeScript
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có 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.
Issue khác của traPtitech/Checkin
-
bug documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
traPtitech/Checkin#87 ·
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
traPtitech/Checkin#64 ·
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
traPtitech/Checkin#59 ·
-
documentation enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
traPtitech/Checkin#95 ·
-
bug
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
traPtitech/Checkin#92 ·
Tất cả issue của traPtitech/Checkin
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
better-auth/better-auth#12132 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
hurttlocker/o8#5112 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
webrecorder/wabac.js#386 ·
-
needs-triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
agent-of-empires/agent-of-empires#5098 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày