ant-design/ant-design
An enterprise-class UI design language and React UI library
How ant-design is put together
Ant Design (antd v6.6.1) is an enterprise-class React UI component library written primarily in TypeScript. Each component lives in its own directory under components/<name>/ containing implementation files (e.g., Button.tsx), colocated __tests__/, and bilingual markdown docs (index.en-US.md / index.zh-CN.md). Components are built on headless @rc-component/* primitives and styled via CSS-in-JS (@ant-design/cssinjs) with design-token theming rather than static stylesheets. The same repo hosts the documentation site powered by dumi (configured in .dumirc.ts with custom theme/plugins under .dumi/), build/publish tooling driven by npm scripts and @ant-design/tools (compiling to es/, lib/, dist/ outputs), and an extensive multi-runner test setup (Jest unit/image/site configs plus a Vitest migration in progress). There is no backend or datastore; the only server-side artifacts are Cloudflare Pages edge assets (functions/_middleware.ts, public/_headers).
Languages
Frameworks
Infrastructure
Major components
Component library source (components/*)
Implements each Ant Design React component (button, table, form, date-picker, etc.) with colocated types, styles, demos, and bilingual documentation.
Shared utilities (components/_util)
Cross-component helpers such as warning.ts, motion, responsiveObserver, scroll handling, ActionButton, ContextIsolator, and z-index context.
Design token & style system (components/style, token scripts)
CSS-in-JS theme tokens, reset.css/antd.css base styles, and generated token metadata (token.json, token-meta.json) produced by scripts/generate-token-meta.ts and collect-token-statistic.ts.
Locale / i18n layer
Per-language locale modules under components/locale consumed via index-with-locales.js and ConfigProvider to provide internationalization for dozens of languages.
Documentation site (.dumi/, .dumirc.ts)
dumi-based ant.design site with custom rehype/remark plugins (changelog embedding, anchors), theme provider, dark mode hooks, and live playground integration.
Build & release pipeline (scripts/, .antd-tools.config.js, webpack.config.js)
Compiles to es/lib/dist bundles, copies style/token artifacts into build outputs, generates version/changelog/authors data, and runs pre/post-publish checks via @ant-design/tools.
Test infrastructure (.jest*.js, vitest.config.ts, tests/dekko, visual-regression)
Unit (jsdom), node, image-snapshot (Puppeteer), site smoke (dekko), and visual-regression test suites, including an in-progress Vitest migration with an explicit exclude manifest.
Edge/site delivery (functions/_middleware.ts, public/)
Cloudflare Pages middleware and static headers (public/_headers) serving security/version metadata for the hosted docs site.
A quiet week focused on five targeted bug fixes across Drawer, Menu, Form, DirectoryTree, and Watermark.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quiet week focused on five targeted bug fixes across Drawer, Menu, Form, DirectoryTree, and Watermark.
Week of 2026-08-17
A busy week of polish shipped version 6.6.1, with many menu/form/table fixes plus accessibility improvements and docs corrections.
Week of 2026-08-10
Work centered on localization and accessibility — localized close buttons and Upload actions, refined Chinese terminology, plus new AI-contribution guides and a drag-sorting demo.
Week of 2026-08-03
A feature-rich week culminating in release 6.5.4, headlined by a new virtualized Listy component, custom Pagination components, and global tooltip timing configuration.
Week of 2026-07-27
Icon alignment was the big theme — bare SVG icons were fixed across Collapse, Breadcrumb, Segmented, and Tabs — alongside OTP input masking and performance work.
The past month on Ant Design was dominated by polishing the newly released v6 line: a steady stream of small bug fixes across menus, forms, tables, and icons, alongside a big push on accessibility (localized button labels, hidden decorative elements) and documentation cleanup. New capabilities kept arriving too — a virtualized List component, a scroll-progress ring for BackTop, global tooltip timing config, and auto-expanding tree scrolling. Behind the scenes, dependency upgrades and CI housekeeping ran continuously to keep releases like 6.5.3, 6.5.4, 6.6.0, and 6.6.1 shipping smoothly.
Week by week
2026-08-24A quiet week focused on five targeted bug fixes across Drawer, Menu, Form, DirectoryTree, and Watermark.latest5 changes
Fix
Drawer header fix
Drawers now show their header area even when only extra content is provided.
Fix
Menu hover fix
Horizontal submenu popups stay open while the mouse travels across the gap to reach them.
Fix
Form zero-label fix
Forms no longer hide labels that are legitimately set to the number zero.
Fix
DirectoryTree control fix
Directory trees correctly fall back to managing their own expand state when none is specified.
Fix
Watermark canvas guard
Watermarks skip drawing when the canvas size would be zero, avoiding errors.
2026-08-17A busy week of polish shipped version 6.6.1, with many menu/form/table fixes plus accessibility improvements and docs corrections.6 changes
Feature
Localized carousel arrows
Carousel arrow buttons now announce themselves in the user's language via ConfigProvider locale settings.
Fix
Upload async removal fix
Files added while an upload removal is in progress are no longer accidentally wiped out.
Fix
Radio option callbacks
Radio groups built from options now fire each option's own change handler as expected.
Fix
Accessibility cleanups
Decorative icons on Collapse and DatePicker separators were hidden from screen readers, and Card/Badge gained stronger automated accessibility checks.
Fix
Table fixes
Tables avoid duplicate filter-close events and apply rounded corners to the first row when the header is hidden.
Docs
Version 6.6.1 changelog and guidance
Release notes for 6.6.1 landed along with updated v4 migration and v6 upgrade documentation.
2026-08-10Work centered on localization and accessibility — localized close buttons and Upload actions, refined Chinese terminology, plus new AI-contribution guides and a drag-sorting demo.6 changes
Fix
Localized UI strings
Modal/Notification close buttons, Upload action names, and Transfer's remove label now respect the configured language.
Fix
Chinese terminology refinements
DatePicker uses proper Taiwan week terminology and Traditional Chinese wording was polished.
Fix
ColorPicker and Select polish
The color picker stays draggable after clearing, and Select's clear icon alignment/background issues were fixed.
Docs
AI contribution guides
New documentation explains how AI assistants can be used for open-source contributions, making AGENTS.md the canonical project guide.
Fix
BackTop progress ring
The FloatButton BackTop keeps its scroll-progress ring visible where it was previously disappearing.
Chore
Accessibility test coverage
Rate component tests now check list-item accessibility roles, joining broader a11y coverage efforts.
2026-08-03A feature-rich week culminating in release 6.5.4, headlined by a new virtualized Listy component, custom Pagination components, and global tooltip timing configuration.6 changes
Feature
Listy virtual list
A brand-new Listy component renders very long lists efficiently using virtualization.
Feature
Custom Pagination components
Pagination now accepts fully custom item components so teams can restyle page navigation.
Feature
Global tooltip delays
Tooltip, Popover, and Popconfirm hover delays can now be set once globally through ConfigProvider.
Feature
Forced table row expansion
Tables can force expanded rows to render even before they would normally appear.
Feature
BackTop progress ring
FloatButton.BackTop gained an optional ring showing scroll progress toward the top.
Fix
Assorted component fixes
Drawer got a disabled close button, Alert shows its close button more reliably, and Carousel keeps the current slide when children change.
2026-07-27Icon alignment was the big theme — bare SVG icons were fixed across Collapse, Breadcrumb, Segmented, and Tabs — alongside OTP input masking and performance work.6 changes
Fix
Bare SVG icon alignment
Icons rendered as plain SVG now align and center correctly at any size across Breadcrumb, Collapse, Segmented, Tabs, and general layouts.
Fix
OTP input masking
One-time-code inputs consistently mask their values when masking is enabled, including mixed input types.
Refactor
Faster typography hover
Typography defers its ellipsis measurement until hover, speeding up initial page rendering.
Fix
Table selection fixes
Select-all now skips disabled rows across pages, and filter selections stay in sync when controlled.
Fix
Slider focus fix
Sliders no longer fire duplicate focus and blur callbacks during interaction.
Chore
Dependency upgrades
Build tools and libraries like Chalk, jest-axe, and React types were upgraded, and release 6.5.3's changelog landed.
Dependencies and code review
Dependency advisories
Security Watch
2 vulnerable packages (4 advisories) across 218 scanned dependencies.
tar 7.5.13
3 advisories. Fixed in 7.5.19.
How it can be abusedAn attacker who gets a contributor or CI machine to process a maliciously crafted tar archive, such as a poisoned dependency package or a tampered release artifact, could crash the build with an endless loop, unbounded memory use, or a stack overflow. This affects the project's maintainers and CI pipelines rather than end users, since the library never ships this parsing code in the browser bundle.
- criticalGHSA-23hp-3jrh-7fpwnode-tar: Decompression/parse DoS via unlimited input
- highGHSA-8x88-c5mf-7j5wnode-tar: Negative tar entry size causes infinite loop in archive replace
- highGHSA-r292-9mhp-454mnode-tar: Uncontrolled recursion in mapHas/filesFilter allows uncatchable stack-overflow DoS via crafted long-path tar with member selection
axios 1.16.0
1 advisory. Fixed in 0.33.0.
How it can be abusedThis bug can make an app send requests through a proxy it did not intend to use when request settings get copied between requests, potentially leaking traffic or credentials to a server the attacker controls. It only matters for code running on a Node server that chains axios requests with interceptors, and this repo mostly runs axios in build and doc-site scripts, not in shipped library code.
- highGHSA-gcfj-64vw-6mp9Axios Node HTTP adapter can use an inherited proxy after interceptor config cloning
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required