Conversation
Greptile SummaryThis PR reverts the esbuild 0.28.0 bump that broke the VitePress docs build with a destructuring transform error, and pins esbuild to 0.27.5 via a Confidence Score: 5/5Safe to merge — the regression is correctly reverted, the version pin is consistent throughout the lockfile, and the CI path filter expansion is well-scoped. No new P0/P1 findings. The version 0.27.5 satisfies all transitive semver constraints in the lockfile. The lockfile is fully consistent with the resolution pin. The expanded CI path filters cover all known docs-build inputs. The only open concern (broad resolution override) was raised in a prior review comment and is P2 in nature. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Push / PR to main] --> B{Path filter match?}
B -- "docs/**, registry/**, settings.toml\nmise.toml, tasks.toml, tasks/docs/**\nxtasks/docs/**" --> C[Docs CI triggered]
B -- "bun.lock, package.json" --> C
B -- ".github/workflows/docs.yml\n.github/actions/**" --> C
B -- No match --> X[Workflow skipped]
C --> D[bun i]
D --> E[mise run docs:release]
E --> F{Push to main?}
F -- Yes --> G[Deploy to Cloudflare]
F -- No --> H[Dry run / PR preview check]
Reviews (2): Last reviewed commit: "fix(docs): use esbuild 0.27.5" | Re-trigger Greptile |
There was a problem hiding this comment.
Code Review
This pull request downgrades esbuild to version 0.21.5 in package.json and bun.lock. Feedback indicates that this version may cause runtime failures due to conflicts with tsx and lacks support for several platforms included in the previous version. A suggestion was provided to use version 0.24.2 as a more compatible alternative that still addresses the underlying build issues.
esbuild 0.28.0 updated its compat table to flag Safari <14.1 destructuring bugs, causing VitePress builds to fail. Setting build.target to es2022 avoids the issue since the docs site doesn't need to support ancient browsers. Also expands docs CI path filters so dependency changes (bun.lock, package.json, etc.) trigger the docs workflow. Closes #9041 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Superseded by a new PR that upgrades esbuild to 0.28.0 instead of pinning to an older version. The fix is setting This comment was generated by Claude Code. |
## Summary - Upgrades esbuild from 0.21.5 to 0.28.0 instead of pinning to an older version - Sets `build.target: "es2022"` in VitePress Vite config to avoid Safari <14.1 destructuring transform errors (the docs site doesn't need to support ancient browsers) - Expands docs CI workflow path filters so dependency changes (`bun.lock`, `package.json`, etc.) trigger the docs build — prevents regressions like this from slipping through ## Context esbuild 0.28.0 updated its browser compat table to flag a Safari <14.1 destructuring bug ([esbuild#4436](evanw/esbuild#4436), [esbuild#3743](evanw/esbuild#3743)). Since esbuild lacks a destructuring transform, it errors out when targeting old Safari. The fix recommended by the esbuild maintainer is to either raise the target or use `--supported:destructuring=true`. Setting `target: "es2022"` is the cleaner approach for a docs site. Supersedes #9041 — thanks @risu729 for the investigation and CI path filter improvements which are included here. ## Test plan - [x] `bun run docs:build` passes locally with esbuild 0.28.0 - [x] All lints pass (`hk fix`) 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Moderate risk because it changes the docs build toolchain (esbuild version and Vite build target), which could affect bundle output and CI behavior, but it’s isolated to documentation tooling. > > **Overview** > Upgrades the docs build’s pinned `esbuild` version from `0.21.5` to `0.28.0` (via `package.json` resolutions and `bun.lock`). > > Updates the VitePress Vite config to build with `target: "es2022"` to avoid older-Safari transform issues. > > Expands the `docs` GitHub Actions workflow path filters so docs CI runs when tooling/dependency/config files (e.g. `bun.lock`, `package.json`, various `*.toml`, `registry/**`, `xtasks/docs/**`) change, not just `docs/**`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit da6a10c. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
bun run docs:buildgreen: npm has no 0.27.6, 0.27.7 fails, and 0.28.0 fails.package.json,bun.lock,mise.toml,settings.toml,registry/**,tasks.toml,tasks/docs/**,xtasks/docs/**,.github/actions/**, and this workflow.Related
esbuild0.21.5 -> 0.28.0)vitepress-plugin-tabs0.8.0 still builds with esbuild 0.21.5)I did not find matching Vite, VitePress, or vitepress-plugin-tabs issues by the failure text / esbuild Safari search terms.
Verification
bun run docs:buildfails with the same destructuring transform errors as feat(tasks): add extend mode for task includes #9038bun install --frozen-lockfilebun run docs:buildactionlint .github/workflows/docs.yml