Adicionando pluginId para modificar a classe quando um mixin é usado

Estou tentando eliminar o aviso:

[PLUGIN discourse-layouts] Para evitar erros em testes, adicione uma chave `pluginId` à sua chamada `modifyClass`. Isso garantirá que a modificação seja aplicada apenas uma vez.

No entanto, no caso do plugin Layouts, há um Mixin chamado Sidebars sendo passado para o método api.modifyClass() da seguinte forma:

api.modifyClass(controllerClass, Sidebars) (Veja o código)

Já tentei muitas coisas, incluindo adicionar o pluginId a uma propriedade no Mixin:

export default Mixin.create({
  pluginId: 'discourse-layouts',
  router: service(),
  path: alias("router._router.currentPath"),
...

No entanto, o aviso continua a aparecer.

A única maneira que consegui suprimir o aviso foi usando este código em vez de modifyClass()

 const klass = api._resolveClass(controllerClass, {});
 klass.class.reopen(Sidebars);

No entanto, não sinto que seja a melhor abordagem porque estou essencialmente pulando a verificação que ajuda a evitar que modifyClass seja aplicado repetidamente.

Alguém tem algum conselho ou pensamento sobre como posso adicionar o pluginId a api.modifyClass() quando um mixin é usado e suprimir com sucesso esse aviso?

5 curtidas