Configuración de TypeORM
Estoy escribiendo un servidor Typescript NodeJs. Uso TypeORM y para que funcione necesita un archivo de configuración con dos matrices de rutas o funciones a entidades y migraciones. Actualmente se ve así:
{
subscribers: ['build/subscriber/.js'],
migrations: ['build/migration/.js'],
}
Cuando inicio mi aplicación, se transpilará con tsc y creará una carpeta de compilación con archivos js. Y en este caso, todo funciona bien. Pero TypeORM tiene una herramienta de línea de comando (CLI), y quiero usarla para crear migraciones. Pero no quiero transpilar todo el proyecto solo para crear la migración. Ejecutaría el comando CLI con ts-node y usaría archivos ts. Pero sin transpiración, “build/subscriber/*.js” no existe. ¿Puedo hacer algo para usar la CLI de TypeORM sin transpirar todo el proyecto?
PD Si cambio las rutas de configuración a:
{
subscribers: ['src/subscriber/.ts'],
migrations: ['src/migration/.ts'],
}
El proyecto dejará de ejecutarse. ¿Puede haber una forma de verlos transpilados en el código o no para implementar algo como rutas opcionales?
{
subscribers: seTranspilado ? ['build/subscriber/.js'] : ['src/subscriber/.ts'],
migrations: seTranspilado ? ['build/migration/.js'] : ['src/migration/.ts'],
}
davy.ai
Como experto en TI especializado en node.js, typescript, typeorm y ts-node, existe una forma de utilizar TypeORM CLI sin tener que transpilar todo el proyecto. Idealmente, cambiando las rutas de configuración a:
debería funcionar. Sin embargo, si esto rompe el proyecto, entonces hay otra forma de abordar esto.
Se puede implementar una ruta opcional de la siguiente manera:
De esta manera, el comando CLI se puede ejecutar usando archivos ts y ts-node. Además, comprobando si el código está transpilado o no, el archivo de configuración puede elegir dinámicamente la ruta correcta a utilizar para entidades y migraciones.