@callstack/licenses

中文文档
1.0.0发布于 2026/10/22MITTypeScriptESM + CJS构建来源已验证近 30 天下载 18.5万

API软件包,揭示Node.js项目中对许可证进行程序扫描的功能.

中文使用文档
文档目录5 节
  1. 特征
  2. 安装
  3. 程序用途
  4. API 文档
  5. 捐款
Licenses

@ callstack/ 许可证

Release Deploy Docs Unit tests - @callstack/licenses

API软件包,揭示Node.js项目中对许可证进行程序扫描的功能。 它被人们使用 license-kit CLI 工具并可以直接用于您的节点.js脚本.

特征

  • 从您的项目依赖性中扫描和汇总许可证信息
  • QQ 以选择的格式生成许可证报告( JSON, Markdown, 原始文本, AboutLibraries - 兼容的 JSON 元数据)
  • 对直接依赖和过渡依赖的支持

安装

npm install @callstack/licenses

程序用途

你用得着 @callstack/licenses 在您的节点.js应用程序中。 以下是如何使用它的基本例子:

import {
  Types,
  generateAboutLibrariesNPMOutput,
  generateLicensePlistNPMOutput,
  renderLicenseExpression,
  scanDependencies,
} from '@callstack/licenses';
import * as md from 'ts-markdown-builder';

// apart from dependencies, also include devDependencies, but only from the root package.json;
// also, include all transitive dependencies & optional dependencies
const optionsFactory: Types.ScanPackageOptionsFactory = ({ isRoot }) => ({
  includeDevDependencies: isRoot,
  includeTransitiveDependencies: true,
  includeOptionalDependencies: true,
});

// scan dependencies of a package
const licenses = scanDependencies(packageJsonPath, optionsFactory);

// generate AboutLibraries-compatible JSON metadata
const aboutLibrariesCompatibleReport = generateAboutLibrariesNPMOutput(licenses);

// generate LicensePlist-compatible metadata
const licensePlistReport = generateLicensePlistNPMOutput(licenses, iosProjectPath);

// generate a Markdown report
const markdownString = md
  .joinBlocks(
    Object.entries(licenses)
      .flatMap(([packageKey, { name: packageName, version, author, description, license, licenseFiles, url }]) => [
        md.heading(packageName, { level: 2 }),
        '\n',
        `Version: ${version}<br/>\n`,
        url ? `URL: ${url}<br/>\n` : '',
        author ? `Author: ${author}<br/>\n\n` : '',
        licenseFiles.map(({ licenseId, file, content }) => `${licenseId ?? file}:\n\n${content}`).join('\n\n'),
        '\n',
        description ? `Description: ${description}\n` : '',
        `License: ${renderLicenseExpression(license)}`,
        '\n',
        md.horizontalRule,
      ])
      .join('\n'),
  )
  .toString();

API 文档

API文件发表于: https://callstackincubator.github.io/反应-本土-法律-api/。 。 。 .

捐款

这个软件包被单体中的其他软件包通过它的构建输出来消耗,所以每次修改的时候,都需要重建软件包. 这可以通过运行完成 yarn build,或运行 yarn dev 要运行 tsc 在监视模式中。 所有这一切都在 贡献指南。 。 。 .

版本与发布记录

@callstack/licenses 共发布 7 个版本,首次发布于 2025/07/10;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.0latest2026/10/2217 天前
0.3.32026/08/142 个月前
0.3.22026/05/275 个月前
0.3.12026/03/108 个月前
0.3.02025/08/071.3 年前
0.2.22025/07/111.3 年前

关于 @callstack/licenses 的常见问题

@callstack/licenses 是什么?

API软件包,揭示Node.js项目中对许可证进行程序扫描的功能.

如何安装 @callstack/licenses?

在项目目录运行 npm install @callstack/licenses,或使用 pnpm add / yarn add / bun add。

@callstack/licenses 支持 TypeScript 吗?

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

@callstack/licenses 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@callstack/licenses 可以商用吗?

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

@callstack/licenses 的下载量有多少?

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

@callstack/licenses 还在维护吗?

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