@ecosyste-ms/critical

中文文档
1.3.20261112发布于 2026/11/12CC-BY-SA-4.0TypeScriptES Module构建来源已验证近 30 天下载 4451

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

中文使用文档
文档目录13 节
  1. 安装
  2. 下载
  3. 大楼
  4. 发展
  5. 司马
  6. 软件包
  7. 版本
  8. 咨询意见
  9. repo 元数据
  10. 软件包( f)
  11. 构建 info
  12. 示例查询
  13. 许可证

@ecosyste-ms/关键

SQLite 关键开源软件包数据库 生态系统。 。 。 .

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

安装

npm install @ecosyste-ms/critical

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

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, (中文(简体) ), 用于 Ecosyste.ms API 的输入客户端。 通过它与API的建设谈判 而不是通过手卷取取层, 因此重试、 速率限制和登记路径 生活在一个地方 跨越生态系统包。 这个版本是完全固定的,因为 工作日报上刊登的都是无人关注的。 读取捆绑的数据库时仍不触摸 不过 node:sqlite。 。 。 .

见 生态系统/mcp 一个完整的例子.

下载

您也可以直接从 页 次数字 :

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

大楼

为了自己建立数据库:

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

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

从命令行 :

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%以上.

[email protected] npx @ecosyste-ms/critical

发展

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 浓缩:

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';

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

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');

许可证审计:

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

全文搜索 :

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

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

SELECT * FROM packages WHERE ecosystem = 'npm';

最依赖的软件包 :

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

许可证

CC-BY-SA-4.0 (英语)

版本与发布记录

@ecosyste-ms/critical 共发布 215 个版本,首次发布于 2025/12/31;过去 12 个月发布了 215 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.20261112latest2026/11/12今天
1.3.202611112026/11/112 天前
1.3.202611102026/11/103 天前
1.3.202611092026/11/093 天前
1.3.202611082026/11/085 天前
1.3.202611072026/11/076 天前

关于 @ecosyste-ms/critical 的常见问题

@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.20261112 发布于 2026/11/12(今天);至今共发布 215 个版本,其中过去 12 个月发布了 215 个;首次发布于 2025/12/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。