MiraScript 是 CloudPSS 维护的表达式优先脚本语言项目。当前仓库包含语言核心、编译器绑定、命令行工具、编辑器集成、在线 Playground、文档站点与测试集。
crates/:Rust 侧实现,包括编译器核心、常量、NAPI/WASM/Python 绑定等。packages/:JavaScript/TypeScript 生态包,包括核心 API、CLI、编辑器集成与站点。docs/:官方文档源文件。examples/:可直接运行的示例脚本。tests/:语言特性、逻辑与端到端测试数据。
| Crate 名称 | 目录 | 说明 |
|---|---|---|
mira-core |
crates/core |
语言核心实现,包含词法/语法/执行能力 |
mira-constants |
crates/constants |
Rust 侧常量导出,供上层包生成常量数据 |
mira-napi |
crates/napi |
Node.js 原生绑定(N-API) |
mira-wasm |
crates/wasm |
WebAssembly 绑定 |
mira-python |
crates/python |
Python 绑定 |
| 包名 | 目录 | 说明 |
|---|---|---|
@mirascript/bindings |
packages/bindings |
统一封装 Node 原生与 WebAssembly 编译器绑定 |
@mirascript/cli |
packages/cli |
命令行工具,提供运行与格式化能力 |
@mirascript/constants |
packages/constants |
编译器常量、关键字与诊断码导出 |
@mirascript/help |
packages/help |
从文档生成关键字与运算符帮助数据 |
@mirascript/mirascript |
packages/mirascript |
语言核心 TypeScript API |
@mirascript/monaco |
packages/monaco |
Monaco Editor 集成 |
@mirascript/napi |
packages/napi |
Node.js 原生编译器包 |
@mirascript/playground |
packages/playground |
在线 Playground 前端 |
@mirascript/typed |
packages/typed |
类型定义解析与 JSON Schema 生成 |
@mirascript/vscode |
packages/vscode |
Visual Studio Code 扩展 |
@mirascript/wasm |
packages/wasm |
WebAssembly 编译器包 |
@mirascript/website |
packages/website |
Docusaurus 文档站点 |
建议使用以下版本:
- Node.js 20 及以上
- pnpm 11
- Rust stable toolchain
wasm-pack(构建@mirascript/constants与@mirascript/wasm时需要)
安装依赖:
pnpm install在仓库根目录执行:
pnpm run lint
pnpm run format
cargo fmt --all常见子包场景:
- 构建 CLI:
pnpm --filter @mirascript/cli build - 构建语言核心:
pnpm --filter @mirascript/mirascript build - 启动 Playground:
pnpm --filter @mirascript/playground start - 启动文档站点:
pnpm --filter @mirascript/website start
- 语言文档位于
docs/ - 示例脚本位于
examples/ - VS Code 扩展说明见
packages/vscode/README.md - Python 绑定说明见
crates/python/README.md
本项目使用 MIT 许可证,详见 LICENSE。