開源專案
swc-project/swc-node avatar
swc-project/swc-node

swc-node:不做型別檢查的 TypeScript 即時轉換器

更快的 ts-node,無需類型檢查。詳細資訊:@swc-node/core 基準測試將 RxJS AjaxObservable.ts 轉換為 ES2015 和 CommonJS JavaScript。

1,981 個 Star95 個 ForkTypeScriptMIT
GitHub

秒懂

它是什麼?
swc-node 以 @swc-node/register、core 和 jest 套件,把執行期轉換、測試轉換與效能路徑拆開。
適合誰用?
適合需要 swc-node 以 @swc-node/register、core 和 jest 套件,把執行期轉換、測試轉換與效能路徑拆開。 的讀者,不適合把 README 宣稱直接當成生產保證的人。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 3 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

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

開源專案深度解析

register 的執行方式

README 提供 @swc-node/register 的 CommonJS、esm-register-next、esm-register 與 deprecated loader 命令,並指出 ESM 可加 --enable-source-maps。SWCRC=true 會載入 .swcrc;TS_NODE_PROJECT=null 可讓 shebang 忽略 tsconfig.json。core 的同步基準比較 esbuild、typescript、babel,平行基準則受 UV_THREADPOOL_SIZE=11 影響。 register 的執行方式 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 swc-node 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 1 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 node -r @swc-node/register script.ts 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 swc-node 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

ESM 入口與 Node 版本

README 提供 @swc-node/register 的 CommonJS、esm-register-next、esm-register 與 deprecated loader 命令,並指出 ESM 可加 --enable-source-maps。SWCRC=true 會載入 .swcrc;TS_NODE_PROJECT=null 可讓 shebang 忽略 tsconfig.json。core 的同步基準比較 esbuild、typescript、babel,平行基準則受 UV_THREADPOOL_SIZE=11 影響。 ESM 入口與 Node 版本 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 swc-node 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 2 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 node -r @swc-node/register script.ts 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 swc-node 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

SWCRC 和 shebang 行為

README 提供 @swc-node/register 的 CommonJS、esm-register-next、esm-register 與 deprecated loader 命令,並指出 ESM 可加 --enable-source-maps。SWCRC=true 會載入 .swcrc;TS_NODE_PROJECT=null 可讓 shebang 忽略 tsconfig.json。core 的同步基準比較 esbuild、typescript、babel,平行基準則受 UV_THREADPOOL_SIZE=11 影響。 SWCRC 和 shebang 行為 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 swc-node 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 3 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 node -r @swc-node/register script.ts 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 swc-node 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

core 的基準數字

README 提供 @swc-node/register 的 CommonJS、esm-register-next、esm-register 與 deprecated loader 命令,並指出 ESM 可加 --enable-source-maps。SWCRC=true 會載入 .swcrc;TS_NODE_PROJECT=null 可讓 shebang 忽略 tsconfig.json。core 的同步基準比較 esbuild、typescript、babel,平行基準則受 UV_THREADPOOL_SIZE=11 影響。 core 的基準數字 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 swc-node 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 4 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 node -r @swc-node/register script.ts 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 swc-node 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

jest 測試轉換器

README 提供 @swc-node/register 的 CommonJS、esm-register-next、esm-register 與 deprecated loader 命令,並指出 ESM 可加 --enable-source-maps。SWCRC=true 會載入 .swcrc;TS_NODE_PROJECT=null 可讓 shebang 忽略 tsconfig.json。core 的同步基準比較 esbuild、typescript、babel,平行基準則受 UV_THREADPOOL_SIZE=11 影響。 jest 測試轉換器 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 swc-node 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 5 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 node -r @swc-node/register script.ts 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 swc-node 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

建置、測試與風險邊界

README 提供 @swc-node/register 的 CommonJS、esm-register-next、esm-register 與 deprecated loader 命令,並指出 ESM 可加 --enable-source-maps。SWCRC=true 會載入 .swcrc;TS_NODE_PROJECT=null 可讓 shebang 忽略 tsconfig.json。core 的同步基準比較 esbuild、typescript、babel,平行基準則受 UV_THREADPOOL_SIZE=11 影響。 建置、測試與風險邊界 是這篇文章的觀察焦點。本文只根據專案 README 與倉庫資料整理,命令和檔名保留原樣,方便讀者對照來源。選型時要把這些明示的入口放回自己的建置、部署與權限條件中,未知項目不當成預設行為。 對 swc-node 而言,這個區分直接影響使用者如何安排工作:先確認入口能否在現有工具鏈運作,再檢查輸出是否符合下一個步驟,而不是把描述性的宣稱當成保證。第 6 節也要留意版本、檔案位置與命令參數的關係,因為少一個旗標或換錯執行環境,結果就可能不再代表 README 所描述的路徑。若來源沒有列出相容矩陣、服務承諾或完整錯誤行為,本文保留這個空白,讓讀者知道需要補做哪一項專案級核對。實際閱讀時,可把 node -r @swc-node/register script.ts 或相關檔案放進隔離副本,記錄終端輸出、產物與失敗位置,再與 swc-node 的 README 段落逐項比對。這是針對本專案的檢查方式,不是抽象的通用清單。

編輯結論

適合需要 swc-node 以 @swc-node/register、core 和 jest 套件,把執行期轉換、測試轉換與效能路徑拆開。 的讀者,不適合把 README 宣稱直接當成生產保證的人。先依 node -r @swc-node/register script.ts 或指定檔案完成一次專案級試跑,觀察輸入、輸出、版本與錯誤,再決定是否納入正式流程。

官方來源

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

社群筆記