Skip to content

chore: update bolt-vite-react-ts to React 19 + Vite 7#104

Open
Copilot wants to merge 5 commits into
mainfrom
copilot/update-bolt-vite-react-ts-template
Open

chore: update bolt-vite-react-ts to React 19 + Vite 7#104
Copilot wants to merge 5 commits into
mainfrom
copilot/update-bolt-vite-react-ts-template

Conversation

Copy link
Copy Markdown

Copilot AI commented May 15, 2026

Update the bolt-vite-react-ts template to modernize dependencies, streamline configuration, and improve compatibility with the latest versions of React, Vite, TailwindCSS, and TypeScript. The most significant changes include major dependency upgrades, migration to the new TailwindCSS Vite plugin, and simplification of ESLint and TailwindCSS configurations.

Dependency and Compatibility Upgrades:

  • Upgraded core dependencies (react, react-dom, lucide-react, @supabase/supabase-js) and devDependencies (such as @vitejs/plugin-react, eslint, eslint-plugin-react-hooks, tailwindcss, typescript, and related types) to their latest major versions for improved compatibility and access to new features.

TailwindCSS Configuration Migration:

  • Update to Tailwind v4
  • Removed legacy TailwindCSS configuration files (tailwind.config.js, postcss.config.js), replaced Tailwind directives in index.css with a single @import 'tailwindcss', and added the new @tailwindcss/vite plugin to the Vite config for a simpler and more modern setup. [1] [2] [3] [4]

ESLint Configuration Modernization:

  • Refactored eslint.config.js to use the latest flat config style, directly extending recommended configs for React Hooks and React Refresh, and removed manual plugin and rule definitions in favor of config presets.

TypeScript Configuration Updates:

  • Updated tsconfig.app.json and tsconfig.node.json to target newer ECMAScript versions, use verbatimModuleSyntax, enable stricter linting options (erasableSyntaxOnly, noUncheckedSideEffectImports), and adjust libraries for improved type safety and future compatibility. [1] [2] [3]

Copilot AI and others added 5 commits May 15, 2026 11:24
Agent-Logs-Url: https://github.com/stackblitz/starters/sessions/4f2ff811-3a32-467b-8bb9-ac6528fa94f0

Co-authored-by: sheepsteak <1379888+sheepsteak@users.noreply.github.com>
Agent-Logs-Url: https://github.com/stackblitz/starters/sessions/4f2ff811-3a32-467b-8bb9-ac6528fa94f0

Co-authored-by: sheepsteak <1379888+sheepsteak@users.noreply.github.com>
- Upgraded @vitejs/plugin-react to version 5
- Upgraded tailwindcss to version 4 and added @tailwindcss/vite
- Removed postcss.config.js and tailwind.config.js files
- Updated index.css to use @import for Tailwind CSS
- Modified vite.config.ts to include tailwindcss plugin
@bolt-new-by-stackblitz
Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@sheepsteak sheepsteak changed the title Upgrade bolt-vite-react-ts to React 19 + Vite 7 with major-pinned dependency ranges chore: update bolt-vite-react-ts to React 19 + Vite 7 May 15, 2026
js.configs.recommended,
...tseslint.configs.recommended,
reactHooks.configs.flat.recommended,
reactRefresh.configs.vite(),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/README.md#vite-config

reactRefresh.configs.vite() will do the allowConstantExport for us.

extends: [
js.configs.recommended,
...tseslint.configs.recommended,
reactHooks.configs.flat.recommended,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as adding plugin manually and enabling recommended rules.

"tailwindcss": "^4",
"typescript": "^5",
"typescript-eslint": "^8",
"vite": "^7"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vite 8 includes the new Rust compiler and although it works in Bolt it does generate a lot of WASI warnings that might confuse users. I think sticking to Vite 7 is OK for now and still relatively new and in the peerDependencies of community plugins.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated values here were taken from a fresh Vite 7 react-ts app. It should be safe to use these targets now.

@sheepsteak sheepsteak marked this pull request as ready for review May 15, 2026 14:55
Comment on lines +14 to +17
"@supabase/supabase-js": "^2",
"lucide-react": "^1",
"react": "^19",
"react-dom": "^19"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion(non-blocking): since we're using npm for these starters we should probably add minimum age for newly updated packages to avoid attacks like the recent shai-hulud one in tanstack:

ignore-scripts=true
allow-git=none
min-release-age=3

This:

  • disables postinstall scripts
  • blocks git+ deps in peer deps
  • sets minimum age of packages to 3 days

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.

3 participants