@3f-consulting/spec-controller-core

中文文档
0.1.237发布于 2026/11/05MITTypeScriptES Module近 30 天下载 4万

光谱控制器背后的纯正可嵌入的调和核心——Gherkin/@SCN剖析器,证据模型,调和原始人,和渲染器. 没有CLI,没有I/O.

中文使用文档
文档目录5 节
  1. 安装
  2. 你的第一个电话
  3. 出口的东西
  4. 稳定
  5. 许可证

@ 3f- 咨询/ spec- controller- core

背后的调节引擎 spec-controller作为纯粹的图书馆.

假设和证据观察进入; 列出一个分类账。 此包中没有任何内容读取一个文件,生成一个进程,查看时钟或写入一流. 文件读取、出处、输出路由和命令行在 spec-controller 软件包,此软件包基于此软件包.

使用此软件包 围绕调节构建自己的工具:服务、编辑器集成、不同的前端,或已经将报告保存在记忆中的管道. 使用 spec-controller 当你想要一个命令 放在CI.

需要22号节点。 仅限无害环境管理.

安装

npm install @3f-consulting/spec-controller-core

你的第一个电话

import {
  parseFeatureCorpus,
  scenariosOf,
  parseVitestEvidenceObservations,
  reconcile,
  isBalanced,
} from "@3f-consulting/spec-controller-core";

// One .feature file's text, and one already-parsed Vitest JSON report.
const corpus = parseFeatureCorpus([{ file: "features/checkout.feature", source: featureSource }]);
if (corpus.kind === "unparseable") throw new Error(corpus.faults[0].message);
const scenarios = corpus.parsed.flatMap((feature) => scenariosOf(feature));
const observed = parseVitestEvidenceObservations(vitestReport);

const ledger = reconcile(scenarios, observed);
isBalanced(ledger); // false while any scenario names evidence that did not arrive
  • parseFeatureCorpus 解析每个特性文件一次 。 它返回每个解析出的文件,或者,如果任何文件不解析,则每个文件在解析器自己的单词中的过错. scenariosOf 读取 @SCN 代码和标签 命名它的质量检查 关闭每个解析的情景,并将其变成 债务 场景名称.
  • parseVitestEvidenceObservations 将测试报告转换为 意见 上面写着: @SCN 它声称.
  • reconcile 设定双方对接,并给出每个情景的答案.

套件出口的其他一切都是这三个步骤的变异.

出口的东西

该套装完全发布一个切入点,一个管子输出如下.

  • 解析数字 :

    • 假设情况: parseFeatureCorpus,用于描述特性文件一次; scenariosOf, (中文(简体) ), untaggedScenariosOf 财务报告和审定财务报表 featureCountsOf 超过解析文件; corpusCountsOfFeatures 覆盖已解析的文件;以及 countScnOccurrences 超过文件文本;
    • 证据: parseVitestEvidenceObservations· ; parseJunitEvidenceObservations 财务报告和审定财务报表 parsePytestEvidenceObservations,在JUnit XML报告上,你已经解析出对象,从pytestsum或另一个跑者; parseRspecEvidenceObservations,通过RSPEC的JSON报告 parseCucumberEvidenceObservations· ;
    • 工作流程 : parseWorkflows,它一次地解析 CI 工作流程;
    • 阅读器的健身功能, 以及管道的台阶实际运行.

    两个J股的读者 阅读方式不同 <error> 在普通测试中: parseJunitEvidenceObservations 读它作为一个失败的观察 parsePytestEvidenceObservations 读作已破,为pytest的设置错误.

  • 调和数字 : reconcile 为分类账, evidenceReconciliationOf 分类账加其摘要 evidenceReconciliationFromSources 用于解析特性文件、解析工作流程和您已经读取的其他来源的全部组成.

  • 问分类账数字 : isBalanced, (中文(简体) ), hasPendingItems, (中文(简体) ), hasBrokenEvidence 财务报告和审定财务报表 hasNothingToReconcile,四个问题 一个打电话者决定。 执行判决本身就写在报告上: assembleRenderInput 点名 summary.runVerdict,CLI从那里读取其退出代码.

  • 渲染器数字 : renderMarkdown, (中文(简体) ), renderJson, (中文(简体) ), renderReport, (中文(简体) ), renderReportFromJson,以及 assembleRenderInput 如果你想要有效载荷 而不是弦. assembleSavedReport 将保存的JSON报告改编成报告,并重新做出判断。 未经判决保存的报告,或重新提交 --strict因此,宣布胜诉的判决.

  • 证明: 纯子集,该子集记录运行时没有询问文件系统是什么.

这些功能的种类与它们一起导出,因此消费者可以标出它持有的任何价值.

稳定

切入点的出口是 整个公共表面, 和你的合同. 没有什么能证明它漂移. 表面不与书面列表相对照,因此在枪管上添加一个符号,或者扔出一个转子不为构造红色. 生成的 API 报告将在 1.0,有一个兼容的承诺。 包裹在 0.x 版本且不作出兼容承诺;见 docs/compatibility.md. 准确的版本.

资料来源、问题和历史: github.com/3f 咨询/光谱控制器。 。 。 .

许可证

麻省理工学院——见 LICENSE 本包中。 2026 3F 咨询有限公司.

版本与发布记录

@3f-consulting/spec-controller-core 共发布 326 个版本,首次发布于 2026/09/04;过去 12 个月发布了 326 个版本。

版本发布日期距今
0.1.237latest2026/11/05今天
0.1.2362026/11/051 天前
0.1.2352026/11/051 天前
0.1.2342026/11/051 天前
0.1.2332026/11/051 天前
0.1.2322026/11/051 天前

其他发布通道:alpha → 0.1.0-alpha.88。

关于 @3f-consulting/spec-controller-core 的常见问题

@3f-consulting/spec-controller-core 是什么?

光谱控制器背后的纯正可嵌入的调和核心——Gherkin/@SCN剖析器,证据模型,调和原始人,和渲染器. 没有CLI,没有I/O.

如何安装 @3f-consulting/spec-controller-core?

在项目目录运行 npm install @3f-consulting/spec-controller-core,或使用 pnpm add / yarn add / bun add。

@3f-consulting/spec-controller-core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@3f-consulting/spec-controller-core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@3f-consulting/spec-controller-core 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.12。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@3f-consulting/spec-controller-core 可以商用吗?

@3f-consulting/spec-controller-core 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@3f-consulting/spec-controller-core 的下载量有多少?

根据 npm 官方下载统计,@3f-consulting/spec-controller-core 在 2026/10/05 – 2026/11/03 这 30 天内被下载 40,141 次,日均约 1,338 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@3f-consulting/spec-controller-core 还在维护吗?

最新版本 0.1.237 发布于 2026/11/05(今天);至今共发布 326 个版本,其中过去 12 个月发布了 326 个;首次发布于 2026/09/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。