@dev-build-deploy/comment-it

中文文档
2.2.1发布于 2026/11/01MITTypeScriptCommonJS近 30 天下载 1.6万

Source File Comment Management Library

原始使用文档
文档目录5 节
  1. Features
  2. Basic Usage
  3. Custom Language(s)
  4. Contributing
  5. License

CommentIt - Comment Extraction Library

Extract comment blocks from your files.

Features

  • Simple to use
  • Extracts single- and multiline- comment blocks
  • Supports a range of languages covering the top 25 languages used in GitHub (+ more)
  • Tells strings and comments apart: a comment token inside a string literal is not a comment, and a quote inside a comment (like the apostrophe in // the file's header) does not start a string
  • Quiet: isSupported() returns false for a file in an unknown language without logging anything

Basic Usage

import { extractComments } from "@dev-build-deploy/comment-it";

const file = "README.md";

// Check if the file is supported by CommentIt
if (isSupported(file)) {
  const config = {
    /** Only consider comments in the first ..n lines */
    maxLines: 20,
    /** Group sequential singleline comments into a comment block */
    groupSingleline: true,
  };

  // Retrieve each comment block using an iterator
  for await (const comment of extractComments(file), /* OPTIONAL */ config) {
    console.log(JSON.stringify(comment, null, 2));
  }
}

The above example will result in:

{
  "type": "multiline",
  "format": { "start": "<!--", "end": "-->"},
  "contents": [
    {
      "line":   1,
      "column": { "start": 0, "end":  4 },
      "raw":    "<!--",
      "value":  ""
    },
    {
      "line":   2,
      "column": { "start": 0, "end": 64 },
      "raw":    "SPDX-FileCopyrightText: 2023 Kevin de Jong <[email protected]>",
      "value":  "SPDX-FileCopyrightText: 2023 Kevin de Jong <[email protected]>"
    },
    {
      "line":   3,
      "column": { "start": 0, "end": 41 },
      "raw":    "SPDX-License-Identifier: MIT",
      "value":  "SPDX-License-Identifier: MIT"
    },
    {
      "line":  4,
      "column": { "start": 0, "end":  3 },
      "raw": "-->",
      "value": ""
    }
  ]
}

{
  "type": "multiline",
  "format": { "start": "<!--", "end": "-->" },
  "contents": [
    {
      "line": 16,
      "column": { "start": 0, "end": 45 },
      "raw": "<!-- Hee hee, hid a comment block in here -->",
      "value": "Hee hee, hid a comment block in here"
    }
  ]
}

Custom Language(s)

You can use the addLanguage() function to add new languages to the validation set:

import { addLanguage } from "@dev-build-deploy/comment-it";

addLanguage({
  name: "Pingu Language",
  filenames: [".pingu"],
  extensions: [".noot"],
  singleline: "{%NOOTNOOT%}",
});

The same function can also be used to override a (default) configuration. For example, the following code snippet replaces the comment prefix from ; to # for files with the.ini file extension:

import { addLanguage } from "@dev-build-deploy/comment-it";

addLanguage({
  name: "Custom ini",
  extensions: [".ini"],
  singleline: "#",
});

Contributing

If you have suggestions for how comment-it could be improved, or want to report a bug, open an issue! We'd love all and any contributions.

For more, check out the Contributing Guide.

License

版本与发布记录

@dev-build-deploy/comment-it 共发布 25 个版本,首次发布于 2023/07/01;过去 12 个月发布了 1 个版本。

版本发布日期距今
2.2.1latest2026/11/0110 天前
2.1.22025/04/271.5 年前
2.1.12025/04/271.5 年前
2.1.02025/02/041.8 年前
2.0.22024/05/282 年前
2.0.12023/12/182 年前

关于 @dev-build-deploy/comment-it 的常见问题

@dev-build-deploy/comment-it 是什么?

Source File Comment Management Library

如何安装 @dev-build-deploy/comment-it?

在项目目录运行 npm install @dev-build-deploy/comment-it,或使用 pnpm add / yarn add / bun add。

@dev-build-deploy/comment-it 支持 TypeScript 吗?

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

@dev-build-deploy/comment-it 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dev-build-deploy/comment-it 需要什么版本的 Node.js?

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

@dev-build-deploy/comment-it 可以商用吗?

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

@dev-build-deploy/comment-it 的下载量有多少?

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

@dev-build-deploy/comment-it 还在维护吗?

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