@fig/complete-commander

中文文档
3.2.0发布于 2024/06/07MITTypeScriptCommonJS近 30 天下载 362.6万

导出命令为 Fig spec

中文使用文档
文档目录6 节
  1. 文档
  2. 使用量
  3. 自定义命令
  4. 备选方案 generateCompletionSpec
  5. 指定无花样命令名称
  6. 贡献者

指挥官整编

加速转换工作流程的工具 指挥官 命令改为 图 完成 spec 文件.


文档

generateCompletionSpec(command[, options]): string

从所提供命令生成一个补全 spec并返回一个字符串 .

  • command(单位:千美元) commander.Command 对象
  • options: 含有下列可选属性的对象:
    • figSpecCommandName: 指定用于生成无花果 spec 的命令名称 ()见) (中文(简体) ). 默认为 'generate-fig-spec'
addCompletionSpecCommand(command): void

在指定的命令中添加一个新的子命令, 以在引用时打印生成的光谱 $CLI generate-fig-spec。 。 。 .

  • command(单位:千美元) commander.Command 对象

使用量

使用此库与调用函数一样简单. 下面的代码片段每次运行可执行文件时都会生成一个新的光谱.

import { program } from 'commander'
import { generateCompletionSpec } from '@fig/complete-commander'

program
  .name('babel')
  .description('The compiler for writing next generation JavaScript')
  .version('7.16.0')
  .argument('<file>', 'file to compile')

// Do not generate if production env
if (process.env.NODE_ENV === 'development') {
  const spec = generateCompletionSpec(program) // write the generated spec to a file or print it to the console
}

自定义命令

也可以提供自定义命令,在调用时生成 spec文件. 例如,以下程序在 eslint generate-fig-spec 是从终端运行.

import { program } from 'commander'
import { addCompletionSpecCommand } from '@fig/complete-commander'

program
  .name('eslint')
  .description('Find and fix problems in your JavaScript code')
  .version('8.0.0')
  .argument('<file>', 'file to lint')

if (process.env.NODE_ENV === 'development') {
  addCompletionSpecCommand(program)
}
program.parse()

注意: 命令可以称为任意名称, 但如果您指定了不同于 'generate-fig-spec' 您应该设置 figSpecCommandName 选项.

备选方案 generateCompletionSpec

指定无花样命令名称

创建时 自定义命令 生成名称不同于 'generateCompletionSpec' 您想要避免将其写入生成的文件。 这个选项有助于你做到这一点.

program
  .name('eslint')
  .description('Find and fix problems in your JavaScript code')
  .version('8.0.0')
  .argument('<file>', 'file to lint')

if (process.env.NODE_ENV === 'development') {
  program
    .command('createSpec') // this command will not be included in the generated spec
    .description('Generate a fig spec')
    .action(() => {
      generateCompletionSpec(program, { figSpecCommandName: 'createSpec' })
    })
}
program.parse()

p.s. 此工具是为 commander@8,但也应在之前的大多数版本中发挥作用.

贡献者

这一整合是由下列机构建立的: 费德里科·西亚迪。请参看他以前的历史记录: https://github.com/fedeci/commander-to-fig 互联网档案馆的存檔,存档日期2013-12-21。 。 。 .

版本与发布记录

@fig/complete-commander 共发布 5 个版本,首次发布于 2022/05/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.2.0latest2024/06/072 年前
3.1.02024/06/012 年前
3.0.02023/11/222 年前
2.0.12022/09/064 年前
2.0.02022/05/104 年前

关于 @fig/complete-commander 的常见问题

@fig/complete-commander 是什么?

导出命令为 Fig spec

如何安装 @fig/complete-commander?

在项目目录运行 npm install @fig/complete-commander,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:commander(^11.1.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@fig/complete-commander 支持 TypeScript 吗?

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

@fig/complete-commander 支持 ESM 还是 CommonJS?

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

@fig/complete-commander 可以商用吗?

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

@fig/complete-commander 的下载量有多少?

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

@fig/complete-commander 还在维护吗?

最新版本 3.2.0 发布于 2024/06/07(2 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/05/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。