Skip to content

Modernize stack: Vite, React 19, RTK Saga, Tailwind, dual GH Pages + Workers deploy - #295

Merged
hyldmo merged 3 commits into
masterfrom
modernize-stack
Sep 11, 2026
Merged

hyldmo merged 3 commits into
masterfrom
modernize-stack

Conversation

@hyldmo

@hyldmo hyldmo commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Full rebuild of the 2023-era starter (React 16, Redux 4 + Saga, Router 5, Webpack, Less, Jest, Cypress, ESLint) on the current house stack.

Keep: Redux + Saga pattern, Tracker/Home/About demo, makeActionCreator util.
Replace:

  • Webpack -> Vite 7, React 16 -> 19, Router 5 + connected-react-router -> Router 7 BrowserRouter (basename follows deploy base)
  • Redux 4 -> Redux Toolkit 2 + react-redux 9 + redux-saga via typed-redux-saga (with the noRestrictedImports rule enforcing it)
  • Less -> Tailwind 4, ESLint/Stylelint -> Biome 2.5 (shared rules + component-decl/fc-props/no-casts plugins), Jest -> Vitest + Testing Library, joi-browser -> Zod, classnames -> cn()
  • Cypress 5 dropped in v1 (Playwright follow-up)

Deploy: one dist/ serves both targets — wrangler.jsonc Static Assets + SPA fallback and a thin /api stub Worker for Cloudflare, VITE_BASE + 404.html + deploy-pages workflow for GH Pages. CI checks lint + typecheck + test + both builds.

Verified: yarn check clean, yarn build and yarn build:pages emit correct asset paths, wrangler deploy --dry-run reads the assets.

- typecheck now covers workers/ (tsc -p workers), so CI catches worker type errors
- pin @biomejs/biome ^2.5.12 to match biome.jsonc schema and rule paths
- remove .github/dependabot.yml (stale Webpack-era ignores, nothing to dependabot on yet)
- vite.config.ts: import.meta.dirname instead of bare __dirname (ESM-safe)
@hyldmo
hyldmo merged commit a3821fb into master Sep 11, 2026
2 checks passed
@hyldmo
hyldmo deleted the modernize-stack branch September 11, 2026 14:40
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