diff --git a/.agents/skills/rstack-cli-docs/SKILL.md b/.agents/skills/rstack-cli-docs/SKILL.md new file mode 100644 index 00000000..811b1ae2 --- /dev/null +++ b/.agents/skills/rstack-cli-docs/SKILL.md @@ -0,0 +1,25 @@ +--- +name: rstack-cli-docs +description: Consult installed, version-matched Rstack docs only for user-facing `rs` command behavior, `rstack.config.*` semantics, or public `rstack` APIs. Do not use for purely internal implementation, tests, performance, or repository maintenance. +--- + +# Rstack CLI docs + +Rstack CLI is the `rstack` package, exposed through the `rs` binaries. It provides one CLI, one +config file, and a consistent workflow for the Rstack JavaScript toolchain. + +It covers web app, library, docs, test, lint, formatting, Git hook, and staged-file workflows. + +## Read installed docs when this skill applies + +When this skill applies, find and read the relevant Markdown documentation shipped with the installed `rstack` package. + +Model knowledge can be outdated; the installed documentation is the source of truth for the project's Rstack version. + +1. Start with `node_modules/rstack/docs/llms.txt`, then read only the linked pages relevant to the task before proposing or making changes. + +2. For exact CLI flags and behavior, also run `rs -h` or `rs -h` when supported. + +If the bundled docs are not available at that path, locate the installed `rstack` package. + +If they are still unavailable, verify that `rstack` is installed, and use CLI help plus the online [Rstack documentation](https://rstack.rs/) as a fallback. diff --git a/.github/actions/pnpm/action.yml b/.github/actions/pnpm/action.yml index 4c54bb37..4f70b787 100644 --- a/.github/actions/pnpm/action.yml +++ b/.github/actions/pnpm/action.yml @@ -26,18 +26,9 @@ runs: NPM_PREFIX=$(cygpath -u "$(npm config get prefix)") export PATH="$NPM_PREFIX:$PATH" fi - PNPM_VERSION=$(node -p "require('./package.json').packageManager.replace('pnpm@', '')") npm install -g corepack@0.31.0 --force echo "Corepack version: $(corepack --version)" - if [[ "${{ inputs.node-version }}" == 20* ]]; then - # Node 20's bundled module loader crashes when invoking pnpm 11 via the - # corepack shim (ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING). Enable only the - # yarn shim from corepack and install pnpm as a standalone binary. - corepack enable yarn - npm install -g "@pnpm/exe@$PNPM_VERSION" --force - else - corepack enable - fi + corepack enable pnpm --version - name: yarn diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f95c4f7..e4d0c24b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -161,7 +161,7 @@ jobs: components: rustfmt cache: false - run: cargo fmt --all -- --check - - run: pnpm run prettier:ci + - run: pnpm run check - run: pnpm exec taplo format --check lint: @@ -196,8 +196,8 @@ jobs: - ubuntu-latest - macos-14 node: - - 20 - 22 + - 24 runs-on: ${{ matrix.os }} env: RUST_BACKTRACE: 1 diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 5ee7abd8..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -pnpm exec lint-staged diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 42a96ed3..00000000 --- a/.prettierignore +++ /dev/null @@ -1,7 +0,0 @@ -fixtures/tsconfig/tsconfig_broken.json -fixtures/enhanced_resolve/test/fixtures/incorrect-package/pack1/package.json -fixtures/enhanced_resolve/test/fixtures/tsconfig-paths/malformed-json/tsconfig.json -pnpm-lock.yaml -**/.pnp.cjs -.claude/worktrees -bindings diff --git a/.prettierrc.js b/.prettierrc.js deleted file mode 100644 index 2d01f58a..00000000 --- a/.prettierrc.js +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - printWidth: 80, - useTabs: false, - tabWidth: 2, - trailingComma: "none", - arrowParens: "avoid", - endOfLine: "lf", - overrides: [ - { - files: "*.json", - options: { - parser: "json", - useTabs: false - } - }, - { - files: "*.ts", - options: { - parser: "typescript" - } - }, - { - files: "website/**", - options: { - printWidth: 80, - singleQuote: true, - trailingComma: "all", - useTabs: false - } - } - ] -}; diff --git a/.rstack/hooks/pre-commit b/.rstack/hooks/pre-commit new file mode 100644 index 00000000..8890b966 --- /dev/null +++ b/.rstack/hooks/pre-commit @@ -0,0 +1 @@ +rs staged diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..72d54cae --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["rstack.rstack"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..8455616f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "search.useIgnoreFiles": true, + "editor.defaultFormatter": "rstack.rstack" +} diff --git a/lint-staged.config.mjs b/lint-staged.config.mjs deleted file mode 100644 index 90a1c3be..00000000 --- a/lint-staged.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -export default { - "*.rs": [ - () => "cargo fmt", - () => "cargo clippy --all-features -- -D warnings" - ], - "*.{ts,tsx,js,mjs,yml,yaml}": "pnpm exec prettier --write", - "package.json": "pnpm exec prettier --write", - "*.toml": "pnpm exec taplo format" -}; diff --git a/napi/__test__/resolver.test.mjs b/napi/__test__/resolver.test.mjs index 9af880c1..2c71df9c 100644 --- a/napi/__test__/resolver.test.mjs +++ b/napi/__test__/resolver.test.mjs @@ -1,5 +1,5 @@ import { dirname, join, normalize } from "node:path"; -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; let ResolverFactory; diff --git a/napi/index.js b/napi/index.js index 467be55e..070da1a2 100644 --- a/napi/index.js +++ b/napi/index.js @@ -3,7 +3,7 @@ // @ts-nocheck /* auto-generated by NAPI-RS */ -const { readFileSync } = require('node:fs') +const { readFileSync } = require('node:fs'); let nativeBinding = null; const loadErrors = []; diff --git a/napi/resolver.wasi.cjs b/napi/resolver.wasi.cjs index 55a7b174..f1610d30 100644 --- a/napi/resolver.wasi.cjs +++ b/napi/resolver.wasi.cjs @@ -3,7 +3,7 @@ /* auto-generated by NAPI-RS */ -const __nodeFs = require('node:fs') +const __nodeFs = require('node:fs'); const __nodePath = require("node:path"); const { WASI: __nodeWASI } = require("node:wasi"); const { Worker } = require("node:worker_threads"); diff --git a/napi/tests/browserField.test.mjs b/napi/tests/browserField.test.mjs index 09d6aa43..adee80c2 100644 --- a/napi/tests/browserField.test.mjs +++ b/napi/tests/browserField.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/exportsField.test.mjs b/napi/tests/exportsField.test.mjs index 38b2f3e8..487935dd 100644 --- a/napi/tests/exportsField.test.mjs +++ b/napi/tests/exportsField.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/extension-alias.test.mjs b/napi/tests/extension-alias.test.mjs index 8628e43f..77395c31 100644 --- a/napi/tests/extension-alias.test.mjs +++ b/napi/tests/extension-alias.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/extensions.test.mjs b/napi/tests/extensions.test.mjs index f6f5b90a..b2999f12 100644 --- a/napi/tests/extensions.test.mjs +++ b/napi/tests/extensions.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/importsField.test.mjs b/napi/tests/importsField.test.mjs index 0dfe0dbc..55e81ab2 100644 --- a/napi/tests/importsField.test.mjs +++ b/napi/tests/importsField.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/incorrect-description-file.test.mjs b/napi/tests/incorrect-description-file.test.mjs index 51af8ece..7abd173b 100644 --- a/napi/tests/incorrect-description-file.test.mjs +++ b/napi/tests/incorrect-description-file.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/options.test.mjs b/napi/tests/options.test.mjs index d79dd462..7780f39d 100644 --- a/napi/tests/options.test.mjs +++ b/napi/tests/options.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/resolve.test.mjs b/napi/tests/resolve.test.mjs index 03d8603b..d0799243 100644 --- a/napi/tests/resolve.test.mjs +++ b/napi/tests/resolve.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/restrictions.test.mjs b/napi/tests/restrictions.test.mjs index 79866cea..79814b57 100644 --- a/napi/tests/restrictions.test.mjs +++ b/napi/tests/restrictions.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/roots.test.mjs b/napi/tests/roots.test.mjs index 5a41e7a0..2a89a68d 100644 --- a/napi/tests/roots.test.mjs +++ b/napi/tests/roots.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/scoped-packages.test.mjs b/napi/tests/scoped-packages.test.mjs index a0837ab5..0638ec17 100644 --- a/napi/tests/scoped-packages.test.mjs +++ b/napi/tests/scoped-packages.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/napi/tests/tsconfig-paths.test.mjs b/napi/tests/tsconfig-paths.test.mjs index 268839ab..6511541d 100644 --- a/napi/tests/tsconfig-paths.test.mjs +++ b/napi/tests/tsconfig-paths.test.mjs @@ -1,4 +1,4 @@ -import { describe, it, expect } from "@rstest/core"; +import { describe, it, expect } from "rstack/test"; import { ResolverFactory } from "../index.js"; import * as path from "node:path"; diff --git a/package.json b/package.json index b3e91efb..a730a19c 100644 --- a/package.json +++ b/package.json @@ -8,19 +8,17 @@ "build:binding:profiling": "napi build --platform --profile profiling --package-json-path npm/package.json --manifest-path napi/Cargo.toml", "build:binding:debug": "napi build --platform --package-json-path npm/package.json --manifest-path napi/Cargo.toml", "prepublishOnly": "napi pre-publish -t npm --package-json-path npm/package.json --npm-dir bindings", - "test": "pnpm run test:resolver && pnpm run test:enhanced-resolve-compatible", - "test:resolver": "rstest run -c rstest.config.resolver.mjs", - "test:enhanced-resolve-compatible": "rstest run -c rstest.config.mjs", + "test": "rs test", + "test:resolver": "rs test run --project resolver", + "test:enhanced-resolve-compatible": "rs test run --project enhanced-resolve-compatible", "postbuild": "npm run format", - "prettier": "prettier --check .", - "prettier:ci": "prettier --list-different .", - "format": "prettier --write .", - "prepare": "husky", + "check": "rs fmt --check", + "format": "rs fmt", + "prepare": "rs hooks", "setup:fixtures": "cd fixtures/pnp && yarn && cd ../pnp-global-cache-enabled && yarn" }, "devDependencies": { "@actions/core": "^3.0.1", - "@rstest/core": "^0.10.3", "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/cli": "3.6.2", @@ -30,9 +28,7 @@ "commander": "^14.0.3", "emnapi": "1.10.0", "enhanced-resolve": "^5.23.0", - "husky": "^9.1.7", - "lint-staged": "^17.0.7", - "prettier": "^3.8.4", + "rstack": "^0.7.2", "semver": "^7.7.1", "typescript": "^6.0.3", "zx": "^8.8.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21fb7926..71d45a8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,9 +29,6 @@ importers: '@napi-rs/wasm-runtime': specifier: 'catalog:' version: 1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - '@rstest/core': - specifier: ^0.10.3 - version: 0.10.3 '@taplo/cli': specifier: ^0.7.0 version: 0.7.0 @@ -47,15 +44,9 @@ importers: enhanced-resolve: specifier: ^5.23.0 version: 5.23.0 - husky: - specifier: ^9.1.7 - version: 9.1.7 - lint-staged: - specifier: ^17.0.7 - version: 17.0.7 - prettier: - specifier: ^3.8.4 - version: 3.8.4 + rstack: + specifier: ^0.7.2 + version: 0.7.2(typescript@6.0.3) semver: specifier: ^7.7.1 version: 7.7.4 @@ -151,6 +142,68 @@ packages: '@actions/io@3.0.2': resolution: {integrity: sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==} + '@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.45.1': + resolution: {integrity: sha512-PhlXMDEEH5fMjXjYcrbeNgGqrojj4zN8C7eMQC6M4pVkuW74uPhrblD4KUbNunp5I2LkWCdKOs36jhBaZe1iPw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@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.45.1': + resolution: {integrity: sha512-qjH5CN5KIUdJW2dHfp8W57QsP6H0mA6E/rboKEzAxw6Ant1q2ZKqE3bLHUZMDoZXOBGdCODSZm0bTDcctiP49g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@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.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.45.1': + resolution: {integrity: sha512-wnTmD34OD9bUpdBVTb58P0y+YPb/2C2g07zj96LSk5R4pdcEMrCFsrWZlaNwtEV4q7L9BfLgrxq3MBGI8c6doA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@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.45.1': + resolution: {integrity: sha512-mzfMmCO7tSNks+NGkGkSnDBKxBjHoOLAMJt2IbAkMYATxHC0RqfBoN7Qtd02VGhHWEfwWLPv/wU6MrvweZ3jdQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@ast-grep/napi@0.45.1': + resolution: {integrity: sha512-4cmGQEHoP9GLHEhGvd1vgSzO3Y6KF7FczDk4+q/VfXV9/9sNxNVgNHC8t3BglhIADDcoHrCMc9aw4lHG+M240A==} + engines: {node: '>= 10'} + '@babel/runtime@7.27.0': resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} engines: {node: '>=6.9.0'} @@ -158,12 +211,21 @@ packages: '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@emnapi/core@1.11.3': + resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==} + '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} + '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emnapi/wasi-threads@1.2.3': + resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} + '@emotion/is-prop-valid@1.3.1': resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} @@ -569,12 +631,6 @@ packages: resolution: {integrity: sha512-7cmzIu+Vbupriudo7UudoMRH2OA3cTw67vva8MxeoAe5S7vPFI7z0vp0pMXiA25S8IUJefImQ90FeJjl8fjEaQ==} engines: {node: '>= 10'} - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} - peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 - '@napi-rs/wasm-runtime@1.1.6': resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: @@ -725,8 +781,8 @@ packages: '@octokit/types@16.0.0': resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} - '@rsbuild/core@2.0.11': - resolution: {integrity: sha512-Mpp/viUSkVdSWJkFipdZxM2nUztrBwSnMm6Q86bPzLHtHnXqQ3VFpSMlA4wWRyySNddP6s6efKiVpx0ZOCf7Gg==} + '@rsbuild/core@2.2.2': + resolution: {integrity: sha512-T82jUaeMUFhcBqpmKvRiNAcWMp6abxkvMEwiZi4x+gf7NAbyiF5jrbLnQLm1y4909eANsTSHenp99HlRPIByLw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -735,64 +791,154 @@ packages: core-js: optional: true - '@rspack/binding-darwin-arm64@2.0.6': - resolution: {integrity: sha512-0giCKiWlBfcM4i2scv1j2k9HlSecO9Ybhaa5wsMUyvcFeKr9HbNHh7C2eDFlC6zaI85IUdY71TXF/g/Tcxr9MA==} + '@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 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + typescript: + optional: true + + '@rslint/core@0.9.0': + resolution: {integrity: sha512-rY8F6kdQ/XkBiflaNzglJdMfxl0Lv/NFXppK0kAhx2P2CvogsXIA/z82Wxtk+Cg9uFHou67N9/iqmWXgdtSoDw==} + hasBin: true + peerDependencies: + jiti: ^2.7.0 + peerDependenciesMeta: + jiti: + optional: true + + '@rslint/native-darwin-arm64@0.9.0': + resolution: {integrity: sha512-xhdBrVALZTX0v4ZghKY7RGO87DpItk4DVvKm3MGih4w1o2WF2u+6n/mohvG7/ts7c8T88HIbLfK4luQ8kMDCsg==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@2.0.6': - resolution: {integrity: sha512-/mMo2IpI02aOKMlHbVbZue3TJxFqHGX+ibVTdEO+6bzRSuHs7+R9KM5U3XH2YxcWJy5Sid1X1T1pJAjsXcE3rA==} + '@rslint/native-darwin-x64@0.9.0': + resolution: {integrity: sha512-xuluXYUKizRZD/70WILvn+OeNdBT6izU81vhiNHVYdEQmfsqaqE8fthKGmQvaRu/DNL3CgVRPR+PzOAcQzPpOw==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@2.0.6': - resolution: {integrity: sha512-H6ACzeM1KBxYDEF8YAim3501Jb1aCsSG79Gjm1M4pwJ5OJPK2ydiJEa438ugXmh0962eKYMHI2yZY0sQq8txaw==} + '@rslint/native-linux-arm64-gnu@0.9.0': + resolution: {integrity: sha512-J9uHBg/8Z9WanEKBXaPNZz0h+P8qtOLwjVqwEcOwYm1yLHRY70A7XqI6cRVIx72gXKGWtNBT2BRw9p8CWQUhgg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-musl@2.0.6': - resolution: {integrity: sha512-QTFmBg0n+L397Wi8CIjbd5pe/hxpHnqCDaG1A7e2NWX8Fj9zulAoKLiKflQa1ELEhAY4Foq88aX75+Ilt2tHcw==} + '@rslint/native-linux-arm64-musl@0.9.0': + resolution: {integrity: sha512-3ICIPH1oZOuMuZp+4hRhU+Af34U/2MNFB1yN+yi/jfJP+qBEExQbeBOS4J6HOecx9RJXcFvPF2ZI68l4g8/DPQ==} cpu: [arm64] os: [linux] libc: [musl] - '@rspack/binding-linux-x64-gnu@2.0.6': - resolution: {integrity: sha512-rerCAz022zf0ewxI+7n3SrqLEaxCL+MXRxKjK5FLUGFa8UkIrivq+VUP/1OB6JLh2Bucebc7Y9WoWHvtk22mLA==} + '@rslint/native-linux-x64-gnu@0.9.0': + resolution: {integrity: sha512-vlzcruA/t+0XvdK2S0bIS00H9Mpkrwo/hIFvpyUONgxi2WaO7XNDtgTWAsajB40WmvezYYLKs45LgkVXpxSCFA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rslint/native-linux-x64-musl@0.9.0': + resolution: {integrity: sha512-+gPExuOtSPaP7jAWeMRnTobvQOhaqo9857K/7T2qvc15ksnYqqygMhzcVzm9Wt7L4KBoW6PR1uvwgmPaK4B0IA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rslint/native-win32-arm64-msvc@0.9.0': + resolution: {integrity: sha512-YK5uTuk6zNXru2cOwivbZPH25C7u8RSQlKm5tOqwhaQ0ShCVDdh7z0SXvHvLdQ2VJen+30Vp1izAMZ7Zp/8KaQ==} + cpu: [arm64] + os: [win32] + + '@rslint/native-win32-x64-msvc@0.9.0': + resolution: {integrity: sha512-7elW5V8zm3McqA0LCjBBR7SDwQ5hRW+hrnJcCmrspSnBeUPFqnJfvUvsQPgbJz3pdrkBzzjZMvUgEYyBQ9dl8A==} + cpu: [x64] + os: [win32] + + '@rspack/binding-darwin-arm64@2.2.2': + resolution: {integrity: sha512-/le/AvV4HSinXTPs2Lqpujxt189Z5T10Ggt96QzckLRPvIchzqoavVDDjltzC7XcaZ87XCH/X06jNKgzkcBBNA==} + cpu: [arm64] + os: [darwin] + + '@rspack/binding-darwin-x64@2.2.2': + resolution: {integrity: sha512-uFIcUPUXiPxM6ljenLafp5TemT8eLZm1riRn8fJYmpqNCK+aCcTaud18XHZpI5SjzzcY+xUHfVShgvNzKXuf2g==} + cpu: [x64] + os: [darwin] + + '@rspack/binding-linux-arm64-gnu@2.2.2': + resolution: {integrity: sha512-Pjby4pDSMNJQK2VBzpgCj6lb+DGuenS1fEDb6xi5/apbJb9v5WE+e43Mz7i+XqgXS8e846pjaONV3KM5WKB1LQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rspack/binding-linux-arm64-musl@2.2.2': + resolution: {integrity: sha512-0u9O7tTVT2z+F6o/eEY6f6+My8Jn9U56QiBwkfy90ZaoAfZyQSSTxqaK/zA7W43oFxQefeCpiPas27VUzrSakw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@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.2.2': + resolution: {integrity: sha512-ReClZyp32/rJkUDV/oGDU0X6BCFyEkTR6r4stFwm/qOOaG6mUMRzZe4gur8Yh979p4Hiz9EdkmfEHY02GBXcaQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rspack/binding-linux-riscv64-musl@2.2.2': + resolution: {integrity: sha512-mqsorvTNerr3r8zI35NFTPYATPDlhepdiUhZjKT6ylqpHlP7vLU9fp4aEMK/CuTv2f+IVsa0+iZqtMxHs2tSjw==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@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.2.2': + resolution: {integrity: sha512-MNYKYEHrtIVEno2q5rgpou/JVffRwn109xPK3kxct95EojHsniNa8jwy6eEHeOazP4EN60Si7NElE3aQ6JssHw==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-musl@2.0.6': - resolution: {integrity: sha512-96IgOFXQjX6Wbxd+DCYJFy2r/VMu1OoHifW4Cr3kGTYDKoQOIMLwb0ieu/ILp2dGWFMZo5S8odiByAmNICAOIA==} + '@rspack/binding-linux-x64-musl@2.2.2': + resolution: {integrity: sha512-y9/9CmE8lrECaF17GAhacibTL+SvlEPEotQnUuBFC/WFtXh8hU2E7a7bAkpYGSLH6kM0nrJZHO3hTvM1wdWOJw==} cpu: [x64] os: [linux] libc: [musl] - '@rspack/binding-wasm32-wasi@2.0.6': - resolution: {integrity: sha512-0aWiF+qmdb0csp1x+MaR2o1pscoquLaEbLTVdKjmoTRs6sguMemtB1ObnVTahAUL73P66WePuNpFAJ81zNdqzQ==} + '@rspack/binding-wasm32-wasi@2.2.2': + resolution: {integrity: sha512-VbDIjjeFwZvMSKAOGY5IbU6lLzt6AHHHncTdMMkZ94Xk7O2BOHe9BXDV32Ln29TIW2C8m1fdxfPZWDiecVghUQ==} cpu: [wasm32] - '@rspack/binding-win32-arm64-msvc@2.0.6': - resolution: {integrity: sha512-BX638A1MXsjc2E3tUskVh3X/WBIHjLKK+lo395v7MmEL9u2BA6l3F6RyW+YaJOt5aEOOv83iA7iCZsviVZ49Uw==} + '@rspack/binding-win32-arm64-msvc@2.2.2': + resolution: {integrity: sha512-rfcNg0W3ZPZvXma1gTyEt9/Z8FxASIaQr+sMWTSaTPPaeU3xY1+0hYcrD0kUFNs3/5L4u63myI4R8qRXiuW3pA==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@2.0.6': - resolution: {integrity: sha512-DCK/+MlN35uvH7tp4j0hbg8wIs9MHArMIrNZXtiD8xP6DNw2wrXcGC1VaxxR5apyWpqXAfIL/KsXBiWS3ygCvg==} + '@rspack/binding-win32-ia32-msvc@2.2.2': + resolution: {integrity: sha512-TFPvr9RZw9oHIhooDhXHzWjKcHpGPTxkznSeM2poIWU0CdEuua2rVUfsrriTF1Dmx+9kMly61DQmyOHCbb+b2g==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@2.0.6': - resolution: {integrity: sha512-TxutgzdEX9BkAU/5liKxdQmggJ23INz7EZDWtzSJO6C2SiSYzTJdyPQDIJi1ddkM5TX/drzH184gAJMVOQefng==} + '@rspack/binding-win32-x64-msvc@2.2.2': + resolution: {integrity: sha512-GvEGyL594dtWN9SoVnKWh0exrM8WLInaUjwcuA2JKbCi1ak/9iHxip/U1dY3DuVqBYBhmvYq96JPbl91xnzFjg==} cpu: [x64] os: [win32] - '@rspack/binding@2.0.6': - resolution: {integrity: sha512-z5EO9mPlmYNpHAlRGub0Chr6D+Klgy+tX36n7tCm7VRGRlwTmTU9wSENrYbHcCpFbegtrE0s30rDeTBeOu+JiQ==} + '@rspack/binding@2.2.2': + resolution: {integrity: sha512-gWjKDQfVQJSBh/I+y9WTlyERsiShSJ7eI6Yl0SJs/6gjx8t4ixuwWCsaEFFjwSL4nSn6ML5hNQ7UFY3gj72BWA==} - '@rspack/core@2.0.6': - resolution: {integrity: sha512-ronRqH1T2dYdMFVOQbGvDNxYaLugQK8qhNYYtS2DbOvPKQYvdIYWDenL9k/WV+hLoknnPWMn2ME2cKJcK3Po+g==} + '@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 @@ -803,13 +949,99 @@ packages: '@swc/helpers': optional: true - '@rstest/core@0.10.3': - resolution: {integrity: sha512-UiJ1td7KszgAfPVroNKnQQ60S0EeyHdPZArng08ffMMCmwo/6aeLmjk4s+W/ojR5iredelM9Z0Yc01vN3kSaeA==} + '@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==} 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 @@ -838,9 +1070,74 @@ packages: '@types/stylis@4.2.7': resolution: {integrity: sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==} - ansi-escapes@7.3.0: - resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} - engines: {node: '>=18'} + '@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==} ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} @@ -876,14 +1173,6 @@ packages: chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} - - cli-truncate@5.2.0: - resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==} - engines: {node: '>=20'} - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -956,10 +1245,6 @@ packages: resolution: {integrity: sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==} engines: {node: '>=10.13.0'} - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -982,9 +1267,6 @@ packages: escape-latex@1.2.0: resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - fast-content-type-parse@3.0.0: resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} @@ -1038,11 +1320,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - iconv-lite@0.7.0: resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} engines: {node: '>=0.10.0'} @@ -1051,10 +1328,6 @@ packages: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} - is-fullwidth-code-point@5.1.0: - resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} - engines: {node: '>=18'} - javascript-natural-sort@0.7.1: resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} @@ -1065,19 +1338,6 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - lint-staged@17.0.7: - resolution: {integrity: sha512-JrSobt+tW3rH8IOMi8tDZd3foorM5yPEkLD/V2NxobgHrFfHWGee4MOLVuZeScgxftEwbHrPHIFA/ZL+nUJeuA==} - engines: {node: '>=22.22.1'} - hasBin: true - - listr2@10.2.1: - resolution: {integrity: sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==} - engines: {node: '>=22.13.0'} - - log-update@6.1.0: - resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} - engines: {node: '>=18'} - loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -1099,10 +1359,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1118,15 +1374,11 @@ packages: obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} - onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} engines: {node: '>=12'} postcss-value-parser@4.2.0: @@ -1136,8 +1388,8 @@ packages: resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} engines: {node: ^10 || ^12 || >=14} - prettier@3.8.4: - resolution: {integrity: sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} engines: {node: '>=14'} hasBin: true @@ -1157,12 +1409,28 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} + 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': ^2.0.0 + typescript: ^5 || ^6 || ^7 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + typescript: + optional: true - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + 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 safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -1185,30 +1453,14 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - slice-ansi@7.1.2: - resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} - engines: {node: '>=18'} - - slice-ansi@8.0.0: - resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==} - engines: {node: '>=20'} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.2.1: - resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} - engines: {node: '>=20'} - strip-ansi@7.2.0: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} @@ -1230,9 +1482,9 @@ packages: tiny-emitter@2.1.0: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} - engines: {node: '>=18'} + tinypool@2.1.2: + resolution: {integrity: sha512-9YodfrxS9g9IbFr/KOjE5bAeJ0p61n3bW6mqvy0jtoeKd1kTW1Cxm0oulm6KX2lyM9Gl6WIe8nEbY7LWv5ZJww==} + engines: {node: ^20.0.0 || >=22.0.0} tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -1263,18 +1515,15 @@ packages: universal-user-agent@7.0.2: resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} - wrap-ansi@10.0.0: - resolution: {integrity: sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==} - engines: {node: '>=20'} - wrap-ansi@9.0.2: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} - yaml@2.9.0: - resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} - engines: {node: '>= 14.6'} - hasBin: true + yuku-ast@0.9.3: + resolution: {integrity: sha512-Kt0PXlPCXdKF1fWFTl7N3DaxsVk6DHF8VAXHJMkwPtJnWYgbx20pYgGSweuC/86mIM7k1NUITQ4JffgOLUWTCw==} + + yuku-parser@0.9.3: + resolution: {integrity: sha512-96wPoHnwaXfkZv7UIOUkDb+s7ZH8lv8Qtg+MxdvHUV1LFa5jV9iKOaams1942YQt+krFQrWiD6lSg2ermv5kHA==} zx@8.8.5: resolution: {integrity: sha512-SNgDF5L0gfN7FwVOdEFguY3orU5AkfFZm9B5YSHog/UDHv+lvmd82ZAsOenOkQixigwH2+yyH198AwNdKhj+RA==} @@ -1299,6 +1548,45 @@ snapshots: '@actions/io@3.0.2': {} + '@ast-grep/napi-darwin-arm64@0.45.1': + optional: true + + '@ast-grep/napi-darwin-x64@0.45.1': + optional: true + + '@ast-grep/napi-linux-arm64-gnu@0.45.1': + optional: true + + '@ast-grep/napi-linux-arm64-musl@0.45.1': + optional: true + + '@ast-grep/napi-linux-x64-gnu@0.45.1': + optional: true + + '@ast-grep/napi-linux-x64-musl@0.45.1': + optional: true + + '@ast-grep/napi-win32-arm64-msvc@0.45.1': + optional: true + + '@ast-grep/napi-win32-ia32-msvc@0.45.1': + optional: true + + '@ast-grep/napi-win32-x64-msvc@0.45.1': + optional: true + + '@ast-grep/napi@0.45.1': + optionalDependencies: + '@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/runtime@7.27.0': dependencies: regenerator-runtime: 0.14.1 @@ -1308,14 +1596,30 @@ snapshots: '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 + '@emnapi/core@1.11.3': + dependencies: + '@emnapi/wasi-threads': 1.2.3 + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 + '@emnapi/wasi-threads@1.2.3': + dependencies: + tslib: 2.8.1 + optional: true + '@emotion/is-prop-valid@1.3.1': dependencies: '@emotion/memoize': 0.9.0 @@ -1639,18 +1943,18 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@tybys/wasm-util': 0.10.3 - optional: true - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 '@tybys/wasm-util': 0.10.3 + optional: true '@napi-rs/wasm-runtime@1.2.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: @@ -1784,69 +2088,171 @@ snapshots: dependencies: '@octokit/openapi-types': 27.0.0 - '@rsbuild/core@2.0.11': + '@rsbuild/core@2.2.2': dependencies: - '@rspack/core': 2.0.6(@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' - '@rspack/binding-darwin-arm64@2.0.6': + '@rslib/core@1.0.0-rc.2(typescript@6.0.3)': + dependencies: + '@rsbuild/core': 2.2.2 + rsbuild-plugin-dts: 1.0.0-rc.2(@rsbuild/core@2.2.2)(typescript@6.0.3) + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - '@module-federation/runtime-tools' + - core-js + + '@rslint/core@0.9.0': + dependencies: + picomatch: 4.0.7 + optionalDependencies: + '@rslint/native-darwin-arm64': 0.9.0 + '@rslint/native-darwin-x64': 0.9.0 + '@rslint/native-linux-arm64-gnu': 0.9.0 + '@rslint/native-linux-arm64-musl': 0.9.0 + '@rslint/native-linux-x64-gnu': 0.9.0 + '@rslint/native-linux-x64-musl': 0.9.0 + '@rslint/native-win32-arm64-msvc': 0.9.0 + '@rslint/native-win32-x64-msvc': 0.9.0 + + '@rslint/native-darwin-arm64@0.9.0': + optional: true + + '@rslint/native-darwin-x64@0.9.0': + optional: true + + '@rslint/native-linux-arm64-gnu@0.9.0': + optional: true + + '@rslint/native-linux-arm64-musl@0.9.0': + optional: true + + '@rslint/native-linux-x64-gnu@0.9.0': + optional: true + + '@rslint/native-linux-x64-musl@0.9.0': + optional: true + + '@rslint/native-win32-arm64-msvc@0.9.0': + optional: true + + '@rslint/native-win32-x64-msvc@0.9.0': + optional: true + + '@rspack/binding-darwin-arm64@2.2.2': + optional: true + + '@rspack/binding-darwin-x64@2.2.2': + optional: true + + '@rspack/binding-linux-arm64-gnu@2.2.2': + optional: true + + '@rspack/binding-linux-arm64-musl@2.2.2': + optional: true + + '@rspack/binding-linux-ppc64-gnu@2.2.2': optional: true - '@rspack/binding-darwin-x64@2.0.6': + '@rspack/binding-linux-riscv64-gnu@2.2.2': optional: true - '@rspack/binding-linux-arm64-gnu@2.0.6': + '@rspack/binding-linux-riscv64-musl@2.2.2': optional: true - '@rspack/binding-linux-arm64-musl@2.0.6': + '@rspack/binding-linux-s390x-gnu@2.2.2': optional: true - '@rspack/binding-linux-x64-gnu@2.0.6': + '@rspack/binding-linux-x64-gnu@2.2.2': optional: true - '@rspack/binding-linux-x64-musl@2.0.6': + '@rspack/binding-linux-x64-musl@2.2.2': optional: true - '@rspack/binding-wasm32-wasi@2.0.6': + '@rspack/binding-wasm32-wasi@2.2.2': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@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.0.6': + '@rspack/binding-win32-arm64-msvc@2.2.2': optional: true - '@rspack/binding-win32-ia32-msvc@2.0.6': + '@rspack/binding-win32-ia32-msvc@2.2.2': optional: true - '@rspack/binding-win32-x64-msvc@2.0.6': + '@rspack/binding-win32-x64-msvc@2.2.2': optional: true - '@rspack/binding@2.0.6': + '@rspack/binding@2.2.2': optionalDependencies: - '@rspack/binding-darwin-arm64': 2.0.6 - '@rspack/binding-darwin-x64': 2.0.6 - '@rspack/binding-linux-arm64-gnu': 2.0.6 - '@rspack/binding-linux-arm64-musl': 2.0.6 - '@rspack/binding-linux-x64-gnu': 2.0.6 - '@rspack/binding-linux-x64-musl': 2.0.6 - '@rspack/binding-wasm32-wasi': 2.0.6 - '@rspack/binding-win32-arm64-msvc': 2.0.6 - '@rspack/binding-win32-ia32-msvc': 2.0.6 - '@rspack/binding-win32-x64-msvc': 2.0.6 - - '@rspack/core@2.0.6(@swc/helpers@0.5.23)': - dependencies: - '@rspack/binding': 2.0.6 + '@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.2.2(@swc/helpers@0.5.23)': + dependencies: + '@rspack/binding': 2.2.2 optionalDependencies: '@swc/helpers': 0.5.23 - '@rstest/core@0.10.3': + '@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: - '@rsbuild/core': 2.0.11 + '@rsbuild/core': 2.2.2 '@types/chai': 5.2.3 transitivePeerDependencies: - '@module-federation/runtime-tools' @@ -1875,9 +2281,43 @@ snapshots: '@types/stylis@4.2.7': {} - ansi-escapes@7.3.0: - dependencies: - environment: 1.1.0 + '@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': {} ansi-regex@6.2.2: {} @@ -1908,15 +2348,6 @@ snapshots: chardet@2.1.1: {} - cli-cursor@5.0.0: - dependencies: - restore-cursor: 5.1.0 - - cli-truncate@5.2.0: - dependencies: - slice-ansi: 8.0.0 - string-width: 8.2.1 - cli-width@4.1.0: {} clipanion@4.0.0-rc.4(typanion@3.14.0): @@ -1971,8 +2402,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.3 - environment@1.1.0: {} - es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -1992,8 +2421,6 @@ snapshots: escape-latex@1.2.0: {} - eventemitter3@5.0.4: {} - fast-content-type-parse@3.0.0: {} follow-redirects@1.16.0: {} @@ -2044,18 +2471,12 @@ snapshots: dependencies: function-bind: 1.1.2 - husky@9.1.7: {} - iconv-lite@0.7.0: dependencies: safer-buffer: 2.1.2 ipaddr.js@2.2.0: {} - is-fullwidth-code-point@5.1.0: - dependencies: - get-east-asian-width: 1.6.0 - javascript-natural-sort@0.7.1: {} js-tokens@4.0.0: {} @@ -2064,31 +2485,6 @@ snapshots: dependencies: argparse: 2.0.1 - lint-staged@17.0.7: - dependencies: - listr2: 10.2.1 - picomatch: 4.0.4 - string-argv: 0.3.2 - tinyexec: 1.2.4 - optionalDependencies: - yaml: 2.9.0 - - listr2@10.2.1: - dependencies: - cli-truncate: 5.2.0 - eventemitter3: 5.0.4 - log-update: 6.1.0 - rfdc: 1.4.1 - wrap-ansi: 10.0.0 - - log-update@6.1.0: - dependencies: - ansi-escapes: 7.3.0 - cli-cursor: 5.0.0 - slice-ansi: 7.1.2 - strip-ansi: 7.2.0 - wrap-ansi: 9.0.2 - loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -2113,8 +2509,6 @@ snapshots: dependencies: mime-db: 1.52.0 - mimic-function@5.0.1: {} - ms@2.1.3: {} mute-stream@3.0.0: {} @@ -2123,13 +2517,9 @@ snapshots: obug@2.1.1: {} - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 - picocolors@1.1.1: {} - picomatch@4.0.4: {} + picomatch@4.0.7: {} postcss-value-parser@4.2.0: {} @@ -2139,7 +2529,7 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - prettier@3.8.4: {} + prettier@3.9.6: {} proxy-from-env@2.1.0: {} @@ -2154,12 +2544,44 @@ snapshots: regenerator-runtime@0.14.1: {} - restore-cursor@5.1.0: + rsbuild-plugin-dts@1.0.0-rc.2(@rsbuild/core@2.2.2)(typescript@6.0.3): dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 + '@ast-grep/napi': 0.45.1 + '@rsbuild/core': 2.2.2 + optionalDependencies: + typescript: 6.0.3 - rfdc@1.4.1: {} + rstack@0.7.2(typescript@6.0.3): + dependencies: + '@rsbuild/core': 2.2.2 + '@rslib/core': 1.0.0-rc.2(typescript@6.0.3) + '@rslint/core': 0.9.0 + '@rstest/core': 0.11.11 + prettier: 3.9.6 + tinypool: 2.1.2 + yuku-parser: 0.9.3 + optionalDependencies: + '@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 safer-buffer@2.1.2: {} @@ -2173,31 +2595,14 @@ snapshots: signal-exit@4.1.0: {} - slice-ansi@7.1.2: - dependencies: - ansi-styles: 6.2.3 - is-fullwidth-code-point: 5.1.0 - - slice-ansi@8.0.0: - dependencies: - ansi-styles: 6.2.3 - is-fullwidth-code-point: 5.1.0 - source-map-js@1.2.1: {} - string-argv@0.3.2: {} - string-width@7.2.0: dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 - string-width@8.2.1: - dependencies: - get-east-asian-width: 1.6.0 - strip-ansi: 7.2.0 - strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 @@ -2222,7 +2627,7 @@ snapshots: tiny-emitter@2.1.0: {} - tinyexec@1.2.4: {} + tinypool@2.1.2: {} tslib@2.8.1: {} @@ -2240,19 +2645,32 @@ snapshots: universal-user-agent@7.0.2: {} - wrap-ansi@10.0.0: - dependencies: - ansi-styles: 6.2.3 - string-width: 8.2.1 - strip-ansi: 7.2.0 - wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 strip-ansi: 7.2.0 - yaml@2.9.0: - optional: true + 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 zx@8.8.5: {} diff --git a/rstack.config.mts b/rstack.config.mts new file mode 100644 index 00000000..54273af7 --- /dev/null +++ b/rstack.config.mts @@ -0,0 +1,75 @@ +// Configuration guide: https://rstack.rs/config +import path from "node:path"; +import { define } from "rstack"; + +define.test({ + projects: [ + { + name: "resolver", + testEnvironment: "node", + include: ["napi/__test__/**/*.test.mjs"], + output: { + externals: [ + ({ request }, callback) => { + // Load native and WASI bindings at runtime instead of bundling them. + if ( + request === "../index.js" || + request === "../resolver.wasi.cjs" + ) { + callback( + undefined, + `node-commonjs ${path.resolve("napi", path.basename(request))}` + ); + return; + } + callback(); + } + ] + } + }, + { + name: "enhanced-resolve-compatible", + testEnvironment: "node", + include: ["napi/tests/**/*.test.mjs"], + output: { + externals: [ + ({ request }, callback) => { + // Externalize the NAPI binding so native .node files load at runtime. + if (request === "../index.js") { + callback( + undefined, + `node-commonjs ${path.resolve("napi/index.js")}` + ); + return; + } + callback(); + } + ] + } + } + ] +}); + +define.fmt({ + trailingComma: "none", + arrowParens: "avoid", + ignorePatterns: [ + "fixtures/tsconfig/tsconfig_broken.json", + "fixtures/enhanced_resolve/test/fixtures/incorrect-package/pack1/package.json", + "fixtures/enhanced_resolve/test/fixtures/tsconfig-paths/malformed-json/tsconfig.json", + "**/.pnp.cjs", + ".claude/worktrees", + "bindings" + ], + overrides: [{ files: "*.json", options: { parser: "json" } }] +}); + +define.staged({ + "*.rs": [ + () => "cargo fmt", + () => "cargo clippy --all-features -- -D warnings" + ], + "*.{ts,tsx,mts,js,mjs,yml,yaml}": "rs fmt", + "package.json": "rs fmt", + "*.toml": "pnpm exec taplo format" +}); diff --git a/rstest.config.mjs b/rstest.config.mjs deleted file mode 100644 index 73525992..00000000 --- a/rstest.config.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import { defineConfig } from "@rstest/core"; -import path from "node:path"; - -export default defineConfig({ - testEnvironment: "node", - include: ["napi/tests/**/*.test.mjs"], - output: { - externals: [ - ({ request }, callback) => { - // Externalize the napi binding so native .node files load at runtime - if (request === "../index.js") { - callback(null, `node-commonjs ${path.resolve("napi/index.js")}`); - return; - } - callback(); - } - ] - } -}); diff --git a/rstest.config.resolver.mjs b/rstest.config.resolver.mjs deleted file mode 100644 index f625836e..00000000 --- a/rstest.config.resolver.mjs +++ /dev/null @@ -1,21 +0,0 @@ -import { defineConfig } from "@rstest/core"; -import path from "node:path"; - -export default defineConfig({ - testEnvironment: "node", - include: ["napi/__test__/**/*.test.mjs"], - output: { - externals: [ - ({ request }, callback) => { - if (request === "../index.js" || request === "../resolver.wasi.cjs") { - callback( - null, - `node-commonjs ${path.resolve("napi", path.basename(request))}` - ); - return; - } - callback(); - } - ] - } -}); diff --git a/skills-lock.json b/skills-lock.json new file mode 100644 index 00000000..8687fc79 --- /dev/null +++ b/skills-lock.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "skills": { + "rstack-cli-docs": { + "source": "rstackjs/rstack-cli", + "sourceType": "github", + "skillPath": ".agents/skills/rstack-cli-docs/SKILL.md", + "computedHash": "8b5451af88d29195dc2f257543013ad66aa14a7791e401ab4cffdb11941cf27a" + } + } +}