# Compare Array Bundle Size

> Quickly compare the posthog-js array.js bundle size in the current working tree against a git baseline using the repository's esbuild proxy. Use when asked about array.js size, bundle-size percentage changes, whether browser SDK changes increased the bundle, or for a fast size check that should not run the production Rollup build.

- Skill: `posthog-posthog-js/compare-array-bundle-size` (Agent Skill)
- Install (CLI): `npx skillmds@latest add posthog-posthog-js/compare-array-bundle-size`
- Raw SKILL.md: https://api.skillmd.com/api/skills/posthog-posthog-js/compare-array-bundle-size/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: PostHog (https://skillmd.com/u/posthog-posthog-js)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/posthog-posthog-js/compare-array-bundle-size

---


# Compare `array.js` bundle size

Use the repository's fast comparison command. Do not run TypeScript compilation, Terser, Rollup, Turbo, or the full build unless the user separately requests production bundle numbers.

## Workflow

1. Use the baseline named by the user. If none is given, let the script default to `origin/main` and then `main`.
2. From the repository root, run:

    ```bash
    pnpm bundle-size:array [baseline-ref]
    ```

3. Report:
    - the resolved baseline ref and commit
    - minified percentage and byte change
    - gzip percentage and byte change
    - Brotli percentage and byte change
    - elapsed time
4. Lead with the percentage most relevant to the user's question. If they did not specify one, lead with minified and include the compressed results below it.

## Interpretation

- The command builds both source trees with the same esbuild version, options, installed dependencies, and workspace-source aliases, so the percentage is an apples-to-apples comparison.
- The current side includes tracked, uncommitted, and imported untracked source changes from the working tree.
- The baseline side is a temporary source snapshot from the resolved git commit; the command does not check out or modify the working tree.
- Treat the result as a fast directional comparison. Absolute bytes differ from the production Rollup/Terser output.
- A positive percentage is a size increase; a negative percentage is a reduction.

## Validation and troubleshooting

- To verify the comparison machinery itself, run `pnpm bundle-size:array HEAD`. With no relevant uncommitted source changes, every row should report `0.00%`.
- If the baseline ref cannot be resolved, ask for another local git ref or fetch it only with the user's approval when network access is required.
- If esbuild or other dependencies are missing, explain that dependencies must be installed. Do not substitute the full production build.

