From 9544aa7761a928b1ada3dc73b598ac68eb18b0b9 Mon Sep 17 00:00:00 2001 From: DrSmoothl <1787882683@qq.com> Date: Fri, 31 Jul 2026 13:09:02 +0800 Subject: [PATCH] chore(repo): standardize cross-platform development Make line endings deterministic across macOS, Windows, and Linux while preserving the native checkout format required by Windows launchers. Pin the tested application runtime and Node type baseline, add a shared startup preflight, and keep independently published packages on their existing compatibility ranges. Align local scripts, pull request validation, complete package builds, dependency metadata, and contributor documentation around the same Node and pnpm contract. The root test command now covers every tested workspace package while a focused Core command remains available for local iteration. --- .editorconfig | 10 +- .gitattributes | 14 ++ .github/workflows/ci.yml | 18 +- .github/workflows/dev-build.yml | 6 +- .github/workflows/mcp-npm-publish.yml | 2 +- .github/workflows/release.yml | 6 +- .github/workflows/sdk-npm-publish.yml | 2 +- .github/workflows/sync-docs-catalog.yml | 2 +- .github/workflows/ui-npm-publish.yml | 2 +- .node-version | 1 + .npmrc | 11 +- CONTRIBUTING.md | 21 +- README.md | 8 +- eslint.config.ts | 3 + package.json | 13 +- packages/bridge/package.json | 2 +- packages/common/package.json | 2 +- packages/core/package.json | 2 +- .../core/tests/runtime-node-version.test.ts | 28 +++ packages/core/vite.config.ts | 2 +- packages/mcp/package.json | 2 +- packages/onebot/package.json | 2 +- packages/proto-defs/package.json | 2 +- packages/protocol/package.json | 2 +- packages/proton/package.json | 2 +- packages/runtime/check-node-version.cjs | 27 +++ packages/runtime/launcher.bat | 7 +- packages/runtime/launcher.sh | 3 +- packages/sdk/package.json | 2 +- packages/websocket/package.json | 2 +- packages/webui/package.json | 2 +- pnpm-lock.yaml | 193 ++++++------------ pnpm-workspace.yaml | 1 + 33 files changed, 217 insertions(+), 185 deletions(-) create mode 100644 .gitattributes create mode 100644 .node-version create mode 100644 packages/core/tests/runtime-node-version.test.ts create mode 100644 packages/runtime/check-node-version.cjs diff --git a/.editorconfig b/.editorconfig index 8c75d06c..3827920d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,7 +2,7 @@ root = true [*] charset = utf-8 -end_of_line = crlf +end_of_line = lf indent_style = space indent_size = 2 insert_final_newline = true @@ -11,5 +11,11 @@ trim_trailing_whitespace = true [*.{json,yml,yaml,md}] indent_size = 2 +[*.py] +indent_size = 4 + +[*.bat] +end_of_line = crlf + [*.md] -trim_trailing_whitespace = false \ No newline at end of file +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..41bcce29 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,14 @@ +* text=auto eol=lf + +*.bat text eol=crlf + +*.node binary +*.dll binary +*.so binary +*.dylib binary +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.ico binary +*.woff2 binary diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bf09869..26d779c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,9 +4,8 @@ # unnoticed — and did (protocol's oidb-service rejection path, plus an external # contributor PR). This gates every PR on the whole suite. # -# `pnpm -r --no-bail --if-present test` runs each package's `test` script -# (skipping packages without one); --no-bail means one failing package still -# reports the rest, and the run as a whole still fails if any package fails. +# The root validation commands are the same ones contributors run locally. +# Keep this workflow as the executable source of truth for pull requests. name: CI on: @@ -33,14 +32,23 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile + - name: Type check all packages + run: pnpm typecheck + + - name: Lint managed source files + run: pnpm lint + - name: Run all package tests - run: pnpm -r --no-bail --if-present test + run: pnpm test + + - name: Build release inputs + run: pnpm run build:all # The MCP test suite regenerates the action catalog (catalog.ts + the # catalog.json the docs site consumes). Fail if the committed snapshot diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml index 880f6552..4a46e070 100644 --- a/.github/workflows/dev-build.yml +++ b/.github/workflows/dev-build.yml @@ -78,7 +78,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' - name: Install dependencies @@ -121,7 +121,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' - name: Install dependencies @@ -145,7 +145,7 @@ jobs: # Naming convention: # SnowLuma-dev-.zip|tar.gz – zero-install (node bundled) - # SnowLuma-dev--lite.zip|tar.gz – user provides Node >= 22 + # SnowLuma-dev--lite.zip|tar.gz – user provides Node 22.13+ (23.x requires 23.4+) - name: Package (windows) if: matrix.os == 'windows-latest' shell: pwsh diff --git a/.github/workflows/mcp-npm-publish.yml b/.github/workflows/mcp-npm-publish.yml index 9f842af6..9b616f17 100644 --- a/.github/workflows/mcp-npm-publish.yml +++ b/.github/workflows/mcp-npm-publish.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' registry-url: 'https://registry.npmjs.org' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fee1f9bb..afd9a82c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,7 +39,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' - name: Install dependencies @@ -60,7 +60,7 @@ jobs: # Naming convention: # SnowLuma--.zip|tar.gz – zero-install (node bundled) - # SnowLuma---lite.zip|tar.gz – user provides Node >= 22 + # SnowLuma---lite.zip|tar.gz – user provides Node 22.13+ (23.x requires 23.4+) - name: Package (windows) if: matrix.os == 'windows-latest' shell: pwsh @@ -127,7 +127,7 @@ jobs: ## 选择下载 - | 平台 | 完整版(内置 Node.js,推荐) | Lite(需 Node.js 22+) | + | 平台 | 完整版(内置 Node.js,推荐) | Lite(Node.js 22.13+;23 系需 23.4+) | | --- | --- | --- | | Windows x64 | \`SnowLuma-${tag}-win-x64.zip\` | \`SnowLuma-${tag}-win-x64-lite.zip\` | | Linux x64 | \`SnowLuma-${tag}-linux-x64.tar.gz\` | \`SnowLuma-${tag}-linux-x64-lite.tar.gz\` | diff --git a/.github/workflows/sdk-npm-publish.yml b/.github/workflows/sdk-npm-publish.yml index 6ab45bd1..eeba8429 100644 --- a/.github/workflows/sdk-npm-publish.yml +++ b/.github/workflows/sdk-npm-publish.yml @@ -37,7 +37,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' registry-url: 'https://registry.npmjs.org' diff --git a/.github/workflows/sync-docs-catalog.yml b/.github/workflows/sync-docs-catalog.yml index 70c842db..d1ddbaae 100644 --- a/.github/workflows/sync-docs-catalog.yml +++ b/.github/workflows/sync-docs-catalog.yml @@ -38,7 +38,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' - name: Install dependencies diff --git a/.github/workflows/ui-npm-publish.yml b/.github/workflows/ui-npm-publish.yml index a7a43044..782bd14b 100644 --- a/.github/workflows/ui-npm-publish.yml +++ b/.github/workflows/ui-npm-publish.yml @@ -37,7 +37,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version-file: '.node-version' cache: 'pnpm' registry-url: 'https://registry.npmjs.org' diff --git a/.node-version b/.node-version new file mode 100644 index 00000000..6fa8dec4 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +22.13.0 diff --git a/.npmrc b/.npmrc index f766e06a..1c92cebd 100644 --- a/.npmrc +++ b/.npmrc @@ -1,13 +1,4 @@ registry=https://registry.npmmirror.com/ -@moonrepo:registry=https://registry.npmmirror.com/ - -# Mirrors for binary downloads (sharp, esbuild, swc, electron etc.) -disturl=https://npmmirror.com/dist -electron_mirror=https://npmmirror.com/mirrors/electron/ -sass_binary_site=https://npmmirror.com/mirrors/node-sass/ -sharp_binary_host=https://npmmirror.com/mirrors/sharp -sharp_libvips_binary_host=https://npmmirror.com/mirrors/sharp-libvips -puppeteer_download_host=https://npmmirror.com/mirrors - auto-install-peers=true strict-peer-dependencies=false +engine-strict=true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 79afbebb..c55bc65b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,10 +43,14 @@ SnowLuma 处于开发早期,迭代速度很快,**接口与目录结构随时 ### 系统要求 -- **Node.js ≥ 22**(`engines` 字段强制,低版本会报错) -- **pnpm 10.28.0+**(项目通过 `packageManager` 字段锁定,建议用 `corepack enable` 安装匹配版本) +- **Node.js 22.13+(23 系需 23.4+)**(项目使用默认启用的 `node:sqlite`) +- **pnpm 10.28.0**(项目通过 `packageManager` 与 CI 统一版本) - macOS / Linux / Windows 均可。如果要构建原生产物,需要对应平台的工具链。 +如果系统提供 Corepack,可执行 `corepack enable pnpm`;没有 Corepack 时可执行 +`npm install -g pnpm@10.28.0`。进入仓库后,`node --version` 与 +`pnpm --version` 应满足上述版本要求,否则安装会直接失败。 + ### 拉代码、装依赖、跑起来 ```bash @@ -57,13 +61,13 @@ cd SnowLuma # 2. 切到 dev 分支(所有开发都基于 dev,不是 main) git checkout dev -# 3. 安装依赖 -pnpm install +# 3. 按锁文件安装依赖 +pnpm install --frozen-lockfile # 4. 跑类型检查,确认环境 OK pnpm typecheck -# 5. 跑测试 +# 5. 跑全工作区测试 pnpm test # 6. 启动开发模式 @@ -96,14 +100,17 @@ git checkout -b fix/onebot-mention-encoding - **写测试**:修 bug 时优先写一个能复现该 bug 的测试,确认它会 fail,再让它 pass。新增功能至少补上 happy path 的测试。 - **不要添加无意义的注释**:标识符已经说清楚的事情不需要再写一遍。注释应当解释"为什么",而不是"做了什么"。 -提交之前请本地跑一遍: +提交之前请运行与 PR CI 相同的验证入口: ```bash pnpm typecheck +pnpm lint pnpm test +pnpm run build:all ``` -CI 上跑的是同一套检查,本地通过几乎能保证 CI 通过。 +`pnpm test` 会运行所有声明了测试脚本的工作区包;只验证 Core 时可使用 +`pnpm test:core`。CI 会重新执行上述完整检查。 ### 3. 提交信息 diff --git a/README.md b/README.md index 26a0cfc4..9ff183b0 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ SnowLuma 将会话接入、协议解析、身份映射、OneBot 转换和网络 前往 [Releases](https://github.com/SnowLuma/SnowLuma/releases) 下载与你的平台匹配的版本: -| 平台 | 完整版(内置 Node.js,推荐) | Lite(需要 Node.js 22+) | +| 平台 | 完整版(内置 Node.js,推荐) | Lite(Node.js 22.13+;23 系需 23.4+) | | --- | --- | --- | | Windows x64 | `SnowLuma-vX.Y.Z-win-x64.zip` | `SnowLuma-vX.Y.Z-win-x64-lite.zip` | | Linux x64 | `SnowLuma-vX.Y.Z-linux-x64.tar.gz` | `SnowLuma-vX.Y.Z-linux-x64-lite.tar.gz` | @@ -117,15 +117,17 @@ WebUI 的“系统设置 → 存储管理”可查看受管数据占用、调整 ## 开发与贡献 -本地开发需要 Node.js 22+ 与项目锁定版本的 pnpm。所有日常开发基于 `dev` 分支: +本地开发需要 Node.js 22.13+(23 系需 23.4+)与项目锁定的 pnpm 10.28.0。所有日常开发基于 `dev` 分支: ```bash git clone https://github.com/SnowLuma/SnowLuma.git cd SnowLuma git checkout dev -pnpm install +pnpm install --frozen-lockfile pnpm typecheck +pnpm lint pnpm test +pnpm run build:all ``` - 先读 [`CONTEXT.md`](CONTEXT.md) 了解模块边界与项目词汇。 diff --git a/eslint.config.ts b/eslint.config.ts index eefbee28..3de5bec1 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -14,9 +14,12 @@ export default defineConfig([ '**/coverage/**', '**/.turbo/**', '**/.vite/**', + '.claude/**', + 'dev/**', '**/*.tsbuildinfo', '**/test/fixtures/**', 'packages/runtime/native/**', + 'packages/mcp/src/generated/**', ]), { files: ['**/*.{js,mjs,cjs,ts,tsx}'], diff --git a/package.json b/package.json index 0a3c9170..4ffd27eb 100644 --- a/package.json +++ b/package.json @@ -10,14 +10,15 @@ "build:sdk": "pnpm --filter @snowluma/sdk build", "build:webui": "pnpm --filter webui build", "build:mcp": "pnpm --filter @snowluma/mcp build", - "build:all": "pnpm --filter @snowluma/core build:all && pnpm --filter @snowluma/sdk build && pnpm --filter @snowluma/mcp build && pnpm --filter webui build", + "build:all": "pnpm --filter @snowluma/core build:all && pnpm --filter @snowluma/sdk build && pnpm --filter @snowluma/mcp build && pnpm --filter @snowluma/ui build && pnpm --filter webui build", "dev": "pnpm --filter @snowluma/core dev", "dev:mode": "cd dist && cross-env SNOWLUMA_DEV_MODE=1 SNOWLUMA_DEV_WEBUI=1 node index.mjs", "dev:web": "pnpm --filter webui dev", - "test": "pnpm --filter @snowluma/core test", + "test": "pnpm -r --no-bail --if-present test", + "test:core": "pnpm --filter @snowluma/core test", "test:watch": "pnpm --filter @snowluma/core test:watch", "test:common": "pnpm --filter @snowluma/common test", - "test:all": "pnpm -r --if-present test", + "test:all": "pnpm test", "test:native": "pnpm -r --if-present test:native", "coverage": "pnpm --filter @snowluma/common test -- --coverage", "typecheck": "pnpm -r --if-present typecheck", @@ -46,9 +47,6 @@ "eslint-plugin-react-hooks>eslint": "10" } }, - "onlyBuiltDependencies": [ - "better-sqlite3" - ], "overrides": { "esbuild@<0.28.1": "^0.28.1", "@babel/core@<7.29.6": "^7.29.6" @@ -56,6 +54,7 @@ }, "packageManager": "pnpm@10.28.0", "engines": { - "node": ">=22" + "node": "^22.13.0 || >=23.4.0", + "pnpm": "10.28.0" } } diff --git a/packages/bridge/package.json b/packages/bridge/package.json index 3ca5eb80..dd9b130b 100644 --- a/packages/bridge/package.json +++ b/packages/bridge/package.json @@ -53,7 +53,7 @@ "@snowluma/common": "workspace:*" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "^4.1.4" diff --git a/packages/common/package.json b/packages/common/package.json index 9b1d8000..a6f02133 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -70,7 +70,7 @@ "test": "vitest run" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:", "vitest": "^4.1.4" } diff --git a/packages/core/package.json b/packages/core/package.json index efb1e751..799cc92b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -52,7 +52,7 @@ "devDependencies": { "@hono/node-server": "^1.19.14", "@rollup/plugin-node-resolve": "^16.0.3", - "@types/node": "^24.12.2", + "@types/node": "catalog:", "cross-env": "^10.1.0", "hono": "^4.12.25", "tsx": "^4.21.0", diff --git a/packages/core/tests/runtime-node-version.test.ts b/packages/core/tests/runtime-node-version.test.ts new file mode 100644 index 00000000..f7778891 --- /dev/null +++ b/packages/core/tests/runtime-node-version.test.ts @@ -0,0 +1,28 @@ +import { createRequire } from 'node:module'; +import { describe, expect, it } from 'vitest'; + +const require = createRequire(import.meta.url); +const { + SUPPORTED_NODE_RANGE, + isSupportedNodeVersion, +} = require('../../runtime/check-node-version.cjs') as { + SUPPORTED_NODE_RANGE: string; + isSupportedNodeVersion: (version: string) => boolean; +}; + +describe('runtime Node.js preflight', () => { + it('accepts the documented minimum and newer versions', () => { + expect(SUPPORTED_NODE_RANGE).toBe('^22.13.0 || >=23.4.0'); + expect(isSupportedNodeVersion('22.13.0')).toBe(true); + expect(isSupportedNodeVersion('22.13.1')).toBe(true); + expect(isSupportedNodeVersion('23.4.0')).toBe(true); + expect(isSupportedNodeVersion('24.0.0')).toBe(true); + }); + + it('rejects older and malformed versions', () => { + expect(isSupportedNodeVersion('22.12.99')).toBe(false); + expect(isSupportedNodeVersion('23.3.99')).toBe(false); + expect(isSupportedNodeVersion('21.99.99')).toBe(false); + expect(isSupportedNodeVersion('not-a-version')).toBe(false); + }); +}); diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts index 16486b1e..6ff4b60c 100644 --- a/packages/core/vite.config.ts +++ b/packages/core/vite.config.ts @@ -43,7 +43,7 @@ const [targetPlatform, targetArch] = targetTriple.split('-'); // Runtime scaffolding files copied into dist/. Windows and Linux use different // launchers, while both targets ship their matching QQ integration binaries. -const runtimeDistFiles = ['package.json', +const runtimeDistFiles = ['package.json', 'check-node-version.cjs', targetPlatform === 'win32' ? 'launcher.bat' : 'launcher.sh', ]; diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 177e0592..cbddc415 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -45,7 +45,7 @@ "devDependencies": { "@snowluma/onebot": "workspace:*", "@snowluma/proton": "workspace:*", - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "^4.1.4" diff --git a/packages/onebot/package.json b/packages/onebot/package.json index 0a76ddea..2f57a1ff 100644 --- a/packages/onebot/package.json +++ b/packages/onebot/package.json @@ -115,7 +115,7 @@ "@snowluma/websocket": "workspace:*" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "^4.1.4" diff --git a/packages/proto-defs/package.json b/packages/proto-defs/package.json index adb304f4..57146363 100644 --- a/packages/proto-defs/package.json +++ b/packages/proto-defs/package.json @@ -72,7 +72,7 @@ "@snowluma/proton": "workspace:*" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:" } } diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 506581e7..be5e636b 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -101,7 +101,7 @@ "@snowluma/proton": "workspace:*" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "^4.1.4" diff --git a/packages/proton/package.json b/packages/proton/package.json index 97159c11..7497597f 100644 --- a/packages/proton/package.json +++ b/packages/proton/package.json @@ -36,7 +36,7 @@ } }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "tsup": "^8.5.0", "vite": "catalog:", "vitest": "^4.1.4" diff --git a/packages/runtime/check-node-version.cjs b/packages/runtime/check-node-version.cjs new file mode 100644 index 00000000..d15b5323 --- /dev/null +++ b/packages/runtime/check-node-version.cjs @@ -0,0 +1,27 @@ +'use strict'; + +const SUPPORTED_NODE_RANGE = '^22.13.0 || >=23.4.0'; + +function parseNodeVersion(version) { + const match = /^(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(version); + return match ? match.slice(1, 4).map(Number) : null; +} + +function isSupportedNodeVersion(version) { + const actual = parseNodeVersion(version); + if (!actual) return false; + + const [major, minor] = actual; + if (major === 22) return minor >= 13; + if (major === 23) return minor >= 4; + return major > 23; +} + +if (require.main === module && !isSupportedNodeVersion(process.versions.node)) { + console.error( + `error: SnowLuma requires Node.js ${SUPPORTED_NODE_RANGE}; found ${process.versions.node}.`, + ); + process.exitCode = 1; +} + +module.exports = { SUPPORTED_NODE_RANGE, isSupportedNodeVersion }; diff --git a/packages/runtime/launcher.bat b/packages/runtime/launcher.bat index ea696c21..963b9335 100644 --- a/packages/runtime/launcher.bat +++ b/packages/runtime/launcher.bat @@ -1,2 +1,7 @@ +node .\check-node-version.cjs +if errorlevel 1 ( + pause + exit /b 1 +) node ./index.mjs -pause \ No newline at end of file +pause diff --git a/packages/runtime/launcher.sh b/packages/runtime/launcher.sh index 6b29d9cc..49cc561a 100644 --- a/packages/runtime/launcher.sh +++ b/packages/runtime/launcher.sh @@ -8,9 +8,10 @@ if [[ -x "./node" ]]; then else NODE_BIN="$(command -v node || true)" if [[ -z "$NODE_BIN" ]]; then - echo "error: 'node' not found on PATH and no bundled ./node; install Node.js >= 22." >&2 + echo "error: 'node' not found on PATH and no bundled ./node; install Node.js 22.13+ (Node 23 requires 23.4+)." >&2 exit 127 fi fi +"$NODE_BIN" ./check-node-version.cjs exec "$NODE_BIN" ./index.mjs "$@" diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 86eab767..34ea1b43 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -88,7 +88,7 @@ "node": ">=22" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:", "vitest": "^4.1.4" } diff --git a/packages/websocket/package.json b/packages/websocket/package.json index a2420c87..70620804 100644 --- a/packages/websocket/package.json +++ b/packages/websocket/package.json @@ -17,7 +17,7 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@types/node": "^24.12.2", + "@types/node": "catalog:", "typescript": "catalog:" } } diff --git a/packages/webui/package.json b/packages/webui/package.json index f4dcab97..0074fca7 100644 --- a/packages/webui/package.json +++ b/packages/webui/package.json @@ -37,7 +37,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "@tailwindcss/vite": "^4.2.2", - "@types/node": "^25.6.0", + "@types/node": "catalog:", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fbe6c6dd..86bd9346 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,9 @@ settings: catalogs: default: + '@types/node': + specifier: 22.13.0 + version: 22.13.0 typescript: specifier: ~6.0.2 version: 6.0.2 @@ -62,29 +65,29 @@ importers: version: link:../common devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 vite: specifier: 'catalog:' - version: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/common: devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/core: dependencies: @@ -117,8 +120,8 @@ importers: specifier: ^16.0.3 version: 16.0.3(rollup@4.60.4) '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 cross-env: specifier: ^10.1.0 version: 10.1.0 @@ -133,13 +136,13 @@ importers: version: 6.0.2 vite: specifier: 'catalog:' - version: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vite-plugin-cp: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/mcp: dependencies: @@ -154,17 +157,17 @@ importers: specifier: workspace:* version: link:../proton '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 vite: specifier: 'catalog:' - version: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/onebot: dependencies: @@ -188,17 +191,17 @@ importers: version: link:../websocket devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 vite: specifier: 'catalog:' - version: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/proto-defs: dependencies: @@ -207,8 +210,8 @@ importers: version: link:../proton devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 @@ -226,17 +229,17 @@ importers: version: link:../proton devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 vite: specifier: 'catalog:' - version: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/proton: dependencies: @@ -245,31 +248,31 @@ importers: version: 6.0.2 devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 tsup: specifier: ^8.5.0 version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@6.0.2) vite: specifier: 'catalog:' - version: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/runtime: {} packages/sdk: devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages/ui: dependencies: @@ -347,8 +350,8 @@ importers: packages/websocket: devDependencies: '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: 'catalog:' + version: 22.13.0 typescript: specifier: 'catalog:' version: 6.0.2 @@ -421,10 +424,10 @@ importers: version: 10.0.1(eslint@10.2.0(jiti@2.6.1)) '@tailwindcss/vite': specifier: ^4.2.2 - version: 4.2.2(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.2.2(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@types/node': - specifier: ^25.6.0 - version: 25.6.0 + specifier: 'catalog:' + version: 22.13.0 '@types/react': specifier: ^19.2.14 version: 19.2.14 @@ -433,7 +436,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 6.0.1(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) eslint: specifier: ^10.2.0 version: 10.2.0(jiti@2.6.1) @@ -460,10 +463,10 @@ importers: version: 8.58.2(eslint@10.2.0(jiti@2.6.1))(typescript@6.0.2) vite: specifier: 'catalog:' - version: 8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + version: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) vitest: specifier: ^4.1.4 - version: 4.1.4(@types/node@25.6.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) packages: @@ -1904,11 +1907,8 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@24.12.2': - resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} - - '@types/node@25.6.0': - resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + '@types/node@22.13.0': + resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==} '@types/react-dom@19.2.3': resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} @@ -3221,11 +3221,8 @@ packages: ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} @@ -4533,12 +4530,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.2.2 '@tailwindcss/oxide-win32-x64-msvc': 4.2.2 - '@tailwindcss/vite@4.2.2(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@tailwindcss/vite@4.2.2(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@tailwindcss/node': 4.2.2 '@tailwindcss/oxide': 4.2.2 tailwindcss: 4.2.2 - vite: 8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@tanstack/history@1.161.6': {} @@ -4598,23 +4595,19 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 25.6.0 + '@types/node': 22.13.0 '@types/json-schema@7.0.15': {} '@types/jsonfile@6.1.4': dependencies: - '@types/node': 25.6.0 + '@types/node': 22.13.0 '@types/ms@2.1.0': {} - '@types/node@24.12.2': + '@types/node@22.13.0': dependencies: - undici-types: 7.16.0 - - '@types/node@25.6.0': - dependencies: - undici-types: 7.19.2 + undici-types: 6.20.0 '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: @@ -4717,10 +4710,10 @@ snapshots: '@typescript-eslint/types': 8.58.2 eslint-visitor-keys: 5.0.1 - '@vitejs/plugin-react@6.0.1(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vitejs/plugin-react@6.0.1(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.7 - vite: 8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@vitest/coverage-istanbul@4.1.4(vitest@4.1.4)': dependencies: @@ -4734,7 +4727,7 @@ snapshots: magicast: 0.5.3 obug: 2.1.1 tinyrainbow: 3.1.0 - vitest: 4.1.4(@types/node@25.6.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + vitest: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) transitivePeerDependencies: - supports-color @@ -4750,7 +4743,7 @@ snapshots: obug: 2.1.1 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.4(@types/node@25.6.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + vitest: 4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/expect@4.1.4': dependencies: @@ -4761,21 +4754,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.4(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@4.1.4(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 4.1.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) - - '@vitest/mocker@4.1.4(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': - dependencies: - '@vitest/spy': 4.1.4 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@vitest/pretty-format@4.1.4': dependencies: @@ -5972,9 +5957,7 @@ snapshots: ufo@1.6.4: {} - undici-types@7.16.0: {} - - undici-types@7.19.2: {} + undici-types@6.20.0: {} universalify@2.0.1: {} @@ -6020,7 +6003,7 @@ snapshots: transitivePeerDependencies: - supports-color - vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): + vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -6028,32 +6011,17 @@ snapshots: rolldown: 1.1.3 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 22.13.0 esbuild: 0.28.1 fsevents: 2.3.3 jiti: 2.6.1 sass: 1.99.0 tsx: 4.21.0 - vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.1.3 - tinyglobby: 0.2.17 - optionalDependencies: - '@types/node': 25.6.0 - esbuild: 0.28.1 - fsevents: 2.3.3 - jiti: 2.6.1 - sass: 1.99.0 - tsx: 4.21.0 - - vitest@4.1.4(@types/node@24.12.2)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): + vitest@4.1.4(@types/node@22.13.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): dependencies: '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 4.1.4(vite@8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/pretty-format': 4.1.4 '@vitest/runner': 4.1.4 '@vitest/snapshot': 4.1.4 @@ -6070,39 +6038,10 @@ snapshots: tinyexec: 1.1.1 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.1.0(@types/node@24.12.2)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.0(@types/node@22.13.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.12.2 - '@vitest/coverage-istanbul': 4.1.4(vitest@4.1.4) - '@vitest/coverage-v8': 4.1.4(vitest@4.1.4) - transitivePeerDependencies: - - msw - - vitest@4.1.4(@types/node@25.6.0)(@vitest/coverage-istanbul@4.1.4)(@vitest/coverage-v8@4.1.4)(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): - dependencies: - '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@vitest/pretty-format': 4.1.4 - '@vitest/runner': 4.1.4 - '@vitest/snapshot': 4.1.4 - '@vitest/spy': 4.1.4 - '@vitest/utils': 4.1.4 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.1.0 - tinybench: 2.9.0 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 - tinyrainbow: 3.1.0 - vite: 8.1.0(@types/node@25.6.0)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 25.6.0 + '@types/node': 22.13.0 '@vitest/coverage-istanbul': 4.1.4(vitest@4.1.4) '@vitest/coverage-v8': 4.1.4(vitest@4.1.4) transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f9ad8946..e3ffca9a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,6 +2,7 @@ packages: - 'packages/*' catalog: + '@types/node': 22.13.0 vite: ^8.0.16 typescript: ~6.0.2