Canary builds are named after the release candidate, so npm ranks them above it
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 74/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- shell
- 領域
- build-system, release
調査の方向性
ルートの package.json と tools/build.sh から始め、canary ビルドとタグ付きリリースビルドでバージョンがどのように選択されるかを追跡します。結果として得られるパッケージバージョンを npm の semver の順序と照合し、canary が release candidate より下位に位置付けられる一方で、タグ付きリリースがタグのバージョンを維持することを確認します。
索引モデルが issue の本文から書いたものです。
説明
ng add @angular/fire@next and ng update @angular/fire@next install a canary, not the release candidate.
When #3674 was merged, 21.0.0-rc.0 was put in package.json, breaking with this repo's previous patterns. #3751 continued this break with 21.0.0-rc.1.
#3709 mitigated the symptom for ng add by writing the exact installed version into the user's package.json. But going back to the old pattern would simplify things further.
Details
- The root
package.jsonversion field holds21.0.0-rc.1, andtools/build.shspecifies each canary by appending-canary.<short sha>to that field.- Every merge to main therefore publishes
21.0.0-rc.1-canary.<sha>, which semver ranks above21.0.0-rc.1, because the middle identifier parses as the text1-canaryand text outranks a number.
- Every merge to main therefore publishes
ng add @angular/fire@nextinstalls a canary, not the release candidate. The Angular CLI resolves the tag, then writes the range^21.0.0-rc.1, and npm resolves that to21.0.0-rc.1-canary.95b3de1.ng update @angular/fire@nextdoes the same, and unlikeng addit leaves a range inpackage.jsonrather than an exact version, so the app can drift again on any later install.- The version field is not what a tagged release publishes.
tools/build.shtakes a tagged release's version from the tag name.- At the
19.0.0-rc.5tag the version field inpackage.jsonread19.0.0, yet the release published to npm from that tag is19.0.0-rc.5. - At the
20.0.1tag the field read20.0.0and the release published to npm is20.0.1.
- At the
- Releases through v20 named canaries after the release itself, for example
19.0.0-canary.<sha>, which ranks below every19.0.0-rc.N.- The release-candidate string first entered the version field in the v21 preparation commit (#3674).
Scope
Build and packaging. It does not remove the 25 canary builds already published on the 21 line, which keep outranking 21.0.0-rc.1 until 21.0.0 ships.
- 主要言語
- TypeScript
- スター
- 7.8k
- フォーク
- 2.2k
- 平均マージ
- 3日 6時間
- マージ済み PR(30日)
- 5
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
angular/angularfire のほかの issue
-
comp: schematics type: bug version: current (v17+)
難易度 3/5 1〜2日 初心者へのやさしさ 76/100
angular/angularfire#3768 ·
-
comp: docs type: chore version: current (v17+)
難易度 4/5 3〜5日 初心者へのやさしさ 58/100
angular/angularfire#3764 ·
-
comp: firestore comp: ssr priority: P0 (critical) type: feature version: current (v17+)
angular/angularfire#3757 · 担当者 1 名 ·
-
Six `firebase` entry points have no `@angular/fire` equivalent, so their exports are unreachable オープンcomp: core type: feature
angular/angularfire#3755 · 担当者 1 名 ·
-
comp: auth comp: ssr comp: zones type: bug
難易度 3/5 1〜2日 初心者へのやさしさ 76/100
angular/angularfire#3748 ·
angular/angularfire の issue をすべて見る
似ている issue
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
supermomonga/zcode-acp#24 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
growthbook/growthbook#7100 ·
-
triage
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100