Repository navigation
Conversation
Replace Vite 7 + ESLint + tsc with Vite+ (vite-plus 1.4.0): Vite 8 (Rolldown), Vitest 5, Oxlint (type-aware, via tsgolint) and Oxfmt, configured in one vite.config.ts. npm scripts stay the entry points for the .NET build/dev integration, so no global `vp` install is required. - vite-plus pinned with npm overrides for vite -> @voidzero-dev/vite-plus-core - lint rules ported from .eslintrc.cjs (which ESLint 9 could not load); no-explicit-any is a warning as the markdown/press components use `any` - `npm run check` replaces `tsc` in the build - remove ESLint config + packages, duplicate PostCSS config, stale Vite README and postinstall.mjs (empty DBs are migrated on app startup) - add test scripts and seed tests (utils, gateway, HelloApi) - fix lint findings: rules-of-hooks in lib/auth.tsx (keeping the shared appAuth() API), missing keys, useless regex escapes, `&undefined` in LiteYouTube URLs, and Include recreating its lazy component every render - upgrade deps within majors, plus TypeScript 7, @vitejs/plugin-react 6 and vite-plugin-svgr 5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- build.yml: new client job (vp check, vp test run, vp build) - build-container.yml: voidzero-dev/setup-vp replaces setup-node + npm install - AGENTS.md / README.md: Vite+ commands; dtos.ts is regenerated on .NET startup, so `npm run dtos` is typically never needed - MyApp.code-workspace: adds MyApp.Client as its own root so the Oxc extension resolves the local vite-plus; TypeScript 7 language server - .git-blame-ignore-revs: ignore the Oxfmt formatting commit Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Migrates
MyApp.Clientfrom Vite 7 + ESLint +tscto Vite+ (vite-plus1.4.0): Vite 8 (Rolldown), Vitest 5, Oxlint (type-aware, via tsgolint) and Oxfmt, all configured invite.config.ts. Follows the same approach as thereact-staticmigration.npm scripts stay the entry points used by .NET (
npm run dev/npm run build), so a globalvpinstall isn't required.Commits
vite-pluspinned, with npmoverridesmappingvite→@voidzero-dev/vite-plus-core;package-lock.jsoncommitteddev,build,preview,check,lint,fmt,test,test:run,test:ui.eslintrc.cjs, which ESLint 9 couldn't load, so lint hadn't been running.typescript/no-explicit-anyis a warning because the markdown/press components useanythroughoutpostinstall.mjs(empty databases are already migrated on app startup)utils,gateway,HelloApi)@vitejs/plugin-react6,vite-plugin-svgr5.react-router,@tanstack/react-tableandlucide-reactstay on their current majors.git-blame-ignore-revsbuild.yml: newclientjob (vp check,vp test run,vp build)build-container.yml:voidzero-dev/setup-vpreplaces setup-node +npm installAGENTS.md/README.md: Vite+ commands;dtos.tsis regenerated on .NET startup, sonpm run dtosis rarely neededMyApp.code-workspace: makesMyApp.Clientits own root so the Oxc extension resolves the localvite-plusBugs fixed (found by the new lint rules)
LiteYouTubeadded&undefinedto YouTube embed URLs whenparamswasn't setIncludecomponent recreated itslazy()component on every render; it's now cached persrckeys in the blog tag and year listsrules-of-hooksfixes inlib/auth.tsx(no behaviour change; the sharedappAuth()API keeps its name)Verification
npm ci,npm run check(0 errors),npm run test:run(6 tests),npm run builddotnet runagainst an empty DB: "Empty database detected" bootstrap, and "DTO generation complete"https://localhost:5001: pages render,/apicalls work, Vite HMR connects through the .NET proxy and applies component edits without a full reloaddotnet publish -c ReleasecopiesdistintowwwrootNotes
dtosis split into its own chunk), and totaldistwent from 3.0 to 3.2 MBMyApp.Client.esprojstill lists Jest asJavaScriptTestFramework, same asreact-statictailwindcss-animate,gray-matter,classnames,@types/react-helmet🤖 Generated with Claude Code