@binclusive/tree-sitter-swift-wasm
这个 树保姆斯威夫特语法 作为供应商出售
校验和锁定 .wasm 资产,零运行时间依赖.
上游出版的相册 仅作为 GitHub 发布资产,所以没有npm到
取决于。 此套件重印了未修改的资产, 让消费者解决
语法由 软件包名称 通过普通模块解析而不是站起第二个
一种语言的获取机制。 完整出处、复制命令和升级
程序已进入 PROVENANCE.md。 。 。 .
安装
把它拉起来 没错。语法版本决定扫描仪能看见什么,所以它是正确的 输入,而不是兼容的上级轴 :
pnpm add -E @binclusive/tree-sitter-swift-wasm
使用
import { readFile } from "node:fs/promises";
import { fileURLToPath } from "node:url";
import {
SWIFT_GRAMMAR,
SWIFT_GRAMMAR_WASM_SPECIFIER,
} from "@binclusive/tree-sitter-swift-wasm";
import { Language, Parser } from "web-tree-sitter";
const wasmPath = fileURLToPath(import.meta.resolve(SWIFT_GRAMMAR_WASM_SPECIFIER));
// Verify before you parse: a wrong or truncated grammar under-parses SILENTLY, so it
// surfaces as missing findings rather than an error.
const bytes = await readFile(wasmPath);
const digest = Buffer.from(
await crypto.subtle.digest("SHA-256", bytes),
).toString("hex");
if (digest !== SWIFT_GRAMMAR.sha256) throw new Error("Swift grammar digest mismatch");
await Parser.init();
const parser = new Parser();
parser.setLanguage(await Language.load(wasmPath));
import.meta.resolve 是带有负载的细节: 分辨率贯穿此软件包
exports 地图名称。 连接目录 消费者 import.meta.url 准确无误
#3120背后的机制——它解决了造出图像的机器而无处可去.
出口
| 指定者 | 什麽 |
|---|---|
@binclusive/tree-sitter-swift-wasm | SWIFT_GRAMMAR (上游重播、发行标签、资产名称、字节长度、SHA-256、ABI、许可证)和 SWIFT_GRAMMAR_WASM_SPECIFIER |
@binclusive/tree-sitter-swift-wasm/tree-sitter-swift.wasm | 语法字节 |
切入点仅为常数——否 node: 进口,不依赖运行时间——因此它载入
节点 工人和浏览器都一样.
出版
工作空间测试核实承诺字节; verify:tarball 核实文物是顾客
实际收到。 它把焦油球装入这个repo以外的一个丢弃目录中,
解决被子 按软件包名称 从安装和剖析 斯威夫特用它,所以一个破碎
files 列表或 publishConfig 出口地图在此失效, 而非消费者 :
pnpm --filter @binclusive/tree-sitter-swift-wasm verify:tarball
然后发布柏油丸(这个工作区发布包装柏油丸而不是运行)
pnpm publish 现职:
cd packages/tree-sitter-swift-wasm
pnpm build
pnpm pack
npm publish --access public binclusive-tree-sitter-swift-wasm-<version>.tgz
最新发布的版本在此工作空间中无法安装一天左右
minimumReleaseAge 供应链大门拒绝,所以公布 在此之前 消费者撞出
需要它,而不是同时.
许可证
语法是麻省理工学院,2021 Alex-pinkus. 上游通知号逐一登入
LICENSE 并适用于销售的原木,即未经修改的上游
艺术品 此软件包不添加单独的许可证代码 .