build: use premove to clean directories (#8593)

This commit is contained in:
Bjorn Lu 2025-09-19 15:08:35 +08:00 committed by GitHub
parent 438c44e7fb
commit 7a66112c05
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 33 additions and 161 deletions

View File

@ -55,7 +55,7 @@
"eslint": "^9.35.0",
"magic-string": "^0.30.19",
"pathe": "^2.0.3",
"rimraf": "^6.0.1",
"premove": "^4.0.0",
"rollup": "^4.50.2",
"rollup-plugin-dts": "^6.2.3",
"rollup-plugin-license": "^3.6.0",

View File

@ -58,12 +58,12 @@
"scripts": {
"typecheck": "tsc -p ./src/client/tsconfig.json --noEmit",
"typecheck:why": "tsc -p ./src/client/tsconfig.json --noEmit --explainFiles > explainTypes.txt",
"build": "rimraf dist && pnpm build:node && pnpm build:client",
"build": "premove dist && pnpm build:node && pnpm build:client",
"build:client": "vite build src/client",
"build:node": "rollup -c",
"dev:client": "vite build src/client --watch",
"dev:node": "rollup -c --watch --watch.include 'src/**'",
"dev": "rimraf dist && pnpm run --stream '/^dev:/'"
"dev": "premove dist && pnpm run --stream '/^dev:/'"
},
"peerDependencies": {
"playwright": "*",

View File

@ -37,7 +37,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch --watch.include 'src/**'"
},
"peerDependencies": {

View File

@ -41,7 +41,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch --watch.include 'src/**'"
},
"peerDependencies": {

View File

@ -29,7 +29,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
},
"dependencies": {

View File

@ -54,7 +54,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
},
"peerDependencies": {

View File

@ -30,7 +30,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
},
"dependencies": {

View File

@ -38,7 +38,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
},
"dependencies": {

View File

@ -38,7 +38,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
},
"dependencies": {

View File

@ -29,7 +29,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
}
}

View File

@ -34,7 +34,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && pnpm build:node && pnpm build:client",
"build": "premove dist && pnpm build:node && pnpm build:client",
"build:client": "vite build",
"build:node": "rollup -c",
"typecheck": "tsc --noEmit",

View File

@ -81,7 +81,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch"
},
"dependencies": {

View File

@ -77,7 +77,7 @@
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
},
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch --watch.include 'src/**' -m inline",
"typecheck": "tsc --noEmit"
},

View File

@ -120,7 +120,7 @@
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
},
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "NODE_OPTIONS=\"--max-old-space-size=8192\" rollup -c --watch -m inline"
},
"peerDependencies": {

View File

@ -33,7 +33,7 @@
"dist"
],
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch --watch.include 'src/**'",
"typecheck": "tsc --noEmit"
},

View File

@ -33,7 +33,7 @@
"node": "^18.0.0 || >=20.0.0"
},
"scripts": {
"build": "rimraf dist && rollup -c",
"build": "premove dist && rollup -c",
"dev": "rollup -c --watch --watch.include 'src/**'",
"typecheck": "tsc --noEmit"
},

158
pnpm-lock.yaml generated
View File

