* fix: replace hand-rolled utilities with npm packages and extract shared helpers
- Replace custom semver parser (satisfies/compare/valid) with the `semver`
package, fixing OR-range (||) peerDep false positives (e.g. react-slick)
and incorrect ^0.x minor-locking behavior
- Replace custom Levenshtein distance with `fast-levenshtein`
- Replace hand-rolled recursive directory walker with `fast-glob` for
better symlink, ignore, and permission handling
- Fix CJK character width in table formatting using `string-width`
(e.g. `antd list --lang zh` now aligns columns correctly)
- Extract shared `fetchWithTimeout` and `fetchFirstJson` helpers from
bug-versions.ts and update-check.ts to eliminate duplicated
AbortController+setTimeout+Promise.any patterns
- Consolidate `readJson` usage: version.ts and loader.ts now use the
existing `readJson` helper from scan.ts instead of inlining
readFileSync+JSON.parse
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: address PR review feedback
- Move fast-glob and fast-levenshtein from devDependencies to dependencies
(they are runtime imports, not build-time)
- Restore Promise.any parallel racing in update-check.ts (was regressed
to sequential fallback)
- Change satisfies() null coalescing from ?? true to ?? false; add
includePrerelease flag for correctness
- Derive glob ignore patterns from SKIP_DIRS to avoid duplication
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: address code review feedback
- Fix ESM import of fast-glob (use default import `fg` instead of named
`globSync` — CJS interop in ESM bundle)
- Add try/catch around globSync in collectFiles for permission errors
- Add trailing newlines to fetch.ts, bug-versions.ts, update-check.ts
- Move fast-glob and fast-levenshtein to dependencies (runtime imports)
- Restore Promise.any parallel racing in update-check.ts
- Add test for malformed range behavior with semver
- Re-add permission error test for collectFiles
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
hono 4.12.10 → 4.12.14 (moderate: cookie bypass, path traversal, middleware bypass)
@hono/node-server 1.19.12 → 1.19.14 (moderate: serveStatic bypass)
vite 8.0.3 → 8.0.8 (high: path traversal, file read via WebSocket)
path-to-regexp was already at safe version 8.4.2 (false positive in audit)
All fixes are in dev dependencies only — no production impact.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* release: v0.2.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: add Multi-Format Output as a feature in README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: remove redundant Multi-Format Output feature entry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore: remove semantic-release, publish only on antd data sync
- Delete release.yml and .releaserc.json
- Uninstall semantic-release and all related plugins
- Update sync.yml to build, test, and publish when antd data changes
- CLI version now tracks antd v6 version directly
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Add scripts/extract.ts pipeline that extracts antd metadata (components,
props, demos, tokens, semantic, changelog, FAQ) from source. Add daily
GitHub Actions workflow to detect new antd releases and auto-publish.
CLI version now aligns with antd version.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CLI tool for Code Agents to query antd knowledge and analyze antd usage.
Includes design spec, README with all 13 commands, and project scaffolding.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>