PerryTS/perry:README 來源編輯指南
根據 README、倉庫資料與授權整理 PerryTS/perry 的安裝與核驗路徑。
專案定位
PerryTS/perry 的 README 將專案描述為「A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.」。本文只整理倉庫可直接核對的內容,不把 star、Fork 或宣傳語當成品質證明。README 在「Perry」下寫到:Perry compiles the TypeScript you already write into real machine-code executables , for macOS, Windows, Linux, iOS, Android, watchOS, and TV. No Node.js to install. No Electron to bundle. No runtime at all. Just a binary.。這說明的是專案邊界,不是已完成的生產驗證。
適用場景
從 README 的「Why developers pick Perry」與相關條目,可以先判斷它是否處理你的實際問題:📦 Binaries you can actually email. Hello world is 330 KB. Perry links only the runtime your program uses. A real MongoDB GUI built with Perry ships as a 7 MB app.。若需求不同,不應只因專案熱度就採用。本文保留原始專案名、命令與元件名,方便回到一手來源核對。 README 另外列出一項可核對的資訊:⚡ Native speed, zero warmup. LLVM-optimized machine code with escape analysis, scalar replacement, and a generational GC , see the numbers above.。這類原文條目可用來設計試跑步驟,但不能取代實際環境測試。
運作方式
README 將運作方式分散在「The language you know. The deployment you wish it had.」等段落。可確認的線索包括:| | Perry | Node.js | Bun | Electron | |---|---|---|---|---| | What you ship | One native binary, from 330 KB | Your code + a Node install | One binary embedding the JS engine | App bundle with a browser engine | | Execution |。本文不把未寫出的架構、效能或安全邊界補成結論;真正的執行鏈仍要配合目錄、設定檔與版本標籤檢查。
安裝與第一次執行
第一次安裝應從 README 指出的入口開始。目前可核對的命令是: # Install (macOS · Linux · Windows) npm install -g @perryts/perry # or: brew install perryts/perry/perry # or: winget install PerryTS.Perry # Create and run a project perry init my-app && cd my-app perry run . 如果倉庫沒有命令,本文不會自行編造步驟,而是建議先閱讀「The language you know. The deployment you wish it had.」,確認系統依賴、預設埠與首次初始化。
設定與日常使用
日常使用取決於專案文件。README 的「Performance」段落提到:Ahead-of-time machine code means no engine boot and no JIT warmup , and on measured workloads, real multiples over the JS runtimes. Highlights from our open benchmark harnesses (Apple M1 Max, medians of repeated runs):。設定檔、環境變數、權限與資料目錄只在來源明確時才會記錄;沒有寫出的預設值,應在測試環境驗證並保留回滾副本。 同一部分也提到:🔌 Your Node code mostly just works. 97% pass rate on Node's own test suite across 53 node: modules , real implementations of fs, http/http2, net/tls, crypto, stream, childprocess, workerthreads, fetch and the web globals, plus 50 popular。