learning-front

Difícil A · Ingeniería a escala: monorepos y publicación

Repaso final: ingeniería a escala

El examen del nivel sin concepto nuevo: ESM vs CommonJS, monorepos y workspaces, Nx y Turborepo, y Changesets, de una sola pasada y con las trampas donde más se falla. El listón está alto a propósito: es el material que separa a un senior de un staff.

Has llegado al final del mundo Difícil A: ingeniería a escala. En los cuatro capítulos anteriores has cubierto el territorio que separa a un senior que usa herramientas de un staff que las entiende: la diferencia entre un enlace vivo y una copia, por qué dos instancias del mismo paquete en el mismo proceso son un problema real, cómo organizar un repositorio con decenas de paquetes sin perder la cabeza con las dependencias, y cómo construir y publicar solo lo que cambió sin reconstruirlo todo en cada commit.

Este capítulo no añade nada nuevo. Es un examen más exigente que los quizzes del recorrido: preguntas que combinan dos o más ideas, algunas con código para trazar, y varias trampas donde los detalles que parecen menores son los que muerde en producción. Si una pregunta se resiste, vuelve al capítulo, repasa el mecanismo y reintenta el examen entero. El reto es el propio quiz.

El temario que se evalúa: ESM vs CommonJS (enlaces vivos, interop, dual package hazard, campo exports), monorepos y workspaces (hoisting, phantom deps, workspace:*), Nx y Turborepo (grafo de tareas, orden topológico, caché local y remota, affected) y Changesets (semver en equipo, flujo add → version → publish, bumps en cascada y el PR automático).

Examen del nivel#

Pregunta 1 de 17

Evalúa el siguiente código y responde:

// contador.js
export let n = 0;
export function incrementar() { n++; }

// main.js
import { n, incrementar } from './contador.js';
incrementar();
console.log(n);
/* PREGUNTA: Un módulo ESM exporta un contador. ¿Qué imprime este código? */