01
命令行
程序名叫 tsjq。README 里的用法包括过滤、-n / -c / -r、模块 -L,以及 stream 和 YAML。退出码 0 是成功,2 是参数,3 是编译或查询。
纯 TypeScript 的 jq · 2026
tsjq 用 TypeScript 实现 jq 语言,也实现命令行。左边放下 JSON,中间写一条过滤器,值从右边一行一行出来。命令行和库走的是同一条路:词法、语法、字节码,然后才是值。
01
改过滤器,或者换一条示例。计算在这台浏览器里完成,不会上传。这里没有命令行的 -L、YAML 和文件。结果一行一个值,最多 200 个。
02
设计说明里,一条查询从字符串走到文本,中间不绕路。语法分析是手写的递归下降,不靠生成出来的分析表。
03
01
程序名叫 tsjq。README 里的用法包括过滤、-n / -c / -r、模块 -L,以及 stream 和 YAML。退出码 0 是成功,2 是参数,3 是编译或查询。
02
import { runAll, parse, compile } from "tsjq"。runAll(".a", { a: 1 }) 得到 [1]。需要 Node.js 20 或更新。
03
cli/test.yaml 里有 846 条验收。包版本写的是 0.0.0。2026-11-09 查过,npm 上没有这个包,GitHub Releases 也没有附件。
04
g / i / m。m 在这里是 dotAll,不是 multiline。look-around 跟着 JavaScript 引擎。$__loc__不支持。yaml。这页的校对台不读 YAML 文件。05
npm install。npm run build。这一步会编译,并把 src/builtin.jq 拷进 dist。npm link,然后可以运行 tsjq -n '1+2'。也可以不 link,直接 node dist/cli/main.js -n '1+2'。