Desde la actualización a TypeScript 4.4.2 (necesario para admitir Angular 13), la sintaxis require ya no es compatible.
Ahora parece que debo usar esta sintaxis en su lugar:
import * as d3ContextMenu from 'd3-context-menu'; Las definiciones de tipo no existen para d3-context-menu en DefinitelyTyped o en cualquier otro lugar que pueda encontrar. Entonces, intenté crear el mío propio usando estas instrucciones: ( ver "Plan C" aquí )
El problema es que cuando trato de usar estas definiciones de tipo en un proyecto compilado usando ng-packagr , no puedo hacer que funcione (funciona en un proyecto Angular regular)
¿Que me estoy perdiendo aqui? ¿Cuál es el secreto para incluir este archivo de definición de tipo?
Cuando crea una biblioteca angular con ng-packgr, no incluye las dependencias en el paquete de la biblioteca. En cambio, lo que solemos hacer es agregar la dependencia que necesita la biblioteca a las peerDependencies de la biblioteca y luego a las dependencies de la aplicación. Eso significa que incluso si agrega la declaración para d3-context-menu a su biblioteca, TS no podrá encontrarla automáticamente y debe especificar el archivo de declaración para d3-context-menu en el nivel de la aplicación.