← All reportsPublic report

ant-design/ant-design

An enterprise-class UI design language and React UI library

99k stars TypeScript View on GitHubprofiled 14d ago
Try GitZoid
207PRs this week
41Contributors
218Deps scanned
2Issues found
01 · Repo overview

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

TypeScriptJavaScriptLess/CSS

Frameworks

React (>=18 peer dependency)dumi 2.x (docs site)@ant-design/cssinjs (CSS-in-JS)JestVitestwebpackPuppeteer (jest-puppeteer image testing)

Infrastructure

GitHub Actions CI (test.yml workflow)Cloudflare Pages edge functions (functions/_middleware.ts)gh-pages site deploymentCodecov coverage reportingHusky git hooks (.husky/pre-commit)

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.

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.

03 · Security check

Dependencies and code review

218 dependencies scanned

Dependency advisories

Security Watch

2 vulnerable packages (4 advisories) across 218 scanned dependencies.

criticalcritical · npmfixed in 7.5.19

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
warninghigh · npmfixed in 0.33.0

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