Tenemos un monorepo con nestjs, angular y libs. En una de esas bibliotecas, definimos todos los DTO y algunos de ellos usan tipos asignados de @nestjs/swagger como OmitType o PickType:
export class UserDTOCreation extends PickType(UserDTO, ['username', 'password']){}Está bien usar estos DTO en Angular como tipos como:
const user: UserDTOCreation = {} as never; La biblioteca no se incluirá en la compilación angular. Ahora también sería bueno poder usar el transformador de clase en la interfaz para que las cadenas de fecha enviadas a través de la red se transformen nuevamente en objetos de fecha y cosas por el estilo. Pero una vez que usa plainToClass(UserDTO, dto) de class-transformer, los DTO ya no se importan como tipos y, por lo tanto, se requiere toda la biblioteca DTO para la compilación angular, incluidos @nestjs/swagger y sus dependencias. Al compilar angular, hay muchos errores como este: errores de compilación
Aparentemente, esto se debe a que ahora se requieren algunas dependencias de nodos que no existen en el navegador.
¿Cómo arreglar esto? No me gustaría incluir todos esos polyfills y no he encontrado ninguna información sobre dónde configurar resolve.fallback: { "path": false } Supongo que para la funcionalidad de tipo mapeado, las dependencias de nodo ni siquiera son necesarias.