¿Cómo hacer que el paquete creado sobre TS 4.X sea compatible con 3.X? Como, si tiene una versión más nueva -> use nuevas funciones, de lo contrario -> use any o unknown o lo que sea compatible con la versión anterior.
¿Hay alguna posibilidad de usar directivas para ese propósito?
No hay forma de cambiar entre funciones compatibles y no compatibles en TypeScript.
Por ejemplo, si tiene una biblioteca construida sobre TS 4.0 con variadic tuple types no hay forma de usarla en un paquete donde se usa TS 3.0.
Sin embargo, puede mantener dos versiones de sus tipos: antes de TS4 y después de TS4. Por ejemplo, mire cómo lodash o reaccionar mantienen varias versiones de tipos.
Simplemente puede usar e instalar una versión anterior (lo que quiera que sea, ejemplo: `npm i --dev typescript@3.5.2) de typescript en su npm e intentar corregir los errores. Luego revierta la versión mecanografiada a v4 o lo que sea que ya era.
Ahora su código es compatible con la versión de mecanografiado anterior designada (solo asegúrese de que la funcionalidad de su código no cambie mientras lo actualiza).