From 4efadb1f67ecdaa87590dbe1292cf7360a4a740b Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 10 Aug 2026 16:58:14 +0800 Subject: [PATCH 1/4] chore: migrate to Rstack CLI --- .gitignore | 2 + .prettierignore | 1 - .prettierrc | 3 - .rstack/hooks/pre-commit | 1 + package.json | 27 +- pnpm-lock.yaml | 471 +++++++++++++++++++---------- pnpm-workspace.yaml | 1 - rslib.config.ts | 16 - rslint.config.ts | 3 - rstack.config.ts | 31 ++ src/template-manager.ts | 1 + test/agents.test.ts | 2 +- test/builtin-tools.test.ts | 2 +- test/cli.test.ts | 2 +- test/custom-tools.test.ts | 2 +- test/git.test.ts | 2 +- test/help.test.ts | 2 +- test/index.test.ts | 2 +- test/package-manager-files.test.ts | 2 +- test/skills.test.ts | 2 +- test/template-manager.test.ts | 2 +- 21 files changed, 361 insertions(+), 216 deletions(-) delete mode 100644 .prettierignore delete mode 100644 .prettierrc create mode 100644 .rstack/hooks/pre-commit delete mode 100644 rslib.config.ts delete mode 100644 rslint.config.ts create mode 100644 rstack.config.ts diff --git a/.gitignore b/.gitignore index c9066c6..5b1e0a8 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ dist/ test-results test-temp-* .rslib +.rstack/cache +.rstack/hooks/_ # IDE .vscode/* diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index bd5535a..0000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -pnpm-lock.yaml diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 544138b..0000000 --- a/.prettierrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "singleQuote": true -} diff --git a/.rstack/hooks/pre-commit b/.rstack/hooks/pre-commit new file mode 100644 index 0000000..8890b96 --- /dev/null +++ b/.rstack/hooks/pre-commit @@ -0,0 +1 @@ +rs staged diff --git a/package.json b/package.json index 423b169..22ebe7d 100644 --- a/package.json +++ b/package.json @@ -24,29 +24,17 @@ "dist" ], "scripts": { - "build": "rslib", - "dev": "rslib --watch", - "lint": "rslint && prettier . --check", - "lint:fix": "rslint --fix && prettier . --write", - "prepare": "simple-git-hooks", - "test": "rstest", + "build": "rs lib", + "dev": "rs lib --watch", + "lint": "rs lint && rs fmt --check", + "lint:fix": "rs lint --fix && rs fmt", + "prepare": "rs setup", + "test": "rs test", "bump": "npx bumpp" }, - "simple-git-hooks": { - "pre-commit": "npx nano-staged" - }, - "nano-staged": { - "*.{js,jsx,ts,tsx,mjs,cjs}": [ - "rslint", - "prettier --write" - ] - }, "devDependencies": { "@clack/prompts": "^1.7.0", "@microsoft/api-extractor": "^7.58.9", - "@rslib/core": "0.23.2", - "@rslint/core": "^0.6.5", - "@rstest/core": "0.11.1", "@types/fs-extra": "^11.0.4", "@types/minimist": "^1.2.5", "@types/node": "24.13.3", @@ -54,10 +42,9 @@ "deepmerge": "^4.3.1", "fs-extra": "^11.3.6", "minimist": "^1.2.8", - "prettier": "^3.9.5", "rimraf": "^6.1.3", + "rstack": "^0.4.0", "rslog": "^2.2.0", - "simple-git-hooks": "^2.13.1", "tinyexec": "^1.2.4", "typescript": "^7.0.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b3fc9e..7e758be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,15 +14,6 @@ importers: '@microsoft/api-extractor': specifier: ^7.58.9 version: 7.58.9(@types/node@24.13.3) - '@rslib/core': - specifier: 0.23.2 - version: 0.23.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(typescript@7.0.2) - '@rslint/core': - specifier: ^0.6.5 - version: 0.6.5 - '@rstest/core': - specifier: 0.11.1 - version: 0.11.1 '@types/fs-extra': specifier: ^11.0.4 version: 11.0.4 @@ -44,18 +35,15 @@ importers: minimist: specifier: ^1.2.8 version: 1.2.8 - prettier: - specifier: ^3.9.5 - version: 3.9.5 rimraf: specifier: ^6.1.3 version: 6.1.3 rslog: specifier: ^2.2.0 version: 2.2.0 - simple-git-hooks: - specifier: ^2.13.1 - version: 2.13.1 + rstack: + specifier: ^0.4.0 + version: 0.4.0(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(typescript@7.0.2) tinyexec: specifier: ^1.2.4 version: 1.2.4 @@ -135,14 +123,14 @@ packages: resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==} engines: {node: '>= 20.12.0'} - '@emnapi/core@1.11.1': - resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + '@emnapi/core@1.11.3': + resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==} - '@emnapi/runtime@1.11.1': - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@emnapi/wasi-threads@1.2.2': - resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + '@emnapi/wasi-threads@1.2.3': + resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} '@microsoft/api-extractor-model@7.33.8': resolution: {integrity: sha512-aIcoQggPyer3B6Ze3usz0YWC/oBwUHfRH5ETUsr+oT2BRA6SfTJl7IKPcPZkX4UR+PohowzW4uMxsvjrn8vm+w==} @@ -163,8 +151,8 @@ packages: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@rsbuild/core@2.1.5': - resolution: {integrity: sha512-7TW4U1SH7VxQZzSTIOzvwj5lo9uNTmGpsmTXFr4axQAE4giLDKP3kVUA1ZW4P3/Mz4QQJJyvZP29mVcb8kZCfg==} + '@rsbuild/core@2.1.10': + resolution: {integrity: sha512-lwxC5w88U2AMv6aNwG3VH7+AV33N4JJQjD//egVWFsMbV+OE/bnfCsurSpX8s3lGyRYkJMwUVN+YXMbmmYZFfw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -173,142 +161,142 @@ packages: core-js: optional: true - '@rslib/core@0.23.2': - resolution: {integrity: sha512-KxSp+/y0BJ1O4oKwxX4ydBY7/ZVeJCUpWAmQniCIct8mTxIQFPGO/ibKbKq2IxZYqRuRpM8g+Dtyq0VbEQf9HQ==} + '@rslib/core@1.0.0-beta.2': + resolution: {integrity: sha512-A0j3MBP8Kga8Qrh7znO2UKf00Sga37PJCiTGUqVVBHb+u58fNoGXZtFAgeH6qKjf5eU1wYt4WptXX/1blOAfRw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@microsoft/api-extractor': ^7 - typescript: ^5 || ^6 || ^7.0.1-0 + typescript: ^5 || ^6 || ^7 peerDependenciesMeta: '@microsoft/api-extractor': optional: true typescript: optional: true - '@rslint/core@0.6.5': - resolution: {integrity: sha512-BAy65hSKOhHrma20Rxqf1DTyGNYBSQGBeo21JKc0bgHzbkTbUcyPSz6EpdI3woDe0HqwGmOsl/tPTGqKvgsz3g==} + '@rslint/core@0.7.3': + resolution: {integrity: sha512-vRg6dOzyTie/fMOfvQ+4v3CoZ+IMyAfWyFC9bYf2QiKOV+csE/JHTV+yvh68YAEZvsDuQr35+8yerJFYLaFMPw==} hasBin: true peerDependencies: - jiti: ^2.0.0 + jiti: ^2.7.0 peerDependenciesMeta: jiti: optional: true - '@rslint/native-darwin-arm64@0.6.5': - resolution: {integrity: sha512-5HDBqR1XgZ29pNEjSnm/YccWpwEWEl9d8rUQZkbDUz3x2VWylfok8Ty1qjDHVAas1k01euMS1YJA4/nku9N0Iw==} + '@rslint/native-darwin-arm64@0.7.3': + resolution: {integrity: sha512-BJOWoF5lD+6Kyigxfo38rXviS5cvHgZwQJ2zOjAal2Xiv2mn8Il88KGs8M/KwWNryFcQPGp5wjk6i6uPHwYb1w==} cpu: [arm64] os: [darwin] - '@rslint/native-darwin-x64@0.6.5': - resolution: {integrity: sha512-YU8w9N7NbBBDZ/B8nsmZmVLL5A40AnUxsywsCvDT6nPUhEqHJvCbwze5LHQFT4RvhJEfC/ye/7pqL59SnKN5tA==} + '@rslint/native-darwin-x64@0.7.3': + resolution: {integrity: sha512-3WIJocfinQs9YkzqgNXBIQNOylpz4IUI6LPzARE4tUJz9GgZF9Q7IEuscpVgkVUkh/P+Pr4CUplivggzXiBFBw==} cpu: [x64] os: [darwin] - '@rslint/native-linux-arm64-gnu@0.6.5': - resolution: {integrity: sha512-IGt5Op5dKO9ZbI9vOjZrgBnAM3QfT/X7PNjUVmYYso8OvseapzQv0E6D8qgTJVrN5874VWBwXgc7a/cylYR6IA==} + '@rslint/native-linux-arm64-gnu@0.7.3': + resolution: {integrity: sha512-lLKQ+A/GiTvzOjtiK0euWul40nmQziR925JXznqcXgT0g1UdU7FwWdcy6l/UCQW8aVgzycV8yJMdaKmz+6H7Vg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rslint/native-linux-arm64-musl@0.6.5': - resolution: {integrity: sha512-cywsTmLudo4a6Rlp4bsriS9QF4n0aMZc25ArgxB/j3sIzHSREIoNdUYx1VHz7pOUJy2W5wmNfHIVWb+uz6R6eA==} + '@rslint/native-linux-arm64-musl@0.7.3': + resolution: {integrity: sha512-i6jVTIii8eIHFfb/UNMNRvZGPiW/yH4ZgfX/+77kxAnAYHm0wx2qXakW9M8LDTdtCz1UBqV0UL7NB4gBQyDPwQ==} cpu: [arm64] os: [linux] libc: [musl] - '@rslint/native-linux-x64-gnu@0.6.5': - resolution: {integrity: sha512-4/d3jkZQ0lnf1GtiB0WCLoXfMCPxD04mihVNWmC2qNj5JF8OKTg9tKbfpwZNjJDDVK0noj9JiynQGhVUZCMNDQ==} + '@rslint/native-linux-x64-gnu@0.7.3': + resolution: {integrity: sha512-Qta8uiB4c3zuLK/1pCgx9DzhtCvQ/i31TDoNSA3WpY17Tsa82CGXho1l6bCA1/9dbuOz5lwCsYALQLVe8/o/rQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rslint/native-linux-x64-musl@0.6.5': - resolution: {integrity: sha512-uz0q2MBm+iAbe+ecFA3JKsmlN12DWxNQYF0wHn81kpF5QPMlM62xsYFLHIs4ER7FtC2oR3SOtCcWsyIGRCiBxQ==} + '@rslint/native-linux-x64-musl@0.7.3': + resolution: {integrity: sha512-urpqLlJISIFAtiXCGGwRZgfnSYpFDi5lzk6ibSgBPvJmv94yhxMpDoutpHTA3UyVDeH33axYGRonImLf7UfBSA==} cpu: [x64] os: [linux] libc: [musl] - '@rslint/native-win32-arm64-msvc@0.6.5': - resolution: {integrity: sha512-bud+61vGaVBO1ykKvaM1vtPILQi0cl5nad0DboBmo4EtEykbZyapZ3aM/g8NV/ldJmkNaFQdwuXcrdfA9+d7Vg==} + '@rslint/native-win32-arm64-msvc@0.7.3': + resolution: {integrity: sha512-jcxjgUPMl725p0wjXLPIPMeARK41FwHXiWVmg4AqIHJBfpXpwM+xozVn4Dd5GL3TO38zjmP881bKOvtPwnFl0Q==} cpu: [arm64] os: [win32] - '@rslint/native-win32-x64-msvc@0.6.5': - resolution: {integrity: sha512-7iQozrpTvh/Vj7x5jTYaG+9zKWJkiXz0PgemFNUMIXLCZHWsJffPy7D1ls5q2Rfe6hshFJ9d6UxGk1KmLpZQiw==} + '@rslint/native-win32-x64-msvc@0.7.3': + resolution: {integrity: sha512-R87nmvTUZry9DPF8Cz6TGLLAikIyUxHDPwzonrYaJ0kTLeJAgDMfVIY1s5pUxF3heQD6G2QXjhpU/uPwqnvmzg==} cpu: [x64] os: [win32] - '@rspack/binding-darwin-arm64@2.1.3': - resolution: {integrity: sha512-oOGI0RSL89Ehu9T22rugmfUY9OC2eBqLMeWRYsu7bhlUrjoXeVfGBBSEXCse666BQ1sAiM8hD/k7nqVria/okQ==} + '@rspack/binding-darwin-arm64@2.1.8': + resolution: {integrity: sha512-kia+eWtyWPvR4ntg1bWYoVU8nLPbUg2fG3zgBEocsTcsh5ZENSiEPxEKymDgMyIMONUqj611E0775cdUBoNmqw==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@2.1.3': - resolution: {integrity: sha512-sVqWXNiFTMXAyN362y6IA+eJc8LXZKfHdhEJ/zDuMmRp+u2IvhgaF8tk3vX/OmeB9jydVjySijuiqk8No/FoCA==} + '@rspack/binding-darwin-x64@2.1.8': + resolution: {integrity: sha512-08pBkFhlD3Y3Qzh94w/Fc3skaIE3e96kl2P14m8+tnYTcglpOfpA2OwS3iHt9fOqy0HjoAVe6/MW3cBgs5iabA==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@2.1.3': - resolution: {integrity: sha512-aCy9Zli/2Qf+Ee5otXfFQ6mhv5fEyn0wIoBVmouqtJoqOO21et6UTtJ+LHLsMDolwGLyHERAljeSFSmYX3/O5A==} + '@rspack/binding-linux-arm64-gnu@2.1.8': + resolution: {integrity: sha512-KLniMc9GzhKpVqhPzaJo3KJwzdAllXVVqZIk/uL1QipXOxs57fgM4u7IexKPFVla0o/u1PQG/Ah2YLDmda24Ow==} cpu: [arm64] os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-musl@2.1.3': - resolution: {integrity: sha512-flIE7eluz0d21Fn28EVm3vPwoJooOSqtmjLFVSuOMcoCbwV9clfor195oIrAppp/W7dL/3XquFuVfrsa01Jy8Q==} + '@rspack/binding-linux-arm64-musl@2.1.8': + resolution: {integrity: sha512-yUKAxHNGnICtw5RnxFWu4dHtsz/tdt7rbeFcsINNVre9HcrRxf5XP+FbOGL/SMxd9oM9XCo10paU2WckTKwbEA==} cpu: [arm64] os: [linux] libc: [musl] - '@rspack/binding-linux-riscv64-gnu@2.1.3': - resolution: {integrity: sha512-yojg8elye1nhsNeGncw0NrZ4pMGF7NVebR80CLg72TXyzfYwFJlFTdU5yUYb1Gy+JXIvrSCwzQt2QkyiEvmkfg==} + '@rspack/binding-linux-riscv64-gnu@2.1.8': + resolution: {integrity: sha512-gg4S1jaitwYPHR9HZ3zNGH1EK2GXINm66p4kEpOP1gbc+akyOouVF/dMcu9NGPlRg58FbEhVRZYKu7Z/zcpKHg==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rspack/binding-linux-riscv64-musl@2.1.3': - resolution: {integrity: sha512-6PvbXb3FOK4X3S5QGvoSW/sqExmsvAoPnQ/YSFrXvTphkXFezA7wnobmGBHT8JQP31hcFRzJHIZSIOKktzSzzg==} + '@rspack/binding-linux-riscv64-musl@2.1.8': + resolution: {integrity: sha512-b/aU5j1h368SLNyz5u+flqpZVhzSZ1UIslaj9sZJuAvqkGWv3xsjc/28/PTo/RYXCxd0FNVAxTxWHKvRiAAS8w==} cpu: [riscv64] os: [linux] libc: [musl] - '@rspack/binding-linux-x64-gnu@2.1.3': - resolution: {integrity: sha512-lMXjoGKf0SnviH596fmTszgtnXLHmWOoE90G8grG9MvKVa3pelRmfps5ewZL9s8ENf3NXRfOxIhIf/M9as6MqA==} + '@rspack/binding-linux-x64-gnu@2.1.8': + resolution: {integrity: sha512-EyegohSx0BJRqieCg9f/caCqFARRWkqI5hwJt6k530MoOTLeq8I3vsbeg24/2MktwIC1dmJi8bl0+WhPKQs4eQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-musl@2.1.3': - resolution: {integrity: sha512-0esT35v7pW2ZsJTMc/zDUHwpNXlPqyUCyuiLJvrAAUcdENrgOVe4DmFrgVJ2hwqI4GjeN1VBnGRJ8c+edAHH5w==} + '@rspack/binding-linux-x64-musl@2.1.8': + resolution: {integrity: sha512-I6E+goN+UQ297q4r1qdbiAyNCI3t0+a5Y0xDIAPOZfRDRxDTnH/LF8/y65gjsJoKRKyn7zxRC0T/NURTkRNQ9A==} cpu: [x64] os: [linux] libc: [musl] - '@rspack/binding-wasm32-wasi@2.1.3': - resolution: {integrity: sha512-UsrDjD59UEP0mhfN/Z+uTc3vLgiUvIr+mn92WC1sbQi9gtZohTYvaQYFhWuMkBqsACGcmZp704JAbbSrVrVYCA==} + '@rspack/binding-wasm32-wasi@2.1.8': + resolution: {integrity: sha512-om7GAKWAU3lcSvbCon2m7mzw8v9OTrO2LW2MZ1lGe/uVJJmwGGkl9HVoXFyWFLrN6YVFyx8iP+AkN4owDWB9Cw==} cpu: [wasm32] - '@rspack/binding-win32-arm64-msvc@2.1.3': - resolution: {integrity: sha512-42RS/SwKBTkNvXIPZXqTn0yEFN8zwGRfRe/ly0GDvPp/KxpLMFWxJmLxgtoLompU+0UCGvV4KpcBENt3oWs6BA==} + '@rspack/binding-win32-arm64-msvc@2.1.8': + resolution: {integrity: sha512-WDnsP/SUb9zbxyGX9XjPw5AXrX86u5oidn0MDdfJduOOqdCSpHwmRjlQ8NUJhbBq9WqVJMFlcab7NwZVWX/yyg==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@2.1.3': - resolution: {integrity: sha512-thk43H1JHHbetNF3txcsGXeOwZi2m6Luf/uVUqNORXjxr5VV8woHAgaAx4QXVZRg70z1VDjd8mBWnHBnKI0FGA==} + '@rspack/binding-win32-ia32-msvc@2.1.8': + resolution: {integrity: sha512-QiMQMPNDiY3dhhaIdaFPzcPDC06cEYkNY89ea+EmDvNVgZq6V+2mFS/WnzZVMeEbGAYJCjsv/ABhhLT1hlYMvg==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@2.1.3': - resolution: {integrity: sha512-ObaUcj+BHo/aBL1weyM3orApaHyAR5Phr3YNEpQEifxjZbNKM1iO5X5prN4OqEv3H+7o5e/Wh9Fy3N7Vvd+psA==} + '@rspack/binding-win32-x64-msvc@2.1.8': + resolution: {integrity: sha512-b7sA5eB64vo2mbsuc//MOYzVLeCKHPn0dfP/GmNEoHdWbhRgZ/orZLWurYMQj04ELTLW6YCJEy59g5KRzNYHfw==} cpu: [x64] os: [win32] - '@rspack/binding@2.1.3': - resolution: {integrity: sha512-4UGXJqUHmm36tWG1GgFZz3p8sQ5JuSgWI+gq1xPPoihS41uYJL3cXuJnirTeWsmVrusmYZTQhgU3tl3VYGcJYg==} + '@rspack/binding@2.1.8': + resolution: {integrity: sha512-tmAyHzDbPiy8V7HvQqtuPsbs6dPgwV0YjzW5XrPRV9gzf+Hdm7pvsZJKE1QKO9WV5RuvGYav98xIX6O+abZxzQ==} - '@rspack/core@2.1.3': - resolution: {integrity: sha512-1iGnxLrP+iyY0ZSjLZeQTaxrISpQz4yLyqJPmaF/l4uw27/dBcrloszAeLOJQ9jiv7EJtU0T5zB+LOFPpivIxA==} + '@rspack/core@2.1.8': + resolution: {integrity: sha512-na1kyA6Mj8/LWw9O3A8NsrG9rNKN3Iq2WiXrEuIwsU5r/Nl/evm3hO7bWKHxgsRyydI6W7okwx3MXgf8rzel6g==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 @@ -319,13 +307,13 @@ packages: '@swc/helpers': optional: true - '@rstest/core@0.11.1': - resolution: {integrity: sha512-9iJnDrM/zYuHyk1//CMr/Jer2XughgN3fYagGb1YWpMLUke+E+WXlUPgACwf7OkmIB47/TttbLFK+4zwGDNOFg==} + '@rstest/core@0.11.6': + resolution: {integrity: sha512-P3wgYGDF3JmhapwN3p4DnbNV9N6+E+dlbp0coT1lAuXN5Po6bHeP/rduGLsTUIX85qWxmJD7ekF7nlOKm9RoOA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: happy-dom: ^20.8.3 - jsdom: '*' + jsdom: '>=15.0.0' peerDependenciesMeta: happy-dom: optional: true @@ -513,6 +501,75 @@ packages: resolution: {integrity: sha512-VYNCgUc0nOmC4WJmWw9GkrKdfr8Zl4/rxhC5SvgacBgxiW9W/9NRttUoHHXV8xdII3MaRgkZZVX8Ikzc/Jmjag==} engines: {node: '>=14'} + '@yuku-parser/binding-android-arm64@0.8.3': + resolution: {integrity: sha512-vySYRsMeul9ssvxeHdxgS9ZUIcq7gqljWNqgokjJE0uQWvVvOprihJ6hOsiifVqWsla0BMc3vAFBvNS9QqCw7g==} + cpu: [arm64] + os: [android] + + '@yuku-parser/binding-darwin-arm64@0.8.3': + resolution: {integrity: sha512-+wpB/wqhiZ685Y77I+lj6v9pHSAJ3Y+QMHJmvch0Q0ahIMbNwtKk3s54MhtjCMKO1qpjPbyN/PjuHDg2hbKaVQ==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.8.3': + resolution: {integrity: sha512-jKqiWejj4zVy7pPtEGu4/Ty+pG1h7ooQOXIkm7shKZTSwTU9X8X+eoH11uIeKHZi2SQWV0GhNz0J56eerseysQ==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.8.3': + resolution: {integrity: sha512-FC7zSwzFzd4z9bsId07CiHLR+Iw6yW/LzIQhL5AUtPUuVXLgEyx0rilgbRUYkl1CT3GJcLpkh63WuPZUSgCDzw==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.8.3': + resolution: {integrity: sha512-So61j88b9/ygDnUPlWCm1EUPw4HSxAyDjrNHKgud5N3aRDQ3kw94nW7TriXbo7GBXID9oBHCMNm1r1Fof/Df5Q==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.8.3': + resolution: {integrity: sha512-Nmnn20yJvSSKL8ZdtqReBRSGCDkSMqR5jEk/Sk/cdIdZmqVD49Z6M7w2GbMjdrxMI1MBPbsWFMMWxa93cd5t5g==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.8.3': + resolution: {integrity: sha512-Lfgw7AXJ0rxu6BMPGgfc8HLJWEIr8BHhCzcQp/75k+NM90uCLkHlBNqIg/K42KlSvBgAvu9euOvjdswib+4qJA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.8.3': + resolution: {integrity: sha512-cfRyu87xsJ0tFkHNsnMC4Rq6+xsFJ6i2dc4VAH52d2qLvykEJU/Mdi3ul1O2PyOApX/LoLT3uQZ0fWs3D5XE4w==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.8.3': + resolution: {integrity: sha512-GcQQCUuYxbm6P1n+io/A50rvWKDeWHutIp6rW0ycDOZuEQjOb8hDVgS88+NDyOnd9FfS0/Z6GXopcRFDyKpzOg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.8.3': + resolution: {integrity: sha512-rMkImBGZzg7GZlj8krYtdiezyjYI4igjKWMut5T65jHyNWFigMQrEpn9mDIBflloW9FKhGE3mN6yTZ/N+4HRwg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.8.3': + resolution: {integrity: sha512-/2Pl2cAzCXWxah8FqJapEj/ikpt9cEutEZFCa0hnbfrshkn5+C+aBM3ZDq62d1jsgQjBMmqr5HVhJUA4OAG/Tg==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.8.3': + resolution: {integrity: sha512-Ntnvjoan9jnfLhn7Kn3h8j/bhsbVdQSVmKUqFULKtmwImLCJVHOJbLL4qbEJyrOQ7r/FBL1/c/dRvx/AQWzzXg==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.8.4': + resolution: {integrity: sha512-p7JE8flrj7ijZ/qLjHi4UwKqMarMD6zumbKXhrjp2I2iLJOuTYiQyci2U36VlXcUlNyzsY7E/mLnKCHotbzJVw==} + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -638,12 +695,12 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} - prettier@3.9.5: - resolution: {integrity: sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} engines: {node: '>=14'} hasBin: true @@ -660,19 +717,16 @@ packages: engines: {node: 20 || >=22} hasBin: true - rsbuild-plugin-dts@0.23.2: - resolution: {integrity: sha512-Ve8WOSPyTBjxH40O/6fChJtflL7yqcUtt5zbF0eHDM4hIt35jqLocRlSdCxFJdQm0blTjl6+hkmPa/vNI06ArA==} + rsbuild-plugin-dts@1.0.0-beta.2: + resolution: {integrity: sha512-xOYa/kw/y29kKFFNjd+CIemlq+CB8E7LhqNkIzg7HT9dYNBVBpZvnnL6OEsOgjeuqzKpGSCRgZN/dDoVOk4VhQ==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@microsoft/api-extractor': ^7 - '@rsbuild/core': ^1.0.0 || ^2.0.0-0 - '@typescript/native-preview': ^7.0.0-0 - typescript: ^5 || ^6 || ^7.0.1-0 + '@rsbuild/core': ^2.0.0 + typescript: ^5 || ^6 || ^7 peerDependenciesMeta: '@microsoft/api-extractor': optional: true - '@typescript/native-preview': - optional: true typescript: optional: true @@ -680,15 +734,21 @@ packages: resolution: {integrity: sha512-aTYPzpoq1NrQYB8uK3mXEZgXoLva5lqMfnFNrPLZALsIx7vD1Q+HTp+fuu2aRHV3PJTg63ARDZ8MT0Lth4SoNg==} engines: {node: ^20.19.0 || >=22.12.0} + rstack@0.4.0: + resolution: {integrity: sha512-D+UoBYDhmoWbvCMCfVEFQOe+wdrPPAZXYCUppDVy/KRGC8UOKruyjlTzh3IA9zCzGT7gVDziIQXBuhULmJJpgA==} + engines: {node: '>=22.12.0'} + hasBin: true + peerDependencies: + '@rspress/core': ^2.0.17 + peerDependenciesMeta: + '@rspress/core': + optional: true + semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true - simple-git-hooks@2.13.1: - resolution: {integrity: sha512-WszCLXwT4h2k1ufIXAgsbiTOazqqevFCIncOuUBZJ91DdvWcC5+OFkluWRQPrcuSYd8fjq+o2y1QfWqYMoAToQ==} - hasBin: true - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -715,6 +775,10 @@ packages: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -735,6 +799,12 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + yuku-ast@0.8.4: + resolution: {integrity: sha512-s7EWfWIQkaGmsGnyr/BU0jli9YTN5TvrKIsSmALyRD9elumDQInuhv0BrVObENKVCxr9W3Ikmnx5u02KvfuUmw==} + + yuku-parser@0.8.3: + resolution: {integrity: sha512-KPQcpF9aj77ywlJBIkQWCQ9DObdxnCA8AJdUOmA5CZZx042Xt4+dvbQmPJfWxF3E+KG5dVAZ2fBKuDJ8VsKWgA==} + snapshots: '@ast-grep/napi-darwin-arm64@0.37.0': @@ -788,18 +858,18 @@ snapshots: fast-wrap-ansi: 0.2.0 sisteransi: 1.0.5 - '@emnapi/core@1.11.1': + '@emnapi/core@1.11.3': dependencies: - '@emnapi/wasi-threads': 1.2.2 + '@emnapi/wasi-threads': 1.2.3 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.11.1': + '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.2': + '@emnapi/wasi-threads@1.2.3': dependencies: tslib: 2.8.1 optional: true @@ -839,133 +909,132 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)': dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 '@tybys/wasm-util': 0.10.3 optional: true - '@rsbuild/core@2.1.5': + '@rsbuild/core@2.1.10': dependencies: - '@rspack/core': 2.1.3(@swc/helpers@0.5.23) + '@rspack/core': 2.1.8(@swc/helpers@0.5.23) '@swc/helpers': 0.5.23 transitivePeerDependencies: - '@module-federation/runtime-tools' - '@rslib/core@0.23.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(typescript@7.0.2)': + '@rslib/core@1.0.0-beta.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(typescript@7.0.2)': dependencies: - '@rsbuild/core': 2.1.5 - rsbuild-plugin-dts: 0.23.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(@rsbuild/core@2.1.5)(typescript@7.0.2) + '@rsbuild/core': 2.1.10 + rsbuild-plugin-dts: 1.0.0-beta.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(@rsbuild/core@2.1.10)(typescript@7.0.2) optionalDependencies: '@microsoft/api-extractor': 7.58.9(@types/node@24.13.3) typescript: 7.0.2 transitivePeerDependencies: - '@module-federation/runtime-tools' - - '@typescript/native-preview' - core-js - '@rslint/core@0.6.5': + '@rslint/core@0.7.3': dependencies: - picomatch: 4.0.4 + picomatch: 4.0.5 optionalDependencies: - '@rslint/native-darwin-arm64': 0.6.5 - '@rslint/native-darwin-x64': 0.6.5 - '@rslint/native-linux-arm64-gnu': 0.6.5 - '@rslint/native-linux-arm64-musl': 0.6.5 - '@rslint/native-linux-x64-gnu': 0.6.5 - '@rslint/native-linux-x64-musl': 0.6.5 - '@rslint/native-win32-arm64-msvc': 0.6.5 - '@rslint/native-win32-x64-msvc': 0.6.5 - - '@rslint/native-darwin-arm64@0.6.5': + '@rslint/native-darwin-arm64': 0.7.3 + '@rslint/native-darwin-x64': 0.7.3 + '@rslint/native-linux-arm64-gnu': 0.7.3 + '@rslint/native-linux-arm64-musl': 0.7.3 + '@rslint/native-linux-x64-gnu': 0.7.3 + '@rslint/native-linux-x64-musl': 0.7.3 + '@rslint/native-win32-arm64-msvc': 0.7.3 + '@rslint/native-win32-x64-msvc': 0.7.3 + + '@rslint/native-darwin-arm64@0.7.3': optional: true - '@rslint/native-darwin-x64@0.6.5': + '@rslint/native-darwin-x64@0.7.3': optional: true - '@rslint/native-linux-arm64-gnu@0.6.5': + '@rslint/native-linux-arm64-gnu@0.7.3': optional: true - '@rslint/native-linux-arm64-musl@0.6.5': + '@rslint/native-linux-arm64-musl@0.7.3': optional: true - '@rslint/native-linux-x64-gnu@0.6.5': + '@rslint/native-linux-x64-gnu@0.7.3': optional: true - '@rslint/native-linux-x64-musl@0.6.5': + '@rslint/native-linux-x64-musl@0.7.3': optional: true - '@rslint/native-win32-arm64-msvc@0.6.5': + '@rslint/native-win32-arm64-msvc@0.7.3': optional: true - '@rslint/native-win32-x64-msvc@0.6.5': + '@rslint/native-win32-x64-msvc@0.7.3': optional: true - '@rspack/binding-darwin-arm64@2.1.3': + '@rspack/binding-darwin-arm64@2.1.8': optional: true - '@rspack/binding-darwin-x64@2.1.3': + '@rspack/binding-darwin-x64@2.1.8': optional: true - '@rspack/binding-linux-arm64-gnu@2.1.3': + '@rspack/binding-linux-arm64-gnu@2.1.8': optional: true - '@rspack/binding-linux-arm64-musl@2.1.3': + '@rspack/binding-linux-arm64-musl@2.1.8': optional: true - '@rspack/binding-linux-riscv64-gnu@2.1.3': + '@rspack/binding-linux-riscv64-gnu@2.1.8': optional: true - '@rspack/binding-linux-riscv64-musl@2.1.3': + '@rspack/binding-linux-riscv64-musl@2.1.8': optional: true - '@rspack/binding-linux-x64-gnu@2.1.3': + '@rspack/binding-linux-x64-gnu@2.1.8': optional: true - '@rspack/binding-linux-x64-musl@2.1.3': + '@rspack/binding-linux-x64-musl@2.1.8': optional: true - '@rspack/binding-wasm32-wasi@2.1.3': + '@rspack/binding-wasm32-wasi@2.1.8': dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) optional: true - '@rspack/binding-win32-arm64-msvc@2.1.3': + '@rspack/binding-win32-arm64-msvc@2.1.8': optional: true - '@rspack/binding-win32-ia32-msvc@2.1.3': + '@rspack/binding-win32-ia32-msvc@2.1.8': optional: true - '@rspack/binding-win32-x64-msvc@2.1.3': + '@rspack/binding-win32-x64-msvc@2.1.8': optional: true - '@rspack/binding@2.1.3': + '@rspack/binding@2.1.8': optionalDependencies: - '@rspack/binding-darwin-arm64': 2.1.3 - '@rspack/binding-darwin-x64': 2.1.3 - '@rspack/binding-linux-arm64-gnu': 2.1.3 - '@rspack/binding-linux-arm64-musl': 2.1.3 - '@rspack/binding-linux-riscv64-gnu': 2.1.3 - '@rspack/binding-linux-riscv64-musl': 2.1.3 - '@rspack/binding-linux-x64-gnu': 2.1.3 - '@rspack/binding-linux-x64-musl': 2.1.3 - '@rspack/binding-wasm32-wasi': 2.1.3 - '@rspack/binding-win32-arm64-msvc': 2.1.3 - '@rspack/binding-win32-ia32-msvc': 2.1.3 - '@rspack/binding-win32-x64-msvc': 2.1.3 - - '@rspack/core@2.1.3(@swc/helpers@0.5.23)': + '@rspack/binding-darwin-arm64': 2.1.8 + '@rspack/binding-darwin-x64': 2.1.8 + '@rspack/binding-linux-arm64-gnu': 2.1.8 + '@rspack/binding-linux-arm64-musl': 2.1.8 + '@rspack/binding-linux-riscv64-gnu': 2.1.8 + '@rspack/binding-linux-riscv64-musl': 2.1.8 + '@rspack/binding-linux-x64-gnu': 2.1.8 + '@rspack/binding-linux-x64-musl': 2.1.8 + '@rspack/binding-wasm32-wasi': 2.1.8 + '@rspack/binding-win32-arm64-msvc': 2.1.8 + '@rspack/binding-win32-ia32-msvc': 2.1.8 + '@rspack/binding-win32-x64-msvc': 2.1.8 + + '@rspack/core@2.1.8(@swc/helpers@0.5.23)': dependencies: - '@rspack/binding': 2.1.3 + '@rspack/binding': 2.1.8 optionalDependencies: '@swc/helpers': 0.5.23 - '@rstest/core@0.11.1': + '@rstest/core@0.11.6': dependencies: - '@rsbuild/core': 2.1.5 + '@rsbuild/core': 2.1.10 '@types/chai': 5.2.3 transitivePeerDependencies: - '@module-federation/runtime-tools' @@ -1105,6 +1174,44 @@ snapshots: '@vercel/detect-agent@1.2.3': {} + '@yuku-parser/binding-android-arm64@0.8.3': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.8.3': + optional: true + + '@yuku-parser/binding-darwin-x64@0.8.3': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.8.3': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.8.3': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.8.3': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.8.3': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.8.3': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.8.3': + optional: true + + '@yuku-parser/binding-linux-x64-musl@0.8.3': + optional: true + + '@yuku-parser/binding-win32-arm64@0.8.3': + optional: true + + '@yuku-parser/binding-win32-x64@0.8.3': + optional: true + + '@yuku-toolchain/types@0.8.4': {} + ajv-draft-04@1.0.0(ajv@8.18.0): optionalDependencies: ajv: 8.18.0 @@ -1211,9 +1318,9 @@ snapshots: lru-cache: 11.2.4 minipass: 7.1.3 - picomatch@4.0.4: {} + picomatch@4.0.5: {} - prettier@3.9.5: {} + prettier@3.9.6: {} require-from-string@2.0.2: {} @@ -1228,19 +1335,35 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - rsbuild-plugin-dts@0.23.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(@rsbuild/core@2.1.5)(typescript@7.0.2): + rsbuild-plugin-dts@1.0.0-beta.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(@rsbuild/core@2.1.10)(typescript@7.0.2): dependencies: '@ast-grep/napi': 0.37.0 - '@rsbuild/core': 2.1.5 + '@rsbuild/core': 2.1.10 optionalDependencies: '@microsoft/api-extractor': 7.58.9(@types/node@24.13.3) typescript: 7.0.2 rslog@2.2.0: {} - semver@7.7.4: {} + rstack@0.4.0(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(typescript@7.0.2): + dependencies: + '@rsbuild/core': 2.1.10 + '@rslib/core': 1.0.0-beta.2(@microsoft/api-extractor@7.58.9(@types/node@24.13.3))(typescript@7.0.2) + '@rslint/core': 0.7.3 + '@rstest/core': 0.11.6 + prettier: 3.9.6 + tinypool: 2.1.0 + yuku-parser: 0.8.3 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@module-federation/runtime-tools' + - core-js + - happy-dom + - jiti + - jsdom + - typescript - simple-git-hooks@2.13.1: {} + semver@7.7.4: {} sisteransi@1.0.5: {} @@ -1258,6 +1381,8 @@ snapshots: tinyexec@1.2.4: {} + tinypool@2.1.0: {} + tslib@2.8.1: {} typescript@5.9.3: {} @@ -1288,3 +1413,25 @@ snapshots: undici-types@7.18.2: {} universalify@2.0.1: {} + + yuku-ast@0.8.4: + dependencies: + '@yuku-toolchain/types': 0.8.4 + + yuku-parser@0.8.3: + dependencies: + '@yuku-toolchain/types': 0.8.4 + yuku-ast: 0.8.4 + optionalDependencies: + '@yuku-parser/binding-android-arm64': 0.8.3 + '@yuku-parser/binding-darwin-arm64': 0.8.3 + '@yuku-parser/binding-darwin-x64': 0.8.3 + '@yuku-parser/binding-freebsd-x64': 0.8.3 + '@yuku-parser/binding-linux-arm-gnu': 0.8.3 + '@yuku-parser/binding-linux-arm-musl': 0.8.3 + '@yuku-parser/binding-linux-arm64-gnu': 0.8.3 + '@yuku-parser/binding-linux-arm64-musl': 0.8.3 + '@yuku-parser/binding-linux-x64-gnu': 0.8.3 + '@yuku-parser/binding-linux-x64-musl': 0.8.3 + '@yuku-parser/binding-win32-arm64': 0.8.3 + '@yuku-parser/binding-win32-x64': 0.8.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d75b092..858d0a5 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,5 @@ allowBuilds: core-js: false - simple-git-hooks: false minimumReleaseAgeExclude: - '@rsbuild/*' diff --git a/rslib.config.ts b/rslib.config.ts deleted file mode 100644 index a723e52..0000000 --- a/rslib.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from '@rslib/core'; - -export default defineConfig({ - lib: [ - { - dts: { - bundle: true, - }, - shims: { - esm: { - require: true, - }, - }, - }, - ], -}); diff --git a/rslint.config.ts b/rslint.config.ts deleted file mode 100644 index 4269a7e..0000000 --- a/rslint.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { defineConfig, js, ts } from '@rslint/core'; - -export default defineConfig([js.configs.recommended, ts.configs.recommended]); diff --git a/rstack.config.ts b/rstack.config.ts new file mode 100644 index 0000000..c5b3dec --- /dev/null +++ b/rstack.config.ts @@ -0,0 +1,31 @@ +import { define } from 'rstack'; + +define.lib({ + lib: [ + { + dts: { + bundle: true, + }, + shims: { + esm: { + require: true, + }, + }, + }, + ], +}); + +define.lint(async () => { + const { js, ts } = await import('rstack/lint'); + + return [js.configs.recommended, ts.configs.recommended]; +}); + +define.fmt({ + ignorePatterns: ['pnpm-lock.yaml'], + singleQuote: true, +}); + +define.staged({ + '*.{js,jsx,ts,tsx,mjs,cjs}': ['rs lint', 'rs fmt'], +}); diff --git a/src/template-manager.ts b/src/template-manager.ts index 5ceec98..b9c50e2 100644 --- a/src/template-manager.ts +++ b/src/template-manager.ts @@ -134,6 +134,7 @@ export function resolveNpmTemplate( : ''; throw new Error( `Failed to install npm template "${normalizedName}@${versionSpecifier}". Please check if the package exists.${detail}`, + { cause: err }, ); } diff --git a/test/agents.test.ts b/test/agents.test.ts index 97f68cc..f14914a 100644 --- a/test/agents.test.ts +++ b/test/agents.test.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { assert, beforeEach, expect, test } from '@rstest/core'; +import { assert, beforeEach, expect, test } from 'rstack/test'; import { create, mergeAgentsFiles } from '../src'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/builtin-tools.test.ts b/test/builtin-tools.test.ts index e0eafd3..41881e0 100644 --- a/test/builtin-tools.test.ts +++ b/test/builtin-tools.test.ts @@ -2,7 +2,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import * as promptsActual from '@clack/prompts' with { rstest: 'importActual' }; -import { beforeEach, expect, rs, test } from '@rstest/core'; +import { beforeEach, expect, rs, test } from 'rstack/test'; import { create } from '../src'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/cli.test.ts b/test/cli.test.ts index 6967e3f..61f06af 100644 --- a/test/cli.test.ts +++ b/test/cli.test.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { beforeEach, expect, test } from '@rstest/core'; +import { beforeEach, expect, test } from 'rstack/test'; import { create } from '../src'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/custom-tools.test.ts b/test/custom-tools.test.ts index 70e5e0d..b0d1a57 100644 --- a/test/custom-tools.test.ts +++ b/test/custom-tools.test.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { beforeEach, expect, rs, test } from '@rstest/core'; +import { beforeEach, expect, rs, test } from 'rstack/test'; import { create } from '../src'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/git.test.ts b/test/git.test.ts index 0b0bc67..a6a47f3 100644 --- a/test/git.test.ts +++ b/test/git.test.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { beforeEach, expect, rs, test } from '@rstest/core'; +import { beforeEach, expect, rs, test } from 'rstack/test'; import { create, type GitResolvedContext } from '../src'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/help.test.ts b/test/help.test.ts index 8e29c23..bd53cb6 100644 --- a/test/help.test.ts +++ b/test/help.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@rstest/core'; +import { expect, test } from 'rstack/test'; import { logger } from 'rslog'; import { create } from '../src'; diff --git a/test/index.test.ts b/test/index.test.ts index 6cb549a..dc44b2a 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -1,5 +1,5 @@ import * as promptsActual from '@clack/prompts' with { rstest: 'importActual' }; -import { expect, test } from '@rstest/core'; +import { expect, test } from 'rstack/test'; import { checkCancel, create, diff --git a/test/package-manager-files.test.ts b/test/package-manager-files.test.ts index acf8dbb..f2e6632 100644 --- a/test/package-manager-files.test.ts +++ b/test/package-manager-files.test.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { beforeEach, expect, rs, test } from '@rstest/core'; +import { beforeEach, expect, rs, test } from 'rstack/test'; import { create } from '../src'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/skills.test.ts b/test/skills.test.ts index 215270e..703fdf4 100644 --- a/test/skills.test.ts +++ b/test/skills.test.ts @@ -2,7 +2,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import * as promptsActual from '@clack/prompts' with { rstest: 'importActual' }; -import { beforeEach, expect, rs, test } from '@rstest/core'; +import { beforeEach, expect, rs, test } from 'rstack/test'; import { color } from 'rslog'; import { create } from '../src'; diff --git a/test/template-manager.test.ts b/test/template-manager.test.ts index 4062caa..17b590c 100644 --- a/test/template-manager.test.ts +++ b/test/template-manager.test.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { beforeEach, expect, test } from '@rstest/core'; +import { beforeEach, expect, test } from 'rstack/test'; import { isNpmTemplate, resolveCustomTemplate, From b4b06a40d7357f6b9dcd1750aad83af47936c2a8 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 10 Aug 2026 17:27:53 +0800 Subject: [PATCH 2/4] chore: remove redundant Rstack ignores --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b1e0a8..c9066c6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ dist/ test-results test-temp-* .rslib -.rstack/cache -.rstack/hooks/_ # IDE .vscode/* From 3b8a3e11ca8bccbc7c81864c341a360773c29d4d Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 10 Aug 2026 17:29:37 +0800 Subject: [PATCH 3/4] chore: remove redundant format ignore --- rstack.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/rstack.config.ts b/rstack.config.ts index c5b3dec..77bcea8 100644 --- a/rstack.config.ts +++ b/rstack.config.ts @@ -22,7 +22,6 @@ define.lint(async () => { }); define.fmt({ - ignorePatterns: ['pnpm-lock.yaml'], singleQuote: true, }); From 01c792adf4b693c41fddce58148e93a38e20675d Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 10 Aug 2026 17:31:15 +0800 Subject: [PATCH 4/4] chore: format staged content files --- rstack.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/rstack.config.ts b/rstack.config.ts index 77bcea8..947f3cd 100644 --- a/rstack.config.ts +++ b/rstack.config.ts @@ -27,4 +27,5 @@ define.fmt({ define.staged({ '*.{js,jsx,ts,tsx,mjs,cjs}': ['rs lint', 'rs fmt'], + '*.{json,jsonc,md,mdx,css,html,yml,yaml}': 'rs fmt', });