Skip to content

Upgrade frontend stack and replace ESLint/Prettier with Oxc - #2

Merged
the-medo merged 1 commit into
mainfrom
feature/frontend-package-update
Oct 22, 2026
Merged

the-medo merged 1 commit into
mainfrom
feature/frontend-package-update

Conversation

@the-medo

Copy link
Copy Markdown
Member

The frontend still used Next.js 13, React 18, Ant Design 5, Storybook 7, and Lexical 0.12. This upgrades the application and development tools while preserving existing editor documents and API data formats.

Changes

  • Upgrade Next.js, React, Ant Design, Storybook, Lexical, Redux, Query, Radix, Motion, and the remaining frontend packages.
  • Replace ESLint and Prettier with native Oxlint and Oxfmt. Remove ESLint and its plugins from the dependency tree, migrate configuration, and add formatting checks to CI.
  • Use Node 24.22.1 LTS, matching Node 24 types, Yarn 4.18.1, and TypeScript 7 directly. Next.js and Storybook no longer need TypeScript compatibility aliases.
  • Upgrade the API generator and regenerate all 20 client files from the local backend schema. Preserve protobuf bytes as base64 strings and keep generated code type checked.
  • Migrate Lexical table, selection, highlighting, and image integrations. Preserve stored document/image schemas, fix empty-post initialization, and add legacy-document and empty-document regression stories.
  • Update CI, development commands, and documentation. Keep the Pages Router and Webpack SVG loader.

Validation

  • Immutable dependency install, Oxlint, Oxfmt, application and Storybook type checks: passed.
  • Next.js production build (63 pages) and Storybook production build: passed.
  • API generation reproduces all 20 files without changes.
  • All 32 Storybook entries and component interactions passed browser checks.
  • Production browser checks covered login, Ant Design tables, post saves/reloads, legacy and empty editor documents, undo/redo, table insertion/deletion/merge/resize, and nested image captions. Additional upgrade checks covered drag-and-drop, tooltips, reCAPTCHA, and date formatting.
  • Bash syntax, Python compilation, concurrent-worktree isolation/cleanup tests, and the restored Node 24 development stack: passed.
  • Confirmed no ESLint packages remain installed; the checked-in Yarn executable matches the official release.

Notes

Some former ESLint plugin rules have no native Oxlint equivalent; the coverage differences are documented in frontend/README.md. The latest API generator still installs its own TypeScript 6 dependency internally. Node uses the latest LTS release, with its matching type definitions.

@the-medo
the-medo merged commit ea9213c into main Oct 22, 2026
3 checks passed
@the-medo
the-medo deleted the feature/frontend-package-update branch October 22, 2026 20:48
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