build: migrate formatting pipeline to oxfmt

This commit is contained in:
xingyu4j
2026-03-13 21:56:08 +08:00
parent de0181e0d9
commit 6dabb848a5
22 changed files with 318 additions and 180 deletions

313
pnpm-lock.yaml generated
View File

@@ -237,9 +237,6 @@ catalogs:
eslint-plugin-pnpm:
specifier: ^1.6.0
version: 1.6.0
eslint-plugin-prettier:
specifier: ^5.5.5
version: 5.5.5
eslint-plugin-unicorn:
specifier: ^63.0.0
version: 63.0.0
@@ -306,6 +303,9 @@ catalogs:
ora:
specifier: ^9.3.0
version: 9.3.0
oxfmt:
specifier: ^0.40.0
version: 0.40.0
oxlint:
specifier: ^1.55.0
version: 1.55.0
@@ -327,9 +327,6 @@ catalogs:
postcss-scss:
specifier: ^4.0.9
version: 4.0.9
prettier:
specifier: ^3.8.1
version: 3.8.1
publint:
specifier: ^0.3.18
version: 0.3.18
@@ -387,9 +384,6 @@ catalogs:
stylelint-order:
specifier: ^8.0.0
version: 8.0.0
stylelint-prettier:
specifier: ^5.0.3
version: 5.0.3
stylelint-scss:
specifier: ^7.0.0
version: 7.0.0
@@ -523,12 +517,12 @@ importers:
'@vben/eslint-config':
specifier: workspace:*
version: link:internal/lint-configs/eslint-config
'@vben/oxfmt-config':
specifier: workspace:*
version: link:internal/lint-configs/oxfmt-config
'@vben/oxlint-config':
specifier: workspace:*
version: link:internal/lint-configs/oxlint-config
'@vben/prettier-config':
specifier: workspace:*
version: link:internal/lint-configs/prettier-config
'@vben/stylelint-config':
specifier: workspace:*
version: link:internal/lint-configs/stylelint-config
@@ -568,6 +562,9 @@ importers:
lefthook:
specifier: 'catalog:'
version: 2.1.4
oxfmt:
specifier: 'catalog:'
version: 0.40.0
oxlint:
specifier: 'catalog:'
version: 1.55.0
@@ -1055,9 +1052,6 @@ importers:
eslint-plugin-pnpm:
specifier: 'catalog:'
version: 1.6.0(eslint@10.0.3(jiti@2.6.1))
eslint-plugin-prettier:
specifier: 'catalog:'
version: 5.5.5(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1)
eslint-plugin-unicorn:
specifier: 'catalog:'
version: 63.0.0(eslint@10.0.3(jiti@2.6.1))
@@ -1080,6 +1074,12 @@ importers:
specifier: 'catalog:'
version: 2.0.0
internal/lint-configs/oxfmt-config:
dependencies:
oxfmt:
specifier: 'catalog:'
version: 0.40.0
internal/lint-configs/oxlint-config:
dependencies:
eslint-plugin-better-tailwindcss:
@@ -1089,12 +1089,6 @@ importers:
specifier: 'catalog:'
version: 1.55.0
internal/lint-configs/prettier-config:
dependencies:
prettier:
specifier: 'catalog:'
version: 3.8.1
internal/lint-configs/stylelint-config:
dependencies:
'@stylistic/stylelint-plugin':
@@ -1116,9 +1110,6 @@ importers:
postcss-scss:
specifier: 'catalog:'
version: 4.0.9(postcss@8.5.8)
prettier:
specifier: 'catalog:'
version: 3.8.1
stylelint:
specifier: 'catalog:'
version: 17.4.0(typescript@5.9.3)
@@ -1137,9 +1128,6 @@ importers:
stylelint-order:
specifier: 'catalog:'
version: 8.0.0(stylelint@17.4.0(typescript@5.9.3))
stylelint-prettier:
specifier: 'catalog:'
version: 5.0.3(prettier@3.8.1)(stylelint@17.4.0(typescript@5.9.3))
internal/node-utils:
dependencies:
@@ -1170,9 +1158,6 @@ importers:
pkg-types:
specifier: 'catalog:'
version: 2.3.0
prettier:
specifier: 'catalog:'
version: 3.8.1
rimraf:
specifier: 'catalog:'
version: 6.1.3
@@ -3726,6 +3711,128 @@ packages:
'@oxc-project/types@0.115.0':
resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==}
'@oxfmt/binding-android-arm-eabi@0.40.0':
resolution: {integrity: sha512-S6zd5r1w/HmqR8t0CTnGjFTBLDq2QKORPwriCHxo4xFNuhmOTABGjPaNvCJJVnrKBLsohOeiDX3YqQfJPF+FXw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [android]
'@oxfmt/binding-android-arm64@0.40.0':
resolution: {integrity: sha512-/mbS9UUP/5Vbl2D6osIdcYiP0oie63LKMoTyGj5hyMCK/SFkl3EhtyRAfdjPvuvHC0SXdW6ePaTKkBSq1SNcIw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
'@oxfmt/binding-darwin-arm64@0.40.0':
resolution: {integrity: sha512-wRt8fRdfLiEhnRMBonlIbKrJWixoEmn6KCjKE9PElnrSDSXETGZfPb8ee+nQNTobXkCVvVLytp2o0obAsxl78Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
'@oxfmt/binding-darwin-x64@0.40.0':
resolution: {integrity: sha512-fzowhqbOE/NRy+AE5ob0+Y4X243WbWzDb00W+pKwD7d9tOqsAFbtWUwIyqqCoCLxj791m2xXIEeLH/3uz7zCCg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
'@oxfmt/binding-freebsd-x64@0.40.0':
resolution: {integrity: sha512-agZ9ITaqdBjcerRRFEHB8s0OyVcQW8F9ZxsszjxzeSthQ4fcN2MuOtQFWec1ed8/lDa50jSLHVE2/xPmTgtCfQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
'@oxfmt/binding-linux-arm-gnueabihf@0.40.0':
resolution: {integrity: sha512-ZM2oQ47p28TP1DVIp7HL1QoMUgqlBFHey0ksHct7tMXoU5BqjNvPWw7888azzMt25lnyPODVuye1wvNbvVUFOA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@oxfmt/binding-linux-arm-musleabihf@0.40.0':
resolution: {integrity: sha512-RBFPAxRAIsMisKM47Oe6Lwdv6agZYLz02CUhVCD1sOv5ajAcRMrnwCFBPWwGXpazToW2mjnZxFos8TuFjTU15A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@oxfmt/binding-linux-arm64-gnu@0.40.0':
resolution: {integrity: sha512-Nb2XbQ+wV3W2jSIihXdPj7k83eOxeSgYP3N/SRXvQ6ZYPIk6Q86qEh5Gl/7OitX3bQoQrESqm1yMLvZV8/J7dA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@oxfmt/binding-linux-arm64-musl@0.40.0':
resolution: {integrity: sha512-tGmWhLD/0YMotCdfezlT6tC/MJG/wKpo4vnQ3Cq+4eBk/BwNv7EmkD0VkD5F/dYkT3b8FNU01X2e8vvJuWoM1w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@oxfmt/binding-linux-ppc64-gnu@0.40.0':
resolution: {integrity: sha512-rVbFyM3e7YhkVnp0IVYjaSHfrBWcTRWb60LEcdNAJcE2mbhTpbqKufx0FrhWfoxOrW/+7UJonAOShoFFLigDqQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@oxfmt/binding-linux-riscv64-gnu@0.40.0':
resolution: {integrity: sha512-3ZqBw14JtWeEoLiioJcXSJz8RQyPE+3jLARnYM1HdPzZG4vk+Ua8CUupt2+d+vSAvMyaQBTN2dZK+kbBS/j5mA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@oxfmt/binding-linux-riscv64-musl@0.40.0':
resolution: {integrity: sha512-JJ4PPSdcbGBjPvb+O7xYm2FmAsKCyuEMYhqatBAHMp/6TA6rVlf9Z/sYPa4/3Bommb+8nndm15SPFRHEPU5qFA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [musl]
'@oxfmt/binding-linux-s390x-gnu@0.40.0':
resolution: {integrity: sha512-Kp0zNJoX9Ik77wUya2tpBY3W9f40VUoMQLWVaob5SgCrblH/t2xr/9B2bWHfs0WCefuGmqXcB+t0Lq77sbBmZw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@oxfmt/binding-linux-x64-gnu@0.40.0':
resolution: {integrity: sha512-7YTCNzleWTaQTqNGUNQ66qVjpoV6DjbCOea+RnpMBly2bpzrI/uu7Rr+2zcgRfNxyjXaFTVQKaRKjqVdeUfeVA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
'@oxfmt/binding-linux-x64-musl@0.40.0':
resolution: {integrity: sha512-hWnSzJ0oegeOwfOEeejYXfBqmnRGHusgtHfCPzmvJvHTwy1s3Neo59UKc1CmpE3zxvrCzJoVHos0rr97GHMNPw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
'@oxfmt/binding-openharmony-arm64@0.40.0':
resolution: {integrity: sha512-28sJC1lR4qtBJGzSRRbPnSW3GxU2+4YyQFE6rCmsUYqZ5XYH8jg0/w+CvEzQ8TuAQz5zLkcA25nFQGwoU0PT3Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
'@oxfmt/binding-win32-arm64-msvc@0.40.0':
resolution: {integrity: sha512-cDkRnyT0dqwF5oIX1Cv59HKCeZQFbWWdUpXa3uvnHFT2iwYSSZspkhgjXjU6iDp5pFPaAEAe9FIbMoTgkTmKPg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
'@oxfmt/binding-win32-ia32-msvc@0.40.0':
resolution: {integrity: sha512-7rPemBJjqm5Gkv6ZRCPvK8lE6AqQ/2z31DRdWazyx2ZvaSgL7QGofHXHNouRpPvNsT9yxRNQJgigsWkc+0qg4w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
'@oxfmt/binding-win32-x64-msvc@0.40.0':
resolution: {integrity: sha512-/Zmj0yTYSvmha6TG1QnoLqVT7ZMRDqXvFXXBQpIjteEwx9qvUYMBH2xbiOFhDeMUJkGwC3D6fdKsFtaqUvkwNA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
'@oxlint/binding-android-arm-eabi@1.55.0':
resolution: {integrity: sha512-NhvgAhncTSOhRahQSCnkK/4YIGPjTmhPurQQ2dwt2IvwCMTvZRW5vF2K10UBOxFve4GZDMw6LtXZdC2qeuYIVQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -6665,20 +6772,6 @@ packages:
peerDependencies:
eslint: ^9.0.0 || ^10.0.0
eslint-plugin-prettier@5.5.5:
resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
'@types/eslint': '>=8.0.0'
eslint: '>=8.0.0'
eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0'
prettier: '>=3.0.0'
peerDependenciesMeta:
'@types/eslint':
optional: true
eslint-config-prettier:
optional: true
eslint-plugin-turbo@2.8.16:
resolution: {integrity: sha512-fhvTLe0PnyV72npfBi/IwwVMzkTnUw9MxS2S2Q0Oo1aed7woAtHwSL5DEdTTV6tXZSKbqRHaIbjV6rwx+1iRYA==}
peerDependencies:
@@ -6830,9 +6923,6 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
fast-diff@1.3.0:
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
fast-equals@6.0.0:
resolution: {integrity: sha512-PFhhIGgdM79r5Uztdj9Zb6Tt1zKafqVfdMGwVca1z5z6fbX7DmsySSuJd8HiP6I1j505DCS83cLxo5rmSNeVEA==}
engines: {node: '>=6.0.0'}
@@ -8543,6 +8633,11 @@ packages:
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
engines: {node: '>= 0.4'}
oxfmt@0.40.0:
resolution: {integrity: sha512-g0C3I7xUj4b4DcagevM9kgH6+pUHytikxUcn3/VUkvzTNaaXBeyZqb7IBsHwojeXm4mTBEC/aBjBTMVUkZwWUQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
oxlint@1.55.0:
resolution: {integrity: sha512-T+FjepiyWpaZMhekqRpH8Z3I4vNM610p6w+Vjfqgj5TZUxHXl7N8N5IPvmOU8U4XdTRxqtNNTh9Y4hLtr7yvFg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -9003,20 +9098,11 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
prettier-linter-helpers@1.0.1:
resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==}
engines: {node: '>=6.0.0'}
prettier@2.8.8:
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
engines: {node: '>=10.13.0'}
hasBin: true
prettier@3.8.1:
resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
engines: {node: '>=14'}
hasBin: true
pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
@@ -9855,13 +9941,6 @@ packages:
peerDependencies:
stylelint: ^16.18.0 || ^17.0.0
stylelint-prettier@5.0.3:
resolution: {integrity: sha512-B6V0oa35ekRrKZlf+6+jA+i50C4GXJ7X1PPmoCqSUoXN6BrNF6NhqqhanvkLjqw2qgvrS0wjdpeC+Tn06KN3jw==}
engines: {node: '>=18.12.0'}
peerDependencies:
prettier: '>=3.0.0'
stylelint: '>=16.0.0'
stylelint-scss@7.0.0:
resolution: {integrity: sha512-H88kCC+6Vtzj76NsC8rv6x/LW8slBzIbyeSjsKVlS+4qaEJoDrcJR4L+8JdrR2ORdTscrBzYWiiT2jq6leYR1Q==}
engines: {node: '>=20.19.0'}
@@ -10017,6 +10096,10 @@ packages:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
tinypool@2.1.0:
resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==}
engines: {node: ^20.0.0 || >=22.0.0}
tinyrainbow@3.1.0:
resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
engines: {node: '>=14.0.0'}
@@ -13056,6 +13139,63 @@ snapshots:
'@oxc-project/types@0.115.0': {}
'@oxfmt/binding-android-arm-eabi@0.40.0':
optional: true
'@oxfmt/binding-android-arm64@0.40.0':
optional: true
'@oxfmt/binding-darwin-arm64@0.40.0':
optional: true
'@oxfmt/binding-darwin-x64@0.40.0':
optional: true
'@oxfmt/binding-freebsd-x64@0.40.0':
optional: true
'@oxfmt/binding-linux-arm-gnueabihf@0.40.0':
optional: true
'@oxfmt/binding-linux-arm-musleabihf@0.40.0':
optional: true
'@oxfmt/binding-linux-arm64-gnu@0.40.0':
optional: true
'@oxfmt/binding-linux-arm64-musl@0.40.0':
optional: true
'@oxfmt/binding-linux-ppc64-gnu@0.40.0':
optional: true
'@oxfmt/binding-linux-riscv64-gnu@0.40.0':
optional: true
'@oxfmt/binding-linux-riscv64-musl@0.40.0':
optional: true
'@oxfmt/binding-linux-s390x-gnu@0.40.0':
optional: true
'@oxfmt/binding-linux-x64-gnu@0.40.0':
optional: true
'@oxfmt/binding-linux-x64-musl@0.40.0':
optional: true
'@oxfmt/binding-openharmony-arm64@0.40.0':
optional: true
'@oxfmt/binding-win32-arm64-msvc@0.40.0':
optional: true
'@oxfmt/binding-win32-ia32-msvc@0.40.0':
optional: true
'@oxfmt/binding-win32-x64-msvc@0.40.0':
optional: true
'@oxlint/binding-android-arm-eabi@1.55.0':
optional: true
@@ -16153,13 +16293,6 @@ snapshots:
yaml: 2.8.2
yaml-eslint-parser: 2.0.0
eslint-plugin-prettier@5.5.5(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1):
dependencies:
eslint: 10.0.3(jiti@2.6.1)
prettier: 3.8.1
prettier-linter-helpers: 1.0.1
synckit: 0.11.12
eslint-plugin-turbo@2.8.16(eslint@10.0.3(jiti@2.6.1))(turbo@2.8.16):
dependencies:
dotenv: 16.0.3
@@ -16360,8 +16493,6 @@ snapshots:
fast-deep-equal@3.1.3: {}
fast-diff@1.3.0: {}
fast-equals@6.0.0: {}
fast-fifo@1.3.2: {}
@@ -18129,6 +18260,30 @@ snapshots:
object-keys: 1.1.1
safe-push-apply: 1.0.0
oxfmt@0.40.0:
dependencies:
tinypool: 2.1.0
optionalDependencies:
'@oxfmt/binding-android-arm-eabi': 0.40.0
'@oxfmt/binding-android-arm64': 0.40.0
'@oxfmt/binding-darwin-arm64': 0.40.0
'@oxfmt/binding-darwin-x64': 0.40.0
'@oxfmt/binding-freebsd-x64': 0.40.0
'@oxfmt/binding-linux-arm-gnueabihf': 0.40.0
'@oxfmt/binding-linux-arm-musleabihf': 0.40.0
'@oxfmt/binding-linux-arm64-gnu': 0.40.0
'@oxfmt/binding-linux-arm64-musl': 0.40.0
'@oxfmt/binding-linux-ppc64-gnu': 0.40.0
'@oxfmt/binding-linux-riscv64-gnu': 0.40.0
'@oxfmt/binding-linux-riscv64-musl': 0.40.0
'@oxfmt/binding-linux-s390x-gnu': 0.40.0
'@oxfmt/binding-linux-x64-gnu': 0.40.0
'@oxfmt/binding-linux-x64-musl': 0.40.0
'@oxfmt/binding-openharmony-arm64': 0.40.0
'@oxfmt/binding-win32-arm64-msvc': 0.40.0
'@oxfmt/binding-win32-ia32-msvc': 0.40.0
'@oxfmt/binding-win32-x64-msvc': 0.40.0
oxlint@1.55.0:
optionalDependencies:
'@oxlint/binding-android-arm-eabi': 1.55.0
@@ -18550,14 +18705,8 @@ snapshots:
prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.1:
dependencies:
fast-diff: 1.3.0
prettier@2.8.8: {}
prettier@3.8.1: {}
pretty-bytes@5.6.0: {}
pretty-bytes@6.1.1: {}
@@ -19451,12 +19600,6 @@ snapshots:
postcss-sorting: 10.0.0(postcss@8.5.8)
stylelint: 17.4.0(typescript@5.9.3)
stylelint-prettier@5.0.3(prettier@3.8.1)(stylelint@17.4.0(typescript@5.9.3)):
dependencies:
prettier: 3.8.1
prettier-linter-helpers: 1.0.1
stylelint: 17.4.0(typescript@5.9.3)
stylelint-scss@7.0.0(stylelint@17.4.0(typescript@5.9.3)):
dependencies:
css-tree: 3.2.1
@@ -19670,6 +19813,8 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
tinypool@2.1.0: {}
tinyrainbow@3.1.0: {}
tippy.js@6.3.7: