版本

設定開發環境

ESLint 具有非常輕量的開發環境,可讓更新程式碼快速又容易。這是一份逐步指南,說明如何設定本機開發環境,讓您可以回饋貢獻給專案。

步驟 1:安裝 Node.js

前往 https://node.dev.org.tw/ 下載並安裝適用於您作業系統的最新穩定版本。

大多數安裝程式都已隨附 npm,但如果 npm 因故在您的系統上無法運作,您可以依照網站上的指示手動安裝。

步驟 2:Fork 並 Checkout 您自己的 ESLint 儲存庫

前往 https://github.com/eslint/eslint 並點擊「Fork」按鈕。依照 GitHub 文件 進行 Fork 和 Cloning。

Clone 您的 Fork

git clone https://github.com/<Your GitHub Username>/eslint

Clone 儲存庫後,執行 npm install 以取得所有必要的依賴項目

cd eslint

npm

npm install

yarn

yarn add

pnpm

pnpm add

bun

bun add

您必須連線到網際網路才能使此步驟運作。您會看到許多公用程式正在下載。

注意: 建議您在每次從主要儲存庫提取時重新執行 npm install,以確保您擁有最新的開發依賴項目。

步驟 3:新增上游來源

上游來源是主要 ESLint 儲存庫,其中發生活躍的開發。雖然您沒有上游的推送權限,但您將擁有提取權限,讓您可以隨時提取最新的程式碼。

若要新增 ESLint 的上游來源,請在您的儲存庫中執行以下命令

git remote add upstream git@github.com:eslint/eslint.git

現在,遠端 upstream 指向上游來源。

步驟 4:安裝 Yeoman Generator

Yeoman 是一個 scaffold 產生器,ESLint 使用它來協助簡化新規則的開發。如果您尚未安裝 Yeoman,您可以透過 npm 安裝它

npm

npm install --global yo

yarn

yarn global add yo

pnpm

pnpm add --global yo

bun

bun add --global yo

然後,您可以安裝 ESLint Yeoman 產生器

npm

npm install --global generator-eslint

yarn

yarn global add generator-eslint

pnpm

pnpm add --global generator-eslint

bun

bun add --global generator-eslint

請參閱 產生器文件,以取得有關如何使用它的指示。

步驟 5:執行測試

執行測試是確保您已正確設定開發環境的最佳方法。請確保您位於 eslint 目錄中並執行

npm test

測試需要幾分鐘才能完成。如果任何測試失敗,則可能表示環境設定的一個或多個部分未正確完成。上游測試始終會通過。

參考資訊

目錄結構

ESLint 目錄和檔案結構如下

  • bin - 安裝 ESLint 時可用的可執行檔。
  • conf - 預設設定資訊。
  • docs - 專案的文件。
  • lib - 包含原始碼。
    • formatters - 所有定義格式器的原始碼檔案。
    • rules - 所有定義規則的原始碼檔案。
  • tests - 主要單元測試資料夾。
    • lib - 原始碼的測試。
      • formatters - 格式器的測試。
      • rules - 規則的測試。

工作流程

安裝開發環境後,您可以對 ESLint 原始碼檔案進行和提交變更。成功執行此操作需要仔細遵守我們的 pull-request 提交工作流程

建置腳本

ESLint 有幾個建置腳本,可協助處理開發的各個部分。

npm test

要使用的主要腳本是 npm test,它會執行幾件事

  1. Lint 所有 JavaScript(包括測試)和 JSON。
  2. 在 Node.js 上執行所有測試。
  3. 檢查程式碼覆蓋率目標。
  4. 產生 build/eslint.js 以在瀏覽器中使用。
  5. 在 PhantomJS 中執行測試的子集。

請務必在進行變更之後以及傳送包含變更的 pull request 之前執行此命令。

注意: 完整的程式碼覆蓋率報告輸出到 /coverage 中。

npm run lint

僅對儲存庫執行 JavaScript 和 JSON linting。

npm run webpack

產生 build/eslint.js,一個用於瀏覽器中的 ESLint 版本。

變更語言