verify-dist

por sentry

Regenerar y confirmar dist/index.js cuando los archivos fuente o las dependencias de tiempo de ejecución cambien.

npx skills add https://github.com/getsentry/action-release --skill verify-dist

Verify Dist Skill

action-release ships a bundled dist/index.js built by ncc. The verify-dist CI workflow (.github/workflows/verify-dist.yml) fails any PR where the committed bundle does not match the source. This skill keeps them in sync locally.

When to invoke

  • You changed anything under src/.
  • You bumped a runtime dep in package.json (anything under dependencies, not devDependencies).
  • CI posted "Detected uncommitted changes after build" on a PR.

Modes

--check (default)

Report whether dist/ is in sync with the current source tree. Do not modify anything.

yarn install --frozen-lockfile
yarn build
git diff --ignore-space-at-eol --stat dist/
  • If the diff is empty → dist/ is in sync. Done.
  • If the diff is non-empty → report the changed files and line counts, then ask the user whether to switch to --fix.

--fix

Rebuild and stage dist/.

yarn install
yarn build
git add dist/
git status --short dist/

Do not commit automatically — let the user review the bundle diff first. A reasonable follow-up commit message:

build: regenerate dist/index.js

Or, if tied to a source change:

<type>(<scope>): <summary>

Regenerates dist/index.js.

Before the user commits: pre-commit hook reminder

Whoever runs the follow-up commit needs the repo's pre-commit hooks installed. Verify with ls .git/hooks/pre-commit; if missing, run make (installs yarn deps + pre-commit install) or pre-commit install.

The set-docker-tag-from-branch hook will rewrite action.yml on the first commit of a branch and fail the commit. Recover by staging action.yml and committing again (never --amend — the hook-failed commit never landed):

git add action.yml
git commit -m "<same message>"

CI does not run pre-commit. CI's prepare-docker job rejects PRs where action.yml's Docker tag still matches a semver like 3.6.0, so keeping the tag in sync via the local hook is what prevents the CI failure.

Notes

  • The CI check runs git diff --ignore-space-at-eol dist/ — whitespace-only diffs pass, anything else fails. Match that locally.
  • yarn build shells out to ncc build src/main.ts -e @sentry/cli. @sentry/cli is deliberately excluded from the bundle because it ships its own native binaries at runtime.
  • The bundle diff can be large even for small source changes (minifier + bundler reshuffles). That is expected; just verify the intended symbols are present.
  • Never hand-edit dist/index.js. Always regenerate.

Related files

  • .github/workflows/verify-dist.yml — the CI check this skill satisfies.
  • package.jsonscripts.build — the canonical build command.
  • src/main.ts — the ncc entry point.

Más skills de sentry

generate-frontend-forms
sentry
Guía para crear formularios usando el nuevo sistema de formularios de Sentry. Úsalo al implementar formularios, campos de formulario, validación o funcionalidad de guardado automático.
official
sentry-snapshots-cocoa
sentry
Configuración completa de Sentry Snapshots para proyectos Apple/Cocoa. Úsalo cuando se te pida "configurar SnapshotPreviews", "configurar pruebas de snapshot en Apple", "subir snapshots de Apple a…
official
architecture-review
sentry
Revisión de salud del código a nivel de equipo. Encuentra módulos monolíticos, fallos silenciosos, brechas de seguridad de tipos, vacíos en la cobertura de pruebas y problemas de compatibilidad con LLM.
official
linear-type-labeler
sentry
Clasifica los issues de Linear y aplica una etiqueta de Tipo de la taxonomía de etiquetas del espacio de trabajo de Sentry basándose en el contenido del título y la descripción de cada issue.
official
vercel-react-best-practices
sentry
Directrices de optimización de rendimiento para React y Next.js de Vercel Engineering. Esta habilidad debe usarse al escribir, revisar o refactorizar React/Next.js…
official
bump-size-limit
sentry
Aumenta los límites de tamaño en .size-limit.js cuando la verificación de CI de size-limit falla. Úsalo cuando el usuario mencione fallos en los límites de tamaño, comprobaciones de tamaño de paquete fallidas, tamaño de CI…
official
generate-migration
sentry
Genera migraciones de base de datos de Django para Sentry. Úsalo al crear migraciones, agregar/eliminar columnas o tablas, agregar índices o resolver migraciones…
official
security-review
sentry
Encuentra vulnerabilidades de seguridad explotables en cambios de código. Úsalo para escaneos de seguridad de Warden, revisión de appsec, verificaciones estilo OWASP, autenticación o…
official