Ir al contenido

Changesets

pubm usa changesets como base para el versionado y el changelog. Cada changeset describe qué paquetes cambian y en qué nivel: patch, minor o major.

Ventana de terminal
pubm changesets add
pubm changesets status
pubm changesets version
pubm changesets changelog

Los changesets pendientes se almacenan en:

.pubm/changesets/

Inicializa ese directorio ejecutando el asistente de configuración interactivo:

Ventana de terminal
pubm init

Durante el setup, pubm init pregunta si deseas activar el workflow de changesets. Si seleccionas que sí, crea el directorio .pubm/changesets/, genera .github/workflows/changeset-check.yml para aplicar el requisito en PRs, y actualiza .gitignore para registrar los archivos de changeset ignorando el resto del contenido de .pubm/.

Ventana de terminal
pubm changesets add

Ese comando guía el proceso y crea un archivo en .pubm/changesets/.

Ventana de terminal
pubm changesets status
pubm changesets status --verbose

status muestra qué changesets siguen pendientes y qué bumps producirán.

Ventana de terminal
pubm changesets version

version aplica los changesets pendientes a los paquetes afectados y escribe las nuevas versiones.

Ventana de terminal
pubm changesets changelog

changelog genera texto de changelog a partir de los changesets pendientes.

Si tu release se ejecuta en CI, no necesitas un paso separado de pubm changesets version para preparar la publicación. El pipeline normal de pubm ya consume los changesets durante la fase de versionado.

Ventana de terminal
pubm
pubm --mode ci --phase publish

Ese comando es útil para flujos editoriales o controlados, pero no es necesario antes de pubm ni de pubm --mode ci --phase publish.

Cuando versionSources es "all" (el valor por defecto), pubm changesets version recurre automáticamente a los commits convencionales para cualquier paquete que no tenga archivos de changeset pendientes. Esto permite a los equipos adoptar los changesets de forma incremental: los paquetes con changesets los usan; los paquetes sin changesets se repliegan en el historial de commits.

Correspondencia por defecto de tipos de commits

Sección titulada «Correspondencia por defecto de tipos de commits»
Tipo de commitBump
featminor
fixpatch
perfpatch

Un footer BREAKING CHANGE o un sufijo ! (p. ej. feat!:) siempre produce un bump major.

Sobreescribe la correspondencia por defecto en pubm.config.ts:

export default defineConfig({
versionSources: "all",
conventionalCommits: {
types: {
feat: "minor",
fix: "patch",
perf: "patch",
docs: "patch",
},
},
});

Establece versionSources: "commits" para usar únicamente commits convencionales e ignorar completamente los archivos de changeset. Establece versionSources: "changesets" para deshabilitar el replegado y usar únicamente los archivos de changeset.

Ventana de terminal
pubm changesets migrate

migrate ayuda a mover archivos desde .changeset/ a .pubm/.

  • Lee la Configuration para ver cómo afecta el versionado a nivel de repositorio.
  • Lee la CI/CD para entender cómo encajan changesets y release automation.
  • Lee la CLI Reference para ver todos los comandos disponibles.