PerryTS/perry
GitHub: PerryTS/perry
用 Rust 编写的原生 TypeScript 编译器,借助 SWC 和 LLVM 将 TypeScript 直接编译为跨平台独立可执行文件,无需 Node.js 运行时。
Stars: 3622 | Forks: 122
# Perry
**一个代码库,全平台原生性能。**
Perry 是一个用 Rust 编写的原生 TypeScript 编译器。它接收你的 TypeScript 并将其直接编译为原生可执行文件 —— 不需要 Node.js,不需要 Electron,也不需要浏览器引擎。只有能够在任何地方运行的快速、小型二进制文件。
**当前版本:** 0.5.152 | [网站](https://perryts.com) | [文档](https://perryts.github.io/perry/) | [案例展示](https://perryts.com/showcase)
```
perry compile src/main.ts -o myapp
./myapp # that's it — a standalone native binary
```
Perry 使用 [SWC](https://swc.rs/) 进行 TypeScript 解析,使用 [LLVM](https://llvm.org/) 进行原生代码生成。最终输出是一个没有任何运行时依赖的单一二进制文件。
## 使用 Perry 构建的项目
如今人们正在使用 Perry 构建真正的应用程序。以下是一些亮点:
| 项目 | 项目简介 | 平台 |
|---------|-----------|-----------|
| [**Bloom Engine**](https://bloomengine.dev) | 原生 TypeScript 游戏引擎 —— 支持 Metal、DirectX 12、Vulkan、OpenGL。使用 TS 编写游戏,发布原生应用。 | macOS, Windows, Linux, iOS, tvOS, Android |
| [**Mango**](https://github.com/MangoQuery/app) | 原生 MongoDB GUI。约 7 MB 二进制文件,小于 100 MB 内存,亚秒级冷启动。 | macOS, Windows, Linux, iOS, Android |
| [**Hone**](https://hone.codes) | 由 AI 驱动的原生代码编辑器,内置终端、Git 和 LSP。 | macOS, Windows, Linux, iOS, Android, Web |
| [**Pry**](https://github.com/PerryTS/pry) | 快速的原生 JSON 查看器,支持树状导航和搜索。 | macOS, iOS, Android |
| [**dB Meter**](https://dbmeter.app) | 实时声级测量,支持 60fps 更新和按设备校准。 | iOS, macOS, Android |
### 截图
**Mango** — 原生 MongoDB GUI ([源码](https://github.com/MangoQuery/app))
);
}
createRoot(null, { title: 'Counter', width: 300, height: 200 }).render( );
```
### perry-sqlite / perry-postgres / perry-prisma
由 Rust (sqlx) 支持的 `@prisma/client` 直接替代品:
```
import { PrismaClient } from 'perry-sqlite';
const prisma = new PrismaClient();
await prisma.$connect();
const users = await prisma.user.findMany({
where: { email: { contains: '@example.com' } },
orderBy: { createdAt: 'desc' },
take: 20,
});
await prisma.$disconnect();
```
## 命令
| 命令 | 功能说明 |
|---------|-------------|
| `perry compile -o
Count: {n}
标签:LLVM, Rust, SEO词: TS转原生, SEO词: 编译执行文件, SOC Prime, SWC, TypeScript, 代码解析, 全平台, 原生二进制, 可视化界面, 安全插件, 开发工具, 无运行时依赖, 桌面应用开发, 游戏引擎, 编程语言, 编译器, 网络流量审计, 通知系统