Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 4 additions & 9 deletions .github/workflows/check-pr-title.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
name: Check PR title
name: PR Title Check

on:
pull_request_target:
types:
- opened
- reopened
- edited
- synchronize
types: [opened, reopened, edited, synchronize]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: aslafy-z/conventional-pr-title-action@master
with:
preset: conventional-changelog-angular@^5.0.6
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
77 changes: 38 additions & 39 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,38 @@
name: Node CI

# on:
# push:
# branches:
# - main
# pull_request:
# branches:
# - main

# jobs:
# build:
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# node_version: [10.x, 11.x]
# os: [ubuntu-latest]
# steps:
# - uses: actions/checkout@v1
# - name: Use Node.js ${{ matrix.node_version }}
# uses: actions/setup-node@v1
# with:
# node-version: ${{ matrix.node_version }}

# - run: yarn -v
# - run: yarn --ignore-engines
# - run: yarn build
# - run: yarn test:prod
# env:
# CI: true
# HEADLESS: false
# PROGRESS: none
# NODE_ENV: test
# NODE_OPTIONS: --max_old_space_size=4096

# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v1
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
name: CI

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x]

steps:
- uses: actions/checkout@v4

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Build
run: yarn build

- name: Check Antd 5 deprecations
run: yarn check:antd5

- name: Test
run: yarn test
env:
CI: true
26 changes: 7 additions & 19 deletions .github/workflows/commitlint.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,17 @@
# This is a basic workflow to help you get started with Actions
name: Commitlint

name: Check Commit spec

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [main]
branches: [main, master]
pull_request:
branches: [main]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
branches: [main, master]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
commitlint:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0=
- uses: wagoid/commitlint-github-action@v3
fetch-depth: 0

- uses: wagoid/commitlint-github-action@v5
9 changes: 5 additions & 4 deletions .github/workflows/package-size.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
name: Compressed Size
name: Package Size

on: [pull_request]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- uses: preactjs/compressed-size-action@v2
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
repo-token: ${{ secrets.GITHUB_TOKEN }}
build-script: 'build'
13 changes: 0 additions & 13 deletions .github/workflows/pr-welcome.yml

This file was deleted.

41 changes: 41 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Publish to NPM

on:
push:
tags:
- 'v*'

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: '18'
registry-url: 'https://registry.npmjs.org'
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Build
run: yarn build

- name: Test
run: yarn test
env:
CI: true

- name: Publish to npm
run: npx lerna publish from-package --yes
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ coverage/
node_modules/
examples/test
.idea/
TODO.md
tsconfig.tsbuildinfo
package/
benchmark
Expand Down
77 changes: 77 additions & 0 deletions KNOWN_ISSUES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Known Issues

## External Package Warnings

These warnings come from external packages and cannot be fixed directly in this codebase.

### 1. Collapse children deprecated (rc-collapse)

```
Warning: [rc-collapse] `children` will be removed in next major version. Please use `items` instead.
```

**Source:** `@formily/antd-v5` -> `rc-collapse`

**Cause:** FormCollapse component in @formily/antd-v5 uses the old `children` API (CollapsePanel) instead of the new `items` prop.

**Impact:** None - just a deprecation warning, functionality works correctly.

**Tracking:** https://github.com/alibaba/formily/issues

---

### 2. Invalid DOM nesting - div in tbody (@dnd-kit)

```
Warning: validateDOMNesting(...): <div> cannot appear as a child of <tbody>.
at div
at HiddenText
at Accessibility
at DndContext
```

**Source:** `@formily/antd-v5` -> `@dnd-kit/core`

**Cause:** @dnd-kit adds accessibility elements (screen reader text in divs) for drag-and-drop functionality. When used inside ArrayTable, these divs end up inside `<tbody>`, which is invalid HTML.

**Impact:** None - just a React warning, drag-and-drop works correctly.

**Tracking:**

- https://github.com/alibaba/formily/issues
- https://github.com/clauderic/dnd-kit/issues

---

## How to Check for Issues in Our Code

Run the Antd 5 deprecation checker:

```bash
yarn check:antd5
```

This script detects deprecated Antd 4 APIs that should be updated for Antd 5:

- Button.Group -> Space.Compact
- Breadcrumb.Item -> items prop
- Collapse.Panel -> items prop
- visible -> open (Modal, Tooltip, Popover, etc.)
- onVisibleChange -> onOpenChange
- destroyOnClose -> destroyOnHidden
- overlayInnerStyle -> styles={{ body: {} }}
- null values in Select options

---

## Migration Completed

This project has been migrated to:

- React 18.3.1
- Ant Design 5.24.0
- @formily/antd-v5 ^1.2.0
- TypeScript 5.8.0
- Webpack 5.99.0

All internal code is clean - warnings only come from external dependencies.
Loading
Loading