diff --git a/.nvmrc b/.nvmrc index a77793e..60ade1a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/hydrogen +24.19.0 diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 0290c7b..0000000 --- a/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -pnpm-lock.yaml -.claude/ diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 5393aaf..0000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "all", - "arrowParens": "avoid" -} 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/.storybook/main.ts b/.storybook/main.ts index 5da8d74..c1b132e 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,10 +1,15 @@ +import { pluginReact } from '@rsbuild/plugin-react'; +import { pluginSass } from '@rsbuild/plugin-sass'; import type { StorybookConfig } from 'storybook-react-rsbuild'; const config: StorybookConfig = { framework: 'storybook-react-rsbuild', stories: ['../stories/**/*.stories.@(js|jsx|ts|tsx)'], - addons: ['@storybook/addon-themes', 'storybook-addon-rslib'], + addons: ['@storybook/addon-themes'], rsbuildFinal(config) { + config.plugins ??= []; + config.plugins.push(pluginReact(), pluginSass()); + config.source ??= {}; config.source.define = { ...config.source.define, diff --git a/.vscode/extensions.json b/.vscode/extensions.json index c19bac3..890b437 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,9 +1,8 @@ { "recommendations": [ + "rstack.rstack", "styled-components.vscode-styled-components", "EditorConfig.editorconfig", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", "streetsidesoftware.code-spell-checker", "codezombiech.gitignore", "aaron-bond.better-comments", diff --git a/.vscode/settings.json b/.vscode/settings.json index 4a65d16..6938dc2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,16 +22,6 @@ "files.insertFinalNewline": true, // "cSpell.diagnosticLevel": "Hint", - "eslint.run": "onType", - "eslint.probe": [ - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "vue" - ], - "eslint.format.enable": true, - "eslint.lintTask.enable": true, "javascript.validate.enable": false, "typescript.validate.enable": true, "css.validate": false, @@ -53,9 +43,9 @@ "editor.formatOnSave": true }, "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit" + "source.fixAll.rslint": "explicit" }, - "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.defaultFormatter": "rstack.rstack", "javascript.format.enable": false, "typescript.format.enable": false, // diff --git a/AGENTS.md b/AGENTS.md index 169522b..48ac4bf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,68 +4,68 @@ Shared UI component library (`@rstackjs/doc-ui`) for Rstack websites (rspack.rs, ## Tech Stack -- React 18 + TypeScript 5.9 (strict mode) -- Build: Rslib (based on Rsbuild) +- React 19 + TypeScript 7 (strict mode) +- Toolchain: Rstack CLI (`rs lib`, Rstest, Rslint, and formatting) - Styling: SCSS Modules (`.module.scss`) - Animation: Framer Motion, Lottie - UI: Ant Design 6 - Dev: Storybook 10 +For Rstack CLI behavior: + +- Read the docs linked from `node_modules/rstack/docs/llms.txt` when needed +- Online docs: https://rstack.rs/llms.txt +- Run `rs -h` for CLI help + ## Commands ```bash # Development pnpm dev # Start Storybook (port 6006) -# Build -pnpm build # Build with Rslib -pnpm build:watch # Watch mode - -# Lint (prefer file-scoped) -pnpm lint # Check all with Rslint + Prettier -pnpm lint:write # Auto-fix -pnpm lint:fix # Alias for lint:write +# Build and test +pnpm build # Build the library with Rstack CLI +pnpm build:watch # Build in watch mode +pnpm test # Run Rstest -# Single file commands -npx tsc --noEmit 'path/to/file.tsx' -npx prettier --write 'path/to/file.tsx' -npx rslint --fix 'path/to/file.tsx' +# Checks and formatting +pnpm check # Run lint and formatting checks +pnpm lint # Run Rslint +pnpm format # Format files ``` -No test framework - visual testing via Storybook. - ## Project Structure ``` src/ ├── announcement/ # Announcement banner -├── antd/ # Ant Design wrappers -├── background-image/ # Background component -├── benchmark/ # Benchmark display -├── built-with-rspack/ # Showcase component -├── fully-featured/ # Feature list -├── hero/ # Hero section -├── nav-icon/ # Nav icon with popover -├── section-style/ # Section utilities -├── tool-stack/ # Tool stack display -├── why-rspack/ # Feature cards -├── env.d.ts # Type declarations -└── shared.tsx # Shared utilities - -stories/ # Storybook stories +├── antd/ # Ant Design wrappers +├── background-image/ # Background component +├── benchmark/ # Benchmark display +├── built-with-rspack/ # Showcase component +├── fully-featured/ # Feature list +├── hero/ # Hero section +├── nav-icon/ # Nav icon with popover +├── section-style/ # Section utilities +├── tool-stack/ # Tool stack display +├── why-rspack/ # Feature cards +├── env.d.ts # Type declarations +└── shared.tsx # Shared utilities + +stories/ # Storybook stories ``` ## Code Style -### Formatting (Prettier - `.prettierrc`) +### Formatting (`define.fmt` in `rstack.config.ts`) - Single quotes, trailing commas (`all`), no parens for single arrow params -### Linting (Rslint - `rslint.config.ts`) +### Linting (`define.lint` in `rstack.config.ts`) - Rslint uses TypeScript and React recommended rules - `@typescript-eslint/no-explicit-any`: off -- Prettier handles formatting +- `react/react-in-jsx-scope`: off ### TypeScript @@ -154,16 +154,14 @@ export default { title: 'Hero' }; ## Git Hooks -Pre-commit via `simple-git-hooks`: - -- `pnpm run lint:write` +Rstack CLI installs repository hooks from `.rstack/hooks`. The pre-commit hook runs `rs staged`. ## Adding Components 1. Create `src/component-name/index.tsx` 2. Add `src/component-name/index.module.scss` -3. Add entry in `rslib.config.ts` -4. Add export in `package.json` exports +3. Add an entry in `rstack.config.ts` +4. Add an export in `package.json` exports 5. Create `stories/ComponentName.stories.tsx` ## External Dependencies diff --git a/package.json b/package.json index d3460ae..43465c9 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,12 @@ { "name": "@rstackjs/doc-ui", "version": "1.14.11", - "type": "module", + "repository": { + "type": "git", + "url": "https://github.com/rstackjs/rstack-doc-ui" + }, "license": "MIT", - "packageManager": "pnpm@11.24.0", + "type": "module", "exports": { "./nav-icon": { "types": "./dist/nav-icon/index.d.ts", @@ -71,42 +74,30 @@ }, "./theme.css": "./dist/theme/index.css" }, - "repository": { - "type": "git", - "url": "https://github.com/rstackjs/rstack-doc-ui" - }, "files": [ "dist" ], "scripts": { - "dev": "pnpm run storybook", + "build": "rs lib", + "build:watch": "rs lib -w", "build-storybook": "storybook build", - "storybook": "storybook dev -p 6006", - "prepare": "simple-git-hooks", - "build": "rslib", - "build:watch": "rslib -w", - "test": "rstest", - "lint": "rslint && prettier -c .", - "lint:write": "rslint --fix && prettier -w .", - "lint:fix": "pnpm lint:write", "bump": "npx bumpp", - "chromatic": "chromatic" - }, - "simple-git-hooks": { - "pre-commit": "pnpm run lint:write" + "check": "rs check", + "chromatic": "chromatic", + "dev": "pnpm run storybook", + "format": "rs fmt", + "lint": "rs lint", + "prepare": "rs hooks", + "storybook": "storybook dev -p 6006", + "test": "rs test" }, "devDependencies": { "@rsbuild/plugin-react": "2.1.0", "@rsbuild/plugin-sass": "2.0.1", - "@rslib/core": "^0.23.2", - "@rslint/core": "^0.9.0", "@rspress/core": "^2.0.21", "@rstackjs/doc-ui": "workspace:*", - "@rstest/adapter-rslib": "^0.11.11", - "@rstest/core": "^0.11.11", "@storybook/addon-themes": "^10.5.10", "@storybook/react": "^10.5.10", - "@storybook/test": "9.0.0-alpha.2", "@types/node": "~24.13.3", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.5", @@ -115,15 +106,13 @@ "execa": "9.6.1", "fs-extra": "11.4.0", "lottie-web": "5.13.0", - "prettier": "~3.9.6", "react": "^19.2.8", "react-dom": "^19.2.8", "react-render-to-markdown": "^19.1.0", "rimraf": "~6.1.3", + "rstack": "^0.7.2", "semver": "7.8.5", - "simple-git-hooks": "^2.14.0", "storybook": "^10.5.10", - "storybook-addon-rslib": "^3.4.2", "storybook-react-rsbuild": "^3.4.2", "typescript": "~7.0.2" }, @@ -135,6 +124,7 @@ "optional": true } }, + "packageManager": "pnpm@11.24.0", "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f86be03..4f761ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,37 +10,22 @@ importers: devDependencies: '@rsbuild/plugin-react': specifier: 2.1.0 - version: 2.1.0(@rsbuild/core@2.1.5)(@rspack/core@2.2.1(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23)) '@rsbuild/plugin-sass': specifier: 2.0.1 - version: 2.0.1(@rsbuild/core@2.1.5) - '@rslib/core': - specifier: ^0.23.2 - version: 0.23.2(typescript@7.0.2) - '@rslint/core': - specifier: ^0.9.0 - version: 0.9.0 + version: 2.0.1(@rsbuild/core@2.2.2) '@rspress/core': specifier: ^2.0.21 - version: 2.0.21(@rspack/core@2.2.1(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1) + version: 2.0.21(@rspack/core@2.2.2(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1) '@rstackjs/doc-ui': specifier: workspace:* version: 'link:' - '@rstest/adapter-rslib': - specifier: ^0.11.11 - version: 0.11.11(@rslib/core@0.23.2(typescript@7.0.2))(@rstest/core@0.11.11)(typescript@7.0.2) - '@rstest/core': - specifier: ^0.11.11 - version: 0.11.11 '@storybook/addon-themes': specifier: ^10.5.10 version: 10.5.10(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)) '@storybook/react': specifier: ^10.5.10 version: 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(supports-color@8.1.1)(typescript@7.0.2) - '@storybook/test': - specifier: 9.0.0-alpha.2 - version: 9.0.0-alpha.2(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)) '@types/node': specifier: ~24.13.3 version: 24.13.3 @@ -65,9 +50,6 @@ importers: lottie-web: specifier: 5.13.0 version: 5.13.0 - prettier: - specifier: ~3.9.6 - version: 3.9.6 react: specifier: ^19.2.8 version: 19.2.8 @@ -80,21 +62,18 @@ importers: rimraf: specifier: ~6.1.3 version: 6.1.3 + rstack: + specifier: ^0.7.2 + version: 0.7.2(@rspress/core@2.0.21(@rspack/core@2.2.2(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1))(typescript@7.0.2) semver: specifier: 7.8.5 version: 7.8.5 - simple-git-hooks: - specifier: ^2.14.0 - version: 2.14.0 storybook: specifier: ^10.5.10 version: 10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - storybook-addon-rslib: - specifier: ^3.4.2 - version: 3.4.2(@rsbuild/core@2.2.1)(@rslib/core@0.23.2(typescript@7.0.2))(storybook-builder-rsbuild@3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2))(typescript@7.0.2) storybook-react-rsbuild: specifier: ^3.4.2 - version: 3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(supports-color@8.1.1)(typescript@7.0.2)(webpack@5.96.1(esbuild@0.27.3)) + version: 3.4.2(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(supports-color@8.1.1)(typescript@7.0.2)(webpack@5.96.1(esbuild@0.27.3)) typescript: specifier: ~7.0.2 version: 7.0.2 @@ -139,66 +118,66 @@ packages: react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@ast-grep/napi-darwin-arm64@0.37.0': - resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} + '@ast-grep/napi-darwin-arm64@0.45.1': + resolution: {integrity: sha512-CthYcA0H3z5A2EHKH4rhSuFzpYUtxqUMnohmejxtMS6wiAgriKhOCopxN8XKclspYMtQyX2GC/PbvcU3dIbQHw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@ast-grep/napi-darwin-x64@0.37.0': - resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} + '@ast-grep/napi-darwin-x64@0.45.1': + resolution: {integrity: sha512-PhlXMDEEH5fMjXjYcrbeNgGqrojj4zN8C7eMQC6M4pVkuW74uPhrblD4KUbNunp5I2LkWCdKOs36jhBaZe1iPw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@ast-grep/napi-linux-arm64-gnu@0.37.0': - resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} + '@ast-grep/napi-linux-arm64-gnu@0.45.1': + resolution: {integrity: sha512-XScjs95/SrsV6kLl9MnF2qbqwKU79bcBA3JHi6xUu+hf0uZ0lc6MsZ595cEy5yw9PYRhgqwrT3wta9p4qU4jpg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@ast-grep/napi-linux-arm64-musl@0.37.0': - resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} + '@ast-grep/napi-linux-arm64-musl@0.45.1': + resolution: {integrity: sha512-qjH5CN5KIUdJW2dHfp8W57QsP6H0mA6E/rboKEzAxw6Ant1q2ZKqE3bLHUZMDoZXOBGdCODSZm0bTDcctiP49g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@ast-grep/napi-linux-x64-gnu@0.37.0': - resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} + '@ast-grep/napi-linux-x64-gnu@0.45.1': + resolution: {integrity: sha512-nPP0y5EnehCgmYqvVDKSvH4vHbEFdAi8L+Kq2Sz94vK32yv4eOWf9vWhgoPscWpw76GWuwhpDvME8SZARnS3DQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@ast-grep/napi-linux-x64-musl@0.37.0': - resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} + '@ast-grep/napi-linux-x64-musl@0.45.1': + resolution: {integrity: sha512-sg50LKH7TskWd/boWVFp9gwKc3Jd8sg0f8P6T2VQemX/EOj+OFaMJ2+y7Ok17WI/dODkrZgAPUwq7RAvMzLtqg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@ast-grep/napi-win32-arm64-msvc@0.37.0': - resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} + '@ast-grep/napi-win32-arm64-msvc@0.45.1': + resolution: {integrity: sha512-wnTmD34OD9bUpdBVTb58P0y+YPb/2C2g07zj96LSk5R4pdcEMrCFsrWZlaNwtEV4q7L9BfLgrxq3MBGI8c6doA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@ast-grep/napi-win32-ia32-msvc@0.37.0': - resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} + '@ast-grep/napi-win32-ia32-msvc@0.45.1': + resolution: {integrity: sha512-gRyJwRPY1mWRtnJ6AMncV2pNU+B2indjLCb9z/+aZrUN5u/gOxYryEzvRatyC9rVUMeQGJD+k0htpsqIwgXVbA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@ast-grep/napi-win32-x64-msvc@0.37.0': - resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} + '@ast-grep/napi-win32-x64-msvc@0.45.1': + resolution: {integrity: sha512-mzfMmCO7tSNks+NGkGkSnDBKxBjHoOLAMJt2IbAkMYATxHC0RqfBoN7Qtd02VGhHWEfwWLPv/wU6MrvweZ3jdQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@ast-grep/napi@0.37.0': - resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} + '@ast-grep/napi@0.45.1': + resolution: {integrity: sha512-4cmGQEHoP9GLHEhGvd1vgSzO3Y6KF7FczDk4+q/VfXV9/9sNxNVgNHC8t3BglhIADDcoHrCMc9aw4lHG+M240A==} engines: {node: '>= 10'} '@babel/code-frame@7.27.1': @@ -281,9 +260,6 @@ packages: '@emnapi/core@1.11.0': resolution: {integrity: sha512-l9Oo58x0HOP5znGzVhYW9U3e5wVuA4LAZU2AGezTmkhO1CgQRFDhDg4nneHsu/t3WniXg9QrG2nIXL/ZS8ln8Q==} - '@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==} @@ -293,9 +269,6 @@ packages: '@emnapi/runtime@1.11.0': resolution: {integrity: sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==} - '@emnapi/runtime@1.11.1': - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - '@emnapi/runtime@1.11.3': resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} @@ -1253,8 +1226,8 @@ packages: core-js: optional: true - '@rsbuild/core@2.1.5': - resolution: {integrity: sha512-7TW4U1SH7VxQZzSTIOzvwj5lo9uNTmGpsmTXFr4axQAE4giLDKP3kVUA1ZW4P3/Mz4QQJJyvZP29mVcb8kZCfg==} + '@rsbuild/core@2.2.1': + resolution: {integrity: sha512-JcGtG4bo7PBihj6fBL6gaxaJihqLf7nGWW/t4zEmXpMJkV6XNdr1jAo9B0xI4mLAOmtFeva8cUbn9SE2ZEmAIw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1263,8 +1236,8 @@ packages: core-js: optional: true - '@rsbuild/core@2.2.1': - resolution: {integrity: sha512-JcGtG4bo7PBihj6fBL6gaxaJihqLf7nGWW/t4zEmXpMJkV6XNdr1jAo9B0xI4mLAOmtFeva8cUbn9SE2ZEmAIw==} + '@rsbuild/core@2.2.2': + resolution: {integrity: sha512-T82jUaeMUFhcBqpmKvRiNAcWMp6abxkvMEwiZi4x+gf7NAbyiF5jrbLnQLm1y4909eANsTSHenp99HlRPIByLw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1300,13 +1273,13 @@ packages: '@typescript/native-preview': optional: true - '@rslib/core@0.23.2': - resolution: {integrity: sha512-KxSp+/y0BJ1O4oKwxX4ydBY7/ZVeJCUpWAmQniCIct8mTxIQFPGO/ibKbKq2IxZYqRuRpM8g+Dtyq0VbEQf9HQ==} + '@rslib/core@1.0.0-rc.2': + resolution: {integrity: sha512-6Bex+f8THioCRtfVg8cswHWR4T1xwY+VxRXoOXIgGBROTMlCuoS2/TzcLwYHmU1q1FXfXM8zAs0XuEnUAoDXzQ==} 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 @@ -1371,13 +1344,13 @@ packages: cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-arm64@2.1.3': - resolution: {integrity: sha512-oOGI0RSL89Ehu9T22rugmfUY9OC2eBqLMeWRYsu7bhlUrjoXeVfGBBSEXCse666BQ1sAiM8hD/k7nqVria/okQ==} + '@rspack/binding-darwin-arm64@2.2.1': + resolution: {integrity: sha512-Y/Naw/7V76QiUYdYRuBzBZtzRjt/3fjDUuF8GK0+/BO7BP1RrpY4tk1ln+iiqegRUD8u9uGn08fi8No1rwfyUg==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-arm64@2.2.1': - resolution: {integrity: sha512-Y/Naw/7V76QiUYdYRuBzBZtzRjt/3fjDUuF8GK0+/BO7BP1RrpY4tk1ln+iiqegRUD8u9uGn08fi8No1rwfyUg==} + '@rspack/binding-darwin-arm64@2.2.2': + resolution: {integrity: sha512-/le/AvV4HSinXTPs2Lqpujxt189Z5T10Ggt96QzckLRPvIchzqoavVDDjltzC7XcaZ87XCH/X06jNKgzkcBBNA==} cpu: [arm64] os: [darwin] @@ -1386,13 +1359,13 @@ packages: cpu: [x64] os: [darwin] - '@rspack/binding-darwin-x64@2.1.3': - resolution: {integrity: sha512-sVqWXNiFTMXAyN362y6IA+eJc8LXZKfHdhEJ/zDuMmRp+u2IvhgaF8tk3vX/OmeB9jydVjySijuiqk8No/FoCA==} + '@rspack/binding-darwin-x64@2.2.1': + resolution: {integrity: sha512-rTIG/xZIW7RbEEuMR9hnNn5dv3fDBpX0N4FAQUwfhUYy3tN2+3vibTTq/Nj1Sd9Vn4yWydbWIEwBX6m/aGejig==} cpu: [x64] os: [darwin] - '@rspack/binding-darwin-x64@2.2.1': - resolution: {integrity: sha512-rTIG/xZIW7RbEEuMR9hnNn5dv3fDBpX0N4FAQUwfhUYy3tN2+3vibTTq/Nj1Sd9Vn4yWydbWIEwBX6m/aGejig==} + '@rspack/binding-darwin-x64@2.2.2': + resolution: {integrity: sha512-uFIcUPUXiPxM6ljenLafp5TemT8eLZm1riRn8fJYmpqNCK+aCcTaud18XHZpI5SjzzcY+xUHfVShgvNzKXuf2g==} cpu: [x64] os: [darwin] @@ -1402,14 +1375,14 @@ packages: os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-gnu@2.1.3': - resolution: {integrity: sha512-aCy9Zli/2Qf+Ee5otXfFQ6mhv5fEyn0wIoBVmouqtJoqOO21et6UTtJ+LHLsMDolwGLyHERAljeSFSmYX3/O5A==} + '@rspack/binding-linux-arm64-gnu@2.2.1': + resolution: {integrity: sha512-53rAMU6Hqiat21IMU1hTt4Si2F33h+ZbXOt+Y18W39AFjcwmleIBId2u7beqJeGXLJuBgIAm31jcbJj/PN7mWQ==} cpu: [arm64] os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-gnu@2.2.1': - resolution: {integrity: sha512-53rAMU6Hqiat21IMU1hTt4Si2F33h+ZbXOt+Y18W39AFjcwmleIBId2u7beqJeGXLJuBgIAm31jcbJj/PN7mWQ==} + '@rspack/binding-linux-arm64-gnu@2.2.2': + resolution: {integrity: sha512-Pjby4pDSMNJQK2VBzpgCj6lb+DGuenS1fEDb6xi5/apbJb9v5WE+e43Mz7i+XqgXS8e846pjaONV3KM5WKB1LQ==} cpu: [arm64] os: [linux] libc: [glibc] @@ -1420,14 +1393,14 @@ packages: os: [linux] libc: [musl] - '@rspack/binding-linux-arm64-musl@2.1.3': - resolution: {integrity: sha512-flIE7eluz0d21Fn28EVm3vPwoJooOSqtmjLFVSuOMcoCbwV9clfor195oIrAppp/W7dL/3XquFuVfrsa01Jy8Q==} + '@rspack/binding-linux-arm64-musl@2.2.1': + resolution: {integrity: sha512-o7zFiWkt4MqSfSdTbxUdF27fcrWKpRizcuVB8H3yd2G6xW9V2OfYbhVGQnOlbKi+GK74RkCmoJtANB+QboIqKQ==} cpu: [arm64] os: [linux] libc: [musl] - '@rspack/binding-linux-arm64-musl@2.2.1': - resolution: {integrity: sha512-o7zFiWkt4MqSfSdTbxUdF27fcrWKpRizcuVB8H3yd2G6xW9V2OfYbhVGQnOlbKi+GK74RkCmoJtANB+QboIqKQ==} + '@rspack/binding-linux-arm64-musl@2.2.2': + resolution: {integrity: sha512-0u9O7tTVT2z+F6o/eEY6f6+My8Jn9U56QiBwkfy90ZaoAfZyQSSTxqaK/zA7W43oFxQefeCpiPas27VUzrSakw==} cpu: [arm64] os: [linux] libc: [musl] @@ -1444,20 +1417,26 @@ packages: os: [linux] libc: [glibc] + '@rspack/binding-linux-ppc64-gnu@2.2.2': + resolution: {integrity: sha512-N3lVnhq5qOvpmP5n386JzR1GcE8HzAqq4/r440Z6yle9m7PhVFJ6oXVWxgaDTYV0mtv9YLJmaG+YrjYfUa1vuA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-riscv64-gnu@2.1.10': resolution: {integrity: sha512-GMGTJpy9/ecE+5F5IfxZH4bXv0Wx/b2TiehTlCbTksbL+pKpLHYy0rwGdjWDKbmBkhxMMqPiC7PDnn9LbdnnLA==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rspack/binding-linux-riscv64-gnu@2.1.3': - resolution: {integrity: sha512-yojg8elye1nhsNeGncw0NrZ4pMGF7NVebR80CLg72TXyzfYwFJlFTdU5yUYb1Gy+JXIvrSCwzQt2QkyiEvmkfg==} + '@rspack/binding-linux-riscv64-gnu@2.2.1': + resolution: {integrity: sha512-WQ6P94Wz2tgwOsgifTWP2/bV63iZH5+rkxngQwF22FC8KmIXXy/Yug7lyMH1ld8Hzg4p1qXjBBr4i1cCyJTR+w==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rspack/binding-linux-riscv64-gnu@2.2.1': - resolution: {integrity: sha512-WQ6P94Wz2tgwOsgifTWP2/bV63iZH5+rkxngQwF22FC8KmIXXy/Yug7lyMH1ld8Hzg4p1qXjBBr4i1cCyJTR+w==} + '@rspack/binding-linux-riscv64-gnu@2.2.2': + resolution: {integrity: sha512-ReClZyp32/rJkUDV/oGDU0X6BCFyEkTR6r4stFwm/qOOaG6mUMRzZe4gur8Yh979p4Hiz9EdkmfEHY02GBXcaQ==} cpu: [riscv64] os: [linux] libc: [glibc] @@ -1468,14 +1447,14 @@ packages: os: [linux] libc: [musl] - '@rspack/binding-linux-riscv64-musl@2.1.3': - resolution: {integrity: sha512-6PvbXb3FOK4X3S5QGvoSW/sqExmsvAoPnQ/YSFrXvTphkXFezA7wnobmGBHT8JQP31hcFRzJHIZSIOKktzSzzg==} + '@rspack/binding-linux-riscv64-musl@2.2.1': + resolution: {integrity: sha512-GEFUFHQkjKU7OYyHXnrIo8wWcUHM7jeKov5z6Lxd3i+3hKo11yBOgb7b+uD94Rx2tPuWF4jyFdWmcNu46Njb/A==} cpu: [riscv64] os: [linux] libc: [musl] - '@rspack/binding-linux-riscv64-musl@2.2.1': - resolution: {integrity: sha512-GEFUFHQkjKU7OYyHXnrIo8wWcUHM7jeKov5z6Lxd3i+3hKo11yBOgb7b+uD94Rx2tPuWF4jyFdWmcNu46Njb/A==} + '@rspack/binding-linux-riscv64-musl@2.2.2': + resolution: {integrity: sha512-mqsorvTNerr3r8zI35NFTPYATPDlhepdiUhZjKT6ylqpHlP7vLU9fp4aEMK/CuTv2f+IVsa0+iZqtMxHs2tSjw==} cpu: [riscv64] os: [linux] libc: [musl] @@ -1492,20 +1471,26 @@ packages: os: [linux] libc: [glibc] + '@rspack/binding-linux-s390x-gnu@2.2.2': + resolution: {integrity: sha512-ql2Jub8QYWSugBppmj2u0SjcIj6fOQuAaLCYQOqU7zbvz/uuWTfoqmdWKExwrxeCU9Tzt7emVM0ETuVEpoca+A==} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-x64-gnu@2.1.10': resolution: {integrity: sha512-Fat09V6jUuyo9qG7Wyj9cQ31VDfLmokXyBtGqKxY5OvSWHereB7QUub5btbPXHwbp6Iq4aAQyUbbLTzvR1YaBw==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-gnu@2.1.3': - resolution: {integrity: sha512-lMXjoGKf0SnviH596fmTszgtnXLHmWOoE90G8grG9MvKVa3pelRmfps5ewZL9s8ENf3NXRfOxIhIf/M9as6MqA==} + '@rspack/binding-linux-x64-gnu@2.2.1': + resolution: {integrity: sha512-QX+gRxg2CS9ri2fUG5eNurdsrOCWoJ56SsD2O7kcVGiRm+S2+muNb/QhkdkAdt/u/m++7Ve5TMIpHTnaKYCpCw==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-gnu@2.2.1': - resolution: {integrity: sha512-QX+gRxg2CS9ri2fUG5eNurdsrOCWoJ56SsD2O7kcVGiRm+S2+muNb/QhkdkAdt/u/m++7Ve5TMIpHTnaKYCpCw==} + '@rspack/binding-linux-x64-gnu@2.2.2': + resolution: {integrity: sha512-MNYKYEHrtIVEno2q5rgpou/JVffRwn109xPK3kxct95EojHsniNa8jwy6eEHeOazP4EN60Si7NElE3aQ6JssHw==} cpu: [x64] os: [linux] libc: [glibc] @@ -1516,14 +1501,14 @@ packages: os: [linux] libc: [musl] - '@rspack/binding-linux-x64-musl@2.1.3': - resolution: {integrity: sha512-0esT35v7pW2ZsJTMc/zDUHwpNXlPqyUCyuiLJvrAAUcdENrgOVe4DmFrgVJ2hwqI4GjeN1VBnGRJ8c+edAHH5w==} + '@rspack/binding-linux-x64-musl@2.2.1': + resolution: {integrity: sha512-mBZQl1NdGbEB3y5M9d0tkuF7RL1GLz3Hb3gqFa3QRZBymP9PCV83Jiji8s2PJimNUJIVcdZRIw8+VGYs/35c2A==} cpu: [x64] os: [linux] libc: [musl] - '@rspack/binding-linux-x64-musl@2.2.1': - resolution: {integrity: sha512-mBZQl1NdGbEB3y5M9d0tkuF7RL1GLz3Hb3gqFa3QRZBymP9PCV83Jiji8s2PJimNUJIVcdZRIw8+VGYs/35c2A==} + '@rspack/binding-linux-x64-musl@2.2.2': + resolution: {integrity: sha512-y9/9CmE8lrECaF17GAhacibTL+SvlEPEotQnUuBFC/WFtXh8hU2E7a7bAkpYGSLH6kM0nrJZHO3hTvM1wdWOJw==} cpu: [x64] os: [linux] libc: [musl] @@ -1532,26 +1517,26 @@ packages: resolution: {integrity: sha512-KY5YbWbuvYcoaLXnV+vzZOvGRCeb6jt4EpVpKdph1h1IJjwX/ju15EQ+GOe3iecZEdf0OttQcNVcwBkLkFT9ag==} cpu: [wasm32] - '@rspack/binding-wasm32-wasi@2.1.3': - resolution: {integrity: sha512-UsrDjD59UEP0mhfN/Z+uTc3vLgiUvIr+mn92WC1sbQi9gtZohTYvaQYFhWuMkBqsACGcmZp704JAbbSrVrVYCA==} - cpu: [wasm32] - '@rspack/binding-wasm32-wasi@2.2.1': resolution: {integrity: sha512-/d2ImKDS+lT+FJ07MxKBeUkTat84tr2Nm2+nIRt8HmZK7/N8odkQml9vb4MHr8E7oYOp4B+jm6W5frdRzKrkJQ==} cpu: [wasm32] + '@rspack/binding-wasm32-wasi@2.2.2': + resolution: {integrity: sha512-VbDIjjeFwZvMSKAOGY5IbU6lLzt6AHHHncTdMMkZ94Xk7O2BOHe9BXDV32Ln29TIW2C8m1fdxfPZWDiecVghUQ==} + cpu: [wasm32] + '@rspack/binding-win32-arm64-msvc@2.1.10': resolution: {integrity: sha512-z4GWzMLofaDGpAt9Z+MlN88LlUBDm+zM6R2GdOOPM6/4g/h3/+47OP7casmSL3AwTGYBEJqogwt08sRSosB6Cg==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-arm64-msvc@2.1.3': - resolution: {integrity: sha512-42RS/SwKBTkNvXIPZXqTn0yEFN8zwGRfRe/ly0GDvPp/KxpLMFWxJmLxgtoLompU+0UCGvV4KpcBENt3oWs6BA==} + '@rspack/binding-win32-arm64-msvc@2.2.1': + resolution: {integrity: sha512-TfmaKPF3KC7uoZb6A+8ZUbLS8g8P5EdeXFGLCaJ+UgdkJ20TsapcfJXZXWNnKzFEkV8dUO/t5oNxNLYy2URusw==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-arm64-msvc@2.2.1': - resolution: {integrity: sha512-TfmaKPF3KC7uoZb6A+8ZUbLS8g8P5EdeXFGLCaJ+UgdkJ20TsapcfJXZXWNnKzFEkV8dUO/t5oNxNLYy2URusw==} + '@rspack/binding-win32-arm64-msvc@2.2.2': + resolution: {integrity: sha512-rfcNg0W3ZPZvXma1gTyEt9/Z8FxASIaQr+sMWTSaTPPaeU3xY1+0hYcrD0kUFNs3/5L4u63myI4R8qRXiuW3pA==} cpu: [arm64] os: [win32] @@ -1560,13 +1545,13 @@ packages: cpu: [ia32] os: [win32] - '@rspack/binding-win32-ia32-msvc@2.1.3': - resolution: {integrity: sha512-thk43H1JHHbetNF3txcsGXeOwZi2m6Luf/uVUqNORXjxr5VV8woHAgaAx4QXVZRg70z1VDjd8mBWnHBnKI0FGA==} + '@rspack/binding-win32-ia32-msvc@2.2.1': + resolution: {integrity: sha512-rdBXayngvpQFMSUIC4b71FDZrSBJszSHNEkln/Nis3a17DMAE7IkgJcqe7SqLWbk2OPF/N920AOWmBEDQQCaMg==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-ia32-msvc@2.2.1': - resolution: {integrity: sha512-rdBXayngvpQFMSUIC4b71FDZrSBJszSHNEkln/Nis3a17DMAE7IkgJcqe7SqLWbk2OPF/N920AOWmBEDQQCaMg==} + '@rspack/binding-win32-ia32-msvc@2.2.2': + resolution: {integrity: sha512-TFPvr9RZw9oHIhooDhXHzWjKcHpGPTxkznSeM2poIWU0CdEuua2rVUfsrriTF1Dmx+9kMly61DQmyOHCbb+b2g==} cpu: [ia32] os: [win32] @@ -1575,25 +1560,25 @@ packages: cpu: [x64] 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.2.1': + resolution: {integrity: sha512-l3K4s7nrQJc+3LacPFjZGjX8Jk1sf8Q4TK6IXAsdSucOjTqYSpD8PMl2NUXCBDXOl8T2V4v323z1LfxwW8BPmA==} cpu: [x64] os: [win32] - '@rspack/binding-win32-x64-msvc@2.2.1': - resolution: {integrity: sha512-l3K4s7nrQJc+3LacPFjZGjX8Jk1sf8Q4TK6IXAsdSucOjTqYSpD8PMl2NUXCBDXOl8T2V4v323z1LfxwW8BPmA==} + '@rspack/binding-win32-x64-msvc@2.2.2': + resolution: {integrity: sha512-GvEGyL594dtWN9SoVnKWh0exrM8WLInaUjwcuA2JKbCi1ak/9iHxip/U1dY3DuVqBYBhmvYq96JPbl91xnzFjg==} cpu: [x64] os: [win32] '@rspack/binding@2.1.10': resolution: {integrity: sha512-vnu/UP5HnrND15lO9+VeG6eUrbTyycHNQNQ3XEiRiFojuoiGZkIZC3Hbzr8qQH44C6vScPODEPvvIVvLcO2LpQ==} - '@rspack/binding@2.1.3': - resolution: {integrity: sha512-4UGXJqUHmm36tWG1GgFZz3p8sQ5JuSgWI+gq1xPPoihS41uYJL3cXuJnirTeWsmVrusmYZTQhgU3tl3VYGcJYg==} - '@rspack/binding@2.2.1': resolution: {integrity: sha512-56TqztuEMd+aHGv1jDXnkJQGSLTb4NoO146flFxJqPG8931UdXPO2pNR9M0Q2Pz+GvmO0fLHGPLYBHoRVrRlHw==} + '@rspack/binding@2.2.2': + resolution: {integrity: sha512-gWjKDQfVQJSBh/I+y9WTlyERsiShSJ7eI6Yl0SJs/6gjx8t4ixuwWCsaEFFjwSL4nSn6ML5hNQ7UFY3gj72BWA==} + '@rspack/core@2.1.10': resolution: {integrity: sha512-YSS2/Xxz8uiG/KXDkqOoA3dTetNo/vysk7bAexQOrU8iuq7JuzDTTAwLKvWZnwmvME8M8m5wcM4YvfIwYmidHA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1606,8 +1591,8 @@ packages: '@swc/helpers': optional: true - '@rspack/core@2.1.3': - resolution: {integrity: sha512-1iGnxLrP+iyY0ZSjLZeQTaxrISpQz4yLyqJPmaF/l4uw27/dBcrloszAeLOJQ9jiv7EJtU0T5zB+LOFPpivIxA==} + '@rspack/core@2.2.1': + resolution: {integrity: sha512-EHFX2oWCY1HkHJkG/Ev8HXCcl4gQzgETyairdIlBkKaypuW8i7kowBxUFzpHHg/ObF70vB3focToel9Wwg4MRA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 @@ -1618,8 +1603,8 @@ packages: '@swc/helpers': optional: true - '@rspack/core@2.2.1': - resolution: {integrity: sha512-EHFX2oWCY1HkHJkG/Ev8HXCcl4gQzgETyairdIlBkKaypuW8i7kowBxUFzpHHg/ObF70vB3focToel9Wwg4MRA==} + '@rspack/core@2.2.2': + resolution: {integrity: sha512-/yztfDZR5syIPBrUpzBpL+6fhhl0IHBPcXlNr4tOMBULbocFIz7Z4/cqvf1ix0DBbKpIGx99v6N1IDbk2gi8hw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 @@ -1650,15 +1635,91 @@ packages: '@rspress/shared@2.0.21': resolution: {integrity: sha512-siCWkv1a4n6y7JdVRII+fwCRZGZtG5KGFfKi2w/Tt33UnIgh4XGqozZ5F/K0iZ/QUwg0wi93SoVdOQm2Q+wf8w==} - '@rstest/adapter-rslib@0.11.11': - resolution: {integrity: sha512-tdApcpVuV29RPOzKftw7SLaMZr7yzlkcut+m56LsIW9WagQF2wjdhM4sdvMogVDT2ltPtKi+COMCATpNhq4Raw==} - peerDependencies: - '@rslib/core': '>=0.18.6 || ^1.0.0-0' - '@rstest/core': ^0.11.0 - typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 - peerDependenciesMeta: - typescript: - optional: true + '@rstackjs/cli-darwin-arm64@0.7.2': + resolution: {integrity: sha512-po/JUgHx7DZ+Kmrbyy3L0/xr3rlZfVEk0Oy4D2xsjmAa3bHhP63B5XCOCyArLAZeMOqYPze9VaOcgWmGN5qWwQ==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [arm64] + os: [darwin] + + '@rstackjs/cli-darwin-x64@0.7.2': + resolution: {integrity: sha512-RFgUgUUXC3ZLF2iKJplsK2Ty49VkVw+rR8y5Hgf+3BAUn9ffRCUAqscWQGPCrJZENVbTEUWDyEVCMNnUpM6+Ww==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [x64] + os: [darwin] + + '@rstackjs/cli-linux-arm64-gnu@0.7.2': + resolution: {integrity: sha512-pNUbP/Bd962FznXLiJHnCcxpP/l1L9wmLsdIh43T8MQkY4m0Rv/s5tpA1rRcoqYHymhnVqWFcBAWxAPTSnOFFQ==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rstackjs/cli-linux-arm64-musl@0.7.2': + resolution: {integrity: sha512-cOC1WNNAZEeUxA0Lvbkk0ZBGMQIhKcjlZZinwGkg6zHJ7jxW42/SvwjNdnXv1xEpQd59OGJ1aSR1/Gt7PpItzw==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rstackjs/cli-linux-ppc64-gnu@0.7.2': + resolution: {integrity: sha512-jOk/KA3gpNapZO8y0Pc99XG7kjtgz6ndOGqKczgYD7VWBZcnMvD2KKI1GmeLxLf+9v0NiLtefj1CCtFEbqwXKg==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rstackjs/cli-linux-riscv64-gnu@0.7.2': + resolution: {integrity: sha512-8fukS3qf1nrvYDQ4886gWphHsg9gyktSkUUudSEFkamKKKOCmdZn+tDUvEebxYiqQCUEC/mqkUc/jg7EQKvP7Q==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rstackjs/cli-linux-riscv64-musl@0.7.2': + resolution: {integrity: sha512-AciMUbdFgC/bDP05iuC13x4uPDISkyx2S9KiWDnjhs7bCjHv19bhPeOGLnpUWjAL86LxbHNuk+rM8wdt1da4gg==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rstackjs/cli-linux-s390x-gnu@0.7.2': + resolution: {integrity: sha512-pj5V7Thbdc0FfK7Ngl3wLish7S0Yyy/ZmlH0Qd9UEMrNwMyMoyR+ZAJaWRjv7LFJQegPZNKBEgXfDc6Yeg7KjA==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rstackjs/cli-linux-x64-gnu@0.7.2': + resolution: {integrity: sha512-25Xzm2SXyDA1WkXrcHQym1ZI71ZK4n9AD32+0UT8IhVF+FGDBw0WG2UeOIr5XcaCCxgjGw1qec4aZ4GEd0/6vg==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rstackjs/cli-linux-x64-musl@0.7.2': + resolution: {integrity: sha512-77E3zZ5nrIP86nh40mMOvAu547a8qPDfTcKUQU/4fVjcE7g7zX17gQGGOHubzoqWRxv5abTABkG/ovhxqZ8bwQ==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rstackjs/cli-win32-arm64-msvc@0.7.2': + resolution: {integrity: sha512-fg8vRphmnXZQIC0lo757rwbFJS1s7Ft9RT9BzaJrqEcMWinxHx9HtKCddJ1scEpgu5Al8Vws74KYu2XNcUFUbA==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [arm64] + os: [win32] + + '@rstackjs/cli-win32-ia32-msvc@0.7.2': + resolution: {integrity: sha512-veUcxZ+ZqGzkkRYfkKj0GHlIKxR3NKm/Va4taifZLFXcqDFrSAmoueXTfhIzsLrNII+g85gizyaMdjytWhw8Lw==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [ia32] + os: [win32] + + '@rstackjs/cli-win32-x64-msvc@0.7.2': + resolution: {integrity: sha512-E/+K2W+GtezTLaOZ87erMyWOEbivKZiN/m/Iqeg8UJrfp9Zkqm7yIhQnYwG+KxN0gp3qjB/zxlcYdN5fnnhOWQ==} + engines: {node: ^22.18.0 || >=24.3.0} + cpu: [x64] + os: [win32] '@rstest/core@0.11.11': resolution: {integrity: sha512-7Ii2/2/ex1Oa0Kg5Qk5RKx2+e0I83BHLwH0/gn1B7IDwXCh5msFCF7yTyVGFuMltlm3E8Cf4QD7jadOEaBfXfw==} @@ -1797,36 +1858,17 @@ packages: typescript: optional: true - '@storybook/test@9.0.0-alpha.2': - resolution: {integrity: sha512-K2NPgyY8FoyRurijB6LKZmRUwb7fSZ2GbA8Hg1l18x2fSno467eRCm2IH/mmj5UpHTOQoaMIUXjRTY3XyNPdCQ==} - peerDependencies: - storybook: ^9.0.0-alpha.2 - '@swc/helpers@0.5.23': resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} - '@testing-library/dom@10.4.0': - resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} - engines: {node: '>=18'} - '@testing-library/dom@10.4.1': resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} - '@testing-library/jest-dom@6.5.0': - resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} - engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/jest-dom@6.9.1': resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/user-event@14.5.2': - resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' - '@testing-library/user-event@14.6.1': resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} engines: {node: '>=12', npm: '>=6'} @@ -2041,9 +2083,6 @@ packages: peerDependencies: react: '>=18.3.1' - '@vitest/expect@2.0.5': - resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} - '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} @@ -2058,24 +2097,15 @@ packages: vite: optional: true - '@vitest/pretty-format@2.0.5': - resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} - '@vitest/pretty-format@3.2.4': resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/spy@2.0.5': - resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} - '@vitest/spy@3.2.4': resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} '@vitest/spy@3.2.7': resolution: {integrity: sha512-Q2eQGI6d2L/hBtZ0qNuKcAGid68XK6cv1xsoaIma6PaJhHPoqcEJhYpXZ/5myCMqkNgtP6UKuBhbc0nHKnrkuQ==} - '@vitest/utils@2.0.5': - resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} @@ -2133,6 +2163,75 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + '@yuku-parser/binding-android-arm64@0.9.3': + resolution: {integrity: sha512-z3tDGTaUXD5Q4IuebFOY/QHxhR/SqujMhkMv9C5bh25upyFEXdafp0MsXQIIheWhVZzn5VMOniyxFni/7s9LgQ==} + cpu: [arm64] + os: [android] + + '@yuku-parser/binding-darwin-arm64@0.9.3': + resolution: {integrity: sha512-hzKvKSKS7z3ufnu1VkQYEoxmS6A5uNnkwukKnc2atxpWdq648nLVOqut4h1jUXjbM2WcoTfuZLF6AHAGFf8cmg==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.9.3': + resolution: {integrity: sha512-OM2PiVlPATvzlj/KGHNlu+t8FC3YzM5joVNjhsz/EaigQ8x2UUQ1Q0agQLiv5GZ2L8TSzrLUwBCZ7YOvP8q+tw==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.9.3': + resolution: {integrity: sha512-WMn9M4LHNVysGNwsAJ9gpRPqQIW2lcPrDNGcyk0agx3IYqCJq1MQugh6Be8Otc5U08eGdE39o8Kx9YWJmXz7GA==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.9.3': + resolution: {integrity: sha512-vqKjwiyW1FWvbykYMEQIcAJwA17WxK3rxxqDuyCvQwcNVaLEUxI4BXiUdlF3kHucc7MnoFQhoRPkySgOzlLM+Q==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.9.3': + resolution: {integrity: sha512-qohilhYOT+zkt2gYzym4F1T6BzRdvPqS9/sFB03pmnVV8LrvjOXVsGwEBAa3CEvzJKhAZjdTmVz7zsVdjyHWLg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.9.3': + resolution: {integrity: sha512-tvTIyUvTGkeee68i4JIo9o27As+Ug6LXOZvElGgFbTs6+KBdb5LGhvugaIQljdfIsm2XnIbOLG6OnQSXHMLB9w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.9.3': + resolution: {integrity: sha512-OWZBHW1wuChBpFlrF+On1yiBcFPMRrj2g0VKsM/PCBGffu1OM0ORkS+vLS3Snu6wYwndM5Dd9Ctvux6eUlrQjA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.9.3': + resolution: {integrity: sha512-/tbk1h0dlADOCngbiQO9V3SHwBIJkoGBq8BDEraSw2CC3nGxPEPTCCYUDp5738Ij2FxVwy1FWVuhFkHvpMrPbQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.9.3': + resolution: {integrity: sha512-u3+0sCso/mcjDvtc3866D2giV7l34PDyDVBkMesAWa3DWbIWPlybehi2SSnmScgArV22ctqSSgUzdBBVJ6zYAg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.9.3': + resolution: {integrity: sha512-xnGEvdhyjRkXozHtpXVpEEkyGZWAxJ3RoILv7XRV5SvTEztaTCk5GQyfcOzI9An/EJtcL4ERCI8QmS0TpDPJiA==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.9.3': + resolution: {integrity: sha512-N5eShGcuwnrXEprePFmEjtng6acZmtnC4zgazK9xxkavcx1q1uX8Nz8lU5RS973EMlNr902cIc6Cd2D4tqZDBg==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.9.3': + resolution: {integrity: sha512-rFE+5P4g2wxko5C85MugJOlVjBHEQq87dIkhLkniLXLp63PEtgaFjD954i5HXlfnyzLxPcZHsSOVDVgmo1HToA==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2171,10 +2270,6 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} @@ -2284,14 +2379,6 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -2350,13 +2437,6 @@ packages: collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colorjs.io@0.5.2: resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} @@ -2920,9 +3000,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -3556,19 +3633,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-rc.2: + resolution: {integrity: sha512-Mqalmu3j7UcDLUl3O5Y502V5Id6cbKyNn/nUxQIxar7gK2KjdPyw58WRfMQ7/4r4oHmeBeIgeSCb50M648ysoA==} 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 @@ -3580,6 +3654,16 @@ packages: '@rsbuild/core': optional: true + rstack@0.7.2: + resolution: {integrity: sha512-A0nL89XfrcA1tqhX7WmA+6p7ogMr4oWSYaPH1h+Kybl/e4+mEQAO/GCVA2BPsoUsSx8KltC3wUkmuhkKtoQojQ==} + engines: {node: ^22.18.0 || >=24.3.0} + hasBin: true + peerDependencies: + '@rspress/core': ^2.0.17 + peerDependenciesMeta: + '@rspress/core': + optional: true + run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} @@ -3765,10 +3849,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-git-hooks@2.14.0: - resolution: {integrity: sha512-kkTORPAuxQz2g1QUuN0J8yGWT28tjGBfPOdJ4xT7Vbeu30veKUZQIoID2qGgCDAakaQn59UeZJJ4cFGB8PVP2A==} - hasBin: true - sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} @@ -3791,17 +3871,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - storybook-addon-rslib@3.4.2: - resolution: {integrity: sha512-7Y0fKQMikyVoXGdYxPWe6Iu6CocSybld6KaPG3uuuZgZzhSebb2vR8gTiXLyfwMzZtV4Iq8NOqEjFEEwSvfK+g==} - peerDependencies: - '@rsbuild/core': ^1.5.0 || ^2.0.0-0 - '@rslib/core': '>= 0.1.1 || >= 0.2' - storybook-builder-rsbuild: ^3.4.2 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - storybook-builder-rsbuild@3.4.2: resolution: {integrity: sha512-qIHgM04DgxTPWdclvg5lkNFAjqtw/aFEmyMMZ7mmoKPwhk2AMYL8X+ew748LXjG4xBBex17CgAW+681js1rLQg==} peerDependencies: @@ -3877,10 +3946,6 @@ packages: stylis@4.3.4: resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} @@ -3935,18 +4000,14 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinyrainbow@1.2.0: - resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} - engines: {node: '>=14.0.0'} + tinypool@2.1.2: + resolution: {integrity: sha512-9YodfrxS9g9IbFr/KOjE5bAeJ0p61n3bW6mqvy0jtoeKd1kTW1Cxm0oulm6KX2lyM9Gl6WIe8nEbY7LWv5ZJww==} + 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'} - tinyspy@3.0.2: - resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} - engines: {node: '>=14.0.0'} - tinyspy@4.0.4: resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} @@ -4136,6 +4197,12 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} + yuku-ast@0.9.3: + resolution: {integrity: sha512-Kt0PXlPCXdKF1fWFTl7N3DaxsVk6DHF8VAXHJMkwPtJnWYgbx20pYgGSweuC/86mIM7k1NUITQ4JffgOLUWTCw==} + + yuku-parser@0.9.3: + resolution: {integrity: sha512-96wPoHnwaXfkZv7UIOUkDb+s7ZH8lv8Qtg+MxdvHUV1LFa5jV9iKOaams1942YQt+krFQrWiD6lSg2ermv5kHA==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4189,44 +4256,44 @@ snapshots: react-dom: 19.2.8(react@19.2.8) throttle-debounce: 5.0.2 - '@ast-grep/napi-darwin-arm64@0.37.0': + '@ast-grep/napi-darwin-arm64@0.45.1': optional: true - '@ast-grep/napi-darwin-x64@0.37.0': + '@ast-grep/napi-darwin-x64@0.45.1': optional: true - '@ast-grep/napi-linux-arm64-gnu@0.37.0': + '@ast-grep/napi-linux-arm64-gnu@0.45.1': optional: true - '@ast-grep/napi-linux-arm64-musl@0.37.0': + '@ast-grep/napi-linux-arm64-musl@0.45.1': optional: true - '@ast-grep/napi-linux-x64-gnu@0.37.0': + '@ast-grep/napi-linux-x64-gnu@0.45.1': optional: true - '@ast-grep/napi-linux-x64-musl@0.37.0': + '@ast-grep/napi-linux-x64-musl@0.45.1': optional: true - '@ast-grep/napi-win32-arm64-msvc@0.37.0': + '@ast-grep/napi-win32-arm64-msvc@0.45.1': optional: true - '@ast-grep/napi-win32-ia32-msvc@0.37.0': + '@ast-grep/napi-win32-ia32-msvc@0.45.1': optional: true - '@ast-grep/napi-win32-x64-msvc@0.37.0': + '@ast-grep/napi-win32-x64-msvc@0.45.1': optional: true - '@ast-grep/napi@0.37.0': + '@ast-grep/napi@0.45.1': optionalDependencies: - '@ast-grep/napi-darwin-arm64': 0.37.0 - '@ast-grep/napi-darwin-x64': 0.37.0 - '@ast-grep/napi-linux-arm64-gnu': 0.37.0 - '@ast-grep/napi-linux-arm64-musl': 0.37.0 - '@ast-grep/napi-linux-x64-gnu': 0.37.0 - '@ast-grep/napi-linux-x64-musl': 0.37.0 - '@ast-grep/napi-win32-arm64-msvc': 0.37.0 - '@ast-grep/napi-win32-ia32-msvc': 0.37.0 - '@ast-grep/napi-win32-x64-msvc': 0.37.0 + '@ast-grep/napi-darwin-arm64': 0.45.1 + '@ast-grep/napi-darwin-x64': 0.45.1 + '@ast-grep/napi-linux-arm64-gnu': 0.45.1 + '@ast-grep/napi-linux-arm64-musl': 0.45.1 + '@ast-grep/napi-linux-x64-gnu': 0.45.1 + '@ast-grep/napi-linux-x64-musl': 0.45.1 + '@ast-grep/napi-win32-arm64-msvc': 0.45.1 + '@ast-grep/napi-win32-ia32-msvc': 0.45.1 + '@ast-grep/napi-win32-x64-msvc': 0.45.1 '@babel/code-frame@7.27.1': dependencies: @@ -4340,12 +4407,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@1.11.1': - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.11.3': dependencies: '@emnapi/wasi-threads': 1.2.3 @@ -4363,11 +4424,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.11.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 @@ -4669,13 +4725,6 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': - dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@tybys/wasm-util': 0.10.3 - optional: true - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)': dependencies: '@emnapi/core': 1.11.3 @@ -5241,39 +5290,39 @@ snapshots: transitivePeerDependencies: - '@module-federation/runtime-tools' - '@rsbuild/core@2.1.5': + '@rsbuild/core@2.2.1': dependencies: - '@rspack/core': 2.1.3(@swc/helpers@0.5.23) + '@rspack/core': 2.2.1(@swc/helpers@0.5.23) '@swc/helpers': 0.5.23 transitivePeerDependencies: - '@module-federation/runtime-tools' - '@rsbuild/core@2.2.1': + '@rsbuild/core@2.2.2': dependencies: - '@rspack/core': 2.2.1(@swc/helpers@0.5.23) + '@rspack/core': 2.2.2(@swc/helpers@0.5.23) '@swc/helpers': 0.5.23 transitivePeerDependencies: - '@module-federation/runtime-tools' - '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.13)(@rspack/core@2.2.1(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.13)(@rspack/core@2.2.2(@swc/helpers@0.5.23))': dependencies: - '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.2.2(@swc/helpers@0.5.23))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.13 transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.5)(@rspack/core@2.2.1(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))': dependencies: - '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.2.2(@swc/helpers@0.5.23))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: - '@rsbuild/core': 2.1.5 + '@rsbuild/core': 2.2.2 transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-sass@2.0.1(@rsbuild/core@2.1.5)': + '@rsbuild/plugin-sass@2.0.1(@rsbuild/core@2.2.2)': dependencies: deepmerge: 4.3.1 loader-utils: 2.0.4 @@ -5281,29 +5330,28 @@ snapshots: reduce-configs: 2.0.1 sass-embedded: 1.100.0 optionalDependencies: - '@rsbuild/core': 2.1.5 + '@rsbuild/core': 2.2.2 - '@rsbuild/plugin-type-check@1.6.0(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(typescript@7.0.2)': + '@rsbuild/plugin-type-check@1.6.0(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))(typescript@7.0.2)': dependencies: deepmerge: 4.3.1 json5: 2.2.3 reduce-configs: 1.1.2 - ts-checker-rspack-plugin: 1.6.1(@rspack/core@2.2.1(@swc/helpers@0.5.23))(typescript@7.0.2) + ts-checker-rspack-plugin: 1.6.1(@rspack/core@2.2.2(@swc/helpers@0.5.23))(typescript@7.0.2) optionalDependencies: - '@rsbuild/core': 2.2.1 + '@rsbuild/core': 2.2.2 transitivePeerDependencies: - '@rspack/core' - typescript - '@rslib/core@0.23.2(typescript@7.0.2)': + '@rslib/core@1.0.0-rc.2(typescript@7.0.2)': dependencies: - '@rsbuild/core': 2.1.5 - rsbuild-plugin-dts: 0.23.2(@rsbuild/core@2.1.5)(typescript@7.0.2) + '@rsbuild/core': 2.2.1 + rsbuild-plugin-dts: 1.0.0-rc.2(@rsbuild/core@2.2.1)(typescript@7.0.2) optionalDependencies: typescript: 7.0.2 transitivePeerDependencies: - '@module-federation/runtime-tools' - - '@typescript/native-preview' - core-js '@rslint/core@0.9.0': @@ -5346,37 +5394,37 @@ snapshots: '@rspack/binding-darwin-arm64@2.1.10': optional: true - '@rspack/binding-darwin-arm64@2.1.3': + '@rspack/binding-darwin-arm64@2.2.1': optional: true - '@rspack/binding-darwin-arm64@2.2.1': + '@rspack/binding-darwin-arm64@2.2.2': optional: true '@rspack/binding-darwin-x64@2.1.10': optional: true - '@rspack/binding-darwin-x64@2.1.3': + '@rspack/binding-darwin-x64@2.2.1': optional: true - '@rspack/binding-darwin-x64@2.2.1': + '@rspack/binding-darwin-x64@2.2.2': optional: true '@rspack/binding-linux-arm64-gnu@2.1.10': optional: true - '@rspack/binding-linux-arm64-gnu@2.1.3': + '@rspack/binding-linux-arm64-gnu@2.2.1': optional: true - '@rspack/binding-linux-arm64-gnu@2.2.1': + '@rspack/binding-linux-arm64-gnu@2.2.2': optional: true '@rspack/binding-linux-arm64-musl@2.1.10': optional: true - '@rspack/binding-linux-arm64-musl@2.1.3': + '@rspack/binding-linux-arm64-musl@2.2.1': optional: true - '@rspack/binding-linux-arm64-musl@2.2.1': + '@rspack/binding-linux-arm64-musl@2.2.2': optional: true '@rspack/binding-linux-ppc64-gnu@2.1.10': @@ -5385,48 +5433,54 @@ snapshots: '@rspack/binding-linux-ppc64-gnu@2.2.1': optional: true - '@rspack/binding-linux-riscv64-gnu@2.1.10': + '@rspack/binding-linux-ppc64-gnu@2.2.2': optional: true - '@rspack/binding-linux-riscv64-gnu@2.1.3': + '@rspack/binding-linux-riscv64-gnu@2.1.10': optional: true '@rspack/binding-linux-riscv64-gnu@2.2.1': optional: true - '@rspack/binding-linux-riscv64-musl@2.1.10': + '@rspack/binding-linux-riscv64-gnu@2.2.2': optional: true - '@rspack/binding-linux-riscv64-musl@2.1.3': + '@rspack/binding-linux-riscv64-musl@2.1.10': optional: true '@rspack/binding-linux-riscv64-musl@2.2.1': optional: true + '@rspack/binding-linux-riscv64-musl@2.2.2': + optional: true + '@rspack/binding-linux-s390x-gnu@2.1.10': optional: true '@rspack/binding-linux-s390x-gnu@2.2.1': optional: true - '@rspack/binding-linux-x64-gnu@2.1.10': + '@rspack/binding-linux-s390x-gnu@2.2.2': optional: true - '@rspack/binding-linux-x64-gnu@2.1.3': + '@rspack/binding-linux-x64-gnu@2.1.10': optional: true '@rspack/binding-linux-x64-gnu@2.2.1': optional: true - '@rspack/binding-linux-x64-musl@2.1.10': + '@rspack/binding-linux-x64-gnu@2.2.2': optional: true - '@rspack/binding-linux-x64-musl@2.1.3': + '@rspack/binding-linux-x64-musl@2.1.10': optional: true '@rspack/binding-linux-x64-musl@2.2.1': optional: true + '@rspack/binding-linux-x64-musl@2.2.2': + optional: true + '@rspack/binding-wasm32-wasi@2.1.10': dependencies: '@emnapi/core': 1.11.3 @@ -5434,14 +5488,14 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) optional: true - '@rspack/binding-wasm32-wasi@2.1.3': + '@rspack/binding-wasm32-wasi@2.2.1': 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-wasm32-wasi@2.2.1': + '@rspack/binding-wasm32-wasi@2.2.2': dependencies: '@emnapi/core': 1.11.3 '@emnapi/runtime': 1.11.3 @@ -5451,28 +5505,28 @@ snapshots: '@rspack/binding-win32-arm64-msvc@2.1.10': optional: true - '@rspack/binding-win32-arm64-msvc@2.1.3': + '@rspack/binding-win32-arm64-msvc@2.2.1': optional: true - '@rspack/binding-win32-arm64-msvc@2.2.1': + '@rspack/binding-win32-arm64-msvc@2.2.2': optional: true '@rspack/binding-win32-ia32-msvc@2.1.10': optional: true - '@rspack/binding-win32-ia32-msvc@2.1.3': + '@rspack/binding-win32-ia32-msvc@2.2.1': optional: true - '@rspack/binding-win32-ia32-msvc@2.2.1': + '@rspack/binding-win32-ia32-msvc@2.2.2': optional: true '@rspack/binding-win32-x64-msvc@2.1.10': optional: true - '@rspack/binding-win32-x64-msvc@2.1.3': + '@rspack/binding-win32-x64-msvc@2.2.1': optional: true - '@rspack/binding-win32-x64-msvc@2.2.1': + '@rspack/binding-win32-x64-msvc@2.2.2': optional: true '@rspack/binding@2.1.10': @@ -5492,21 +5546,6 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 2.1.10 '@rspack/binding-win32-x64-msvc': 2.1.10 - '@rspack/binding@2.1.3': - 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/binding@2.2.1': optionalDependencies: '@rspack/binding-darwin-arm64': 2.2.1 @@ -5524,38 +5563,55 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 2.2.1 '@rspack/binding-win32-x64-msvc': 2.2.1 + '@rspack/binding@2.2.2': + optionalDependencies: + '@rspack/binding-darwin-arm64': 2.2.2 + '@rspack/binding-darwin-x64': 2.2.2 + '@rspack/binding-linux-arm64-gnu': 2.2.2 + '@rspack/binding-linux-arm64-musl': 2.2.2 + '@rspack/binding-linux-ppc64-gnu': 2.2.2 + '@rspack/binding-linux-riscv64-gnu': 2.2.2 + '@rspack/binding-linux-riscv64-musl': 2.2.2 + '@rspack/binding-linux-s390x-gnu': 2.2.2 + '@rspack/binding-linux-x64-gnu': 2.2.2 + '@rspack/binding-linux-x64-musl': 2.2.2 + '@rspack/binding-wasm32-wasi': 2.2.2 + '@rspack/binding-win32-arm64-msvc': 2.2.2 + '@rspack/binding-win32-ia32-msvc': 2.2.2 + '@rspack/binding-win32-x64-msvc': 2.2.2 + '@rspack/core@2.1.10(@swc/helpers@0.5.23)': dependencies: '@rspack/binding': 2.1.10 optionalDependencies: '@swc/helpers': 0.5.23 - '@rspack/core@2.1.3(@swc/helpers@0.5.23)': + '@rspack/core@2.2.1(@swc/helpers@0.5.23)': dependencies: - '@rspack/binding': 2.1.3 + '@rspack/binding': 2.2.1 optionalDependencies: '@swc/helpers': 0.5.23 - '@rspack/core@2.2.1(@swc/helpers@0.5.23)': + '@rspack/core@2.2.2(@swc/helpers@0.5.23)': dependencies: - '@rspack/binding': 2.2.1 + '@rspack/binding': 2.2.2 optionalDependencies: '@swc/helpers': 0.5.23 '@rspack/lite-tapable@1.1.5': {} - '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.2.2(@swc/helpers@0.5.23))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.2.1(@swc/helpers@0.5.23) + '@rspack/core': 2.2.2(@swc/helpers@0.5.23) - '@rspress/core@2.0.21(@rspack/core@2.2.1(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1)': + '@rspress/core@2.0.21(@rspack/core@2.2.2(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: '@mdx-js/mdx': 3.1.1(supports-color@8.1.1) '@mdx-js/react': 3.1.1(@types/react@19.2.18)(react@19.2.8) '@rsbuild/core': 2.1.13 - '@rsbuild/plugin-react': 2.1.0(@rsbuild/core@2.1.13)(@rspack/core@2.2.1(@swc/helpers@0.5.23)) + '@rsbuild/plugin-react': 2.1.0(@rsbuild/core@2.1.13)(@rspack/core@2.2.2(@swc/helpers@0.5.23)) '@rspress/shared': 2.0.21(supports-color@8.1.1) '@shikijs/rehype': 4.3.0 '@types/mdast': 4.0.4 @@ -5610,12 +5666,44 @@ snapshots: - core-js - supports-color - '@rstest/adapter-rslib@0.11.11(@rslib/core@0.23.2(typescript@7.0.2))(@rstest/core@0.11.11)(typescript@7.0.2)': - dependencies: - '@rslib/core': 0.23.2(typescript@7.0.2) - '@rstest/core': 0.11.11 - optionalDependencies: - typescript: 7.0.2 + '@rstackjs/cli-darwin-arm64@0.7.2': + optional: true + + '@rstackjs/cli-darwin-x64@0.7.2': + optional: true + + '@rstackjs/cli-linux-arm64-gnu@0.7.2': + optional: true + + '@rstackjs/cli-linux-arm64-musl@0.7.2': + optional: true + + '@rstackjs/cli-linux-ppc64-gnu@0.7.2': + optional: true + + '@rstackjs/cli-linux-riscv64-gnu@0.7.2': + optional: true + + '@rstackjs/cli-linux-riscv64-musl@0.7.2': + optional: true + + '@rstackjs/cli-linux-s390x-gnu@0.7.2': + optional: true + + '@rstackjs/cli-linux-x64-gnu@0.7.2': + optional: true + + '@rstackjs/cli-linux-x64-musl@0.7.2': + optional: true + + '@rstackjs/cli-win32-arm64-msvc@0.7.2': + optional: true + + '@rstackjs/cli-win32-ia32-msvc@0.7.2': + optional: true + + '@rstackjs/cli-win32-x64-msvc@0.7.2': + optional: true '@rstest/core@0.11.11': dependencies: @@ -5754,31 +5842,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/test@9.0.0-alpha.2(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))': - dependencies: - '@storybook/global': 5.0.0 - '@testing-library/dom': 10.4.0 - '@testing-library/jest-dom': 6.5.0 - '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/expect': 2.0.5 - '@vitest/spy': 2.0.5 - storybook: 10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@swc/helpers@0.5.23': dependencies: tslib: 2.8.1 - '@testing-library/dom@10.4.0': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.29.2 - '@types/aria-query': 5.0.4 - aria-query: 5.3.0 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - '@testing-library/dom@10.4.1': dependencies: '@babel/code-frame': 7.27.1 @@ -5790,16 +5857,6 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.5.0': - dependencies: - '@adobe/css-tools': 4.4.4 - aria-query: 5.3.2 - chalk: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.6.3 - lodash: 4.17.21 - redent: 3.0.0 - '@testing-library/jest-dom@6.9.1': dependencies: '@adobe/css-tools': 4.4.4 @@ -5809,10 +5866,6 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': - dependencies: - '@testing-library/dom': 10.4.0 - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: '@testing-library/dom': 10.4.1 @@ -5975,13 +6028,6 @@ snapshots: react: 19.2.8 unhead: 2.1.17 - '@vitest/expect@2.0.5': - dependencies: - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 - chai: 5.3.3 - tinyrainbow: 1.2.0 - '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.3 @@ -5996,18 +6042,10 @@ snapshots: estree-walker: 3.0.3 magic-string: 0.30.21 - '@vitest/pretty-format@2.0.5': - dependencies: - tinyrainbow: 1.2.0 - '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/spy@2.0.5': - dependencies: - tinyspy: 3.0.2 - '@vitest/spy@3.2.4': dependencies: tinyspy: 4.0.4 @@ -6016,13 +6054,6 @@ snapshots: dependencies: tinyspy: 4.0.4 - '@vitest/utils@2.0.5': - dependencies: - '@vitest/pretty-format': 2.0.5 - estree-walker: 3.0.3 - loupe: 3.2.1 - tinyrainbow: 1.2.0 - '@vitest/utils@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 @@ -6111,6 +6142,44 @@ snapshots: '@xtuc/long@4.2.2': {} + '@yuku-parser/binding-android-arm64@0.9.3': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.9.3': + optional: true + + '@yuku-parser/binding-darwin-x64@0.9.3': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.9.3': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.9.3': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.9.3': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.9.3': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.9.3': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.9.3': + optional: true + + '@yuku-parser/binding-linux-x64-musl@0.9.3': + optional: true + + '@yuku-parser/binding-win32-arm64@0.9.3': + optional: true + + '@yuku-parser/binding-win32-x64@0.9.3': + optional: true + + '@yuku-toolchain/types@0.9.3': {} + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: acorn: 8.16.0 @@ -6146,10 +6215,6 @@ snapshots: ansi-regex@5.0.1: {} - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - ansi-styles@5.2.0: {} antd@6.6.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): @@ -6300,16 +6365,6 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 - chalk@3.0.0: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -6353,12 +6408,6 @@ snapshots: collapse-white-space@2.1.0: {} - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - colorjs.io@0.5.2: {} comma-separated-tokens@2.0.3: {} @@ -6985,8 +7034,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash@4.17.21: {} - longest-streak@3.1.0: {} lottie-web@5.13.0: {} @@ -7980,19 +8027,52 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - rsbuild-plugin-dts@0.23.2(@rsbuild/core@2.1.5)(typescript@7.0.2): + rsbuild-plugin-dts@1.0.0-rc.2(@rsbuild/core@2.2.1)(typescript@7.0.2): dependencies: - '@ast-grep/napi': 0.37.0 - '@rsbuild/core': 2.1.5 + '@ast-grep/napi': 0.45.1 + '@rsbuild/core': 2.2.1 optionalDependencies: typescript: 7.0.2 - rsbuild-plugin-html-minifier-terser@1.1.5(@rsbuild/core@2.2.1): + rsbuild-plugin-html-minifier-terser@1.1.5(@rsbuild/core@2.2.2): dependencies: '@types/html-minifier-terser': 7.0.2 html-minifier-terser: 7.2.0 optionalDependencies: - '@rsbuild/core': 2.2.1 + '@rsbuild/core': 2.2.2 + + rstack@0.7.2(@rspress/core@2.0.21(@rspack/core@2.2.2(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1))(typescript@7.0.2): + dependencies: + '@rsbuild/core': 2.2.2 + '@rslib/core': 1.0.0-rc.2(typescript@7.0.2) + '@rslint/core': 0.9.0 + '@rstest/core': 0.11.11 + prettier: 3.9.6 + tinypool: 2.1.2 + yuku-parser: 0.9.3 + optionalDependencies: + '@rspress/core': 2.0.21(@rspack/core@2.2.2(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2(supports-color@8.1.1))(supports-color@8.1.1) + '@rstackjs/cli-darwin-arm64': 0.7.2 + '@rstackjs/cli-darwin-x64': 0.7.2 + '@rstackjs/cli-linux-arm64-gnu': 0.7.2 + '@rstackjs/cli-linux-arm64-musl': 0.7.2 + '@rstackjs/cli-linux-ppc64-gnu': 0.7.2 + '@rstackjs/cli-linux-riscv64-gnu': 0.7.2 + '@rstackjs/cli-linux-riscv64-musl': 0.7.2 + '@rstackjs/cli-linux-s390x-gnu': 0.7.2 + '@rstackjs/cli-linux-x64-gnu': 0.7.2 + '@rstackjs/cli-linux-x64-musl': 0.7.2 + '@rstackjs/cli-win32-arm64-msvc': 0.7.2 + '@rstackjs/cli-win32-ia32-msvc': 0.7.2 + '@rstackjs/cli-win32-x64-msvc': 0.7.2 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@module-federation/runtime-tools' + - core-js + - happy-dom + - jiti + - jsdom + - typescript run-applescript@7.1.0: {} @@ -8162,8 +8242,6 @@ snapshots: signal-exit@4.1.0: {} - simple-git-hooks@2.14.0: {} - sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.28 @@ -8183,18 +8261,10 @@ snapshots: space-separated-tokens@2.0.2: {} - storybook-addon-rslib@3.4.2(@rsbuild/core@2.2.1)(@rslib/core@0.23.2(typescript@7.0.2))(storybook-builder-rsbuild@3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2))(typescript@7.0.2): - dependencies: - '@rsbuild/core': 2.2.1 - '@rslib/core': 0.23.2(typescript@7.0.2) - storybook-builder-rsbuild: 3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2) - optionalDependencies: - typescript: 7.0.2 - - storybook-builder-rsbuild@3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2): + storybook-builder-rsbuild@3.4.2(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2): dependencies: - '@rsbuild/core': 2.2.1 - '@rsbuild/plugin-type-check': 1.6.0(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(typescript@7.0.2) + '@rsbuild/core': 2.2.2 + '@rsbuild/plugin-type-check': 1.6.0(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))(typescript@7.0.2) '@vitest/mocker': 3.2.7 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -8207,7 +8277,7 @@ snapshots: pathe: 2.0.3 picocolors: 1.1.1 process: 0.11.10 - rsbuild-plugin-html-minifier-terser: 1.1.5(@rsbuild/core@2.2.1) + rsbuild-plugin-html-minifier-terser: 1.1.5(@rsbuild/core@2.2.2) sirv: 2.0.4 storybook: 10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) ts-dedent: 2.3.0 @@ -8224,10 +8294,10 @@ snapshots: - msw - vite - storybook-react-rsbuild@3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(supports-color@8.1.1)(typescript@7.0.2)(webpack@5.96.1(esbuild@0.27.3)): + storybook-react-rsbuild@3.4.2(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(supports-color@8.1.1)(typescript@7.0.2)(webpack@5.96.1(esbuild@0.27.3)): dependencies: '@rollup/pluginutils': 5.4.0 - '@rsbuild/core': 2.2.1 + '@rsbuild/core': 2.2.2 '@storybook/react': 10.5.8(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(supports-color@8.1.1)(typescript@7.0.2) '@storybook/react-docgen-typescript-plugin': 1.0.1(supports-color@8.1.1)(typescript@7.0.2)(webpack@5.96.1(esbuild@0.27.3)) find-up: 5.0.0 @@ -8238,7 +8308,7 @@ snapshots: react-dom: 19.2.8(react@19.2.8) resolve: 1.22.12 storybook: 10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - storybook-builder-rsbuild: 3.4.2(@rsbuild/core@2.2.1)(@rspack/core@2.2.1(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2) + storybook-builder-rsbuild: 3.4.2(@rsbuild/core@2.2.2)(@rspack/core@2.2.2(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(prettier@3.9.6)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2) tsconfig-paths: 4.2.0 optionalDependencies: typescript: 7.0.2 @@ -8310,10 +8380,6 @@ snapshots: stylis@4.3.4: {} - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - supports-color@8.1.1: dependencies: has-flag: 4.0.0 @@ -8354,12 +8420,10 @@ snapshots: tiny-invariant@1.3.3: {} - tinyrainbow@1.2.0: {} + tinypool@2.1.2: {} tinyrainbow@2.0.0: {} - tinyspy@3.0.2: {} - tinyspy@4.0.4: {} to-regex-range@5.0.1: @@ -8378,7 +8442,7 @@ snapshots: trough@2.2.0: {} - ts-checker-rspack-plugin@1.6.1(@rspack/core@2.2.1(@swc/helpers@0.5.23))(typescript@7.0.2): + ts-checker-rspack-plugin@1.6.1(@rspack/core@2.2.2(@swc/helpers@0.5.23))(typescript@7.0.2): dependencies: '@rspack/lite-tapable': 1.1.5 chokidar: 3.6.0 @@ -8386,7 +8450,7 @@ snapshots: picocolors: 1.1.1 typescript: 7.0.2 optionalDependencies: - '@rspack/core': 2.2.1(@swc/helpers@0.5.23) + '@rspack/core': 2.2.2(@swc/helpers@0.5.23) ts-dedent@2.3.0: {} @@ -8583,4 +8647,26 @@ snapshots: yoctocolors@2.1.1: {} + yuku-ast@0.9.3: + dependencies: + '@yuku-toolchain/types': 0.9.3 + + yuku-parser@0.9.3: + dependencies: + '@yuku-toolchain/types': 0.9.3 + yuku-ast: 0.9.3 + optionalDependencies: + '@yuku-parser/binding-android-arm64': 0.9.3 + '@yuku-parser/binding-darwin-arm64': 0.9.3 + '@yuku-parser/binding-darwin-x64': 0.9.3 + '@yuku-parser/binding-freebsd-x64': 0.9.3 + '@yuku-parser/binding-linux-arm-gnu': 0.9.3 + '@yuku-parser/binding-linux-arm-musl': 0.9.3 + '@yuku-parser/binding-linux-arm64-gnu': 0.9.3 + '@yuku-parser/binding-linux-arm64-musl': 0.9.3 + '@yuku-parser/binding-linux-x64-gnu': 0.9.3 + '@yuku-parser/binding-linux-x64-musl': 0.9.3 + '@yuku-parser/binding-win32-arm64': 0.9.3 + '@yuku-parser/binding-win32-x64': 0.9.3 + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2cbfe1e..28ccdd0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,7 +1,6 @@ allowBuilds: core-js: false esbuild: false - simple-git-hooks: false minimumReleaseAgeExclude: - '@rsbuild/*' diff --git a/rslib.config.ts b/rslib.config.ts deleted file mode 100644 index dcf61a9..0000000 --- a/rslib.config.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { pluginReact } from '@rsbuild/plugin-react'; -import { pluginSass } from '@rsbuild/plugin-sass'; -import { defineConfig, rspack } from '@rslib/core'; - -export default defineConfig({ - plugins: [pluginReact(), pluginSass()], - source: { - define: { - // Keep the Rspress SSG-MD runtime flag in library output. - // Consumers replace `import.meta.env.SSG_MD` in their own builds. - 'import.meta.env': 'import.meta.env', - }, - }, - lib: [ - { - syntax: 'es2018', - autoExternal: false, - tools: { - rspack(config) { - config.plugins.push( - new rspack.BannerPlugin({ - banner: `import './index.css';`, - raw: true, - // Only add CSS import to entry chunks, not rslib-runtime or split chunks - include: /^[a-z][\w-]*\/index\.js$/, - }), - ); - }, - }, - dts: true, - source: { - entry: { - 'nav-icon': './src/nav-icon/index.tsx', - benchmark: './src/benchmark/index.tsx', - 'blog-avatar': './src/blog-avatar/index.tsx', - 'blog-back-button': './src/blog-back-button/index.tsx', - 'blog-authors': './src/blog-authors/index.tsx', - 'blog-list': './src/blog-list/index.tsx', - 'blog-background': './src/blog-background/index.tsx', - 'tool-stack': './src/tool-stack/index.tsx', - hero: './src/hero/index.tsx', - 'section-style': './src/section-style/index.tsx', - 'fully-featured': './src/fully-featured/index.tsx', - 'built-with-rspack': './src/built-with-rspack/index.tsx', - 'why-rspack': './src/why-rspack/index.tsx', - 'background-image': './src/background-image/index.tsx', - announcement: './src/announcement/index.tsx', - }, - }, - }, - // without banner - { - syntax: 'es2018', - autoExternal: false, - dts: true, - source: { - entry: { - antd: './src/antd/index.tsx', - }, - }, - }, - { - source: { - entry: { - theme: './src/theme.scss', - }, - }, - }, - ], - output: { - target: 'web', - externals: [/^react($|\/)/, /^react-dom($|\/)/, /^@rspress\/core($|\/)/], - filename: { - js: '[name]/index.js', - css: '[name]/index.css', - }, - distPath: { - css: '', - }, - }, -}); diff --git a/rslint.config.ts b/rslint.config.ts deleted file mode 100644 index b07149a..0000000 --- a/rslint.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig, reactPlugin, js, ts } from '@rslint/core'; - -export default defineConfig([ - js.configs.recommended, - ts.configs.recommended, - reactPlugin.configs.recommended, - { - rules: { - '@typescript-eslint/no-explicit-any': 'off', - 'react/react-in-jsx-scope': 'off', - }, - }, -]); diff --git a/rstack.config.ts b/rstack.config.ts new file mode 100644 index 0000000..4a63390 --- /dev/null +++ b/rstack.config.ts @@ -0,0 +1,125 @@ +// Configuration guide: https://rstack.rs/config +import { define } from 'rstack'; + +define.lib(async () => { + const { pluginReact } = await import('@rsbuild/plugin-react'); + const { pluginSass } = await import('@rsbuild/plugin-sass'); + const { rspack } = await import('rstack/lib'); + + return { + plugins: [pluginReact(), pluginSass()], + source: { + define: { + // Keep the Rspress SSG-MD runtime flag in library output. + // Consumers replace `import.meta.env.SSG_MD` in their own builds. + 'import.meta.env': 'import.meta.env', + }, + }, + lib: [ + { + syntax: 'es2018', + output: { + autoExternal: false, + }, + tools: { + rspack(config) { + config.plugins.push( + new rspack.BannerPlugin({ + banner: `import './index.css';`, + raw: true, + // Only add CSS import to entry chunks, not rslib-runtime or split chunks + include: /^[a-z][\w-]*\/index\.js$/, + }), + ); + }, + }, + dts: true, + source: { + entry: { + 'nav-icon': './src/nav-icon/index.tsx', + benchmark: './src/benchmark/index.tsx', + 'blog-avatar': './src/blog-avatar/index.tsx', + 'blog-back-button': './src/blog-back-button/index.tsx', + 'blog-authors': './src/blog-authors/index.tsx', + 'blog-list': './src/blog-list/index.tsx', + 'blog-background': './src/blog-background/index.tsx', + 'tool-stack': './src/tool-stack/index.tsx', + hero: './src/hero/index.tsx', + 'section-style': './src/section-style/index.tsx', + 'fully-featured': './src/fully-featured/index.tsx', + 'built-with-rspack': './src/built-with-rspack/index.tsx', + 'why-rspack': './src/why-rspack/index.tsx', + 'background-image': './src/background-image/index.tsx', + announcement: './src/announcement/index.tsx', + }, + }, + }, + // without banner + { + syntax: 'es2018', + output: { + autoExternal: false, + }, + dts: true, + source: { + entry: { + antd: './src/antd/index.tsx', + }, + }, + }, + { + source: { + entry: { + theme: './src/theme.scss', + }, + }, + }, + ], + output: { + target: 'web', + externals: [/^react($|\/)/, /^react-dom($|\/)/, /^@rspress\/core($|\/)/], + filename: { + js: '[name]/index.js', + css: '[name]/index.css', + }, + distPath: { + css: '', + }, + }, + }; +}); + +define.test({ + include: ['src/**/*.test.{ts,tsx}'], + testEnvironment: 'node', + source: { + define: { + 'import.meta.env.SSG_MD': true, + }, + }, +}); + +define.lint(({ js, reactPlugin, ts }) => [ + js.configs.recommended, + ts.configs.recommended, + reactPlugin.configs.recommended, + { + rules: { + '@typescript-eslint/no-explicit-any': 'off', + 'react/react-in-jsx-scope': 'off', + }, + }, +]); + +define.fmt({ + arrowParens: 'avoid', + ignorePatterns: ['.claude/'], + singleQuote: true, + sortPackageJson: true, + trailingComma: 'all', +}); + +define.staged({ + '*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}': ['rs lint', 'rs fmt'], + '*.{json,jsonc,md,mdx,css,scss,less,html,yml,yaml}': 'rs fmt', +}); diff --git a/rstest.config.ts b/rstest.config.ts deleted file mode 100644 index 5b0fbe8..0000000 --- a/rstest.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from '@rstest/core'; -import { withRslibConfig } from '@rstest/adapter-rslib'; - -export default defineConfig({ - extends: withRslibConfig(), - include: ['src/**/*.test.{ts,tsx}'], - testEnvironment: 'node', - source: { - define: { - 'import.meta.env.SSG_MD': true, - }, - }, -}); diff --git a/src/blog-list/index.test.tsx b/src/blog-list/index.test.tsx index 14324b3..2f064b9 100644 --- a/src/blog-list/index.test.tsx +++ b/src/blog-list/index.test.tsx @@ -1,4 +1,4 @@ -import { expect, test } from '@rstest/core'; +import { expect, test } from 'rstack/test'; import { renderToMarkdownString } from 'react-render-to-markdown'; import { BlogList, type BlogListItem } from './index'; diff --git a/src/env.d.ts b/src/env.d.ts index 995b2ac..23a965f 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -1,4 +1,4 @@ -/// +/// interface ImportMetaEnv { readonly SSG_MD?: boolean; diff --git a/stories/NavIcon.stories.tsx b/stories/NavIcon.stories.tsx index f18c372..c183e9d 100644 --- a/stories/NavIcon.stories.tsx +++ b/stories/NavIcon.stories.tsx @@ -1,5 +1,5 @@ import { NavIcon } from '@rstackjs/doc-ui/nav-icon'; -import { userEvent, within } from '@storybook/test'; +import { userEvent, within } from 'storybook/test'; import './index.scss'; export const NavIconStory = () => (