Issue 和 Pull Request 政策變更

我們最近針對 issue 和 pull request 的政策做了一些變更,很高興與您分享。

從專案開始之初,ESLint 就一直要求每個包含程式碼的 pull request 都必須有 issue。這有很多原因,主要與我們如何分類和處理收到的請求,以及 GitHub issue 追蹤器的限制有關。自那時以來,GitHub issue 和 pull request 追蹤器已進行許多改進,因此,我們得以做出一些變更。

大多數 Pull Request 不再需要 Issue

我們已取消所有 pull request 都需要 issue 的限制。對於幾乎所有類型的變更,您現在可以直接提交 pull request,而無需 issue。我們新增了一個 pull request 範本,只要您填寫該範本中的必填資訊,就可以隨時提交 pull request,而無需事先開啟 issue。

但是,仍有兩種變更類型需要 issue

  1. 任何重大變更。
  2. 任何核心變更。

重大變更和核心變更很有可能影響終端使用者,因此我們仍然希望在人們花時間編寫程式碼之前,先了解這種影響。

Issue 的生命週期終止期限

我們從貢獻者那裡聽到的一件事是,當 issue 陷入僵局而沒有解決方案時,會令人感到沮喪。從一開始,我們就嘗試盡快對 issue 和 pull request 提供回饋。然而,隨著 ESLint 的成長,issue 和 pull request 的數量也變得非常龐大,使得團隊難以處理。

開源社群中的不同團隊以不同的方式處理這個問題。有些團隊選擇永遠不關閉 issue,而是讓所有 issue 無限期地保持開啟狀態,以防有人想修復它們。有些團隊使用機器人自動關閉超過設定時間的 issue。ESLint 團隊對這些選擇不太滿意,因此我們採用了更手動的流程,這是兩者的混合。

我們的首要目標是快速提供回饋,由於大多數 issue 都是要求 ESLint 團隊進行變更,我們想讓您知道我們是否會進行該變更。最好的方法是關閉 issue 並附上適當的評論。我們制定的規則如下

  1. 未被接受的 issue 可能會在 21 天後關閉。(只有被接受的 issue 才會進入路線圖。)
  2. 如果沒有人同意實作,已接受的 issue 可能會在 90 天後關閉。

雖然我們希望能夠承諾實作每個 ESLint 的好想法,但現實情況是,許多請求最終不會進入正式的路線圖。ESLint 團隊是一個由志願者組成的團隊,他們在閒暇時間工作,因此,可用的工作時間很少。我們認為,關閉 issue 並明確表示不會進行請求的變更,比讓 issue 永遠保持開啟狀態,以防有人決定他們想要貢獻變更,更為誠實。根據我們的經驗,開啟超過 90 天或更長時間的 issue 很少被處理,只會讓所有人對其狀態感到困惑。

注意: 如果您對某項變更充滿熱情,請考慮提交 pull request 而不是 issue。很多時候,我們只是沒有額外的頻寬來處理重大請求,但我們可以引導其他人完成變更。提交 pull request 會增加您的變更被採納的機會(儘管這不能保證)。

持續學習

一如既往,我們將根據 ESLint 團隊和整個社群的回饋,繼續評估我們的 issue 和 pull request 政策。我們希望這些新變更將有助於 ESLint 社群持續成長,方法是簡化接受貢獻的流程。

最新的 ESLint 新聞、案例研究、教學和資源。

Evolving flat config with extends
5 分鐘閱讀

使用 extends 進化扁平化配置

您的 eslint.config.js 檔案現在可以使用 extends 來簡化您的配置。

ESLint v9.22.0 released
1 分鐘閱讀

ESLint v9.22.0 已發布

我們剛剛推送了 ESLint v9.22.0,這是 ESLint 的次要版本升級。此版本新增了一些新功能,並修復了先前版本中發現的幾個錯誤。

ESLint v9.21.0 released
2 分鐘閱讀

ESLint v9.21.0 已發布

我們剛剛推送了 ESLint v9.21.0,這是 ESLint 的次要版本升級。此版本新增了一些新功能,並修復了先前版本中發現的幾個錯誤。