verify-dist

von sentry

Regeneriere und committe dist/index.js, wenn sich Quelldateien oder Laufzeitabhängigkeiten ändern.

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.

Mehr Skills von sentry

generate-frontend-forms
sentry
Leitfaden zur Erstellung von Formularen mit Sentrys neuem Formularsystem. Verwenden Sie dies bei der Implementierung von Formularen, Formularfeldern, Validierung oder Auto-Save-Funktionalität.
official
sentry-snapshots-cocoa
sentry
Vollständige Sentry-Snapshots-Einrichtung für Apple/Cocoa-Projekte. Verwenden, wenn aufgefordert, "SnapshotPreviews einzurichten", "Apple-Snapshot-Tests einzurichten", "Apple-Snapshots hochzuladen nach…
official
architecture-review
sentry
Codebase-Gesundheitsprüfung auf Mitarbeiterebene. Erkennt monolithische Module, stille Fehler, Typsicherheitslücken, Testabdeckungslücken und LLM-Freundlichkeitsprobleme.
official
linear-type-labeler
sentry
Klassifiziert Linear-Issues und weist ein Typ-Label aus der Label-Taxonomie des Sentry-Workspace zu, basierend auf dem Inhalt des Titels und der Beschreibung jedes Issues.
official
sentry-flutter-sdk
sentry
Vollständige Sentry SDK-Einrichtung für Flutter und Dart. Verwenden, wenn aufgefordert wird, "Sentry zu Flutter hinzuzufügen", "sentry_flutter zu installieren", "Sentry in Dart einzurichten" oder Fehlerkonfiguration…
official
sentry-svelte-sdk
sentry
Vollständige Sentry-SDK-Einrichtung für Svelte und SvelteKit. Verwenden, wenn aufgefordert wird, "Sentry zu Svelte hinzuzufügen", "Sentry zu SvelteKit hinzuzufügen", "@sentry/sveltekit zu installieren" oder zu konfigurieren…
official
vercel-react-best-practices
sentry
Richtlinien zur Leistungsoptimierung von React und Next.js von Vercel Engineering. Diese Fähigkeit sollte beim Schreiben, Überprüfen oder Refaktorisieren von React/Next.js…
official
sentry-tanstack-start-sdk
sentry
Vollständige Sentry SDK-Einrichtung für TanStack Start React. Verwenden, wenn aufgefordert wird, "Sentry zu TanStack Start hinzuzufügen", "@sentry/tanstackstart-react zu installieren" oder Fehlerkonfiguration…
official