Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
fd533d4
Initial plan
Copilot Feb 28, 2026
c3b1eee
Migrate lazy-image.js and lazy-component.js from Options API to Compo…
Copilot Feb 28, 2026
ff4071f
fix(lazyload): remove duplicate addLazyBox call in watch callback
Copilot Feb 28, 2026
0e9f7fc
chore(deps): update dependency node to v22.22.0 (#13758)
renovate[bot] Mar 6, 2026
12d4f87
Merge branch 'main' into copilot/migrate-to-composition-api
yoyo837 Mar 8, 2026
2bd43ba
chore(deps): update pnpm to v10.32.1 (#13793)
renovate[bot] Mar 11, 2026
3eb584e
chore(deps): update dependency less to ^4.6.4 (#13796)
renovate[bot] Mar 16, 2026
46097f3
chore(deps): update dependency @rslib/core to ^0.20.0 (#13795)
renovate[bot] Mar 16, 2026
cc67c40
Merge branch 'main' into copilot/migrate-to-composition-api
yoyo837 Mar 18, 2026
9e9c459
Potential fix for pull request finding
yoyo837 Mar 18, 2026
368b226
test: migrate tests to Rstest (#13799)
9aoy Mar 26, 2026
83aa18e
feat(Popup): export useGlobalZIndex and setGlobalZIndex (#13789)
hellomrbigshot Mar 26, 2026
dc5faaa
chore(deps): update dependency rslog to v2 (#13785)
renovate[bot] Mar 26, 2026
e5e833e
chore(deps): update dependency markdown-it to v14.1.1 [security] (#13…
renovate[bot] Mar 26, 2026
c0b3a0a
chore(deps): update all patch dependencies (#13765)
renovate[bot] Mar 26, 2026
bd70834
feat(Signature): add undo functionality (#13775)
wjw-gavin Mar 26, 2026
2cf59ee
feat(SwipeCell): add customizable threshold prop for swipe actions (#…
quietdw Mar 26, 2026
b9b38e0
test: add back test for custom threshold prop
chenjiahan Mar 26, 2026
b81582f
release: v4.9.23
chenjiahan Mar 26, 2026
3f0ece7
chore(deps): update dependency @types/node to ^24.12.0 (#13787)
renovate[bot] Mar 26, 2026
66cf18c
release: v4.9.24
chenjiahan Mar 27, 2026
cd36421
Merge branch 'main' into copilot/migrate-to-composition-api
yoyo837 Mar 27, 2026
d91239a
chore(deps): update dependency markdown-it to v14.1.1 [security] (#13…
renovate[bot] Mar 27, 2026
54d0375
chore(deps): update pnpm to v10.33.0 (#13803)
renovate[bot] Apr 4, 2026
25ec69f
chore(deps): update all patch dependencies (#13802)
renovate[bot] Apr 4, 2026
c264135
chore(deps): update dependency lodash to v4.18.1 [security] (#13805)
renovate[bot] Apr 4, 2026
19f713c
chore(deps): enable Renovate automerge for non-major updates (#13807)
chenjiahan Apr 4, 2026
d3b426d
chore(deps): update dependency esbuild to ^0.28.0 (#13809)
renovate[bot] Apr 11, 2026
3faedaa
chore(deps): update all patch dependencies (#13808)
renovate[bot] Apr 11, 2026
b4fa230
Merge branch 'main' into copilot/migrate-to-composition-api
yoyo837 Apr 21, 2026
32731cc
chore(deps): update dependency @rsbuild/core to v2 (#13824)
renovate[bot] Apr 27, 2026
1ff4e95
chore(deps): bump postcss from 8.5.9 to 8.5.10 (#13827)
dependabot[bot] May 4, 2026
ef6f333
chore(deps): update dependency @rslib/core to ^0.21.3 (#13814)
renovate[bot] May 4, 2026
a95a95a
feat(image-preview): expose prev/next methods (#13830)
JavonLuo May 4, 2026
7cfd282
chore(deps): update dependency @rsbuild/plugin-vue-jsx to v2 (#13816)
renovate[bot] May 4, 2026
ac53fee
chore(deps): update codecov/codecov-action action to v6 (#13815)
renovate[bot] May 4, 2026
4adcbb5
chore(deps): update dependency autoprefixer to ^10.5.0 (#13822)
renovate[bot] May 4, 2026
aac3a72
chore(deps): update all patch dependencies (#13821)
renovate[bot] May 4, 2026
aa22423
fix(Popup): fix useLockScroll to allow horizontal scroll on child com…
mashirozx May 4, 2026
14d6a4b
chore: migrate linting to Rslint (#13831)
chenjiahan May 4, 2026
e00a8a0
chore(deps): update dependency vue-router to v5 (#13788)
renovate[bot] May 4, 2026
3c125aa
chore(CI): ensure credentials are not persisted during checkout
chenjiahan May 4, 2026
8f196b2
chore(deps): update dependency macos to v26 (#13842)
renovate[bot] May 30, 2026
e50303d
chore(deps): update dependency markdown-it to ^14.2.0 (#13841)
renovate[bot] May 30, 2026
4b4f7a0
chore(deps): bump js-cookie from 3.0.5 to 3.0.7 (#13840)
dependabot[bot] May 30, 2026
9034569
chore(deps): update dependency @rstest/coverage-istanbul to ^0.10.3 (…
renovate[bot] May 30, 2026
8129db1
chore(deps): update dependency terser to ^5.48.0 (#13834)
renovate[bot] May 30, 2026
ef9900f
chore(deps): bump brace-expansion from 2.0.1 to 5.0.6 (#13838)
dependabot[bot] May 30, 2026
e611f1a
chore(deps): update all patch dependencies (#13833)
renovate[bot] May 30, 2026
e67a8d2
chore(deps): update dependency @rstest/core to ^0.10.3 (#13836)
renovate[bot] May 30, 2026
db94857
feat(Field): expose adjustTextareaSize (#13839)
zhaojjiang May 30, 2026
f54d02b
chore: replace issues helper action (#13844)
chenjiahan May 30, 2026
e5eeda8
Merge remote-tracking branch 'upstream/main' into copilot/migrate-to-…
Copilot Jun 1, 2026
79d0f12
chore: sync upstream and tighten CI token permissions
Copilot Jun 1, 2026
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
  •  
  •  
  •  
7 changes: 0 additions & 7 deletions .eslintrc

This file was deleted.

26 changes: 26 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended", "schedule:weekly"],
"platformAutomerge": true,
"packageRules": [
{
"matchPackagePatterns": ["*"],
"semanticCommitType": "chore",
"rangeStrategy": "bump"
},
{
"groupName": "all patch dependencies",
"groupSlug": "all-patch",
"matchPackagePatterns": ["*"],
"matchUpdateTypes": ["patch"]
},
{
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
"automerge": true
},
{
"depTypeList": ["peerDependencies"],
"enabled": false
}
]
}
39 changes: 0 additions & 39 deletions .github/renovate.json5

This file was deleted.

5 changes: 3 additions & 2 deletions .github/workflows/deploy-v4-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@ on:
jobs:
build-and-deploy:
if: github.repository == 'youzan/vant'
runs-on: macos-15
runs-on: macos-26
steps:
- name: Checkout 🛎️
uses: actions/checkout@v6
with:
ref: 'main'
persist-credentials: false

- name: Install pnpm
run: |
Expand All @@ -25,7 +26,7 @@ jobs:

- uses: actions/setup-node@v6
with:
node-version: '22.21.1'
node-version: '22.22.3'
cache: 'pnpm'

- name: Install dependencies
Expand Down
17 changes: 8 additions & 9 deletions .github/workflows/issue-close-require.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,20 @@ on:
- cron: '0 0 * * *'

permissions:
contents: read
issues: write

jobs:
issue-close-require:
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- name: need reproduce
uses: actions-cool/issues-helper@v3
- name: Close inactive need reproduce issues
uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
with:
actions: 'close-issues'
labels: 'need reproduce'
inactive-day: 3
body: |
days-before-stale: -1
days-before-pr-close: -1
days-before-issue-close: 3
stale-issue-label: 'need reproduce'
close-issue-message: |
As the issue was labeled with `need reproduce`, but no response in 3 days. This issue will be closed. Feel free to comment and reopen it if you have any further questions. For background, please refer to [Why reproductions are required](https://antfu.me/posts/why-reproductions-are-required).

由于该 issue 被标记为 "需要重现",但在 3 天内没有回应,因此该 issue 将被关闭。如果你有任何进一步的问题,请随时发表评论并重新打开该 issue。背景请参考 [为什么需要最小重现](https://antfu.me/posts/why-reproductions-are-required-zh)。
64 changes: 31 additions & 33 deletions .github/workflows/issue-labeled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,76 +5,74 @@ on:
types: [labeled]

permissions:
contents: read
issues: write

jobs:
reply-labeled:
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- name: help wanted
if: github.event.label.name == '👏 PR welcome' || github.event.label.name == 'help wanted'
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment'
issue-number: ${{ github.event.issue.number }}
body: |
env:
GH_TOKEN: ${{ github.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: |
Hello @${{ github.event.issue.user.login }}. We totally like your proposal/feedback, welcome to [send us a Pull Request](https://help.github.com/en/articles/creating-a-pull-request) for it. Please send your Pull Request to `main` branch, provide changelog/TypeScript/documentation/test cases if needed and make sure CI passed, we will review it soon. We appreciate your effort in advance and looking forward to your contribution!

你好 @${{ github.event.issue.user.login }},我们完全同意你的提议/反馈,欢迎直接在此仓库 [创建一个 Pull Request](https://help.github.com/en/articles/creating-a-pull-request) 来解决这个问题。请将 Pull Request 发到 `main` 分支,提供改动所需相应的 changelog、TypeScript 定义、测试用例、文档等,并确保 CI 通过,我们会尽快进行 Review,提前感谢和期待你的贡献。
run: gh issue comment "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --body "$COMMENT_BODY"

- name: need reproduce
if: github.event.label.name == 'need reproduce'
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment'
issue-number: ${{ github.event.issue.number }}
body: |
env:
GH_TOKEN: ${{ github.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: |
Hello @${{ github.event.issue.user.login }}. Please provide an online reproduction demo by [codesandbox](https://codesandbox.io/p/devbox/vant-4-issue-template-8fuq5o) or a minimal GitHub repository. Issues marked with `need reproduce` will be closed if there is no activity within 3 days. For background, please refer to [Why reproductions are required](https://antfu.me/posts/why-reproductions-are-required).

你好 @${{ github.event.issue.user.login }}, 我们需要你提供一个在线的重现示例,以便于我们帮你排查问题。你可以通过点击 [codesandbox](https://codesandbox.io/p/devbox/vant-4-issue-template-8fuq5o) 创建,或者提供一个最小化的 GitHub 仓库。如果 3 天内未跟进,此 issue 将会被自动关闭。背景请参考 [为什么需要最小重现](https://antfu.me/posts/why-reproductions-are-required-zh)。
run: gh issue comment "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --body "$COMMENT_BODY"

- name: question
if: github.event.label.name == 'question'
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment, close-issue'
issue-number: ${{ github.event.issue.number }}
body: |
env:
GH_TOKEN: ${{ github.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: |
Hello @${{ github.event.issue.user.login }}, we use GitHub issues to trace bugs or discuss plans of Vant. So, please don't ask usage questions here. You can open a new discussion in [Vant Discussions](https://github.com/vant-ui/vant/discussions), select `Q&A` to ask questions.

你好 @${{ github.event.issue.user.login }},Vant Issue 板块是用于 bug 反馈与需求讨论的地方。请勿在这里询问如何使用等相关问题,你可以在 [Vant Discussions](https://github.com/vant-ui/vant/discussions) 新开一个 discussion,选择 `Q&A` 类别进行提问。
run: gh issue close "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --comment "$COMMENT_BODY"

- name: 2.x
if: github.event.label.name == '2.x'
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment, close-issue'
issue-number: ${{ github.event.issue.number }}
body: |
env:
GH_TOKEN: ${{ github.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: |
Hi @${{ github.event.issue.user.login }}. Current version (2.x) has reached End of Life. We recommend using the latest 4.x version (LTS). This issue will be auto closed.

你好 @${{ github.event.issue.user.login }},当前版本(2.x)已经终止支持且不再维护。我们建议使用最新的 4.x 版本。当前 issue 会被自动关闭。
run: gh issue close "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --comment "$COMMENT_BODY"

- name: 3.x
if: github.event.label.name == '3.x'
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment, close-issue'
issue-number: ${{ github.event.issue.number }}
body: |
env:
GH_TOKEN: ${{ github.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: |
Hi @${{ github.event.issue.user.login }}. Current version (3.x) has reached End of Life. We recommend using the latest 4.x version (LTS). This issue will be auto closed.

你好 @${{ github.event.issue.user.login }},当前版本(3.x)已经终止支持且不再维护。我们建议使用最新的 4.x 版本。当前 issue 会被自动关闭。
run: gh issue close "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --comment "$COMMENT_BODY"

- name: invalid
if: github.event.label.name == 'invalid'
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment, close-issue'
issue-number: ${{ github.event.issue.number }}
body: |
env:
GH_TOKEN: ${{ github.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: |
Hello @${{ github.event.issue.user.login }}, your issue has been closed because it does not conform to our issue requirements.

你好 @${{ github.event.issue.user.login }},为了能够进行高效沟通,我们对 issue 有一定的格式要求,你的 issue 因为不符合要求而被自动关闭。
run: gh issue close "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --comment "$COMMENT_BODY"
15 changes: 9 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ on:

workflow_dispatch:

permissions:
contents: read

jobs:
lint:
runs-on: ubuntu-latest
Expand All @@ -24,7 +27,7 @@ jobs:

- uses: actions/setup-node@v6
with:
node-version: '22.21.1'
node-version: '22.22.3'
cache: 'pnpm'

- name: Install dependencies
Expand All @@ -34,7 +37,7 @@ jobs:
run: npm run lint

test:
runs-on: macos-15
runs-on: macos-26
steps:
- uses: actions/checkout@v6

Expand All @@ -45,7 +48,7 @@ jobs:

- uses: actions/setup-node@v6
with:
node-version: '22.21.1'
node-version: '22.22.3'
cache: 'pnpm'

- name: Install dependencies
Expand All @@ -55,13 +58,13 @@ jobs:
run: pnpm run test:coverage

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./packages/vant/test/coverage

build:
runs-on: macos-15
runs-on: macos-26
steps:
- uses: actions/checkout@v6

Expand All @@ -72,7 +75,7 @@ jobs:

- uses: actions/setup-node@v6
with:
node-version: '22.21.1'
node-version: '22.22.3'
cache: 'pnpm'

- name: Install dependencies
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
.cache
.DS_Store
.idea
.vscode
.vscode/*
!.vscode/extensions.json

# npm
node_modules
Expand Down
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["rstack.rslint", "esbenp.prettier-vscode"]
}
15 changes: 7 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"scripts": {
"prepare": "husky",
"dev": "pnpm --dir ./packages/vant dev",
"lint": "eslint \"./packages/**/{src,test}/**/*.{vue,ts,tsx,js,mjs,cjs}\"",
"lint": "rslint",
"test": "pnpm --dir ./packages/vant test",
"test:watch": "pnpm --dir ./packages/vant test:watch",
"test:update": "pnpm --dir ./packages/vant test:update",
Expand All @@ -14,21 +14,20 @@
"nano-staged": {
"*.md": "prettier --write",
"*.{ts,tsx,js,vue,less}": "prettier --write",
"*.{ts,tsx,js,vue}": "eslint --fix"
"*.{ts,tsx,js,mjs,cjs}": "rslint --fix"
},
"engines": {
"pnpm": ">= 10.30.0"
"pnpm": ">= 10.33.2"
},
"packageManager": "pnpm@10.30.0",
"packageManager": "pnpm@10.33.2",
"devDependencies": {
"@rslint/core": "^0.5.3",
"@vant/cli": "workspace:*",
"@vant/eslint-config": "workspace:*",
"eslint": "^8.57.1",
"husky": "^9.1.7",
"nano-staged": "^0.9.0",
"prettier": "^3.8.1"
"prettier": "^3.8.3"
},
"overrides": {
"esbuild": "^0.27.2"
"esbuild": "^0.28.0"
}
}
4 changes: 0 additions & 4 deletions packages/create-vant-cli-app/generators/vue2/.eslintignore

This file was deleted.

11 changes: 0 additions & 11 deletions packages/create-vant-cli-app/generators/vue2/package.json.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
"scripts": {
"dev": "vant-cli dev",
"test": "vant-cli test",
"lint": "vant-cli lint",
"build": "vant-cli build",
"release": "vant-cli release",
"test:coverage": "open test/coverage/index.html",
Expand All @@ -20,13 +19,9 @@
"author": "",
"husky": {
"hooks": {
"pre-commit": "nano-staged",
"commit-msg": "vant-cli commit-lint"
}
},
"nano-staged": {
"*.{ts,tsx,js,jsx,vue}": "eslint --fix"
},
"peerDependencies": {
"vue": "^2.6.11",
"vue-template-compiler": "^2.6.11"
Expand All @@ -36,12 +31,6 @@
"vue": "^2.6.11",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {
"root": true,
"extends": [
"@vant"
]
},
"prettier": {
"singleQuote": true
},
Expand Down
4 changes: 0 additions & 4 deletions packages/create-vant-cli-app/generators/vue3/.eslintignore

This file was deleted.

Loading