Skip to content

fix: pin vite to 8.0.16 to fix broken production build#110

Merged
DaxServer merged 1 commit into
mainfrom
fix/pin-vite-8.0.16
Jul 4, 2026
Merged

fix: pin vite to 8.0.16 to fix broken production build#110
DaxServer merged 1 commit into
mainfrom
fix/pin-vite-8.0.16

Conversation

@DaxServer

Copy link
Copy Markdown
Owner

PR #109 (dependency updates) bumped vite from 8.0.16 to 8.1.3, which is currently main's latest release. That bump broke the production build: rolldown fails to resolve @frontend/composables/useAuthSocket from App.vue with Rolldown failed to resolve import, even though vue-tsc/tsc resolve the same import fine (confirming this is a bundler-specific regression, not a real broken import).

Verified by bisecting: pinning vite back to exactly 8.0.16 (with vite-plugin-vue-devtools and vue left at their bumped versions) fixes the build, reproduced with a fully cleared vite/dist cache. Checked npm — 8.1.3 is vite's current latest, no newer patch exists yet to pick up a fix.

Pinned vite to an exact version (no caret) rather than a range, since a caret range would let a future bun install silently re-resolve to another broken 8.x release.

— Claude Sonnet 5

…n in 8.1.3

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@DaxServer DaxServer merged commit bfbb057 into main Jul 4, 2026
5 checks passed
@DaxServer DaxServer deleted the fix/pin-vite-8.0.16 branch July 4, 2026 11:43
@greptile-apps

greptile-apps Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

Safe to merge — the change is a targeted version pin that reverts a known-broken bundler upgrade while leaving all other dependencies in place.

The diff is narrow: one version string in package.json and its mechanical lockfile reflection. The vite-plugin-vue-devtools peer dependency accepts vite ^8.0.0, so 8.0.16 satisfies it without conflict. The lockfile is internally consistent — rolldown, all @rolldown/binding-* artefacts, and the @emnapi packages all move together to the versions shipped with vite 8.0.16. No application code is touched.

No files require special attention. The only future maintenance consideration is remembering to revisit the exact vite pin once a fixed 8.1.x release becomes available.

Important Files Changed

Filename Overview
package.json Pins vite to exact version 8.0.16 in the workspace catalog (removing the caret), matching the stated goal of preventing silent re-resolution to a broken 8.1.x.
bun.lock Lockfile downgrades vite to 8.0.16 with rolldown 1.0.3 and matching @rolldown/binding-* and @emnapi/* packages; nested duplicate emnapi entries for vite-dev-rpc and vite-plugin-inspect paths are correctly removed.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["package.json catalog\nvite: 8.0.16 exact pin"] --> B["bun install"]
    B --> C["rolldown@1.0.3\n(vite 8.0.16 dep)"]
    B --> D["vite-plugin-vue-devtools@8.1.5\npeer: vite ^8.0.0 ✓"]
    C --> E["@rolldown/binding-*@1.0.3\n@emnapi/*@1.10.0"]
    A -. "previously" .-> F["vite@8.1.3 (^8.1.3)"]
    F --> G["rolldown@1.1.4"]
    G --> H["Rolldown fails to resolve\n@frontend/composables/useAuthSocket\nin production build ✗"]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A["package.json catalog\nvite: 8.0.16 exact pin"] --> B["bun install"]
    B --> C["rolldown@1.0.3\n(vite 8.0.16 dep)"]
    B --> D["vite-plugin-vue-devtools@8.1.5\npeer: vite ^8.0.0 ✓"]
    C --> E["@rolldown/binding-*@1.0.3\n@emnapi/*@1.10.0"]
    A -. "previously" .-> F["vite@8.1.3 (^8.1.3)"]
    F --> G["rolldown@1.1.4"]
    G --> H["Rolldown fails to resolve\n@frontend/composables/useAuthSocket\nin production build ✗"]
Loading

Reviews (1): Last reviewed commit: "fix: pin vite to 8.0.16 to avoid rolldow..." | Re-trigger Greptile

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