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?