Saltar al contenido principal
MDev Env Pro
Guía: Guía Mise - Adiós nvm/pyenv31% Completado

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.

Paralelismo por defecto • Verificación de timestamps
Pipeline DAGTask Runner Paralelo en Rust

Árbol de Dependencias y Ejecución de Tareas en `mise`

Comando Disparador$ mise run test
Fase 1: PreparaciónPaso 1
[tasks.clean] → rm -rf dist/
depends = ["clean"] resuelto → Ejecución Paralela
⚡ [tasks.build:client]Paralelo
run = "astro build"

Compila frontend y bundle de producción en memoria.

⚡ [tasks.lint:check]Paralelo
run = "biome check ./src"

Valida tipados y estilo sin esperar que termine el build.

🎯 [tasks.test]Meta Final
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>].

mise.tomltoml
[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 tarea build (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.

Reto Ninja de la Lección 🥷

Demuestra que dominas el Task Runner de mise respondiendo este test rápido:

Reto Ninja: Task Runner ⚡
Pregunta 1/3
❯reto --step=1

¿Cómo ejecutas una tarea definida como '[tasks.build]' en tu mise.toml?

Ejercicio Práctico Ninja 🥷

  1. Agrega la sección [tasks.hola] con run = "echo 'Hola causa desde mise tasks!'" en tu mise.toml.
  2. Ejecuta mise run hola en tu terminal.
  3. Prueba correr mise tasks ls para 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.