Upgrade frontend tooling to Vite 8 and Oxlint#2118
Open
ejsmith wants to merge 3 commits into
Open
Conversation
Member
Author
|
@copilot update this PR now that vite 8 final is out. Update any deps to latest versions. Get the build working. |
Contributor
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the ClientApp frontend toolchain to incorporate Oxlint/Oxfmt alongside ESLint/Prettier, and updates Vite-related dependencies/config to use newer native tooling.
Changes:
- Added Oxlint/Oxfmt configuration and wired them into
npm run lint/npm run format. - Updated ESLint flat config to integrate
eslint-plugin-oxlintand avoid overlapping rules. - Updated Vite config to run
vite-plugin-oxlintand refreshed frontend dependencies (including Vite).
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Exceptionless.Web/ClientApp/vite.config.ts | Adds vite-plugin-oxlint to Vite plugins. |
| src/Exceptionless.Web/ClientApp/src/routes/(auth)/login/+page.svelte | Formatting changes in the password label markup. |
| src/Exceptionless.Web/ClientApp/src/lib/features/auth/schemas.ts | Reformats schema definition for readability. |
| src/Exceptionless.Web/ClientApp/package.json | Adds Oxlint/Oxfmt scripts, adjusts Prettier scope to Svelte, and updates dependencies. |
| src/Exceptionless.Web/ClientApp/eslint.config.js | Integrates eslint-plugin-oxlint, disables a Svelte false-positive rule, and loads Oxlint config. |
| src/Exceptionless.Web/ClientApp/.oxlintrc.json | New Oxlint configuration (plugins, rules, ignores). |
| src/Exceptionless.Web/ClientApp/.oxfmtrc.json | New Oxfmt configuration (style + EOL). |
| src/Exceptionless.Web/ClientApp/.npmrc | Enables legacy-peer-deps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Member
Author
|
@copilot can you rebase this PR |
Contributor
Member
|
Looks like we need to rebase this again |
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.
Summary
mainat575b586a2.@sveltejs/vite-plugin-sveltefrom 6.2.4 to 7.2.0, adopting Vite 8's stable Rolldown-based build pipeline.<script>blocks.eslint-plugin-svelteas the authoritative framework/template linter.eslint-plugin-oxlintdisables only rules already covered by Oxlint.oxlint-tsgolintare intentionally not included while their Svelte and TypeScript 7 integrations continue to mature.Measured impact
Benchmarks used isolated
mainand PR snapshots with identical application source:npm run buildaveraged 20.83 seconds on Vite 7 and 9.96 seconds on Vite 8 across three runs each — a 52.2% faster production build (about 2.1x).npm auditimproves from 17 findings on the base branch (8 high, 1 moderate, 8 low) to 7 low-only transitive findings, eliminating all high and moderate findings.Compatibility
Dependency review
The selected package versions satisfy the repository's seven-day minimum release-age policy. Oxlint is adopted incrementally rather than replacing Svelte-aware ESLint coverage.
Verification
npm cinpm run validate— Prettier, Svelte diagnostics, syntax-only Oxlint, and ESLint passednpm run build— Vite 8.1.5 production client and SSR build passednpm run test:unit— 23 files, 298 tests passed after the final rebasenpm run build-storybook— passednpm audit— 7 low, 0 moderate, 0 high, 0 critical