指挥官整编
加速转换工作流程的工具 指挥官 命令改为 图 完成 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。 。 。 .