熱門Lint工具ESLint在TypeScript團隊發布全面採用ESLint之後,釋出typescript-eslint專案,以集中程式碼儲存庫解決TypeScript和ESLint相容性問題。而ESLint團隊將不再維護typescript-eslint-parser,也不會在Npm上釋出,TypeScript解析器轉移至Github的typescript-eslint/parser。

在TypeScript的2019上半年發展規畫中,TypeScript官方說明了Linting工具的狀況。由於在數個月前他們透過VS Code的問卷調查發現,不少用戶認為TypeScript的Linting支援不足,因此負責JavaScript編輯體驗的團隊開始著手增加對TSLint和ESLint的支援。

但是編輯器團隊提到,TSLint的規則運作方式存在架構性的效能問題, 如果要維持效能將需要不同的API,而這將破壞既有規則,相反的ESLint則具有更高效能的架構,而且不少熱門專案的社群,諸如React Hooks和Vue,都是使用ESLint建構Lint規則。

因此TypeScript的編輯器團隊決定專注支援ESLint,增加語義Linting和程式範圍Linting等目前尚未包含的使用情境,同時,他們也承諾,會提供貢獻以強化ESLint對TypeScript的支援,同時也在TypeScript儲存庫中使用ESLint,使其成為工具實踐的測試平臺,並向上發送所有新規則。

部分ESLint團隊中的成員,在過去一直致力於提高和TypeScript的相容性,主要進行維護TypeScript解析器的工作,雖然這個解析器過去並非由ESLint團隊維護,但最近落到了團隊成員手中,而在TypeScript決定轉而使用ESLint之後,官方認為,Typescript解析器勢必成為發展核心。

因此ESLint官方宣布釋出typescript-eslint專案,這項工作交由ESLint團隊的James Henry進行維護,Henry本身便負責長期推動ESLint與TypeScript相容性,原本的TypeScript解析器也將搬遷至集中儲存庫。官方提到,ESLint團隊並不會正式參與新專案,但會支援James Henry並維持暢通的溝通管道,確保為TypeScript開發人員提供良好的使用體驗。

接下來ESLint團隊將不再繼續維護typescript-eslint-parser,他們會封存儲存庫,也不會在Npm釋出typescript-eslint-parser,原本使用typescript-eslint-parser的開發者應使用typescript-eslint/parser替代。


Advertisement

更多 iThome相關內容