复现
同一命令节点中的选项长名称和短 alias 必须保持唯一;negatable flag 生成的 --no-<name> 也会参与冲突检查:
src/build.command.ts
import { CommandMajor, Flag, Handler, Module, Value, createApp } from 'func'
@CommandMajor()
class BuildCommand {
@Flag('config')
useConfig = false
@Value('config')
config = ''
@Handler()
run() {}
}
@Module({ commands: [BuildCommand] })
class AppModule {}
createApp(AppModule)如何修复
重命名其中一个冲突 token,或删除重复声明:
src/build.command.ts
@CommandMajor()
class BuildCommand {
@Flag('use-config')
useConfig = false
@Value('config')
config = ''
@Handler()
run() {}
}
@Module({ commands: [BuildCommand] })
class AppModule {}
createApp(AppModule)