Skip to content

Comments

perf: minify widget.js + lodash-es tree-shaking#554

Open
paddymul wants to merge 5 commits intomainfrom
perf/minify-bundle
Open

perf: minify widget.js + lodash-es tree-shaking#554
paddymul wants to merge 5 commits intomainfrom
perf/minify-bundle

Conversation

@paddymul
Copy link
Collaborator

Summary

  • Add --minify --sourcemap to widget.js esbuild (3.5 MB → 1.8 MB)
  • Bump AG Grid v32.3.3 → v32.3.9 (latest patch)
  • Migrate lodashlodash-es for ESM tree-shaking
  • Convert all lodash usage to named imports, remove 10 unused imports

Test plan

  • tsc -b — 0 errors
  • pnpm test — 67/67 pass
  • full_build.sh — widget.js 1.8 MB (was 3.5 MB)
  • CI checks pass
  • Visual check in Storybook

🤖 Generated with Claude Code

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

📦 TestPyPI package published

pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.12.9.dev22336076976

or with uv:

uv pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.12.9.dev22336076976

MCP server for Claude Code

claude mcp add buckaroo-table -- uvx --from "buckaroo[mcp]==0.12.9.dev22336076976" --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo-table

paddymul and others added 4 commits February 23, 2026 22:51
Add --minify and --sourcemap flags to the widget.js build command.
widget.js drops from 3.5 MB to 1.8 MB. standalone.js also gets --sourcemap.
Add *.js.map to .gitignore for the new sourcemaps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bump all @ag-grid-community/* packages from ^32.3.3 to ^32.3.9
to pick up bug fixes before the v33 migration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace lodash (CJS) with lodash-es (ESM) as a runtime dependency.
lodash-es allows bundlers (vite, esbuild) to tree-shake unused functions.
Keep lodash in devDependencies for Jest (mapped via moduleNameMapper).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace `import * as _ from "lodash-es"` with named imports like
`import { map, filter, keys } from "lodash-es"` across all files.
Remove unused lodash imports from 10 files that didn't use any
lodash functions. This ensures all bundlers (including esbuild)
can tree-shake unused lodash functions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- deploy-ghpage.yml and publish-storybook.yml: replace
  run_install: true with explicit pnpm install --frozen-lockfile
  from packages/ working directory (matches checks.yml pattern)
- All three workflows: change pull_request branches filter from
  "*" to "**" so CI runs on PRs targeting branches with "/"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@paddymul
Copy link
Collaborator Author

@codex

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Nice work!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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