From a5e247b6c1eb1f38a8439c74b5865ea2ae93c492 Mon Sep 17 00:00:00 2001 From: daiwei Date: Tue, 23 Dec 2025 21:45:41 +0800 Subject: [PATCH 1/8] chore(style): migrate code formatter from Prettier to oxfmt --- .github/contributing.md | 8 +- .github/renovate.json5 | 2 +- .github/workflows/autofix.yml | 2 +- .github/workflows/test.yml | 2 +- .oxfmtrc.jsonc | 8 ++ .prettierignore | 3 - .prettierrc | 5 - .vscode/settings.json | 8 +- netlify.toml | 4 +- package.json | 46 +++---- packages/vue/examples/transition/modal.html | 126 ++++++++++---------- pnpm-lock.yaml | 105 ++++++++++++++-- 12 files changed, 202 insertions(+), 117 deletions(-) create mode 100644 .oxfmtrc.jsonc delete mode 100644 .prettierignore delete mode 100644 .prettierrc diff --git a/.github/contributing.md b/.github/contributing.md index f0ec46ee709..0ba0ec0aefa 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -59,7 +59,7 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before - Commit messages must follow the [commit message convention](./commit-convention.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks)). -- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with Prettier on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks)). +- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with oxfmt on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks)). ### Advanced Pull Request Tips @@ -92,7 +92,7 @@ A high level overview of tools used: - [Vite](https://vitejs.dev/) and [ESBuild](https://esbuild.github.io/) for development bundling - [Rollup](https://rollupjs.org) for production bundling - [Vitest](https://vitest.dev/) for unit testing -- [Prettier](https://prettier.io/) for code formatting +- [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) for code formatting - [ESLint](https://eslint.org/) for static error prevention (outside of types) ## Git Hooks @@ -100,7 +100,7 @@ A high level overview of tools used: The project uses [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks) to enforce the following on each commit: - Type check the entire project -- Automatically format changed files using Prettier +- Automatically format changed files using oxfmt - Verify commit message format (logic in `scripts/verify-commit.js`) ## Scripts @@ -271,7 +271,7 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set The packages can import each other directly using their package names. Note that when importing a package, the name listed in its `package.json` should be used. Most of the time the `@vue/` prefix is needed: ```js -import { h } from '@vue/runtime-core' +import { h } from "@vue/runtime-core"; ``` This is made possible via several configurations: diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 0e2be25e06f..3ea5e12f62a 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -42,7 +42,7 @@ 'lint-staged', 'typescript-eslint{/,}**', 'eslint{/,}**', - 'prettier{/,}**', + 'oxfmt{/,}**', ], }, ], diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 42eacd30fbc..7f6711ed804 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -28,7 +28,7 @@ jobs: - name: Run eslint run: pnpm run lint --fix - - name: Run prettier + - name: Run oxfmt run: pnpm run format - uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3d704b05d40..677d02923ab 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -127,7 +127,7 @@ jobs: - name: Run eslint run: pnpm run lint - - name: Run prettier + - name: Run oxfmt run: pnpm run format-check - name: Run tsc diff --git a/.oxfmtrc.jsonc b/.oxfmtrc.jsonc new file mode 100644 index 00000000000..db163938ef6 --- /dev/null +++ b/.oxfmtrc.jsonc @@ -0,0 +1,8 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "semi": false, + "singleQuote": true, + "arrowParens": "avoid", + "printWidth": 80, + "ignorePatterns": ["dist", "pnpm-lock.yaml", "CHANGELOG*.md", "package.json"], +} diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index ca3c40849fd..00000000000 --- a/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -pnpm-lock.yaml -CHANGELOG*.md diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 759232e7cf6..00000000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "semi": false, - "singleQuote": true, - "arrowParens": "avoid" -} diff --git a/.vscode/settings.json b/.vscode/settings.json index aa503cb2454..b27a6aec881 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,15 +4,15 @@ "cSpell.enabledLanguageIds": ["markdown", "plaintext", "text", "yml"], - // Use prettier to format TypeScript, JavaScript and JSON files + // Use oxfmt to format TypeScript, JavaScript and JSON files "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "editor.formatOnSave": true, "vitest.disableWorkspaceWarning": true diff --git a/netlify.toml b/netlify.toml index b7304df1615..90a7f85723c 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,3 +1,3 @@ [build.environment] - NODE_VERSION = "22" - NPM_FLAGS = "--version" # prevent Netlify npm install +NODE_VERSION = "22" +NPM_FLAGS = "--version" # prevent Netlify npm install diff --git a/package.json b/package.json index 0e6c345acc2..e6a0c8820ae 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { - "private": true, "version": "3.6.0-alpha.7", - "packageManager": "pnpm@10.20.0", + "private": true, "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -14,8 +13,8 @@ "size-esm": "node scripts/build.js runtime-shared runtime-dom runtime-core reactivity shared runtime-vapor -f esm-bundler", "check": "tsc --incremental --noEmit", "lint": "eslint --cache .", - "format": "prettier --write --cache .", - "format-check": "prettier --check --cache .", + "format": "oxfmt", + "format-check": "oxfmt --check", "test": "vitest", "test-unit": "vitest --project unit*", "test-e2e": "node scripts/build.js vue -f global+esm-browser-vapor -d && vitest --project e2e", @@ -45,22 +44,6 @@ "preinstall": "npx only-allow pnpm", "postinstall": "simple-git-hooks" }, - "simple-git-hooks": { - "pre-commit": "pnpm lint-staged && pnpm check", - "commit-msg": "node scripts/verify-commit.js" - }, - "lint-staged": { - "*.{js,json}": [ - "prettier --write" - ], - "*.ts?(x)": [ - "eslint --fix", - "prettier --parser=typescript --write" - ] - }, - "engines": { - "node": ">=18.12.0" - }, "devDependencies": { "@babel/parser": "catalog:", "@babel/types": "catalog:", @@ -74,9 +57,9 @@ "@types/node": "^24.10.4", "@types/semver": "^7.7.1", "@types/serve-handler": "^6.1.4", - "@vitest/ui": "^3.0.2", "@vitest/coverage-v8": "^3.2.4", "@vitest/eslint-plugin": "^1.5.2", + "@vitest/ui": "^3.0.2", "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^5.0.0", "enquirer": "^2.4.1", @@ -92,8 +75,8 @@ "markdown-table": "^3.0.4", "marked": "13.0.3", "npm-run-all2": "^8.0.4", + "oxfmt": "^0.20.0", "picocolors": "^1.1.1", - "prettier": "^3.7.4", "pretty-bytes": "^7.1.0", "pug": "^3.0.3", "puppeteer": "~24.33.0", @@ -112,5 +95,22 @@ "typescript-eslint": "^8.49.0", "vite": "catalog:", "vitest": "^3.2.4" - } + }, + "simple-git-hooks": { + "pre-commit": "pnpm lint-staged && pnpm check", + "commit-msg": "node scripts/verify-commit.js" + }, + "lint-staged": { + "*.{js,json}": [ + "oxfmt" + ], + "*.ts?(x)": [ + "eslint --fix", + "oxfmt" + ] + }, + "engines": { + "node": ">=18.12.0" + }, + "packageManager": "pnpm@10.20.0" } diff --git a/packages/vue/examples/transition/modal.html b/packages/vue/examples/transition/modal.html index 96a16cfdabe..d32f37ea8ef 100644 --- a/packages/vue/examples/transition/modal.html +++ b/packages/vue/examples/transition/modal.html @@ -65,67 +65,67 @@

