Búsqueda de sitios web

javascript - Emitir SourceMaps desde tsconfig solo para Desarrollo


¿Hay alguna manera de tener un tsconfig en mi carpeta de producción para crear mapas de origen solo si process.env es development? No quiero que se creen mapas de origen durante mi compilación CI/CD ni que se envíen a producción.

Respuesta #1

tsconfig no estaba destinado a tener cosas como env en el propio archivo, es solo un archivo JSON simple. Para hacer lo que quieres, deberías estar usando tu propia configuración para cada entorno, es decir, tsconfig.production.json, tsconfig.development.json

Luego, en tu pipeline de compilación, puedes usar el comando --project/--p al ejecutar tsc para especificar tu ubicación. Así que si solo quieres que se creen compilaciones de producción en tu CI/CD, entonces en tu paso de ejecución de tsc puedes simplemente hacer tsc -p ./tsconfig.production.json, donde ./tsconfig.production.json es la ruta a ese archivo. Si quieres que use tu env en sí, la mayoría de los CI/CD te permite ejecutar un script diferente dependiendo del env, así que nuevamente solo ejecutas este para las compilaciones de producción.

Otra nota rápida: la mayoría de las personas estructuran sus archivos tsconfig para tener un archivo base que, digamos, en este ejemplo tsconfig.development.json extiende, y también lo hace tsconfig.production.json. En el tsconfig.base.json tienes todas las mismas configuraciones principales para no repetirte dos veces, con los mapas de origen desactivados. Luego, en el tsconfig.development.json puedes extender este archivo y activar los mapas de origen, para seguir manejando una buena depuración cuando estás en desarrollo.

De todos modos, espero que esto ayude.

Respuesta #2

O podrías especificarlo en el comando que se está ejecutando

tsc --build --sourceMap false

Artículos relacionados