Skip to content

feat: add DendroBundle bundle-size tracking - #41

Closed
tomfordweb wants to merge 1 commit into
mainfrom
feat/dendrobundle-tracking
Closed

feat: add DendroBundle bundle-size tracking#41
tomfordweb wants to merge 1 commit into
mainfrom
feat/dendrobundle-tracking

Conversation

@tomfordweb

Copy link
Copy Markdown
Owner

Wires this repo into dendrobundle.com bundle-size tracking.

  • tsup.config.ts: emits the esbuild metafile (dist/metafile-esm.json) when BUILD_BUNDLE_STATS is set; ordinary builds unchanged.
  • bin/dendrobundle-push.sh: gzips and uploads the metafile to dendrobundle.com's push API, tagged with branch + commit. Adapted from andromeda's uploader; token comes only from DENDROBUNDLE_TOKEN. Non-blocking by design — missing token or stats file exits 0, upload failure is the only nonzero path.
  • pnpm bundle:push: stats build + upload in one step.
  • Token handling: lives in the untracked .env (now actually gitignored — it wasn't), loaded into the shell by direnv's dotenv_if_exists, and symlinked into every worktree via .workmux.yaml so worktree builds can upload without copying the secret.

Verified end-to-end: pnpm bundle:push uploaded a real snapshot (format: esbuild-metafile, 175KB, 23 modules). Full local gate green (typecheck, lint, test, build).

- tsup emits the esbuild metafile when BUILD_BUNDLE_STATS is set;
  ordinary builds stay byte-identical.
- bin/dendrobundle-push.sh uploads dist/metafile-esm.json to
  dendrobundle.com, gzipped, tagged with branch+commit. Non-blocking:
  missing token or stats file exits 0.
- pnpm bundle:push = stats build + upload in one step.
- Token lives in the untracked .env (now gitignored), loaded by
  direnv via dotenv_if_exists and shared into worktrees through a
  .workmux.yaml symlink.
@tomfordweb tomfordweb closed this Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant