Facebook出品的前端工具鏈涼了!
9 月 2 日,Facebook 出品的前端工具鏈 Rome 宣布停止維護,儲存庫已存檔,項目由 babel 和 yarn 的作者 Sebastian McKenzie 發起。
此后,Rome 將由 Biome 進行維護和新功能開發。
公司已經將 Rome 團隊所有成員都解雇了。
發布僅三年的前端工具鏈 Rome 涼了。
Rome 的官方介紹:
- Rome 是一個用于 JavaScript、TypeScript、JSON、HTML、Markdown 和 CSS 的格式化程序、代碼檢查器、打包工具等工具。
- Rome 旨在取代 Babel、ESLint、webpack、Prettier、Jest 等工具。
- Rome 將以前獨立的功能融合到一個工具中。通過構建在共享基礎上,可以提供一致的代碼處理、錯誤顯示、并行工作、緩存和配置體驗。
- Rome 使用 Rust 編寫。
- Rome 具有一流的集成開發環境(IDE)支持,擁有一個復雜的解析器,能夠以完全準確的方式表示源代碼,并具備出色的錯誤恢復能力。
Rome 的目標就是統一整個前端開發工具鏈。Rome 是一整套工具,包含傳統上前端生態系統中獨立工具的功能,將其稱之為工具鏈。它不是現有工具的集合,而是完全定制的,主要是從頭開始構建的,完全包含在單個包和代碼庫中。
和其它類似項目不同,Rome并沒有將各種工具整合到工作流,而是對JavaScript生態系統進行了重新思考,對整個工具鏈采用了不依賴第三方庫的大膽實現。Rome通過TypeScript編寫,采用 monorepo 架構,所有代碼都以內部包形式存在。Rome完全自托管并且每次更新都是使用舊版本自編譯而來。
下面就來簡單看一下 Rome 的發展歷程:
2020年8月9日:正式發布
2020 年 8 月 9 日,Babel 和 Yarn 的作者 Sebastian McKenzie 向全世界介紹了 Rome,稱其為 Babel(他的第一個作品)的“精神繼承者”。第一個測試版是針對 Rome 的 JS/TS linter,但 Sebastian 宣稱 Rome 最終將成為一個整體工具鏈,“取代 Babel、ESLint、webpack、Prettier、Jest 等”。
2021年5月4日:成立公司
2021 年 5 月 4 日:在這一非常大膽的愿景的支持下,Rome 宣布成立了一家公司,并籌集了 450 萬美元的風險投資。公告宣稱,Rome“將數十個獨立的工具整合為一個”,但此時 Rome 仍然只是一個處于測試階段的代碼檢查工具。幸運的是,他們擁有 14550 個 GitHub star,換來了 450 萬美元的投資。
2021年9月21日:用 Rust 重寫
2021年9月21日,Rome 宣布將使用Rust進行全面重寫,這似乎是導致出現問題的一大原因。聯合創始人Jamie Kyle 在三個月后離開了公司,2022年2月,團隊表示他們仍處于一個"相當漫長、困難的重寫過程"中。
2022年11月8日:v10版本發布
2022年11月8日,Rome發布了v10版本,其中包括一個高效的代碼檢查工具和受Prettier啟發的代碼格式化工具。這是自從14個月前進行Rust重寫以來的第一個穩定版本,也是從Rome項目看到的最后一個值得注意的發布。Sebastian 在這個發布后再也沒有關于Rome的推文,而且所有的Rome員工在幾個月內都被解雇了。
2023年8月29日:Biome 誕生
2023年8月29日,Emanuele Stoppa 和其他前 Rome 核心團隊成員宣布了Biome的誕生,這是"Rome的官方分支"。Emanuele 表示 Rome 將不再維護,并且"與當前所有者聯系的多次嘗試均以失敗告終",因此將以一個新的名字和項目重新開始。