@ -199,9 +199,9 @@ importers:
pathe:
specifier: ^2.0.3
version: 2.0.3
rimraf:
specifier: ^6.0.1
version: 6.0.1
premove:
specifier: ^4.0.0
version: 4.0.0
rollup:
specifier: ^4.50.2
version: 4.50.2
@ -2290,9 +2290,6 @@ packages:
resolution: {integrity: sha512-NKBGBSIKUG584qrS1tyxVpX/AKJKQw5HgjYEnPLC0QsTw79JrGn+qUr8CXFb955Iy7GUdiiUv1rJ6JBGvaKb6w==}
engines: {node: '>=18'}
'@emnapi/core@1.4.5':
resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==}
'@emnapi/core@1.5.0':
resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
@ -2302,9 +2299,6 @@ packages:
'@emnapi/runtime@1.5.0':
resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
'@emnapi/wasi-threads@1.0.4':
resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==}
'@emnapi/wasi-threads@1.1.0':
resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
@ -2878,15 +2872,6 @@ packages:
'@types/node':
optional: true
'@inquirer/confirm@5.1.16':
resolution: {integrity: sha512-j1a5VstaK5KQy8Mu8cHmuQvN1Zc62TbLhjJxwHvKPPKEoowSF6h/0UdOpA9DNdWZ+9Inq73+puRq1df6OJ8Sag==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/confirm@5.1.18':
resolution: {integrity: sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==}
engines: {node: '>=18'}
@ -2896,15 +2881,6 @@ packages:
'@types/node':
optional: true
'@inquirer/core@10.2.0':
resolution: {integrity: sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/core@10.2.2':
resolution: {integrity: sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==}
engines: {node: '>=18'}
@ -3104,9 +3080,6 @@ packages:
resolution: {integrity: sha512-RuzCup9Ct91Y7V79xwCb146RaBRHZ7NBbrIUySumd1rpKqHL5OonaqrGIbug5hNwP/fRyxFMA6ISgw4FTtYFYg==}
engines: {node: '>=18'}
'@napi-rs/wasm-runtime@1.0.3':
resolution: {integrity: sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==}
'@napi-rs/wasm-runtime@1.0.5':
resolution: {integrity: sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==}
@ -4094,9 +4067,6 @@ packages:
'@tootallnate/quickjs-emscripten@0.23.0':
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
'@tybys/wasm-util@0.10.0':
resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
'@tybys/wasm-util@0.10.1':
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
@ -4796,10 +4766,6 @@ packages:
alien-signals@2.0.5:
resolution: {integrity: sha512-PdJB6+06nUNAClInE3Dweq7/2xVAYM64vvvS1IHVHSJmgeOtEdrAGyp7Z2oJtYm0B342/Exd2NT0uMJaThcjLQ==}
ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@ -6305,11 +6271,6 @@ packages:
engines: {node: '>=16 || 14 >=14.18'}
hasBin: true
glob@11.0.0:
resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==}
engines: {node: 20 || >=22}
hasBin: true
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Glob versions prior to v9 are no longer supported
@ -6837,10 +6798,6 @@ packages:
resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==}
engines: {node: '>=14'}
jackspeak@4.0.1:
resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==}
engines: {node: 20 || >=22}
jake@10.9.4:
resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==}
engines: {node: '>=10'}
@ -7672,9 +7629,6 @@ packages:
resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
engines: {node: '>= 14'}
package-json-from-dist@1.0.0:
resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
package-manager-detector@1.3.0:
resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
@ -7749,10 +7703,6 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
path-scurry@2.0.0:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
path-to-regexp@0.1.7:
resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
@ -7869,6 +7819,11 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
premove@4.0.0:
resolution: {integrity: sha512-zim/Hr4+FVdCIM7zL9b9Z0Wfd5Ya3mnKtiuDv7L5lzYzanSq6cOcVJ7EFcgK4I0pt28l8H0jX/x3nyog380XgQ==}
engines: {node: '>=6'}
hasBin: true
pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
@ -8143,11 +8098,6 @@ packages:
rgb2hex@0.2.5:
resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==}
rimraf@6.0.1:
resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==}
engines: {node: 20 || >=22}
hasBin: true
rollup-plugin-dts@6.2.3:
resolution: {integrity: sha512-UgnEsfciXSPpASuOelix7m4DrmyQgiaWBnvI0TM4GxuDh5FkqW8E5hu57bCxXB90VvR1WNfLV80yEDN18UogSA==}
engines: {node: '>=16'}
@ -8896,10 +8846,6 @@ packages:
resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
engines: {node: '>=10'}
type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
type-fest@2.13.0:
resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==}
engines: {node: '>=12.20'}
@ -10601,12 +10547,6 @@ snapshots:
dependencies:
'@edge-runtime/primitives': 6.0.0
'@emnapi/core@1.4.5':
dependencies:
'@emnapi/wasi-threads': 1.0.4
tslib: 2.8.1
optional: true
'@emnapi/core@1.5.0':
dependencies:
'@emnapi/wasi-threads': 1.1.0
@ -10623,11 +10563,6 @@ snapshots:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.0.4':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.1.0':
dependencies:
tslib: 2.8.1
@ -11044,13 +10979,6 @@ snapshots:
optionalDependencies:
'@types/node': 22.18.6
'@inquirer/confirm@5.1.16(@types/node@22.18.6)':
dependencies:
'@inquirer/core': 10.2.0(@types/node@22.18.6)
'@inquirer/type': 3.0.8(@types/node@22.18.6)
optionalDependencies:
'@types/node': 22.18.6
'@inquirer/confirm@5.1.18(@types/node@22.18.6)':
dependencies:
'@inquirer/core': 10.2.2(@types/node@22.18.6)
@ -11058,19 +10986,6 @@ snapshots:
optionalDependencies:
'@types/node': 22.18.6
'@inquirer/core@10.2.0(@types/node@22.18.6)':
dependencies:
'@inquirer/figures': 1.0.13
'@inquirer/type': 3.0.8(@types/node@22.18.6)
ansi-escapes: 4.3.2
cli-width: 4.1.0
mute-stream: 2.0.0
signal-exit: 4.1.0
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.18.6
'@inquirer/core@10.2.2(@types/node@22.18.6)':
dependencies:
'@inquirer/ansi': 1.0.0
@ -11278,13 +11193,6 @@ snapshots:
outvariant: 1.4.3
strict-event-emitter: 0.5.1
'@napi-rs/wasm-runtime@1.0.3':
dependencies:
'@emnapi/core': 1.4.5
'@emnapi/runtime': 1.4.5
'@tybys/wasm-util': 0.10.0
optional: true
'@napi-rs/wasm-runtime@1.0.5':
dependencies:
'@emnapi/core': 1.5.0
@ -11389,7 +11297,7 @@ snapshots:
'@oxc-minify/binding-wasm32-wasi@0.82.3':
dependencies:
'@napi-rs/wasm-runtime': 1.0.3
'@napi-rs/wasm-runtime': 1.0.5
optional: true
'@oxc-minify/binding-wasm32-wasi@0.89.0':
@ -12065,11 +11973,6 @@ snapshots:
'@tootallnate/quickjs-emscripten@0.23.0': {}
'@tybys/wasm-util@0.10.0':
dependencies:
tslib: 2.8.1
optional: true
'@tybys/wasm-util@0.10.1':
dependencies:
tslib: 2.8.1
@ -12253,7 +12156,7 @@ snapshots:
'@types/yauzl@2.10.3':
dependencies:
'@types/node': 20.19.17
'@types/node': 22.18.6
optional: true
'@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)':
@ -12925,10 +12828,6 @@ snapshots:
alien-signals@2.0.5: {}
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
ansi-regex@5.0.1: {}
ansi-regex@6.0.1: {}
@ -14786,15 +14685,6 @@ snapshots:
minipass: 7.1.2
path-scurry: 1.11.1
glob@11.0.0:
dependencies:
foreground-child: 3.1.1
jackspeak: 4.0.1
minimatch: 10.0.3
minipass: 7.1.2
package-json-from-dist: 1.0.0
path-scurry: 2.0.0
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
@ -15309,12 +15199,6 @@ snapshots:
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
jackspeak@4.0.1:
dependencies:
'@isaacs/cliui': 8.0.2
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
jake@10.9.4:
dependencies:
async: 3.2.6
@ -16108,7 +15992,7 @@ snapshots:
dependencies:
'@bundled-es-modules/cookie': 2.0.1
'@bundled-es-modules/statuses': 1.0.1
'@inquirer/confirm': 5.1.16(@types/node@22.18.6)
'@inquirer/confirm': 5.1.18(@types/node@22.18.6)
'@mswjs/interceptors': 0.39.2
'@open-draft/deferred-promise': 2.2.0
'@open-draft/until': 2.1.0
@ -16414,8 +16298,6 @@ snapshots:
degenerator: 5.0.1
netmask: 2.0.2
package-json-from-dist@1.0.0: {}
package-manager-detector@1.3.0: {}
package-name-regex@2.0.6: {}
@ -16474,11 +16356,6 @@ snapshots:
lru-cache: 10.2.2
minipass: 7.1.2
path-scurry@2.0.0:
dependencies:
lru-cache: 11.0.2
minipass: 7.1.2
path-to-regexp@0.1.7: {}
path-to-regexp@6.3.0: {}
@ -16590,6 +16467,8 @@ snapshots:
prelude-ls@1.2.1: {}
premove@4.0.0: {}
pretty-bytes@5.6.0: {}
pretty-bytes@6.1.1: {}
@ -16886,11 +16765,6 @@ snapshots:
rgb2hex@0.2.5: {}
rimraf@6.0.1:
dependencies:
glob: 11.0.0
package-json-from-dist: 1.0.0
rollup-plugin-dts@6.2.3(rollup@4.50.2)(typescript@5.9.2):
dependencies:
magic-string: 0.30.19
@ -17753,8 +17627,6 @@ snapshots:
type-fest@0.16.0: {}
type-fest@0.21.3: {}
type-fest@2.13.0: {}
type-fest@4.41.0: {}
@ -17994,13 +17866,13 @@ snapshots:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.3.0(rollup@4.50.2)
chokidar: 3.6.0
debug: 4.4.1
debug: 4.4.3
fast-glob: 3.3.3
local-pkg: 0.5.1
magic-string: 0.30.19
minimatch: 9.0.5
mlly: 1.8.0
unplugin: 2.3.8
unplugin: 2.3.10
vue: 3.5.21(typescript@5.9.2)
optionalDependencies:
'@babel/parser': 7.28.4

View File

@ -3,7 +3,7 @@
"type": "module",
"private": true,
"scripts": {
"build": "rimraf dist && tsc -p tsconfig.json",
"build": "premove dist && tsc -p tsconfig.json",
"check": "tsc -p tsconfig.check.json",
"test": "pnpm build && pnpm check"
},