Draft
Conversation
Add vite ^8.0.0 to the peer dependency range and bump the dev dependency to test against the latest. Vite 8 replaces esbuild/Rollup with Rolldown, which changes the Plugin type's inheritance chain. Add rolldown as a dev dependency so pnpm can resolve the transitive types needed for the build. Co-Authored-By: Claude <[email protected]>
Vite 8 removed the `main` and `types` top-level fields from its
package.json, relying entirely on the `exports` map. Since the base
tsconfig uses `moduleResolution: "node"` (TypeScript 4.9.4), the
compiler cannot resolve `import { Plugin } from "vite"` without
an explicit path mapping.
Co-Authored-By: Claude <[email protected]>
Merging this PR will degrade performance by 99.97%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Memory | wait 500ms |
39.1 KB | 64.1 KB | -39.05% |
| ❌ | Memory | wait 500ms |
15 KB | 64.1 KB | -76.63% |
| ❌ | Memory | recursive fibo 15 |
19 B | 65,624 B | -99.97% |
| ❌ | Memory | wait 1ms |
7 B | 10 B | -30% |
| ❌ | Simulation | wait 500ms |
8.7 ms | 12 ms | -28.05% |
| ❌ | Simulation | wait 1sec |
19.2 ms | 22.5 ms | -14.38% |
| ⚡ | Simulation | one |
585 µs | 407.6 µs | +43.53% |
| ❌ | Simulation | wait 500ms |
10.5 ms | 11.9 ms | -12.01% |
| ❌ | WallTime | short body |
1.5 µs | 1.9 µs | -20.65% |
| ❌ | WallTime | switch 2 |
312 ns | 348 ns | -10.34% |
| ⚡ | WallTime | short body |
2.1 µs | 1.7 µs | +21.28% |
| ⚡ | WallTime | short body |
2.1 µs | 1.7 µs | +25% |
| ❌ | WallTime | fibo 30 |
29.9 ms | 34.1 ms | -12.47% |
Comparing feat/vite-8-support (1a48730) with main (4f97cbe)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Vite 8 to the supported peer dependency range for
@codspeed/vitest-plugin.Vite 8 replaces esbuild and Rollup with Rolldown and Oxc. This changes the internal
Plugintype inheritance chain (Pluginnow extendsRolldown.Plugin). The vitest-plugin only uses basic plugin hooks (name,apply,enforce,config) — none of which are affected by Vite 8's breaking changes.Changes:
^8.0.0topeerDependencies.vitedevDependencies.vitefrom^7.0.0to^8.0.0rolldownas a dev dependency — needed because pnpm's strict isolation doesn't hoistrolldown(a transitive dep of Vite 8), and TypeScript needs it to resolveRolldown.Pluginin the type chainVite 8 breaking changes reviewed (none affect this plugin):
moduleType: 'js'required inload/transformhooks — plugin doesn't use these hooksshouldTransformCachedModule,resolveImportMeta, etc.) — not usedbuild.rollupOptions→build.rolldownOptions— not usedNote: Vite 8 requires Node.js
^20.19.0 || >=22.12.0. CI may need a Node.js bump to run integration tests against Vite 8. See #76.Vitest v4 support was already in place (
^3.2 || ^4peer dep,^4.0.18dev dep) — no changes needed there.