# @callstack/licenses 中文文档

规范地址：https://npmcn.com/package/%40callstack/licenses/

版本：1\.0\.0
npm 元数据更新时间：2026-11-06T13:30:24.305Z
中文译文更新时间：2026-11-09T00:06:06.740Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40callstack/licenses
原文对照：https://npmcn.com/package/%40callstack/licenses/?lang=original
项目主页：https://callstackincubator.github.io/react-native-legal/
源码仓库：https://github.com/callstackincubator/react-native-legal

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

- 包体积（解压后）：176 kB，117 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2025-07-10T12:31:28.561Z
- 最新版本发布：2026-10-22T15:28:46.677Z
- 近 30 天下载量：184973（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 4 个）

## 中文简介

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

## 安装

```sh
npm install @callstack/licenses
```

也可以使用：`pnpm add @callstack/licenses`、`yarn add @callstack/licenses`、`bun add @callstack/licenses`

## README

[![Licenses](https://github.com/callstackincubator/react-native-legal/blob/main/images/licenses-banner.jpg)](https://www.callstack.com/open-source?utm_campaign=generic&utm_source=github&utm_medium=referral&utm_content=@callstack/licenses)

# @ callstack/ 许可证

![Release](https://github.com/callstackincubator/react-native-legal/actions/workflows/release.yml/badge.svg) ![Deploy Docs](https://github.com/callstackincubator/react-native-legal/actions/workflows/deploy-docs.yml/badge.svg) ![Unit tests - @callstack/licenses](https://github.com/callstackincubator/react-native-legal/actions/workflows/test-unit-licenses-api.yml/badge.svg)

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

## 特征

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

## 安装

```bash
npm install @callstack/licenses
```

## 程序用途

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

```typescript
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/](https://callstackincubator.github.io/react-native-legal/api/)。 。 。 .

## 捐款

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

## 常见问题

### @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 和提交记录判断。

