EN
← 错误索引

F_SYSTEM_DUPLICATE_OPTION_TOKEN

选项 token 重复

同一命令节点中的字段、Module option 或动作选项占用了相同 token。

更新于

复现

同一命令节点中的选项长名称和短 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)