Más información - Docs Oficiales
- Instalar TypeScript y tipos de Node, como dependencia de desarrollo
npm i -D typescript @types/node
- Inicializar el archivo de configuración de TypeScript ( Se puede configurar al gusto) inicia el tsc, creando el tsconfing , marca como salida la carpeta dist y observa como root el src
npx tsc --init --outDir dist/ --rootDir src
NOTA: agregar types en el archivo tsconfig con ['node','jest']
- Opcional - Para traspilar el código, se puede usar este comando
npx tsc
npx tsc --watch
- Configurar Nodemon y Node-TS, tsx (tsx tiene la version watch "tsx watch src") permite ejecutar ts en node
npm install -D tsx nodemon
- Crear archivo de configuración de Nodemon - nodemon.json
{
"watch": ["src"],
"ext": ".ts,.js",
"ignore": ["node_modules"],
"exec": "tsx ./src/app.ts"
}
- Crear script para correr en desarrollo en el package.json
"dev": "nodemon"
"dev": "npx nodemon" // En caso de no querer instalar nodemon
- Instalar rimraf (Herramienta que funciona similar al rm -f) eliminar directorio
npm install -D rimraf
- Crear scripts en el package.json para construir e iniciar en producción
"build": "rimraf ./dist && tsc",
"start": "npm run build && node dist/app.js"
- Configurar src como base del proyecto al importar (@) tsconfig:
"baseUrl": "./",
"paths": { "@/*": ["src/*"]},
- OPCIONAL, si se trabaja con jest, excluir el jest.config de tsconfig (a nivel de compilerOptions):
"exclude": ["jest.config.ts", "node_modules","tests"]