It helps us to save a lot of manual work like transpiling file by file, specifying the target, etc.
Creating a TSConfig.json file
In the terminal, locating us inside the directory in which we want the file to be created, let's execute:
npx tsc --init
It will automatically create the file with basic properties enabled:
Inside the TSConfig.json file we can see that it has many properties commented out (disabled) and of which only some are enabled.
Compiling in TypeScript
Our TypeScript code will be transpiled according to the properties indicated in our `TSConfig.json`` file:
npx tsc
Real-time compilation
We may find it tedious to be running the above command always after writing our code. To avoid this, we can make the compiler be detecting every change we make in our TypeScript files and do the transpilation immediately:
npx tsc --watch
Project
Let's create the TSConfig.json file in our project .
We activate the following properties inside that file:
outDir: indicating the dist folder as the destination directory for the transpiled files.
rootDir: we indicate that our TypeScript files, which will be "compiled" later, will be in the src folder .
We create the file 02-demo2.ts inside the src folder with the following code:
const numbers = [1,3,4];
Let's test the compilation of our files:
npx tsc
We will notice that the transpiled files are located in our dist folder.
Contributed by: Martin Alvarez.
Contributions 27
Questions 13
Sort by:
Want to see more contributions, questions and answers from the community?
Como resumen, el comando npx tsc --init inicializa un archivo tsconfig.ts. En este va estar la configuración como el target, ourDir, strictMode, etc. Evitándonos tener que poner esas flags en cada compilación.
.
Una vez con ese archivo, solo corremos el comando npx tsc y listo.
.
Y ya por ultimo, podemos evitarnos la compilación continua corriendo el comando npx tsc --watch
Si tu, como yo, no quieres tener una terminal abierta y constantemente estar cambiando entre ventanas para trabajar, puedes abrir la terminal de VSCode con “Ctrl + ñ” de este modo podrás ejecutar comandos con la terminal integrada sin necesidad de ventanas extra.
Con WebStorm de Jetbrains, se configura tanto el linter como el watch desde la configuración del IDE y funciona super bien, sin necesidad de consolas adicionales
## **Explorando el** `tsconfig.json` **en TypeScript**
En nuestras interacciones previas, hemos aprendido a usar TypeScript para transpilar archivos `.ts` a JavaScript, lo cual es esencial para que el código sea ejecutado por navegadores y Node.js. Sin embargo, este proceso puede resultar tedioso, especialmente en proyectos más grandes, donde es necesario gestionar múltiples configuraciones y archivos. Afortunadamente, TypeScript ofrece una solución eficiente a través del archivo de configuración `tsconfig.json`.
\- ¿Qué es el `tsconfig.json`?
El `tsconfig.json` es un archivo crucial que permite configurar cómo se transpilan los archivos TypeScript en un proyecto. Este archivo facilita la gestión de opciones de compilación, evitando la necesidad de especificar comandos y configuraciones de forma manual para cada archivo.
\- Creando el archivo `tsconfig.json`
Para generar un archivo `tsconfig.json` en la raíz de tu proyecto, simplemente ejecuta el siguiente comando en la terminal:

Este comando crea un archivo de configuración con ajustes predeterminados, similar al siguiente:

\- Opciones clave en `tsconfig.json`
Al abrir el archivo `tsconfig.json`, verás una serie de opciones configurables. Algunas de las más relevantes incluyen:
* `target`: Define la versión de JavaScript a la que deseas transpilar tu código. Por ejemplo, puedes cambiarlo a `es2020` o `esnext` para aprovechar características más recientes de JavaScript.
* `module`: Especifica el sistema de módulos que se utilizará. Las opciones comunes son `commonjs`, `es6` o `amd`.
* `strict`: Si se establece en `true`, habilita todas las verificaciones de tipo estricto, lo que puede ayudar a detectar errores potenciales más rápidamente.
* `outDir`: Especifica la carpeta de salida para los archivos JavaScript transpilados. Deberás habilitar esta opción para organizar mejor tu proyecto.
* `rootDir`: Define el directorio raíz de los archivos TypeScript, permitiendo al compilador localizar los archivos a transpilar. Por lo general, se establece en `./src`.
Veremos el target:

### - **Configurando** `tsconfig.json`
Una vez creado el archivo, es recomendable habilitar y personalizar las opciones mencionadas. Por ejemplo, puedes agregar o modificar las siguientes líneas:


Con estas configuraciones, el compilador sabe que debe colocar todos los archivos JavaScript transpilados en el directorio `dist`, mientras que los archivos TypeScript se encuentran en `src`.
### **- Ejecutando el Compilador**
Una vez configurado el `tsconfig.json`, puedes compilar tu proyecto ejecutando simplemente:
### 
Este comando leerá la configuración y transpilará automáticamente todos los archivos `.ts` ubicados en el directorio especificado.
### **- Compilación en Tiempo Real**
Para mejorar aún más el flujo de trabajo, TypeScript permite la compilación en tiempo real. Esto es especialmente útil durante el desarrollo, ya que el compilador puede monitorear los cambios en los archivos y transpilar automáticamente. Para habilitar esta función, usa el siguiente comando:

Con esta opción, cada vez que realices un cambio en tu código TypeScript, el compilador lo detectará y generará el archivo JavaScript correspondiente sin necesidad de ejecutar manualmente el comando cada vez.
les comparto el \[link]\([TypeScript: TSConfig Reference - Docs on every TSConfig option (typescriptlang.org)](https://www.typescriptlang.org/tsconfig)) a la referencia de TSConfig en la documentación oficial
Con el comando `npx tsc` permite leer el archivo de configuración tsconfig.json para saber la configuración con la que debe transpilar los archivos TypeScript.
ES2016 aka ES7 is the version of ECMAScript corresponding to the year 2016. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.
Veamos el TSConfig.json
Viste lo anterior, que es tedioso estar poniendo demasiadas veces las mismas opciones de compilación, por lo que podemos crear un archivo llamado tsconfig.json y poner las opciones de compilación ahí, de esta manera no tenemos que estar poniendo las opciones de compilación cada vez que queramos compilar nuestro código typescript.
Crear un archivo por defecto de configuración de typescript
$ npx tsc --init
Ahora ya no es necesario mandarle otro flag a la hora de compilar, ya que el compilador de typescript va a buscar el archivo tsconfig.json y va a tomar las opciones de compilación de ahí.
$ npx tsc
Para finalizar, cuando hacemos un cambio en nuestro código typescript, es tedioso estar compilando ese código muchas veces, para solucionar esto, podemos añadir como un “escuchador de cambios” a nuestro compilador de typescript, de esta manera cada vez que hagamos un cambio en nuestro código typescript, el compilador de typescript va a compilar automáticamente nuestro código typescript a javascript.
$ npx tsc --watch
Entrar al archivo tsconfig.json y descomentar outDir, luego add la ruta donde vamos a guardar los archivos compilados.
Descomentar rootDir y add la ruta donde estan los archivos .ts
Para compilar constantemente se utiliza –watch y se ejecuta de la siguiente manera:
Want to see more contributions, questions and answers from the community?