custom header

diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec36a3b2f58..dae7d304cae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,12 +122,12 @@ importers: npm-run-all2: specifier: ^8.0.4 version: 8.0.4 + oxfmt: + specifier: ^0.20.0 + version: 0.20.0 picocolors: specifier: ^1.1.1 version: 1.1.1 - prettier: - specifier: ^3.7.4 - version: 3.7.4 pretty-bytes: specifier: ^7.1.0 version: 7.1.0 @@ -1187,6 +1187,50 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + '@oxfmt/darwin-arm64@0.20.0': + resolution: {integrity: sha512-bjR5dqvrd9gxKYfYR0ljUu3/T3+TuDVWcwA7d+tsfmx9lqidlw3zhgBTblnjF1mrd1zkPMoc5zzq86GeSEt1cA==} + cpu: [arm64] + os: [darwin] + + '@oxfmt/darwin-x64@0.20.0': + resolution: {integrity: sha512-esUDes8FlJX3IY4TVjFLgZrnZlIIyPDlhkCaHgGR3+z2eHFZOvQu68kTSpZLCEJmGXdSpU5rlveycQ6n8tk9ew==} + cpu: [x64] + os: [darwin] + + '@oxfmt/linux-arm64-gnu@0.20.0': + resolution: {integrity: sha512-irE0RO9B0R6ziQE6kUVZtZ6IuTdRyuumn1cPWhDfpa0XUa5sE0ly8pjVsvJbj/J9qerVtidU05txeXBB5CirQg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxfmt/linux-arm64-musl@0.20.0': + resolution: {integrity: sha512-eXPBLwYJm26DCmwMwhelEwQMRwuGNaYhYZOhd+CYYsmVoF+h6L6dtjwj0Ovuu0Gqh18EL8vfsaoUvb+jr3vEBg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxfmt/linux-x64-gnu@0.20.0': + resolution: {integrity: sha512-dTPW38Hjgb7LoD2mNgyQGBaJ1hu5YgPrxImhl5Eb04eiws+ETCM0wrb2TWGduA+Nv3rHKn3vZEkMTEjklZXgRw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxfmt/linux-x64-musl@0.20.0': + resolution: {integrity: sha512-b4duw9JGDK/kZoqrPNU9tBOOZQdUW8KJPZ7gW7z54X1eGSqCJ1PT0XLNmZ7SOA1BzQwQ0a3qmQWfFVOsH3a5bw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxfmt/win32-arm64@0.20.0': + resolution: {integrity: sha512-XAzvBhw4K+Fe16dBaFgYAdob9WaM8RYEXl0ibbm5NlNaQEq+5bH9xwc0oaYlHFnLfcgXWmn9ceTAYqNlONQRNA==} + cpu: [arm64] + os: [win32] + + '@oxfmt/win32-x64@0.20.0': + resolution: {integrity: sha512-fkJqHbJaoOMRmrjHSljyb4/7BgXO3xPLBsJSFGtm3mpfW0HHFbAKvd4/6njhqJz9KY+b3RWP1WssjFshcqQQ4w==} + cpu: [x64] + os: [win32] + '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} @@ -3188,6 +3232,11 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + oxfmt@0.20.0: + resolution: {integrity: sha512-+7f8eV8iaK3tENN/FUVxZM1g78HjPehybN8/+/dvEA1O893Dcvk6O7/Q1wTQOHMD7wvdwWdujKl+Uo8QMiKDrQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -3330,11 +3379,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.7.4: - resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} - engines: {node: '>=14'} - hasBin: true - pretty-bytes@7.1.0: resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} engines: {node: '>=20'} @@ -3718,6 +3762,10 @@ packages: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} + tinypool@2.0.0: + resolution: {integrity: sha512-/RX9RzeH2xU5ADE7n2Ykvmi9ED3FBGPAjw9u3zucrNNaEBIO0HPSYgL0NT7+3p147ojeSdaVu08F6hjpv31HJg==} + engines: {node: ^20.0.0 || >=22.0.0} + tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} @@ -4525,6 +4573,30 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true + '@oxfmt/darwin-arm64@0.20.0': + optional: true + + '@oxfmt/darwin-x64@0.20.0': + optional: true + + '@oxfmt/linux-arm64-gnu@0.20.0': + optional: true + + '@oxfmt/linux-arm64-musl@0.20.0': + optional: true + + '@oxfmt/linux-x64-gnu@0.20.0': + optional: true + + '@oxfmt/linux-x64-musl@0.20.0': + optional: true + + '@oxfmt/win32-arm64@0.20.0': + optional: true + + '@oxfmt/win32-x64@0.20.0': + optional: true + '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -6523,6 +6595,19 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + oxfmt@0.20.0: + dependencies: + tinypool: 2.0.0 + optionalDependencies: + '@oxfmt/darwin-arm64': 0.20.0 + '@oxfmt/darwin-x64': 0.20.0 + '@oxfmt/linux-arm64-gnu': 0.20.0 + '@oxfmt/linux-arm64-musl': 0.20.0 + '@oxfmt/linux-x64-gnu': 0.20.0 + '@oxfmt/linux-x64-musl': 0.20.0 + '@oxfmt/win32-arm64': 0.20.0 + '@oxfmt/win32-x64': 0.20.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -6662,8 +6747,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.7.4: {} - pretty-bytes@7.1.0: {} process-nextick-args@2.0.1: {} @@ -7164,6 +7247,8 @@ snapshots: tinypool@1.1.1: {} + tinypool@2.0.0: {} + tinyrainbow@2.0.0: {} tinyspy@4.0.4: {} From d9b542bbf3e9a13a75a41418c9c4b932802aaa28 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 24 Dec 2025 08:42:50 +0800 Subject: [PATCH 2/8] chore: format --- .github/contributing.md | 2 +- .oxfmtrc.jsonc | 2 +- netlify.toml | 4 +- package.json | 38 +++---- packages/vue/examples/transition/modal.html | 106 ++++++++++---------- 5 files changed, 76 insertions(+), 76 deletions(-) diff --git a/.github/contributing.md b/.github/contributing.md index 0ba0ec0aefa..4533835e81c 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -271,7 +271,7 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set The packages can import each other directly using their package names. Note that when importing a package, the name listed in its `package.json` should be used. Most of the time the `@vue/` prefix is needed: ```js -import { h } from "@vue/runtime-core"; +import { h } from '@vue/runtime-core'; ``` This is made possible via several configurations: diff --git a/.oxfmtrc.jsonc b/.oxfmtrc.jsonc index db163938ef6..e454be30bae 100644 --- a/.oxfmtrc.jsonc +++ b/.oxfmtrc.jsonc @@ -4,5 +4,5 @@ "singleQuote": true, "arrowParens": "avoid", "printWidth": 80, - "ignorePatterns": ["dist", "pnpm-lock.yaml", "CHANGELOG*.md", "package.json"], + "ignorePatterns": ["dist", "CHANGELOG*.md", "package.json", "*.toml"], } diff --git a/netlify.toml b/netlify.toml index 90a7f85723c..b7304df1615 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,3 +1,3 @@ [build.environment] -NODE_VERSION = "22" -NPM_FLAGS = "--version" # prevent Netlify npm install + NODE_VERSION = "22" + NPM_FLAGS = "--version" # prevent Netlify npm install diff --git a/package.json b/package.json index e6a0c8820ae..0bf16efb4ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { - "version": "3.6.0-alpha.7", "private": true, + "version": "3.6.0-alpha.7", + "packageManager": "pnpm@10.20.0", "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -44,6 +45,22 @@ "preinstall": "npx only-allow pnpm", "postinstall": "simple-git-hooks" }, + "simple-git-hooks": { + "pre-commit": "pnpm lint-staged && pnpm check", + "commit-msg": "node scripts/verify-commit.js" + }, + "lint-staged": { + "*.{js,json}": [ + "oxfmt --no-error-on-unmatched-pattern" + ], + "*.ts?(x)": [ + "eslint --fix", + "oxfmt --no-error-on-unmatched-pattern" + ] + }, + "engines": { + "node": ">=18.12.0" + }, "devDependencies": { "@babel/parser": "catalog:", "@babel/types": "catalog:", @@ -95,22 +112,5 @@ "typescript-eslint": "^8.49.0", "vite": "catalog:", "vitest": "^3.2.4" - }, - "simple-git-hooks": { - "pre-commit": "pnpm lint-staged && pnpm check", - "commit-msg": "node scripts/verify-commit.js" - }, - "lint-staged": { - "*.{js,json}": [ - "oxfmt" - ], - "*.ts?(x)": [ - "eslint --fix", - "oxfmt" - ] - }, - "engines": { - "node": ">=18.12.0" - }, - "packageManager": "pnpm@10.20.0" + } } diff --git a/packages/vue/examples/transition/modal.html b/packages/vue/examples/transition/modal.html index d32f37ea8ef..741149ae1c1 100644 --- a/packages/vue/examples/transition/modal.html +++ b/packages/vue/examples/transition/modal.html @@ -65,48 +65,48 @@

custom header

From e93bd92c38f2345e461b9d5d7f79a7a70878e7e2 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 24 Dec 2025 08:46:32 +0800 Subject: [PATCH 3/8] chore: format --- .github/contributing.md | 2 +- package.json | 2 +- packages/vue/examples/transition/modal.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/contributing.md b/.github/contributing.md index 4533835e81c..19454a10ea7 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -271,7 +271,7 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set The packages can import each other directly using their package names. Note that when importing a package, the name listed in its `package.json` should be used. Most of the time the `@vue/` prefix is needed: ```js -import { h } from '@vue/runtime-core'; +import { h } from '@vue/runtime-core' ``` This is made possible via several configurations: diff --git a/package.json b/package.json index 0bf16efb4ed..decf88853c9 100644 --- a/package.json +++ b/package.json @@ -74,9 +74,9 @@ "@types/node": "^24.10.4", "@types/semver": "^7.7.1", "@types/serve-handler": "^6.1.4", + "@vitest/ui": "^3.0.2", "@vitest/coverage-v8": "^3.2.4", "@vitest/eslint-plugin": "^1.5.2", - "@vitest/ui": "^3.0.2", "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^5.0.0", "enquirer": "^2.4.1", diff --git a/packages/vue/examples/transition/modal.html b/packages/vue/examples/transition/modal.html index 741149ae1c1..64de8d6982b 100644 --- a/packages/vue/examples/transition/modal.html +++ b/packages/vue/examples/transition/modal.html @@ -128,4 +128,4 @@

custom header

-webkit-transform: scale(1.1); transform: scale(1.1); } - + \ No newline at end of file From edca665aa0379525ccdbb5015840742d44728b83 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 24 Dec 2025 09:03:24 +0800 Subject: [PATCH 4/8] chore: add `experimentalSortPackageJson` option --- .oxfmtrc.jsonc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.oxfmtrc.jsonc b/.oxfmtrc.jsonc index e454be30bae..d3948f56ca4 100644 --- a/.oxfmtrc.jsonc +++ b/.oxfmtrc.jsonc @@ -4,5 +4,6 @@ "singleQuote": true, "arrowParens": "avoid", "printWidth": 80, - "ignorePatterns": ["dist", "CHANGELOG*.md", "package.json", "*.toml"], + "experimentalSortPackageJson": false, + "ignorePatterns": ["dist", "CHANGELOG*.md", "*.toml"], } From 1ba84f209e715b488980a27635441aae4890c53d Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 24 Dec 2025 01:04:31 +0000 Subject: [PATCH 5/8] [autofix.ci] apply automated fixes --- packages/vue/examples/transition/modal.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vue/examples/transition/modal.html b/packages/vue/examples/transition/modal.html index 64de8d6982b..741149ae1c1 100644 --- a/packages/vue/examples/transition/modal.html +++ b/packages/vue/examples/transition/modal.html @@ -128,4 +128,4 @@

