# @ecosyste-ms/critical 中文文档

规范地址：https://npmcn.com/package/%40ecosyste-ms/critical/

版本：1\.3\.20261113
npm 元数据更新时间：2026-11-13T15:06:08.089Z
中文译文更新时间：2026-11-13T06:10:17.884Z
软件包许可：CC-BY-SA-4\.0

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

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

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

- 包体积（解压后）：26.3 MB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.5\.0
- 运行依赖：1 个
- 首次发布：2025-12-31T13:42:03.426Z
- 最新版本发布：2026-11-13T15:06:07.591Z
- 近 30 天下载量：4451（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：216（近 12 个月 216 个）

## 中文简介

SQLite 来自 Ecosyste.ms 的关键软件包数据库

## 安装

```sh
npm install @ecosyste-ms/critical
```

也可以使用：`pnpm add @ecosyste-ms/critical`、`yarn add @ecosyste-ms/critical`、`bun add @ecosyste-ms/critical`

## README

# @ecosyste-ms/关键

SQLite 关键开源软件包数据库 [生态系统](https://packages.ecosyste.ms/)。 。 。 .

该数据库每天被重建并被发布到npm,并作为GitHub发行. 使用的版本 `MAJOR.MINOR.YYYYMMDD` 其中主要/次要的音轨变换和补丁是构建日期.

## 安装

```bash
npm install @ecosyste-ms/critical
```

包包括一个预建的 `critical-packages.db` 文件 :

```typescript
import { databasePath } from "@ecosyste-ms/critical";
import { DatabaseSync } from "node:sqlite";

const db = new DatabaseSync(databasePath);
const pkg = db.prepare("SELECT * FROM packages WHERE name = ?").get("lodash");
```

以 TypeScript 编写并随类型声明一起发布; 行塑造构建 边与(`ApiPackage`, (中文(简体) ), `ApiAdvisory`, (中文(简体) ), `ApiRepoMetadata`, (中文(简体) ), `BuildInfo`已经 以类型导出.

从1.3.0开始 包有一个运行时间依赖, [`@ecosyste-ms/ecosystems-ts`](https://github.com/ecosyste-ms/ecosystems-ts), (中文(简体) ), 用于 Ecosyste.ms API 的输入客户端。 通过它与API的建设谈判 而不是通过手卷取取层, 因此重试、 速率限制和登记路径 生活在一个地方 跨越生态系统包。 这个版本是完全固定的,因为 工作日报上刊登的都是无人关注的。 读取捆绑的数据库时仍不触摸 不过 `node:sqlite`。 。 。 .

见 [生态系统/mcp](https://github.com/ecosyste-ms/mcp) 一个完整的例子.

## 下载

您也可以直接从 [页 次](https://npmcn.com/package/releases/latest)数字 :

-   `critical-packages.db` - 未压缩的 SQLite
-   `critical-packages.db.gz` - gzip 压缩

## 大楼

为了自己建立数据库:

```javascript
import { build, createDatabase } from "@ecosyste-ms/critical";

await build({
  dbPath: "critical-packages.db",
  fetchVersionsData: true,
  onProgress: console.log,
});
```

从命令行 :

```bash
npx @ecosyste-ms/critical                    # full build with versions
npx @ecosyste-ms/critical --skip-versions    # faster, packages only
npx @ecosyste-ms/critical -o my-db.db        # custom output path
npx @ecosyste-ms/critical --stats            # show database statistics
```

设定 `ECOSYSTEMS_MAILTO` 到一个联系地址之前,一个完整的建筑。 生态系统 API 允许匿名电话 大约每小时5000个请求 和一个完整的建筑围绕 9,700;一个能自我识别的建筑得到大约15,000个. 没有它的大部分版本 取来的钱是有限的 `build()` 扔出而不是发布数据库 其版本丢失了5%以上.

```bash
ECOSYSTEMS_MAILTO=you@example.com npx @ecosyste-ms/critical
```

## 发展

```bash
npm ci
npm run build          # tsc: lib/*.ts -> dist/
npm test               # vitest, against lib/ sources -- no build needed
npm run test:packaged  # packs the tarball and tests what it ships
npm run lint           # biome check + tsc --noEmit
npm run format         # biome check --write
npm run build:db       # build critical-packages.db from the API (what the daily job runs)
```

默认套房运行于 `lib/` 并且不需要建设步骤. `test:packaged` 实值 因为它会构建,运行 `npm pack`,并锻炼所提取的柏油丸 入口、导出表面和 `bin` - 支票 抓住一个破碎 `exports` 地图 而不是打破逻辑.

已公布的软件包为平版JavaScript,因此消费者留在了节点QQ22.5.0层 那个 `node:sqlite` 设定.

## 司马

### 软件包

| 栏 | 类型 | 说明 |
| --- | --- | --- |
| 编号 | 进口 | 生态系统的主要密钥 |
| 生态系统 | 文本 | 一揽子生态系统(npm、pypi、红宝石等) |
| 名称 | 文本 | 软件包名称 |
| 布尔 | 文本 | 软件包 URL (pkg:npm/lodash) |
| 命名空间 | 文本 | 如果适用, 包名空间 |
| 说明 | 文本 | 软件包描述 |
| 主页 | 文本 | 项目主页 URL |
| 仓库url | 文本 | 源寄存器 URL |
| 许可证 | 文本 | SPDX 许可证标识符 |
| 常态牌照( l) | 文本 | JSON 系列规范许可证标识符 |
| 最新版本 | 文本 | 最新版本编号 |
| 版本( c) | 进口 | 版本总数 |
| 下载 | 进口 | 下载数 |
| 下载时间( i) | 文本 | 下载时间(如最后一个月) |
| 依赖的( packages count) | 进口 | 取决于此的包数 |
| 依赖( r) | 进口 | 取决于此的存储器数量 |
| 首发( r) | 文本 | ISO 8601 第一期发行的印章 |
| 最新释放 at | 文本 | ISO 8601 最新发布时间戳 |
| 最后一个( s) | 文本 | 当 Ecosyst.ms 上次同步此软件包时 |
| 关键词 | 文本 | FTS 的空格关键字 |

索引 : `(ecosystem, name)` 独一无二, `purl`, (中文(简体) ), `licenses`, (中文(简体) ), `ecosystem`

### 版本

| 栏 | 类型 | 说明 |
| --- | --- | --- |
| 软件包( d) | 进口 | 软件包的外键 |
| 编号 | 文本 | 版本编号 |

主密钥 : `(package_id, number)`

### 咨询意见

| 栏 | 类型 | 说明 |
| --- | --- | --- |
| 编号 | 进口 | 自动递增主键 |
| 软件包( d) | 进口 | 软件包的外键 |
| 乌伊德 | 文本 | 咨询 UUID (GHSA- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| url 密码 | 文本 | 咨询 URL |
| 标题 | 文本 | 咨询标题 |
| 说明 | 文本 | 咨询说明 |
| 严重性 | 文本 | 高度(低等、高等、高等) |
| 已发布( a) | 文本 | ISO 8601 发布时间戳 |
| cvss 分数 | 真实 | CVSS 分数 |

索引 : `package_id`, (中文(简体) ), `uuid`, (中文(简体) ), `severity`, (中文(简体) ), `(package_id, uuid)` 独一无二

### repo 元数据

| 栏 | 类型 | 说明 |
| --- | --- | --- |
| 软件包( d) | 进口 | 主密钥, 套件的外键 |
| 拥有者 | 文本 | 仓库所有人/组织 |
| repo 名称 | 文本 | 仓库名称 |
| 完整名称 | 文本 | 全名( 拥有/ 收回) |
| 东道主 | 文本 | 主机 (github.com, gitlab.com等) 互联网档案馆的存檔,存档日期2013-12-21 |
| 语言 | 文本 | 主要语言 |
| 星标( c) | 进口 | GitHub 星等 |
| 叉数( c) | 进口 | 叉数 |
| 打开 问题 计数 | 进口 | 二. 未决问题 |
| 存档 | 进口 | 1 如果存档, 0 否则 |
| 叉头 | 进口 | 1 如果叉子, 0 否则 |

索引 : `full_name`, (中文(简体) ), `owner`

### 软件包( f)

FTS5 用于全文搜索的虚拟表格 `ecosystem`, (中文(简体) ), `name`, (中文(简体) ), `description`,以及 `keywords`。 。 。 .

### 构建 info

| 栏 | 类型 | 说明 |
| --- | --- | --- |
| 编号 | 进口 | 总是1 |
| 已建时( a) | 文本 | ISO 8601 构建时间戳 |
| 软件包( c) | 进口 | 包件共计 |
| 版本( c) | 进口 | 版本共计 |
| 咨询( c) | 进口 | 咨询共计 |

## 示例查询

SBOM 由 purl 浓缩:

```sql
SELECT * FROM packages WHERE purl = 'pkg:npm/lodash';

-- Check if a specific version exists
SELECT * FROM versions v
JOIN packages p ON v.package_id = p.id
WHERE p.purl = 'pkg:npm/lodash' AND v.number = '4.17.21';
```

找到有已知弱点的软件包 :

```sql
SELECT p.ecosystem, p.name, a.uuid, a.severity, a.title
FROM packages p
JOIN advisories a ON p.id = a.package_id
WHERE a.severity IN ('HIGH', 'CRITICAL');
```

许可证审计:

```sql
SELECT ecosystem, name, licenses
FROM packages
WHERE licenses NOT IN ('MIT', 'Apache-2.0', 'BSD-3-Clause');
```

全文搜索 :

```sql
SELECT p.* FROM packages p
JOIN packages_fts ON p.id = packages_fts.rowid
WHERE packages_fts MATCH 'http client';
```

按生态系统分列的一揽子方案:

```sql
SELECT * FROM packages WHERE ecosystem = 'npm';
```

最依赖的软件包 :

```sql
SELECT ecosystem, name, dependent_packages_count
FROM packages
ORDER BY dependent_packages_count DESC
LIMIT 100;
```

## 许可证

CC-BY-SA-4.0 (英语)

## 常见问题

### @ecosyste-ms/critical 是什么？

SQLite 来自 Ecosyste\.ms 的关键软件包数据库

### 如何安装 @ecosyste-ms/critical？

在项目目录运行 npm install @ecosyste-ms/critical，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 critical，可以用 npx critical 直接运行。

### @ecosyste-ms/critical 支持 TypeScript 吗？

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

### @ecosyste-ms/critical 支持 ESM 还是 CommonJS？

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

### @ecosyste-ms/critical 需要什么版本的 Node\.js？

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

### @ecosyste-ms/critical 可以商用吗？

@ecosyste-ms/critical 使用 CC-BY-SA-4\.0 许可。声明的许可为 CC-BY-SA-4\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @ecosyste-ms/critical 的下载量有多少？

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

### @ecosyste-ms/critical 还在维护吗？

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

