Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Canary builds are ordered by commit hash, not by time, and an all-digit hash loses its leading zero

クローズ
#3,771 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
shell

調査の方向性

Start with tools/build.sh and trace how the canary version is assembled and passed to npm version. Check the resulting names and their ordering for hashes containing letters, all-digit hashes, and leading-zero hashes. Done means canary identifiers preserve the full short hash and publish in chronological version order without changing the stated 21-line release behavior.

索引モデルが issue の本文から書いたものです。

説明

comp: build/pipeline type: bug version: current (v17+)

tools/build.sh names each canary build <version>-canary.<short sha>. That causes two problems.

Details
  • npm orders canaries by their hash, not their age. A short sha containing a letter is compared as text, so the order is alphabetical.
    • 21.0.0-rc.0-canary.345726a, published 2026-09-21, ranks below 21.0.0-rc.0-canary.fb6796b, published 2026-08-20.
    • A short sha made only of digits is compared as a number, which ranks below every hash containing a letter. 11 published canaries have one.
  • An all-digit hash that starts with 0 loses the zero. npm version rewrites 21.0.0-canary.0123456 to 21.0.0-canary.123456, so the published name no longer matches the commit.
Scope

The order matters only when a version range matches canaries and nothing ranks above them, which is before a version's first release candidate. On the 21 line, the release candidates and the canaries named after them outrank every 21.0.0-canary.*, so this changes no install there.

主要言語
TypeScript
スター
7.8k
フォーク
2.2k
平均マージ
2日 17時間
マージ済み PR(30日)
11

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

angular/angularfire のほかの issue

angular/angularfire の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。