Checked against the official Ant Design docs on 2026-05-09.
- Ant Design v3 -> v4 migration: https://4x.ant.design/docs/react/migration-v4
- Ant Design v5 -> v6 migration: https://ant.design/docs/react/migration-v6/
- Ant Design introduction / environment support: https://ant.design/docs/react/introduce/
- Tabs API (
items,tabPlacement, deprecatedtabPosition): https://ant.design/components/tabs/ - Modal API (
open, semanticstyles): https://ant.design/components/modal/
This repository now targets antd@6.
Per the official v6 migration guide, antd@6 requires React >= 18 and no longer supports React 17 or earlier. Because of that, the package metadata was updated to support React 18.x and 19.x, not 16.x through 19.x.
If React 16 or 17 support is a hard requirement, this project cannot stay on antd@6; it would need to remain on antd v5 or below, or be split into different release lines.
antdupgraded from^3.15.0to^6.0.0@ant-design/iconsadded at^6.1.0react/react-domupgraded to^19.1.0@types/react/@types/react-domupgraded to^19.1.5lessupgraded to^4.3.0peerDependencies.react/peerDependencies.react-domchanged to>=18 <20- removed
@hot-loader/react-dom - removed
babel-plugin-import
- Replaced
LocaleProviderwithConfigProvider - Replaced
react-domlegacy render withcreateRootfromreact-dom/client - Switched locale imports to
antd/locale/* - Added
antd/dist/reset.css
Files:
src/index.tsxpackage.json
Added src/antd-compat.tsx and aliased antd to it in vite.config.ts.
This layer keeps the existing codebase running while moving to antd@6 by:
- mapping legacy
Form.create()usage onto modernForminternals - mapping legacy
getFieldDecorator()calls toForm.Item - translating
validateFields,resetFields, andgetFieldsErrorto the newer form API - translating
Modal visibletoopen - translating
Modal bodyStyle/maskStyleto semanticstyles - translating
Tooltip/Popovervisibleand overlay style props - translating
Tabs.TabPanechildren andtabPositionto modernitems/tabPlacement
Files:
src/antd-compat.tsxvite.config.ts
- Replaced removed antd
Iconusage in file upload withInboxOutlined - Removed old
antd/lib/menutype import usage inTitle.tsx - Removed old
antd/lib/formtype imports from workflow form containers - Replaced a removed Less palette token (
@primary-5) with@primary-color - Updated React 19
useRef()typing sites to initialize withnull
Files:
src/components/common/FileUpload.jssrc/components/layout/Title.tsxsrc/editors/workflow/WorkflowNodeConfigurations.tsxsrc/editors/workflow/WorkflowInfo.tsxsrc/editors/workflow/WorkflowGlobalParameters.tsxsrc/styles/antd/inputnumber/index.lesssrc/canvas/Canvas.tsxsrc/editors/fiber/FiberEditor.tsxsrc/editors/hexgrid/HexGridEditor.tsx
Executed after dependency install:
npm installnpm run build:demonpm run build:lib
Both build commands completed successfully on 2026-05-09.
- The project still contains many v3-era component call sites such as
Form.create,visible,Tabs.TabPane, andtabPosition, but they now run through the compatibility layer instead of failing immediately onantd@6. - This keeps the migration tractable without rewriting every form to
Form.useFormin one pass. - Custom styles that target internal antd DOM may still need visual regression review, which is also called out by the official v6 migration guide.