德卢里奥
打开的检查器和页面 三角图/0,一种将产品流,屏幕和API写成一个图表的格式,人们用文字来审查,这个图表对照代码来检查,在真实的应用上重放,变成教程. 格式为 SPEC.md 高频。 。 。 .
这个软件包是一个项目自己的CI运行的部分:它读取了图表文件,而别无其他内容. 没有网络,没有帐户和模型.
安装
运行一次, 不安装 :
npx @delurio/[email protected] check graphs --strict
或在工程中刻入精确的版本,然后命令是 delurio数字 :
npm install --save-dev --save-exact @delurio/cli
npx delurio check graphs --strict
或容器图像,以其文摘为后缀:
docker run --rm -v "$PWD:/work" -w /work ghcr.io/delurio-labs/delurio@sha256:<digest> check graphs --strict
节点22.18或后.
检查每个图表
npx @delurio/cli check graphs --strict
-
调查结果: 在GNU错误格式中,编译器、编辑器和CI日志各一行读取:
graphs/billing/billing.payment/flow.yaml:176:7: error: restricted-only-when-retries-ran-out is broken: … [assertion-violated] graphs/billing/billing.payment/flow.yaml:176:7: note: start: role = manager, paid = false graphs/billing/billing.payment/flow.yaml:176:7: note: step 1: RETRIES_RAN_OUT -
萨里夫:
--format sarif --output delurio.sarif写 SARIF 2.1.0 代码扫描。 相同的输入给出了相同的字节. -
基线:
--baseline <sarif>仅失败自早先运行以来的新错误 .
| 退出 | 含义 |
|---|---|
| 0 个 | 每个图载, 和下 --strict 没事 |
| 1个 | 无法加载图表, 或为比此版本更新的格式撰写 |
| 2个 | 下级 --strict:一个保证被打破,目录密钥或样本被丢失,主故事无法行走,写出流没有变化注释. |
图一页
npx @delurio/cli page examples/qauth-authorize --out viz/qauth-authorize
页面以文字显示流量:它的主要故事,它的每一道结束,它的保证以及它们是否持有,它的屏幕作为线框,以及它的图表,它打开与窗口相适应并像设计工具的画布一样移动(被拖去移动, Ctrl 或 QQ + 卷轴或被捏去缩放,被Shift+1相适应). examples/qauth-authorize 是一个小图来尝试它.
以一个图表的文件夹来代替,它写下每个图表的一页, 每一个在自己的路径,和 index.html 列出他们的支票:
npx @delurio/cli page graphs --out viz
在编辑器中写入图表
包装了 JSON Schema (2020- 12) 每种图形文件 schemas/数字 : flow, (中文(简体) ), ui, (中文(简体) ), nav (另见: nav.extracted.yaml, (中文(简体) ), domain 财务报告和审定财务报表 catalog。用一个编辑器来完成密钥,在悬浮时解释 SPEC.md 的每个密钥,并标出一个打字符,一个错误的值,或者一个标题被内部一个逗号剪接 { }在 VS 代码中,加上YAML 扩展,将此内容插入 .vscode/settings.json数字 :
{
"yaml.schemas": {
"https://unpkg.com/@delurio/[email protected]/schemas/flow.schema.json": "**/flow.yaml",
"https://unpkg.com/@delurio/[email protected]/schemas/ui.schema.json": "**/ui.yaml",
"https://unpkg.com/@delurio/[email protected]/schemas/nav.schema.json": ["**/nav.yaml", "**/nav.extracted.yaml"],
"https://unpkg.com/@delurio/[email protected]/schemas/domain.schema.json": ["**/domain.yaml", "**/domain/*.yaml"]
},
"json.schemas": [
{ "fileMatch": ["**/catalog/*.json"], "url": "https://unpkg.com/@delurio/[email protected]/schemas/catalog.schema.json" }
]
}
一个域可能会被分割到其目录(SPEC.md §5)的文件; **/domain/*.yaml 在命名的目录中覆盖 domain,其它文件则在第一行列出其计划: # yaml-language-server: $schema=<the domain schema's URL>包装好了, ./node_modules/@delurio/cli/schemas/<kind>.schema.json 同样的工作,离线. check 报告与编辑相同,作为规则错误 schema 失败 --strict,并找到一个计划无法看到的东西,例如不存在的状态或缺失的目录密钥.
在编辑器旁边,保持页面的开放和当前:
npx @delurio/cli page graphs --serve # http://127.0.0.1:4600/, written again and reloaded on every save
--watch 在每一处更改上重新写出页面而不为它们服务. --serve 仅收听 127. 0.0.1 , 并服务于已写入的页面和其它任何内容; 当保存留下无法加载的图表时, 打开的页面会说明为什么直到下一次好保存为止 .
修改的文字变化
npx @delurio/cli diff examples/qauth-authorize --base origin/main
这个打印出Markdown的拉动请求 。 它涵盖了流量的不同作用(通过运行两次修订而发现)和图中的变化.
作为图书馆
在格式上构建的工具可以使用CLI使用的同一种加载和检查器:
import { load } from '@delurio/cli/graph';
import { explore, Model } from '@delurio/cli/model';
const g = load('graphs/billing/billing.payment');
const configurations = explore(new Model(g.flow)).configs.length;
切入点是 graph, (中文(简体) ), model, (中文(简体) ), story, (中文(简体) ), wireframe, (中文(简体) ), kit, (中文(简体) ), edges, (中文(简体) ), html, (中文(简体) ), nav, (中文(简体) ), expr 财务报告和审定财务报表 yaml,每个类型. yaml 读取一个图文件的文本, 如 CLI 一样( NamereadYaml),拒绝文本解决前SPEC.md §1排除的;读出其发送的图表的服务器应当随其阅读. 虽然版本为0.x,但他们的API可能会在任何小版本中有所改变:给精确的版本打针.