custom header

-webkit-transform: scale(1.1); transform: scale(1.1); } - \ No newline at end of file + From 077e9ebcc9b7b2d1de012879014c24bb02473de6 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 24 Dec 2025 10:30:05 +0800 Subject: [PATCH 6/8] chore: update Node.js engine requirement and fix comment typo in settings --- .vscode/settings.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b27a6aec881..310f2b3b1e1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,7 +4,7 @@ "cSpell.enabledLanguageIds": ["markdown", "plaintext", "text", "yml"], - // Use oxfmt to format TypeScript, JavaScript and JSON files + // Use Oxc to format TypeScript, JavaScript and JSON files "[typescript]": { "editor.defaultFormatter": "oxc.oxc-vscode" }, diff --git a/package.json b/package.json index 0e0781596c9..8f5127c9e5c 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ ] }, "engines": { - "node": ">=18.12.0" + "node": ">=22.12.0" }, "devDependencies": { "@babel/parser": "catalog:", From 701ec143f7ed0977872fa96bd7089d24dfa5c106 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 24 Dec 2025 16:19:21 +0800 Subject: [PATCH 7/8] chore: comment out JSON formatter configuration due to lack of support in oxc-vscode --- .vscode/settings.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b8c46bbe799..9006396c86a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,9 +16,10 @@ "[javascript]": { "editor.defaultFormatter": "oxc.oxc-vscode" }, - "[json]": { - "editor.defaultFormatter": "oxc.oxc-vscode" - }, + // oxc-vscode does not yet support JSON formatting + // "[json]": { + // "editor.defaultFormatter": "oxc.oxc-vscode" + // }, "editor.formatOnSave": true, "vitest.disableWorkspaceWarning": true } From 155dd779b2974feecc8523c13ef16a2e70a2878a Mon Sep 17 00:00:00 2001 From: daiwei Date: Thu, 25 Dec 2025 08:25:40 +0800 Subject: [PATCH 8/8] chore: update --- .github/contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/contributing.md b/.github/contributing.md index 968918420df..8549c08b54f 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -271,7 +271,7 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set The packages can import each other directly using their package names. Note that when importing a package, the name listed in its `package.json` should be used. Most of the time the `@vue/` prefix is needed: ```js -import { h } from "@vue/runtime-core"; +import { h } from '@vue/runtime-core' ``` This is made possible via several configurations: