Bibliotecas Angular 10 e compatibilidade com IVY/ngcc
Eu tenho uma biblioteca que precisa ser distribuída via npm. A recomendação para o Angular 10 ainda parece ser que essas bibliotecas sejam compiladas com o IVY desabilitado, mas que a CLI do Angular garantirá que a biblioteca ainda seja compatível com um aplicativo que tenha o IVY habilitado.
Com minha biblioteca, se eu construir com IVY, funciona como esperado. No entanto, se eu desabilitar o IVY ao construir, ao importar a biblioteca, recebo o seguinte erro:
ERRO em node_modules/@me/my-module/lib/my-module.module.d.ts:1:22 - erro NG6002: Aparece no NgModule.imports do AppModule, mas não pode ser resolvido para uma classe NgModule.
Isso provavelmente significa que a biblioteca (@me/my-module) que declara o MeMYModule não foi processada corretamente pelo ngcc ou não é compatível com o Angular Ivy. Verifique se uma versão mais recente da biblioteca está disponível e atualize se estiver. Considere também verificar com os autores da biblioteca para ver se a biblioteca deve ser compatível com Ivy.
Estou esquecendo de algo? Eu encontrei muitos problemas semelhantes, mas nenhuma das soluções parece funcionar.
Respostas
Eu enfrentei problema semelhante há alguns dias. Eu resolvi isso adicionando o seguinte script dentro do meu package.jsonarquivo.
"scripts": {
"postinstall": "ngcc"
}