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.
This commit is contained in:
+8
-2
@@ -2,7 +2,7 @@ root = true
|
|||||||
|
|
||||||
[*]
|
[*]
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
end_of_line = crlf
|
end_of_line = lf
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
@@ -11,5 +11,11 @@ trim_trailing_whitespace = true
|
|||||||
[*.{json,yml,yaml,md}]
|
[*.{json,yml,yaml,md}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.py]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.bat]
|
||||||
|
end_of_line = crlf
|
||||||
|
|
||||||
[*.md]
|
[*.md]
|
||||||
trim_trailing_whitespace = false
|
trim_trailing_whitespace = false
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -4,9 +4,8 @@
|
|||||||
# unnoticed — and did (protocol's oidb-service rejection path, plus an external
|
# unnoticed — and did (protocol's oidb-service rejection path, plus an external
|
||||||
# contributor PR). This gates every PR on the whole suite.
|
# contributor PR). This gates every PR on the whole suite.
|
||||||
#
|
#
|
||||||
# `pnpm -r --no-bail --if-present test` runs each package's `test` script
|
# The root validation commands are the same ones contributors run locally.
|
||||||
# (skipping packages without one); --no-bail means one failing package still
|
# Keep this workflow as the executable source of truth for pull requests.
|
||||||
# reports the rest, and the run as a whole still fails if any package fails.
|
|
||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -33,14 +32,23 @@ jobs:
|
|||||||
|
|
||||||
- uses: actions/setup-node@v6
|
- uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --frozen-lockfile
|
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
|
- 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
|
# The MCP test suite regenerates the action catalog (catalog.ts + the
|
||||||
# catalog.json the docs site consumes). Fail if the committed snapshot
|
# catalog.json the docs site consumes). Fail if the committed snapshot
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -121,7 +121,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -145,7 +145,7 @@ jobs:
|
|||||||
|
|
||||||
# Naming convention:
|
# Naming convention:
|
||||||
# SnowLuma-dev-<arch>.zip|tar.gz – zero-install (node bundled)
|
# SnowLuma-dev-<arch>.zip|tar.gz – zero-install (node bundled)
|
||||||
# SnowLuma-dev-<arch>-lite.zip|tar.gz – user provides Node >= 22
|
# SnowLuma-dev-<arch>-lite.zip|tar.gz – user provides Node 22.13+ (23.x requires 23.4+)
|
||||||
- name: Package (windows)
|
- name: Package (windows)
|
||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -60,7 +60,7 @@ jobs:
|
|||||||
|
|
||||||
# Naming convention:
|
# Naming convention:
|
||||||
# SnowLuma-<tag>-<arch>.zip|tar.gz – zero-install (node bundled)
|
# SnowLuma-<tag>-<arch>.zip|tar.gz – zero-install (node bundled)
|
||||||
# SnowLuma-<tag>-<arch>-lite.zip|tar.gz – user provides Node >= 22
|
# SnowLuma-<tag>-<arch>-lite.zip|tar.gz – user provides Node 22.13+ (23.x requires 23.4+)
|
||||||
- name: Package (windows)
|
- name: Package (windows)
|
||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
shell: pwsh
|
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\` |
|
| 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\` |
|
| Linux x64 | \`SnowLuma-${tag}-linux-x64.tar.gz\` | \`SnowLuma-${tag}-linux-x64-lite.tar.gz\` |
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ jobs:
|
|||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
22.13.0
|
||||||
@@ -1,13 +1,4 @@
|
|||||||
registry=https://registry.npmmirror.com/
|
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
|
auto-install-peers=true
|
||||||
strict-peer-dependencies=false
|
strict-peer-dependencies=false
|
||||||
|
engine-strict=true
|
||||||
|
|||||||
+14
-7
@@ -43,10 +43,14 @@ SnowLuma 处于开发早期,迭代速度很快,**接口与目录结构随时
|
|||||||
|
|
||||||
### 系统要求
|
### 系统要求
|
||||||
|
|
||||||
- **Node.js ≥ 22**(`engines` 字段强制,低版本会报错)
|
- **Node.js 22.13+(23 系需 23.4+)**(项目使用默认启用的 `node:sqlite`)
|
||||||
- **pnpm 10.28.0+**(项目通过 `packageManager` 字段锁定,建议用 `corepack enable` 安装匹配版本)
|
- **pnpm 10.28.0**(项目通过 `packageManager` 与 CI 统一版本)
|
||||||
- macOS / Linux / Windows 均可。如果要构建原生产物,需要对应平台的工具链。
|
- macOS / Linux / Windows 均可。如果要构建原生产物,需要对应平台的工具链。
|
||||||
|
|
||||||
|
如果系统提供 Corepack,可执行 `corepack enable pnpm`;没有 Corepack 时可执行
|
||||||
|
`npm install -g pnpm@10.28.0`。进入仓库后,`node --version` 与
|
||||||
|
`pnpm --version` 应满足上述版本要求,否则安装会直接失败。
|
||||||
|
|
||||||
### 拉代码、装依赖、跑起来
|
### 拉代码、装依赖、跑起来
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -57,13 +61,13 @@ cd SnowLuma
|
|||||||
# 2. 切到 dev 分支(所有开发都基于 dev,不是 main)
|
# 2. 切到 dev 分支(所有开发都基于 dev,不是 main)
|
||||||
git checkout dev
|
git checkout dev
|
||||||
|
|
||||||
# 3. 安装依赖
|
# 3. 按锁文件安装依赖
|
||||||
pnpm install
|
pnpm install --frozen-lockfile
|
||||||
|
|
||||||
# 4. 跑类型检查,确认环境 OK
|
# 4. 跑类型检查,确认环境 OK
|
||||||
pnpm typecheck
|
pnpm typecheck
|
||||||
|
|
||||||
# 5. 跑测试
|
# 5. 跑全工作区测试
|
||||||
pnpm test
|
pnpm test
|
||||||
|
|
||||||
# 6. 启动开发模式
|
# 6. 启动开发模式
|
||||||
@@ -96,14 +100,17 @@ git checkout -b fix/onebot-mention-encoding
|
|||||||
- **写测试**:修 bug 时优先写一个能复现该 bug 的测试,确认它会 fail,再让它 pass。新增功能至少补上 happy path 的测试。
|
- **写测试**:修 bug 时优先写一个能复现该 bug 的测试,确认它会 fail,再让它 pass。新增功能至少补上 happy path 的测试。
|
||||||
- **不要添加无意义的注释**:标识符已经说清楚的事情不需要再写一遍。注释应当解释"为什么",而不是"做了什么"。
|
- **不要添加无意义的注释**:标识符已经说清楚的事情不需要再写一遍。注释应当解释"为什么",而不是"做了什么"。
|
||||||
|
|
||||||
提交之前请本地跑一遍:
|
提交之前请运行与 PR CI 相同的验证入口:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pnpm typecheck
|
pnpm typecheck
|
||||||
|
pnpm lint
|
||||||
pnpm test
|
pnpm test
|
||||||
|
pnpm run build:all
|
||||||
```
|
```
|
||||||
|
|
||||||
CI 上跑的是同一套检查,本地通过几乎能保证 CI 通过。
|
`pnpm test` 会运行所有声明了测试脚本的工作区包;只验证 Core 时可使用
|
||||||
|
`pnpm test:core`。CI 会重新执行上述完整检查。
|
||||||
|
|
||||||
### 3. 提交信息
|
### 3. 提交信息
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ SnowLuma 将会话接入、协议解析、身份映射、OneBot 转换和网络
|
|||||||
|
|
||||||
前往 [Releases](https://github.com/SnowLuma/SnowLuma/releases) 下载与你的平台匹配的版本:
|
前往 [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` |
|
| 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` |
|
| 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
|
```bash
|
||||||
git clone https://github.com/SnowLuma/SnowLuma.git
|
git clone https://github.com/SnowLuma/SnowLuma.git
|
||||||
cd SnowLuma
|
cd SnowLuma
|
||||||
git checkout dev
|
git checkout dev
|
||||||
pnpm install
|
pnpm install --frozen-lockfile
|
||||||
pnpm typecheck
|
pnpm typecheck
|
||||||
|
pnpm lint
|
||||||
pnpm test
|
pnpm test
|
||||||
|
pnpm run build:all
|
||||||
```
|
```
|
||||||
|
|
||||||
- 先读 [`CONTEXT.md`](CONTEXT.md) 了解模块边界与项目词汇。
|
- 先读 [`CONTEXT.md`](CONTEXT.md) 了解模块边界与项目词汇。
|
||||||
|
|||||||
@@ -14,9 +14,12 @@ export default defineConfig([
|
|||||||
'**/coverage/**',
|
'**/coverage/**',
|
||||||
'**/.turbo/**',
|
'**/.turbo/**',
|
||||||
'**/.vite/**',
|
'**/.vite/**',
|
||||||
|
'.claude/**',
|
||||||
|
'dev/**',
|
||||||
'**/*.tsbuildinfo',
|
'**/*.tsbuildinfo',
|
||||||
'**/test/fixtures/**',
|
'**/test/fixtures/**',
|
||||||
'packages/runtime/native/**',
|
'packages/runtime/native/**',
|
||||||
|
'packages/mcp/src/generated/**',
|
||||||
]),
|
]),
|
||||||
{
|
{
|
||||||
files: ['**/*.{js,mjs,cjs,ts,tsx}'],
|
files: ['**/*.{js,mjs,cjs,ts,tsx}'],
|
||||||
|
|||||||
+6
-7
@@ -10,14 +10,15 @@
|
|||||||
"build:sdk": "pnpm --filter @snowluma/sdk build",
|
"build:sdk": "pnpm --filter @snowluma/sdk build",
|
||||||
"build:webui": "pnpm --filter webui build",
|
"build:webui": "pnpm --filter webui build",
|
||||||
"build:mcp": "pnpm --filter @snowluma/mcp 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": "pnpm --filter @snowluma/core dev",
|
||||||
"dev:mode": "cd dist && cross-env SNOWLUMA_DEV_MODE=1 SNOWLUMA_DEV_WEBUI=1 node index.mjs",
|
"dev:mode": "cd dist && cross-env SNOWLUMA_DEV_MODE=1 SNOWLUMA_DEV_WEBUI=1 node index.mjs",
|
||||||
"dev:web": "pnpm --filter webui dev",
|
"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:watch": "pnpm --filter @snowluma/core test:watch",
|
||||||
"test:common": "pnpm --filter @snowluma/common test",
|
"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",
|
"test:native": "pnpm -r --if-present test:native",
|
||||||
"coverage": "pnpm --filter @snowluma/common test -- --coverage",
|
"coverage": "pnpm --filter @snowluma/common test -- --coverage",
|
||||||
"typecheck": "pnpm -r --if-present typecheck",
|
"typecheck": "pnpm -r --if-present typecheck",
|
||||||
@@ -46,9 +47,6 @@
|
|||||||
"eslint-plugin-react-hooks>eslint": "10"
|
"eslint-plugin-react-hooks>eslint": "10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"onlyBuiltDependencies": [
|
|
||||||
"better-sqlite3"
|
|
||||||
],
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"esbuild@<0.28.1": "^0.28.1",
|
"esbuild@<0.28.1": "^0.28.1",
|
||||||
"@babel/core@<7.29.6": "^7.29.6"
|
"@babel/core@<7.29.6": "^7.29.6"
|
||||||
@@ -56,6 +54,7 @@
|
|||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.28.0",
|
"packageManager": "pnpm@10.28.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=22"
|
"node": "^22.13.0 || >=23.4.0",
|
||||||
|
"pnpm": "10.28.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
"@snowluma/common": "workspace:*"
|
"@snowluma/common": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vite": "catalog:",
|
"vite": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
"test": "vitest run"
|
"test": "vitest run"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@hono/node-server": "^1.19.14",
|
"@hono/node-server": "^1.19.14",
|
||||||
"@rollup/plugin-node-resolve": "^16.0.3",
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"cross-env": "^10.1.0",
|
"cross-env": "^10.1.0",
|
||||||
"hono": "^4.12.25",
|
"hono": "^4.12.25",
|
||||||
"tsx": "^4.21.0",
|
"tsx": "^4.21.0",
|
||||||
|
|||||||
@@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -43,7 +43,7 @@ const [targetPlatform, targetArch] = targetTriple.split('-');
|
|||||||
|
|
||||||
// Runtime scaffolding files copied into dist/. Windows and Linux use different
|
// Runtime scaffolding files copied into dist/. Windows and Linux use different
|
||||||
// launchers, while both targets ship their matching QQ integration binaries.
|
// 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',
|
targetPlatform === 'win32' ? 'launcher.bat' : 'launcher.sh',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@snowluma/onebot": "workspace:*",
|
"@snowluma/onebot": "workspace:*",
|
||||||
"@snowluma/proton": "workspace:*",
|
"@snowluma/proton": "workspace:*",
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vite": "catalog:",
|
"vite": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
"@snowluma/websocket": "workspace:*"
|
"@snowluma/websocket": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vite": "catalog:",
|
"vite": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
"@snowluma/proton": "workspace:*"
|
"@snowluma/proton": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:"
|
"typescript": "catalog:"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
"@snowluma/proton": "workspace:*"
|
"@snowluma/proton": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vite": "catalog:",
|
"vite": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"tsup": "^8.5.0",
|
"tsup": "^8.5.0",
|
||||||
"vite": "catalog:",
|
"vite": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
|
|||||||
@@ -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 };
|
||||||
@@ -1,2 +1,7 @@
|
|||||||
|
node .\check-node-version.cjs
|
||||||
|
if errorlevel 1 (
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
node ./index.mjs
|
node ./index.mjs
|
||||||
pause
|
pause
|
||||||
|
|||||||
@@ -8,9 +8,10 @@ if [[ -x "./node" ]]; then
|
|||||||
else
|
else
|
||||||
NODE_BIN="$(command -v node || true)"
|
NODE_BIN="$(command -v node || true)"
|
||||||
if [[ -z "$NODE_BIN" ]]; then
|
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
|
exit 127
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
"$NODE_BIN" ./check-node-version.cjs
|
||||||
exec "$NODE_BIN" ./index.mjs "$@"
|
exec "$NODE_BIN" ./index.mjs "$@"
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
"node": ">=22"
|
"node": ">=22"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vitest": "^4.1.4"
|
"vitest": "^4.1.4"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"typecheck": "tsc --noEmit"
|
"typecheck": "tsc --noEmit"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.12.2",
|
"@types/node": "catalog:",
|
||||||
"typescript": "catalog:"
|
"typescript": "catalog:"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^10.0.1",
|
"@eslint/js": "^10.0.1",
|
||||||
"@tailwindcss/vite": "^4.2.2",
|
"@tailwindcss/vite": "^4.2.2",
|
||||||
"@types/node": "^25.6.0",
|
"@types/node": "catalog:",
|
||||||
"@types/react": "^19.2.14",
|
"@types/react": "^19.2.14",
|
||||||
"@types/react-dom": "^19.2.3",
|
"@types/react-dom": "^19.2.3",
|
||||||
"@vitejs/plugin-react": "^6.0.1",
|
"@vitejs/plugin-react": "^6.0.1",
|
||||||
|
|||||||
Generated
+66
-127
@@ -6,6 +6,9 @@ settings:
|
|||||||
|
|
||||||
catalogs:
|
catalogs:
|
||||||
default:
|
default:
|
||||||
|
'@types/node':
|
||||||
|
specifier: 22.13.0
|
||||||
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ~6.0.2
|
specifier: ~6.0.2
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
@@ -62,29 +65,29 @@ importers:
|
|||||||
version: link:../common
|
version: link:../common
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/common:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/core:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -117,8 +120,8 @@ importers:
|
|||||||
specifier: ^16.0.3
|
specifier: ^16.0.3
|
||||||
version: 16.0.3(rollup@4.60.4)
|
version: 16.0.3(rollup@4.60.4)
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
cross-env:
|
cross-env:
|
||||||
specifier: ^10.1.0
|
specifier: ^10.1.0
|
||||||
version: 10.1.0
|
version: 10.1.0
|
||||||
@@ -133,13 +136,13 @@ importers:
|
|||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vite-plugin-cp:
|
||||||
specifier: ^6.0.3
|
specifier: ^6.0.3
|
||||||
version: 6.0.3
|
version: 6.0.3
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/mcp:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -154,17 +157,17 @@ importers:
|
|||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../proton
|
version: link:../proton
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/onebot:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -188,17 +191,17 @@ importers:
|
|||||||
version: link:../websocket
|
version: link:../websocket
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/proto-defs:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -207,8 +210,8 @@ importers:
|
|||||||
version: link:../proton
|
version: link:../proton
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
@@ -226,17 +229,17 @@ importers:
|
|||||||
version: link:../proton
|
version: link:../proton
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/proton:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -245,31 +248,31 @@ importers:
|
|||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
tsup:
|
tsup:
|
||||||
specifier: ^8.5.0
|
specifier: ^8.5.0
|
||||||
version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@6.0.2)
|
version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@6.0.2)
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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/runtime: {}
|
||||||
|
|
||||||
packages/sdk:
|
packages/sdk:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages/ui:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -347,8 +350,8 @@ importers:
|
|||||||
packages/websocket:
|
packages/websocket:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^24.12.2
|
specifier: 'catalog:'
|
||||||
version: 24.12.2
|
version: 22.13.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
@@ -421,10 +424,10 @@ importers:
|
|||||||
version: 10.0.1(eslint@10.2.0(jiti@2.6.1))
|
version: 10.0.1(eslint@10.2.0(jiti@2.6.1))
|
||||||
'@tailwindcss/vite':
|
'@tailwindcss/vite':
|
||||||
specifier: ^4.2.2
|
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':
|
'@types/node':
|
||||||
specifier: ^25.6.0
|
specifier: 'catalog:'
|
||||||
version: 25.6.0
|
version: 22.13.0
|
||||||
'@types/react':
|
'@types/react':
|
||||||
specifier: ^19.2.14
|
specifier: ^19.2.14
|
||||||
version: 19.2.14
|
version: 19.2.14
|
||||||
@@ -433,7 +436,7 @@ importers:
|
|||||||
version: 19.2.3(@types/react@19.2.14)
|
version: 19.2.3(@types/react@19.2.14)
|
||||||
'@vitejs/plugin-react':
|
'@vitejs/plugin-react':
|
||||||
specifier: ^6.0.1
|
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:
|
eslint:
|
||||||
specifier: ^10.2.0
|
specifier: ^10.2.0
|
||||||
version: 10.2.0(jiti@2.6.1)
|
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)
|
version: 8.58.2(eslint@10.2.0(jiti@2.6.1))(typescript@6.0.2)
|
||||||
vite:
|
vite:
|
||||||
specifier: 'catalog:'
|
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:
|
vitest:
|
||||||
specifier: ^4.1.4
|
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:
|
packages:
|
||||||
|
|
||||||
@@ -1904,11 +1907,8 @@ packages:
|
|||||||
'@types/ms@2.1.0':
|
'@types/ms@2.1.0':
|
||||||
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
||||||
|
|
||||||
'@types/node@24.12.2':
|
'@types/node@22.13.0':
|
||||||
resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==}
|
resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==}
|
||||||
|
|
||||||
'@types/node@25.6.0':
|
|
||||||
resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==}
|
|
||||||
|
|
||||||
'@types/react-dom@19.2.3':
|
'@types/react-dom@19.2.3':
|
||||||
resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
|
resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
|
||||||
@@ -3221,11 +3221,8 @@ packages:
|
|||||||
ufo@1.6.4:
|
ufo@1.6.4:
|
||||||
resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==}
|
resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==}
|
||||||
|
|
||||||
undici-types@7.16.0:
|
undici-types@6.20.0:
|
||||||
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
|
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||||
|
|
||||||
undici-types@7.19.2:
|
|
||||||
resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==}
|
|
||||||
|
|
||||||
universalify@2.0.1:
|
universalify@2.0.1:
|
||||||
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
|
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
|
||||||
@@ -4533,12 +4530,12 @@ snapshots:
|
|||||||
'@tailwindcss/oxide-win32-arm64-msvc': 4.2.2
|
'@tailwindcss/oxide-win32-arm64-msvc': 4.2.2
|
||||||
'@tailwindcss/oxide-win32-x64-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:
|
dependencies:
|
||||||
'@tailwindcss/node': 4.2.2
|
'@tailwindcss/node': 4.2.2
|
||||||
'@tailwindcss/oxide': 4.2.2
|
'@tailwindcss/oxide': 4.2.2
|
||||||
tailwindcss: 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': {}
|
'@tanstack/history@1.161.6': {}
|
||||||
|
|
||||||
@@ -4598,23 +4595,19 @@ snapshots:
|
|||||||
'@types/fs-extra@11.0.4':
|
'@types/fs-extra@11.0.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/jsonfile': 6.1.4
|
'@types/jsonfile': 6.1.4
|
||||||
'@types/node': 25.6.0
|
'@types/node': 22.13.0
|
||||||
|
|
||||||
'@types/json-schema@7.0.15': {}
|
'@types/json-schema@7.0.15': {}
|
||||||
|
|
||||||
'@types/jsonfile@6.1.4':
|
'@types/jsonfile@6.1.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 25.6.0
|
'@types/node': 22.13.0
|
||||||
|
|
||||||
'@types/ms@2.1.0': {}
|
'@types/ms@2.1.0': {}
|
||||||
|
|
||||||
'@types/node@24.12.2':
|
'@types/node@22.13.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 7.16.0
|
undici-types: 6.20.0
|
||||||
|
|
||||||
'@types/node@25.6.0':
|
|
||||||
dependencies:
|
|
||||||
undici-types: 7.19.2
|
|
||||||
|
|
||||||
'@types/react-dom@19.2.3(@types/react@19.2.14)':
|
'@types/react-dom@19.2.3(@types/react@19.2.14)':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4717,10 +4710,10 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 8.58.2
|
'@typescript-eslint/types': 8.58.2
|
||||||
eslint-visitor-keys: 5.0.1
|
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:
|
dependencies:
|
||||||
'@rolldown/pluginutils': 1.0.0-rc.7
|
'@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)':
|
'@vitest/coverage-istanbul@4.1.4(vitest@4.1.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4734,7 +4727,7 @@ snapshots:
|
|||||||
magicast: 0.5.3
|
magicast: 0.5.3
|
||||||
obug: 2.1.1
|
obug: 2.1.1
|
||||||
tinyrainbow: 3.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))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -4750,7 +4743,7 @@ snapshots:
|
|||||||
obug: 2.1.1
|
obug: 2.1.1
|
||||||
std-env: 4.1.0
|
std-env: 4.1.0
|
||||||
tinyrainbow: 3.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':
|
'@vitest/expect@4.1.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4761,21 +4754,13 @@ snapshots:
|
|||||||
chai: 6.2.2
|
chai: 6.2.2
|
||||||
tinyrainbow: 3.1.0
|
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:
|
dependencies:
|
||||||
'@vitest/spy': 4.1.4
|
'@vitest/spy': 4.1.4
|
||||||
estree-walker: 3.0.3
|
estree-walker: 3.0.3
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
optionalDependencies:
|
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)
|
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/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)
|
|
||||||
|
|
||||||
'@vitest/pretty-format@4.1.4':
|
'@vitest/pretty-format@4.1.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5972,9 +5957,7 @@ snapshots:
|
|||||||
|
|
||||||
ufo@1.6.4: {}
|
ufo@1.6.4: {}
|
||||||
|
|
||||||
undici-types@7.16.0: {}
|
undici-types@6.20.0: {}
|
||||||
|
|
||||||
undici-types@7.19.2: {}
|
|
||||||
|
|
||||||
universalify@2.0.1: {}
|
universalify@2.0.1: {}
|
||||||
|
|
||||||
@@ -6020,7 +6003,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- 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:
|
dependencies:
|
||||||
lightningcss: 1.32.0
|
lightningcss: 1.32.0
|
||||||
picomatch: 4.0.4
|
picomatch: 4.0.4
|
||||||
@@ -6028,32 +6011,17 @@ snapshots:
|
|||||||
rolldown: 1.1.3
|
rolldown: 1.1.3
|
||||||
tinyglobby: 0.2.17
|
tinyglobby: 0.2.17
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 24.12.2
|
'@types/node': 22.13.0
|
||||||
esbuild: 0.28.1
|
esbuild: 0.28.1
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
jiti: 2.6.1
|
jiti: 2.6.1
|
||||||
sass: 1.99.0
|
sass: 1.99.0
|
||||||
tsx: 4.21.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):
|
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:
|
|
||||||
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)):
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/expect': 4.1.4
|
'@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/pretty-format': 4.1.4
|
||||||
'@vitest/runner': 4.1.4
|
'@vitest/runner': 4.1.4
|
||||||
'@vitest/snapshot': 4.1.4
|
'@vitest/snapshot': 4.1.4
|
||||||
@@ -6070,39 +6038,10 @@ snapshots:
|
|||||||
tinyexec: 1.1.1
|
tinyexec: 1.1.1
|
||||||
tinyglobby: 0.2.16
|
tinyglobby: 0.2.16
|
||||||
tinyrainbow: 3.1.0
|
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
|
why-is-node-running: 2.3.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 24.12.2
|
'@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:
|
|
||||||
- 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
|
|
||||||
'@vitest/coverage-istanbul': 4.1.4(vitest@4.1.4)
|
'@vitest/coverage-istanbul': 4.1.4(vitest@4.1.4)
|
||||||
'@vitest/coverage-v8': 4.1.4(vitest@4.1.4)
|
'@vitest/coverage-v8': 4.1.4(vitest@4.1.4)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ packages:
|
|||||||
- 'packages/*'
|
- 'packages/*'
|
||||||
|
|
||||||
catalog:
|
catalog:
|
||||||
|
'@types/node': 22.13.0
|
||||||
vite: ^8.0.16
|
vite: ^8.0.16
|
||||||
typescript: ~6.0.2
|
typescript: ~6.0.2
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user