函式庫 / SDK
swc-project/swc avatar
swc-project/swc

SWC:Rust 核心同時服務 JavaScript 與 Rust 使用者

基於 Rust 的 Web 平台。 SWC(代表 Speedy Web Compiler)是用 Rust 寫的超快速 TypeScript / JavaScript 編譯器。

34,192 個 Star1,552 個 ForkRustApache-2.0

秒懂

它是什麼?
SWC 是 Speedy Web Compiler,以 Rust 編寫,提供 TypeScript/JavaScript 編譯能力與 Rust crate 介面。
適合誰用?
適合需要 SWC 是 Speedy Web Compiler,以 Rust 編寫,提供 TypeScript/JavaScript 編譯能力與 Rust crate 介面。 的讀者,不適合把 README 宣稱直接當成生產保證的人。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

雙語言介面與入口

README 指向 rustdoc.swc.rs/swc/,並說 Rust 使用者通常從 swc_ecma_parser 進入。crate 的 MSRV 是 1.73,Node v10+ 用於使用、Node v20+ 用於開發;更新腳本是 scripts/update-all-swc-crates.sh,依賴 jq、cargo upgrade,最後執行 cargo build。 雙語言介面與入口 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 SWC 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 1 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 cargo build 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 SWC 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

crate 更新的相容假設

README 指向 rustdoc.swc.rs/swc/,並說 Rust 使用者通常從 swc_ecma_parser 進入。crate 的 MSRV 是 1.73,Node v10+ 用於使用、Node v20+ 用於開發;更新腳本是 scripts/update-all-swc-crates.sh,依賴 jq、cargo upgrade,最後執行 cargo build。 crate 更新的相容假設 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 SWC 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 2 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 cargo build 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 SWC 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

Node 版本分工

README 指向 rustdoc.swc.rs/swc/,並說 Rust 使用者通常從 swc_ecma_parser 進入。crate 的 MSRV 是 1.73,Node v10+ 用於使用、Node v20+ 用於開發;更新腳本是 scripts/update-all-swc-crates.sh,依賴 jq、cargo upgrade,最後執行 cargo build。 Node 版本分工 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 SWC 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 3 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 cargo build 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 SWC 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

文件和效能資料各自獨立

README 指向 rustdoc.swc.rs/swc/,並說 Rust 使用者通常從 swc_ecma_parser 進入。crate 的 MSRV 是 1.73,Node v10+ 用於使用、Node v20+ 用於開發;更新腳本是 scripts/update-all-swc-crates.sh,依賴 jq、cargo upgrade,最後執行 cargo build。 文件和效能資料各自獨立 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 SWC 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 4 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 cargo build 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 SWC 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

社群維護訊號

README 指向 rustdoc.swc.rs/swc/,並說 Rust 使用者通常從 swc_ecma_parser 進入。crate 的 MSRV 是 1.73,Node v10+ 用於使用、Node v20+ 用於開發;更新腳本是 scripts/update-all-swc-crates.sh,依賴 jq、cargo upgrade,最後執行 cargo build。 社群維護訊號 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 SWC 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 5 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 cargo build 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 SWC 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

Apache-2.0 對整合的意義

README 指向 rustdoc.swc.rs/swc/,並說 Rust 使用者通常從 swc_ecma_parser 進入。crate 的 MSRV 是 1.73,Node v10+ 用於使用、Node v20+ 用於開發;更新腳本是 scripts/update-all-swc-crates.sh,依賴 jq、cargo upgrade,最後執行 cargo build。 Apache-2.0 對整合的意義 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 SWC 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 6 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 cargo build 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 SWC 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

編輯結論

適合需要 SWC 是 Speedy Web Compiler,以 Rust 編寫,提供 TypeScript/JavaScript 編譯能力與 Rust crate 介面。 的讀者,不適合把 README 宣稱直接當成生產保證的人。先依 cargo build 或指定檔案完成一次專案級試跑,觀察輸入、輸出、版本與錯誤,再決定是否納入正式流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記