PANGEA - 蓝图中级代表工具链
这个项目可以同时由Bun和Node.js管理,但是,这个项目的测试套件被写成与Bun Test一起运行.
安装
npm install @anduin/pangea
# or
bun add @anduin/pangea
使用量
const pangea = require('@anduin/pangea')
const rawRule =
`\`\`\`catala
scope Individual_Part_I:
definition for_subscription_documents__fn_disable_and_clear_data equals
fn_has_option_values of gatingbox,
[gatingbox_options.check_this_box_if_you_would_li]
\`\`\``
const result = await pangea.parseBIRFromCatalaEn(rawRule)
console.log(result)
文档
关于中级代表的详细设计,见以下文件: 标题

软件包开发
设置
bun install
bun run init # inlines committed wasm files into src/*-wasm-uint8array.ts
说明: tree-sitter-catala git 子模块仅在您需要时需要 重新生成 语法WASM(见下文)。 为了正常的开发,你不需要初始化——预建的 .wasm 发生在 scripts/tree-sitter-catala_en.wasm。 。 。 .
开发
bun run dev
测试
bun test
构建
bun run build
汇编产出 .d.ts 改为 dist/。 。 。 .
维护者指南
发布新版本到 npm
- 弹出
version内package.json。 。 。 . - 承诺并推.
- 触发 公布国家预防机制 gitHub 动作中的工作流程
workflow_dispatch) (中文(简体) ).
出版用途 npm 信任的出版商 通过OIDC——没有 npm 标志性的秘密。 工作流程运行 bun install, (中文(简体) ), bun test, (中文(简体) ), bun run build,则 npm publish --provenance 从回波根. 仅匹配 files 字段 (dist/)被运出.
重生树保姆- Catala 语法
只有在上游才需要 加泰罗尼亚Lang/树木保姆-卡塔拉 语法变化.
要求 tree-sitter CLI(按需求通过 bunx; 如果下载失败, 在全球安装 npm i -g tree-sitter-cli) (中文(简体) ).
bun run rebuild:grammar
它会做什么:
- 初始化
src/tree-sitter-catala如果缺少子模块. - 运行
tree-sitter generate财务报告和审定财务报表tree-sitter build --wasm内部src/tree-sitter-catala/en。 。 。 . - 复制结果
.wasm改为scripts/tree-sitter-catala_en.wasm。 。 。 . - 运行
bun run init以基于64- 内入该文件和web-tree-sitter.wasm输入src/*-wasm-uint8array.ts。 。 。 .
完成后,运行 bun run build && bun test,然后承诺:
scripts/tree-sitter-catala_en.wasmsrc/tree-sitter-catala_en-wasm-uint8array.ts
模型生成
如果需要为其他语言生成模型,考虑使用 快速类型。 。 。 .