En este módulo aprenderás:
- Reemplaza Makefiles desordenados con [tasks], ejecuciones en paralelo y modo watch.
- Comandos y configuraciones clave para 04. Task Runner Ultra Rápido
- Ejercicios prácticos listos para probar en tu terminal local
Tareas en paralelo y sin Makefiles prehistóricos
¿Sigues escribiendo npm run build && npm run test o lidiando con la sintaxis rara de tabulaciones en los Makefile? Causita, mise trae un task runner integrado que corre tareas en paralelo por defecto, verifica archivos modificados y tiene modo watch automático.
Árbol de Dependencias y Ejecución de Tareas en `mise`
$ mise run testrun = "astro build"Compila frontend y bundle de producción en memoria.
run = "biome check ./src"Valida tipados y estilo sin esperar que termine el build.
depends = ["build:client", "lint:check"] → run = "vitest run"✓ Ejecuta los tests sobre el build verificado. Si algún paso previo falla, el pipeline se detiene inmediatamente.
Definición de Tareas en mise.toml
Puedes definir las tareas directamente dentro de tu archivo de configuración usando la sintaxis [tasks.<nombre>].
[tasks.clean]
description = "Limpiar directorio dist"
run = "rm -rf dist"
[tasks.build]
description = "Compilar la aplicación"
depends = ["clean"]
run = "pnpm build"
[tasks.test]
description = "Correr suite de pruebas unitarias"
depends = ["build"]
run = "pnpm test"
# Ejemplo Híbrido: Pipeline con Python + Bun
[tasks.data-pipeline]
description = "Ejecutar scraper en Python y servidor Bun"
run = "python3 scripts/scrape.py && bun run server.js"
[tasks.dev]
description = "Iniciar servidor de desarrollo con watch"
run = "astro dev"
Comandos de ejecución
mise run build: Ejecuta la tareabuild(y sus dependencias previas).mise run data-pipeline: Ejecuta el pipeline combinado Python + Bun.mise watch build: Escucha cambios en los archivos del proyecto y re-ejecuta la tarea automáticamente.
Dependencias circulares en tareas
Ten cuidado de no crear un bucle infinito en las dependencias (ej: tasks.A depende de tasks.B y viceversa). mise detectará el ciclo y detendrá la ejecución arrojando un error en la terminal.
Reto Ninja de la Lección 🥷
Demuestra que dominas el Task Runner de mise respondiendo este test rápido:
¿Cómo ejecutas una tarea definida como '[tasks.build]' en tu mise.toml?
Ejercicio Práctico Ninja 🥷
- Agrega la sección
[tasks.hola]conrun = "echo 'Hola causa desde mise tasks!'"en tumise.toml. - Ejecuta
mise run holaen tu terminal. - Prueba correr
mise tasks lspara ver la lista de todas las tareas disponibles con su descripción.
¿Terminaste esta lección?
Marca tu progreso para sincronizar el avance en tu navegador.