# @altnovatrail/spec 中文文档

规范地址：https://npmcn.com/package/%40altnovatrail/spec/

版本：0\.9\.2
npm 元数据更新时间：2026-11-04T05:31:54.477Z
中文译文更新时间：2026-11-06T01:15:12.715Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40altnovatrail/spec
原文对照：https://npmcn.com/package/%40altnovatrail/spec/?lang=original
项目主页：https://github.com/altnovatrail/spec#readme
源码仓库：https://github.com/altnovatrail/spec

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：138 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-10-29T19:32:27.963Z
- 最新版本发布：2026-11-04T05:31:54.109Z
- 近 30 天下载量：7342（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：40（近 12 个月 40 个）

## 中文简介

NovaTrail用于TypeScript的模块格式类型,由它的子方案产生:一个模块的部分及其开放视图,犬目视图,目录,模块索引和测试向量. 而元素的类型,c

## 安装

```sh
npm install @altnovatrail/spec
```

也可以使用：`pnpm add @altnovatrail/spec`、`yarn add @altnovatrail/spec`、`bun add @altnovatrail/spec`

## README

# @ altnovatrail/ spec

类型 [新拖车](https://github.com/altnovatrail)用于 TypeScript 的模块格式,并从其录取表的0.8.0起。 该套件包括:

-   模块部分及其开放观点;
-   条形视图和软件包目录;
-   模块索引;
-   测试矢量.

它们来自格式的图谋, [`format/schemas`](https://github.com/altnovatrail/spec/tree/main/format/schemas) 内 `altnovatrail/spec`,按 `tools/types`。去代码从去模块中取出相同的类型 `github.com/altnovatrail/spec`在同一个标签.

从0.5.0起,包还持有元素的类型 `<novatrail-canvas>`:帆布与学习者应用软件的合同. 这些是手写的而不是生成的,只有TypeScript有.

从0.8.0开始,它也保留录取表的种类:AI提供者在通往AI的路线上,可以接受哪个年龄组的学习者的工作([表格的文本](https://github.com/altnovatrail/spec/blob/main/admission/README.md)) (中文(简体) ). 他们是由它的计谋产生的, `admission/schemas`,正如格式的一样.

软件包单独保存声明,没有代码可运行,所以导入时使用 `import type`数字 :

```ts
import type { Manifest, Task } from "@altnovatrail/spec/formatv0";
import type * as open from "@altnovatrail/spec/formatv0/open";

function show(task: open.Task, manifest: open.Manifest) {
  // …
}
```

-   **`@altnovatrail/spec/formatv0`** 持有格式的主要版本 0 的类型。 有以下类型:
    
    -   每个计划及其每个 `$defs`· ;
    -   a. 无自有名称的每个物体;
    -   每一个字段.
    
    对象始终持有的字段是需要的,其他的都是可选的. 包括每个领域,只有计划给予的一些分支.
    
-   **`@altnovatrail/spec/formatv0/open`** 持有每个部分的开放视图,这就是学习者的应用得到的([格式的文本](https://github.com/altnovatrail/spec/blob/main/format/README.md#6-open-fields)页:1 每个类型都保留它的名字 `formatv0` 只标出字段 `x-open`,所以打开的视图没有检查、模板和解析器.
    
-   **`@altnovatrail/spec/admissionv0`** 持有录取表主要版本0的种类: :该表,及其提供者,部署事实,能力和单元格规则,以及录取函数答案的测试向量.
    
-   **`@altnovatrail/spec/canvas`** 持有类型 `<novatrail-canvas>`数字 :
    
    -   `CanvasElement`,它描述元素的属性 `tool`, (中文(简体) ), `task`, (中文(简体) ), `workedExample`, (中文(简体) ), `demoState`, (中文(简体) ), `manifest`, (中文(简体) ), `media`, (中文(简体) ), `history`, (中文(简体) ), `marks` 财务报告和审定财务报表 `filled` 及其方法 `exportWork()`· ;
    -   `Media`,消费者提供图片文件的功能:画布没有网络;
    -   事件 `toolchange`, (中文(简体) ), `historychange` 财务报告和审定财务报表 `demochange`,与 `CanvasEventMap` 命名它们;
    -   一个实例演示的状态, `DemoState`· ;
    -   撰写历史;
    -   核查工作及其提交的背景;
    -   教诲者的记号, `Marks`, (中文(简体) ), `Mark` 财务报告和审定财务报表 `Anchor`他们的种类和地点来自应用程序与平台API的合同,信息 `Mark` 联 合 国 `novatrail.api.v1` 在 npm 软件包中 `@altnovatrail/contracts`和他们的名字从应用程序.
    
    它的结合是准确的: 历史的一个事件 从其 `kind`和一张工作表或一本工作手册的密钥, `png` 或者说 `cells`声明需要DOM的种类,所以消费者的 `lib` 必须包括 `dom`。软件包没有登记。 画布的包里有元素 `HTMLElementTagNameMap` 及其在 `GlobalEventHandlersEventMap`。 。 。 .
    

一个类型给出一个值的形状,而仅此而已:计划决定什么是有效的. 从别处读取值的代码 将它和它的图谋比起来.

该套件通过它的 `exports`下页 `"moduleResolution": "nodenext"`, (中文(简体) ), `"node16"` 或者说 `"bundler"`。 。 。 .

## 版本数

软件包的版本是: `altnovatrail/spec` 它来自,没有它的 `v`: 0.4.0为 `v0.4.0`。在0.4行的放行中,每放一行,即使类型没有改变。 以准确的版本取用,与任何子模块或Go模块的同名标记 `spec` 你抱住他们,把他们都带走.

## 正在检查归档

Npm 中的归档是文件 `altnovatrail-spec-<version>.tgz` 上面写着释放物的标志 并注明其名称 NovaTrail 寄存器只让软件包输入其代码一次 spec's `release-verify-npm` 已接受其锁文件,在更改它的拉力请求的CI中(Spec 第R77号决定; [规则.md](https://github.com/altnovatrail/spec/blob/main/RULES.md)硬规则). 它从仓库里流出 `spec` 子模块 :

```sh
just -f spec/justfile release-verify-npm package-lock.json
```

对每包 `@altnovatrail` 在锁文件中,它从注册处下载存档,并对照Sigstore的信任根和同名的释放文件的同名组合进行检查。 此软件包必须由 spec 自己签名 `.github/workflows/release.yml` 打开 `main`输入 `altnovatrail/spec`。其证书名称为 `main` 随着签名运行的开始, 归档被它的版本绑定在它的标签上 `package.json` 别动 最后,锁文件 `integrity` 必须是所检查的字节的散列 。 检查一个档案,旁边有包 `just -f spec/justfile release-verify spec v0.6.2 altnovatrail-spec-0.6.2.tgz`。 。 。 .

释放的证明将档案与释放联系起来,而不是与犯罪有关,以及 `gh release verify-asset` 检查它分开:

```sh
npm pack @altnovatrail/spec@0.6.2
gh release verify-asset v0.6.2 altnovatrail-spec-0.6.2.tgz -R altnovatrail/spec
```

发布会通过信任的出版方式,将文件发布给npm本身,npm给出每个版本,从而发布出处证明. 来源名称 `.github/workflows/release.yml` 联 合 国 `altnovatrail/spec` 以及发表它的运行,这是 `main` 当运行开始,而不是总是承诺 释放被切断。 0.4.0是手工出版的,没有出处. 并非每出一行都有npm的版本,所以取一个其版本在那里的标记.

## 许可证

[阿帕奇 - 2.0](https://github.com/altnovatrail/spec/blob/main/LICENSE)。 。 。 .

## 常见问题

### @altnovatrail/spec 是什么？

NovaTrail用于TypeScript的模块格式类型,由它的子方案产生:一个模块的部分及其开放视图,犬目视图,目录,模块索引和测试向量\. 而元素的类型,c

### 如何安装 @altnovatrail/spec？

在项目目录运行 npm install @altnovatrail/spec，或使用 pnpm add / yarn add / bun add。

### @altnovatrail/spec 支持 TypeScript 吗？

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

### @altnovatrail/spec 支持 ESM 还是 CommonJS？

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

### @altnovatrail/spec 可以商用吗？

@altnovatrail/spec 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @altnovatrail/spec 的下载量有多少？

根据 npm 官方下载统计，@altnovatrail/spec 在 2026/10/06 – 2026/11/04 这 30 天内被下载 7,342 次，日均约 245 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @altnovatrail/spec 还在维护吗？

最新版本 0\.9\.2 发布于 2026/11/04（2 天前）；至今共发布 40 个版本，其中过去 12 个月发布了 40 个；首次发布于 2026/10/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

