This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

@myobie/pty

Nathan Herald (Mar 24, 2026, 11:38 PM +0100) 1c8ff254 72c58dcb

+648 -796
+3 -3
DEVELOPMENT.md
··· 1 1 # pty — Development Guide 2 2 3 - A persistent terminal session manager. Run long-lived processes, detach, reconnect later — from any machine over SSH. The npm package name is `ptym`; the CLI command remains `pty`. 3 + A persistent terminal session manager. Run long-lived processes, detach, reconnect later — from any machine over SSH. The npm package name is `@myobie/pty`; the CLI command remains `pty`. 4 4 5 5 ## Objectives 6 6 ··· 150 150 151 151 ## Testing 152 152 153 - Tests use **vitest** and live in `tests/`. The `ptym/testing` library (`src/testing/`) provides a `Session` class used by the tests — see [docs/testing.md](docs/testing.md) for the full API. 153 + Tests use **vitest** and live in `tests/`. The `@myobie/pty/testing` library (`src/testing/`) provides a `Session` class used by the tests — see [docs/testing.md](docs/testing.md) for the full API. 154 154 155 155 - `protocol.test.ts` — Unit tests for packet encoding, decoding, and streaming reassembly (partial reads, split packets, large payloads) 156 156 - `keys.test.ts` — Unit tests for key name resolution (`resolveKey`, `parseSeqValue`) ··· 190 190 keys.ts Key name resolution (e.g. "ctrl+c" → bytes) 191 191 spawn.ts Daemon spawning logic 192 192 tui/ Interactive session manager UI 193 - testing/ Testing library (exported as ptym/testing) 193 + testing/ Testing library (exported as @myobie/pty/testing) 194 194 index.ts Public re-exports 195 195 session.ts Session class (spawn + server backends) 196 196 screenshot.ts Screenshot capture helper
+8 -10
README.md
··· 9 9 ## Install 10 10 11 11 ```sh 12 - git clone https://github.com/myobie/pty.git 13 - cd pty 14 - npm install 15 - npm link 12 + npm install -g @myobie/pty 16 13 ``` 17 14 18 - Or install directly from GitHub: 15 + Or with Nix: 19 16 20 17 ```sh 21 - npm install -g github:myobie/pty 18 + nix profile install github:myobie/pty # install the CLI 19 + nix develop github:myobie/pty # dev shell with node, npm, native deps 22 20 ``` 23 21 24 - The npm package name is `ptym`. Requires Node.js. Works on macOS and Linux. 22 + Requires Node.js. Works on macOS and Linux. 25 23 26 24 ## Usage 27 25 ··· 76 74 77 75 ## Testing Library 78 76 79 - ptym includes a terminal testing library — like Playwright, but for the terminal. Spawn any process in a real PTY, send keystrokes, take screenshots, assert on visible output. 77 + @myobie/pty includes a terminal testing library — like Playwright, but for the terminal. Spawn any process in a real PTY, send keystrokes, take screenshots, assert on visible output. 80 78 81 79 ```typescript 82 - import { Session } from "ptym/testing"; 80 + import { Session } from "@myobie/pty/testing"; 83 81 84 82 const session = Session.spawn("node", ["--experimental-strip-types", "my-app.ts"]); 85 83 await session.waitForText("Ready"); ··· 103 101 104 102 ## TUI Framework (alpha) 105 103 106 - ptym also includes an experimental declarative TUI framework for building terminal interfaces with reactive signals, layout, and efficient cell-buffer diffing. Import from `ptym/tui`. 104 + @myobie/pty also includes an experimental declarative TUI framework for building terminal interfaces with reactive signals, layout, and efficient cell-buffer diffing. Import from `@myobie/pty/tui`. 107 105 108 106 > **Alpha** — the TUI framework API is unstable and will change. Use it for experiments, not production. 109 107
+17 -17
docs/testing.md
··· 1 - # ptym/testing 1 + # @myobie/pty/testing 2 2 3 3 A terminal testing library — like Playwright, but for the terminal. 4 4 ··· 9 9 ## Install 10 10 11 11 ```sh 12 - npm install ptym 12 + npm install @myobie/pty 13 13 ``` 14 14 15 - Import from `ptym/testing`: 15 + Import from `@myobie/pty/testing`: 16 16 17 17 ```typescript 18 - import { Session } from "ptym/testing"; 18 + import { Session } from "@myobie/pty/testing"; 19 19 ``` 20 20 21 21 ## Quick Start 22 22 23 23 ```typescript test 24 - import { Session } from "ptym/testing"; 24 + import { Session } from "@myobie/pty/testing"; 25 25 26 26 const session = Session.spawn("echo", ["hello world"]); 27 27 const ss = await session.waitForText("hello world"); ··· 45 45 - `env` — extra environment variables (merged with `process.env`) 46 46 47 47 ```typescript test 48 - import { Session } from "ptym/testing"; 48 + import { Session } from "@myobie/pty/testing"; 49 49 50 50 const session = Session.spawn("sh", ["-c", "echo 'spawned!'; sleep 1"]); 51 51 const ss = await session.waitForText("spawned!"); ··· 69 69 After creating, call `session.attach()` to start receiving output: 70 70 71 71 ```typescript test 72 - import { Session } from "ptym/testing"; 72 + import { Session } from "@myobie/pty/testing"; 73 73 74 74 const session = await Session.server("sh", ["-c", "echo 'served!'; sleep 30"]); 75 75 await session.attach(); ··· 85 85 Send raw keystrokes: 86 86 87 87 ```typescript test 88 - import { Session } from "ptym/testing"; 88 + import { Session } from "@myobie/pty/testing"; 89 89 90 90 const session = Session.spawn("cat"); 91 91 session.sendKeys("hello\n"); ··· 99 99 Send a named key. Supports modifiers with `+`: 100 100 101 101 ```typescript test 102 - import { Session } from "ptym/testing"; 102 + import { Session } from "@myobie/pty/testing"; 103 103 104 104 const session = Session.spawn("cat"); 105 105 session.sendKeys("test line\n"); ··· 113 113 Alias for `sendKeys()` — sends text character by character: 114 114 115 115 ```typescript test 116 - import { Session } from "ptym/testing"; 116 + import { Session } from "@myobie/pty/testing"; 117 117 118 118 const session = Session.spawn("cat"); 119 119 session.type("typed text\n"); ··· 143 143 Default timeout: 5000ms. 144 144 145 145 ```typescript test 146 - import { Session } from "ptym/testing"; 146 + import { Session } from "@myobie/pty/testing"; 147 147 148 148 const session = Session.spawn("sh", ["-c", "sleep 0.1; echo 'delayed'"]); 149 149 const ss = await session.waitForText("delayed", 3000); ··· 156 156 Poll until the terminal no longer contains the given text: 157 157 158 158 ```typescript test 159 - import { Session } from "ptym/testing"; 159 + import { Session } from "@myobie/pty/testing"; 160 160 161 161 const session = Session.spawn("sh", ["-c", "echo 'gone'; sleep 0.1; printf '\\033[2J\\033[H'"]); 162 162 await session.waitForText("gone"); ··· 171 171 Poll until a custom predicate returns true: 172 172 173 173 ```typescript test 174 - import { Session } from "ptym/testing"; 174 + import { Session } from "@myobie/pty/testing"; 175 175 176 176 const session = Session.spawn("sh", ["-c", "echo 'line 1'; echo 'line 2'; sleep 1"]); 177 177 const ss = await session.waitFor( ··· 213 213 ### Testing a CLI tool 214 214 215 215 ```typescript test 216 - import { Session } from "ptym/testing"; 216 + import { Session } from "@myobie/pty/testing"; 217 217 218 218 const session = Session.spawn("sh", ["-c", "echo 'Usage: mytool [options]'; sleep 1"]); 219 219 const ss = await session.waitForText("Usage:"); ··· 226 226 Use the `ansi` field to verify ANSI escape codes: 227 227 228 228 ```typescript test 229 - import { Session } from "ptym/testing"; 229 + import { Session } from "@myobie/pty/testing"; 230 230 231 231 const session = Session.spawn("sh", ["-c", "printf '\\033[31mERROR\\033[0m\\n'; sleep 1"]); 232 232 const ss = await session.waitForText("ERROR"); ··· 242 242 that launches vim, enters insert mode, types text, and verifies the result: 243 243 244 244 ```typescript test 245 - import { Session } from "ptym/testing"; 245 + import { Session } from "@myobie/pty/testing"; 246 246 247 247 const session = Session.spawn("vim", ["--clean"], { rows: 24, cols: 80 }); 248 248 ··· 271 271 regex to detect the prompt, then send commands and assert on their output: 272 272 273 273 ```typescript test 274 - import { Session } from "ptym/testing"; 274 + import { Session } from "@myobie/pty/testing"; 275 275 276 276 const session = Session.spawn("bash", ["--norc", "--noprofile"]); 277 277
+1 -1
flake.nix
··· 29 29 30 30 # Generated from package-lock.json. 31 31 # Regenerate with: nix run nixpkgs#prefetch-npm-deps -- package-lock.json 32 - npmDepsHash = "sha256-+65s9CLTJNlPt82HKOkngir4KZF1yCy96hderY0m2qQ="; 32 + npmDepsHash = "sha256-rl5s8czRezWu0Fri4xWoMUkazBQfVXfuUf9hvBGw3Qw="; 33 33 34 34 # node-pty has native code that needs these at build time 35 35 nativeBuildInputs = with pkgs; [ python3 pkg-config ];
+584 -760
package-lock.json
··· 1 1 { 2 - "name": "ptym", 2 + "name": "@myobie/pty", 3 3 "version": "0.1.0", 4 4 "lockfileVersion": 3, 5 5 "requires": true, 6 6 "packages": { 7 7 "": { 8 - "name": "ptym", 8 + "name": "@myobie/pty", 9 9 "version": "0.1.0", 10 + "license": "MIT", 10 11 "dependencies": { 11 - "@preact/signals-core": "^1.14.0", 12 12 "@xterm/addon-serialize": "^0.14.0", 13 13 "@xterm/headless": "^6.0.0", 14 14 "node-pty": "^1.0.0" ··· 17 17 "pty": "bin/pty" 18 18 }, 19 19 "devDependencies": { 20 + "@preact/signals-core": "^1.14.0", 20 21 "@types/node": "^25.3.5", 21 22 "typescript": "^5.7.0", 22 - "vitest": "^4.0.18" 23 + "vitest": "^4.1.1" 24 + }, 25 + "peerDependencies": { 26 + "@preact/signals-core": "^1.14.0" 27 + }, 28 + "peerDependenciesMeta": { 29 + "@preact/signals-core": { 30 + "optional": true 31 + } 23 32 } 24 33 }, 25 - "node_modules/@esbuild/aix-ppc64": { 26 - "version": "0.27.3", 27 - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", 28 - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", 29 - "cpu": [ 30 - "ppc64" 31 - ], 34 + "node_modules/@emnapi/core": { 35 + "version": "1.9.1", 36 + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", 37 + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", 32 38 "dev": true, 33 39 "license": "MIT", 34 40 "optional": true, 35 - "os": [ 36 - "aix" 37 - ], 38 - "engines": { 39 - "node": ">=18" 41 + "dependencies": { 42 + "@emnapi/wasi-threads": "1.2.0", 43 + "tslib": "^2.4.0" 40 44 } 41 45 }, 42 - "node_modules/@esbuild/android-arm": { 43 - "version": "0.27.3", 44 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", 45 - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", 46 - "cpu": [ 47 - "arm" 48 - ], 46 + "node_modules/@emnapi/runtime": { 47 + "version": "1.9.1", 48 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", 49 + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", 49 50 "dev": true, 50 51 "license": "MIT", 51 52 "optional": true, 52 - "os": [ 53 - "android" 54 - ], 55 - "engines": { 56 - "node": ">=18" 53 + "dependencies": { 54 + "tslib": "^2.4.0" 57 55 } 58 56 }, 59 - "node_modules/@esbuild/android-arm64": { 60 - "version": "0.27.3", 61 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", 62 - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", 63 - "cpu": [ 64 - "arm64" 65 - ], 57 + "node_modules/@emnapi/wasi-threads": { 58 + "version": "1.2.0", 59 + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", 60 + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", 66 61 "dev": true, 67 62 "license": "MIT", 68 63 "optional": true, 69 - "os": [ 70 - "android" 71 - ], 72 - "engines": { 73 - "node": ">=18" 64 + "dependencies": { 65 + "tslib": "^2.4.0" 74 66 } 75 67 }, 76 - "node_modules/@esbuild/android-x64": { 77 - "version": "0.27.3", 78 - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", 79 - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", 80 - "cpu": [ 81 - "x64" 82 - ], 68 + "node_modules/@jridgewell/sourcemap-codec": { 69 + "version": "1.5.5", 70 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 71 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 72 + "dev": true, 73 + "license": "MIT" 74 + }, 75 + "node_modules/@napi-rs/wasm-runtime": { 76 + "version": "1.1.1", 77 + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", 78 + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", 83 79 "dev": true, 84 80 "license": "MIT", 85 81 "optional": true, 86 - "os": [ 87 - "android" 88 - ], 89 - "engines": { 90 - "node": ">=18" 82 + "dependencies": { 83 + "@emnapi/core": "^1.7.1", 84 + "@emnapi/runtime": "^1.7.1", 85 + "@tybys/wasm-util": "^0.10.1" 86 + }, 87 + "funding": { 88 + "type": "github", 89 + "url": "https://github.com/sponsors/Brooooooklyn" 91 90 } 92 91 }, 93 - "node_modules/@esbuild/darwin-arm64": { 94 - "version": "0.27.3", 95 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", 96 - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", 97 - "cpu": [ 98 - "arm64" 99 - ], 92 + "node_modules/@oxc-project/types": { 93 + "version": "0.122.0", 94 + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz", 95 + "integrity": "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==", 100 96 "dev": true, 101 97 "license": "MIT", 102 - "optional": true, 103 - "os": [ 104 - "darwin" 105 - ], 106 - "engines": { 107 - "node": ">=18" 98 + "funding": { 99 + "url": "https://github.com/sponsors/Boshen" 108 100 } 109 101 }, 110 - "node_modules/@esbuild/darwin-x64": { 111 - "version": "0.27.3", 112 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", 113 - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", 114 - "cpu": [ 115 - "x64" 116 - ], 102 + "node_modules/@preact/signals-core": { 103 + "version": "1.14.0", 104 + "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.14.0.tgz", 105 + "integrity": "sha512-AowtCcCU/33lFlh1zRFf/u+12rfrhtNakj7UpaGEsmMwUKpKWMVvcktOGcwBBNiB4lWrZWc01LhiyyzVklJyaQ==", 117 106 "dev": true, 118 107 "license": "MIT", 119 - "optional": true, 120 - "os": [ 121 - "darwin" 122 - ], 123 - "engines": { 124 - "node": ">=18" 108 + "funding": { 109 + "type": "opencollective", 110 + "url": "https://opencollective.com/preact" 125 111 } 126 112 }, 127 - "node_modules/@esbuild/freebsd-arm64": { 128 - "version": "0.27.3", 129 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", 130 - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", 113 + "node_modules/@rolldown/binding-android-arm64": { 114 + "version": "1.0.0-rc.11", 115 + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.11.tgz", 116 + "integrity": "sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==", 131 117 "cpu": [ 132 118 "arm64" 133 119 ], ··· 135 121 "license": "MIT", 136 122 "optional": true, 137 123 "os": [ 138 - "freebsd" 124 + "android" 139 125 ], 140 126 "engines": { 141 - "node": ">=18" 127 + "node": "^20.19.0 || >=22.12.0" 142 128 } 143 129 }, 144 - "node_modules/@esbuild/freebsd-x64": { 145 - "version": "0.27.3", 146 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", 147 - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", 130 + "node_modules/@rolldown/binding-darwin-arm64": { 131 + "version": "1.0.0-rc.11", 132 + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.11.tgz", 133 + "integrity": "sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==", 148 134 "cpu": [ 149 - "x64" 135 + "arm64" 150 136 ], 151 137 "dev": true, 152 138 "license": "MIT", 153 139 "optional": true, 154 140 "os": [ 155 - "freebsd" 141 + "darwin" 156 142 ], 157 143 "engines": { 158 - "node": ">=18" 144 + "node": "^20.19.0 || >=22.12.0" 159 145 } 160 146 }, 161 - "node_modules/@esbuild/linux-arm": { 162 - "version": "0.27.3", 163 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", 164 - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", 147 + "node_modules/@rolldown/binding-darwin-x64": { 148 + "version": "1.0.0-rc.11", 149 + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.11.tgz", 150 + "integrity": "sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==", 165 151 "cpu": [ 166 - "arm" 152 + "x64" 167 153 ], 168 154 "dev": true, 169 155 "license": "MIT", 170 156 "optional": true, 171 157 "os": [ 172 - "linux" 158 + "darwin" 173 159 ], 174 160 "engines": { 175 - "node": ">=18" 161 + "node": "^20.19.0 || >=22.12.0" 176 162 } 177 163 }, 178 - "node_modules/@esbuild/linux-arm64": { 179 - "version": "0.27.3", 180 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", 181 - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", 164 + "node_modules/@rolldown/binding-freebsd-x64": { 165 + "version": "1.0.0-rc.11", 166 + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.11.tgz", 167 + "integrity": "sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==", 182 168 "cpu": [ 183 - "arm64" 169 + "x64" 184 170 ], 185 171 "dev": true, 186 172 "license": "MIT", 187 173 "optional": true, 188 174 "os": [ 189 - "linux" 175 + "freebsd" 190 176 ], 191 177 "engines": { 192 - "node": ">=18" 178 + "node": "^20.19.0 || >=22.12.0" 193 179 } 194 180 }, 195 - "node_modules/@esbuild/linux-ia32": { 196 - "version": "0.27.3", 197 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", 198 - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", 181 + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { 182 + "version": "1.0.0-rc.11", 183 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.11.tgz", 184 + "integrity": "sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==", 199 185 "cpu": [ 200 - "ia32" 186 + "arm" 201 187 ], 202 188 "dev": true, 203 189 "license": "MIT", ··· 206 192 "linux" 207 193 ], 208 194 "engines": { 209 - "node": ">=18" 195 + "node": "^20.19.0 || >=22.12.0" 210 196 } 211 197 }, 212 - "node_modules/@esbuild/linux-loong64": { 213 - "version": "0.27.3", 214 - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", 215 - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", 198 + "node_modules/@rolldown/binding-linux-arm64-gnu": { 199 + "version": "1.0.0-rc.11", 200 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.11.tgz", 201 + "integrity": "sha512-WMW1yE6IOnehTcFE9eipFkm3XN63zypWlrJQ2iF7NrQ9b2LDRjumFoOGJE8RJJTJCTBAdmLMnJ8uVitACUUo1Q==", 216 202 "cpu": [ 217 - "loong64" 203 + "arm64" 218 204 ], 219 205 "dev": true, 206 + "libc": [ 207 + "glibc" 208 + ], 220 209 "license": "MIT", 221 210 "optional": true, 222 211 "os": [ 223 212 "linux" 224 213 ], 225 214 "engines": { 226 - "node": ">=18" 215 + "node": "^20.19.0 || >=22.12.0" 227 216 } 228 217 }, 229 - "node_modules/@esbuild/linux-mips64el": { 230 - "version": "0.27.3", 231 - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", 232 - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", 218 + "node_modules/@rolldown/binding-linux-arm64-musl": { 219 + "version": "1.0.0-rc.11", 220 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.11.tgz", 221 + "integrity": "sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==", 233 222 "cpu": [ 234 - "mips64el" 223 + "arm64" 235 224 ], 236 225 "dev": true, 226 + "libc": [ 227 + "musl" 228 + ], 237 229 "license": "MIT", 238 230 "optional": true, 239 231 "os": [ 240 232 "linux" 241 233 ], 242 234 "engines": { 243 - "node": ">=18" 235 + "node": "^20.19.0 || >=22.12.0" 244 236 } 245 237 }, 246 - "node_modules/@esbuild/linux-ppc64": { 247 - "version": "0.27.3", 248 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", 249 - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", 238 + "node_modules/@rolldown/binding-linux-ppc64-gnu": { 239 + "version": "1.0.0-rc.11", 240 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.11.tgz", 241 + "integrity": "sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==", 250 242 "cpu": [ 251 243 "ppc64" 252 244 ], 253 245 "dev": true, 254 - "license": "MIT", 255 - "optional": true, 256 - "os": [ 257 - "linux" 258 - ], 259 - "engines": { 260 - "node": ">=18" 261 - } 262 - }, 263 - "node_modules/@esbuild/linux-riscv64": { 264 - "version": "0.27.3", 265 - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", 266 - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", 267 - "cpu": [ 268 - "riscv64" 246 + "libc": [ 247 + "glibc" 269 248 ], 270 - "dev": true, 271 249 "license": "MIT", 272 250 "optional": true, 273 251 "os": [ 274 252 "linux" 275 253 ], 276 254 "engines": { 277 - "node": ">=18" 255 + "node": "^20.19.0 || >=22.12.0" 278 256 } 279 257 }, 280 - "node_modules/@esbuild/linux-s390x": { 281 - "version": "0.27.3", 282 - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", 283 - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", 258 + "node_modules/@rolldown/binding-linux-s390x-gnu": { 259 + "version": "1.0.0-rc.11", 260 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.11.tgz", 261 + "integrity": "sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==", 284 262 "cpu": [ 285 263 "s390x" 286 264 ], 287 265 "dev": true, 288 - "license": "MIT", 289 - "optional": true, 290 - "os": [ 291 - "linux" 266 + "libc": [ 267 + "glibc" 292 268 ], 293 - "engines": { 294 - "node": ">=18" 295 - } 296 - }, 297 - "node_modules/@esbuild/linux-x64": { 298 - "version": "0.27.3", 299 - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", 300 - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", 301 - "cpu": [ 302 - "x64" 303 - ], 304 - "dev": true, 305 269 "license": "MIT", 306 270 "optional": true, 307 271 "os": [ 308 272 "linux" 309 273 ], 310 274 "engines": { 311 - "node": ">=18" 312 - } 313 - }, 314 - "node_modules/@esbuild/netbsd-arm64": { 315 - "version": "0.27.3", 316 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", 317 - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", 318 - "cpu": [ 319 - "arm64" 320 - ], 321 - "dev": true, 322 - "license": "MIT", 323 - "optional": true, 324 - "os": [ 325 - "netbsd" 326 - ], 327 - "engines": { 328 - "node": ">=18" 275 + "node": "^20.19.0 || >=22.12.0" 329 276 } 330 277 }, 331 - "node_modules/@esbuild/netbsd-x64": { 332 - "version": "0.27.3", 333 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", 334 - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", 278 + "node_modules/@rolldown/binding-linux-x64-gnu": { 279 + "version": "1.0.0-rc.11", 280 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.11.tgz", 281 + "integrity": "sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==", 335 282 "cpu": [ 336 283 "x64" 337 284 ], 338 285 "dev": true, 339 - "license": "MIT", 340 - "optional": true, 341 - "os": [ 342 - "netbsd" 343 - ], 344 - "engines": { 345 - "node": ">=18" 346 - } 347 - }, 348 - "node_modules/@esbuild/openbsd-arm64": { 349 - "version": "0.27.3", 350 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", 351 - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", 352 - "cpu": [ 353 - "arm64" 286 + "libc": [ 287 + "glibc" 354 288 ], 355 - "dev": true, 356 289 "license": "MIT", 357 290 "optional": true, 358 291 "os": [ 359 - "openbsd" 292 + "linux" 360 293 ], 361 294 "engines": { 362 - "node": ">=18" 295 + "node": "^20.19.0 || >=22.12.0" 363 296 } 364 297 }, 365 - "node_modules/@esbuild/openbsd-x64": { 366 - "version": "0.27.3", 367 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", 368 - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", 298 + "node_modules/@rolldown/binding-linux-x64-musl": { 299 + "version": "1.0.0-rc.11", 300 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.11.tgz", 301 + "integrity": "sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==", 369 302 "cpu": [ 370 303 "x64" 371 304 ], 372 305 "dev": true, 306 + "libc": [ 307 + "musl" 308 + ], 373 309 "license": "MIT", 374 310 "optional": true, 375 311 "os": [ 376 - "openbsd" 312 + "linux" 377 313 ], 378 314 "engines": { 379 - "node": ">=18" 315 + "node": "^20.19.0 || >=22.12.0" 380 316 } 381 317 }, 382 - "node_modules/@esbuild/openharmony-arm64": { 383 - "version": "0.27.3", 384 - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", 385 - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", 318 + "node_modules/@rolldown/binding-openharmony-arm64": { 319 + "version": "1.0.0-rc.11", 320 + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.11.tgz", 321 + "integrity": "sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==", 386 322 "cpu": [ 387 323 "arm64" 388 324 ], ··· 393 329 "openharmony" 394 330 ], 395 331 "engines": { 396 - "node": ">=18" 332 + "node": "^20.19.0 || >=22.12.0" 397 333 } 398 334 }, 399 - "node_modules/@esbuild/sunos-x64": { 400 - "version": "0.27.3", 401 - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", 402 - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", 335 + "node_modules/@rolldown/binding-wasm32-wasi": { 336 + "version": "1.0.0-rc.11", 337 + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.11.tgz", 338 + "integrity": "sha512-LXk5Hii1Ph9asuGRjBuz8TUxdc1lWzB7nyfdoRgI0WGPZKmCxvlKk8KfYysqtr4MfGElu/f/pEQRh8fcEgkrWw==", 403 339 "cpu": [ 404 - "x64" 340 + "wasm32" 405 341 ], 406 342 "dev": true, 407 343 "license": "MIT", 408 344 "optional": true, 409 - "os": [ 410 - "sunos" 411 - ], 345 + "dependencies": { 346 + "@napi-rs/wasm-runtime": "^1.1.1" 347 + }, 412 348 "engines": { 413 - "node": ">=18" 349 + "node": ">=14.0.0" 414 350 } 415 351 }, 416 - "node_modules/@esbuild/win32-arm64": { 417 - "version": "0.27.3", 418 - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", 419 - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", 352 + "node_modules/@rolldown/binding-win32-arm64-msvc": { 353 + "version": "1.0.0-rc.11", 354 + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.11.tgz", 355 + "integrity": "sha512-dDwf5otnx0XgRY1yqxOC4ITizcdzS/8cQ3goOWv3jFAo4F+xQYni+hnMuO6+LssHHdJW7+OCVL3CoU4ycnh35Q==", 420 356 "cpu": [ 421 357 "arm64" 422 358 ], ··· 427 363 "win32" 428 364 ], 429 365 "engines": { 430 - "node": ">=18" 431 - } 432 - }, 433 - "node_modules/@esbuild/win32-ia32": { 434 - "version": "0.27.3", 435 - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", 436 - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", 437 - "cpu": [ 438 - "ia32" 439 - ], 440 - "dev": true, 441 - "license": "MIT", 442 - "optional": true, 443 - "os": [ 444 - "win32" 445 - ], 446 - "engines": { 447 - "node": ">=18" 366 + "node": "^20.19.0 || >=22.12.0" 448 367 } 449 368 }, 450 - "node_modules/@esbuild/win32-x64": { 451 - "version": "0.27.3", 452 - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", 453 - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", 369 + "node_modules/@rolldown/binding-win32-x64-msvc": { 370 + "version": "1.0.0-rc.11", 371 + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.11.tgz", 372 + "integrity": "sha512-LN4/skhSggybX71ews7dAj6r2geaMJfm3kMbK2KhFMg9B10AZXnKoLCVVgzhMHL0S+aKtr4p8QbAW8k+w95bAA==", 454 373 "cpu": [ 455 374 "x64" 456 375 ], ··· 461 380 "win32" 462 381 ], 463 382 "engines": { 464 - "node": ">=18" 383 + "node": "^20.19.0 || >=22.12.0" 465 384 } 466 385 }, 467 - "node_modules/@jridgewell/sourcemap-codec": { 468 - "version": "1.5.5", 469 - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 470 - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 386 + "node_modules/@rolldown/pluginutils": { 387 + "version": "1.0.0-rc.11", 388 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.11.tgz", 389 + "integrity": "sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==", 471 390 "dev": true, 472 391 "license": "MIT" 473 392 }, 474 - "node_modules/@preact/signals-core": { 475 - "version": "1.14.0", 476 - "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.14.0.tgz", 477 - "integrity": "sha512-AowtCcCU/33lFlh1zRFf/u+12rfrhtNakj7UpaGEsmMwUKpKWMVvcktOGcwBBNiB4lWrZWc01LhiyyzVklJyaQ==", 478 - "license": "MIT", 479 - "funding": { 480 - "type": "opencollective", 481 - "url": "https://opencollective.com/preact" 482 - } 483 - }, 484 - "node_modules/@rollup/rollup-android-arm-eabi": { 485 - "version": "4.59.0", 486 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", 487 - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", 488 - "cpu": [ 489 - "arm" 490 - ], 491 - "dev": true, 492 - "license": "MIT", 493 - "optional": true, 494 - "os": [ 495 - "android" 496 - ] 497 - }, 498 - "node_modules/@rollup/rollup-android-arm64": { 499 - "version": "4.59.0", 500 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", 501 - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", 502 - "cpu": [ 503 - "arm64" 504 - ], 505 - "dev": true, 506 - "license": "MIT", 507 - "optional": true, 508 - "os": [ 509 - "android" 510 - ] 511 - }, 512 - "node_modules/@rollup/rollup-darwin-arm64": { 513 - "version": "4.59.0", 514 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", 515 - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", 516 - "cpu": [ 517 - "arm64" 518 - ], 519 - "dev": true, 520 - "license": "MIT", 521 - "optional": true, 522 - "os": [ 523 - "darwin" 524 - ] 525 - }, 526 - "node_modules/@rollup/rollup-darwin-x64": { 527 - "version": "4.59.0", 528 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", 529 - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", 530 - "cpu": [ 531 - "x64" 532 - ], 533 - "dev": true, 534 - "license": "MIT", 535 - "optional": true, 536 - "os": [ 537 - "darwin" 538 - ] 539 - }, 540 - "node_modules/@rollup/rollup-freebsd-arm64": { 541 - "version": "4.59.0", 542 - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", 543 - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", 544 - "cpu": [ 545 - "arm64" 546 - ], 547 - "dev": true, 548 - "license": "MIT", 549 - "optional": true, 550 - "os": [ 551 - "freebsd" 552 - ] 553 - }, 554 - "node_modules/@rollup/rollup-freebsd-x64": { 555 - "version": "4.59.0", 556 - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", 557 - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", 558 - "cpu": [ 559 - "x64" 560 - ], 561 - "dev": true, 562 - "license": "MIT", 563 - "optional": true, 564 - "os": [ 565 - "freebsd" 566 - ] 567 - }, 568 - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 569 - "version": "4.59.0", 570 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", 571 - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", 572 - "cpu": [ 573 - "arm" 574 - ], 575 - "dev": true, 576 - "license": "MIT", 577 - "optional": true, 578 - "os": [ 579 - "linux" 580 - ] 581 - }, 582 - "node_modules/@rollup/rollup-linux-arm-musleabihf": { 583 - "version": "4.59.0", 584 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", 585 - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", 586 - "cpu": [ 587 - "arm" 588 - ], 589 - "dev": true, 590 - "license": "MIT", 591 - "optional": true, 592 - "os": [ 593 - "linux" 594 - ] 595 - }, 596 - "node_modules/@rollup/rollup-linux-arm64-gnu": { 597 - "version": "4.59.0", 598 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", 599 - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", 600 - "cpu": [ 601 - "arm64" 602 - ], 603 - "dev": true, 604 - "license": "MIT", 605 - "optional": true, 606 - "os": [ 607 - "linux" 608 - ] 609 - }, 610 - "node_modules/@rollup/rollup-linux-arm64-musl": { 611 - "version": "4.59.0", 612 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", 613 - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", 614 - "cpu": [ 615 - "arm64" 616 - ], 617 - "dev": true, 618 - "license": "MIT", 619 - "optional": true, 620 - "os": [ 621 - "linux" 622 - ] 623 - }, 624 - "node_modules/@rollup/rollup-linux-loong64-gnu": { 625 - "version": "4.59.0", 626 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", 627 - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", 628 - "cpu": [ 629 - "loong64" 630 - ], 631 - "dev": true, 632 - "license": "MIT", 633 - "optional": true, 634 - "os": [ 635 - "linux" 636 - ] 637 - }, 638 - "node_modules/@rollup/rollup-linux-loong64-musl": { 639 - "version": "4.59.0", 640 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", 641 - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", 642 - "cpu": [ 643 - "loong64" 644 - ], 645 - "dev": true, 646 - "license": "MIT", 647 - "optional": true, 648 - "os": [ 649 - "linux" 650 - ] 651 - }, 652 - "node_modules/@rollup/rollup-linux-ppc64-gnu": { 653 - "version": "4.59.0", 654 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", 655 - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", 656 - "cpu": [ 657 - "ppc64" 658 - ], 659 - "dev": true, 660 - "license": "MIT", 661 - "optional": true, 662 - "os": [ 663 - "linux" 664 - ] 665 - }, 666 - "node_modules/@rollup/rollup-linux-ppc64-musl": { 667 - "version": "4.59.0", 668 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", 669 - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", 670 - "cpu": [ 671 - "ppc64" 672 - ], 673 - "dev": true, 674 - "license": "MIT", 675 - "optional": true, 676 - "os": [ 677 - "linux" 678 - ] 679 - }, 680 - "node_modules/@rollup/rollup-linux-riscv64-gnu": { 681 - "version": "4.59.0", 682 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", 683 - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", 684 - "cpu": [ 685 - "riscv64" 686 - ], 687 - "dev": true, 688 - "license": "MIT", 689 - "optional": true, 690 - "os": [ 691 - "linux" 692 - ] 693 - }, 694 - "node_modules/@rollup/rollup-linux-riscv64-musl": { 695 - "version": "4.59.0", 696 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", 697 - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", 698 - "cpu": [ 699 - "riscv64" 700 - ], 701 - "dev": true, 702 - "license": "MIT", 703 - "optional": true, 704 - "os": [ 705 - "linux" 706 - ] 707 - }, 708 - "node_modules/@rollup/rollup-linux-s390x-gnu": { 709 - "version": "4.59.0", 710 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", 711 - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", 712 - "cpu": [ 713 - "s390x" 714 - ], 715 - "dev": true, 716 - "license": "MIT", 717 - "optional": true, 718 - "os": [ 719 - "linux" 720 - ] 721 - }, 722 - "node_modules/@rollup/rollup-linux-x64-gnu": { 723 - "version": "4.59.0", 724 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", 725 - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", 726 - "cpu": [ 727 - "x64" 728 - ], 729 - "dev": true, 730 - "license": "MIT", 731 - "optional": true, 732 - "os": [ 733 - "linux" 734 - ] 735 - }, 736 - "node_modules/@rollup/rollup-linux-x64-musl": { 737 - "version": "4.59.0", 738 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", 739 - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", 740 - "cpu": [ 741 - "x64" 742 - ], 743 - "dev": true, 744 - "license": "MIT", 745 - "optional": true, 746 - "os": [ 747 - "linux" 748 - ] 749 - }, 750 - "node_modules/@rollup/rollup-openbsd-x64": { 751 - "version": "4.59.0", 752 - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", 753 - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", 754 - "cpu": [ 755 - "x64" 756 - ], 757 - "dev": true, 758 - "license": "MIT", 759 - "optional": true, 760 - "os": [ 761 - "openbsd" 762 - ] 763 - }, 764 - "node_modules/@rollup/rollup-openharmony-arm64": { 765 - "version": "4.59.0", 766 - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", 767 - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", 768 - "cpu": [ 769 - "arm64" 770 - ], 771 - "dev": true, 772 - "license": "MIT", 773 - "optional": true, 774 - "os": [ 775 - "openharmony" 776 - ] 777 - }, 778 - "node_modules/@rollup/rollup-win32-arm64-msvc": { 779 - "version": "4.59.0", 780 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", 781 - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", 782 - "cpu": [ 783 - "arm64" 784 - ], 785 - "dev": true, 786 - "license": "MIT", 787 - "optional": true, 788 - "os": [ 789 - "win32" 790 - ] 791 - }, 792 - "node_modules/@rollup/rollup-win32-ia32-msvc": { 793 - "version": "4.59.0", 794 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", 795 - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", 796 - "cpu": [ 797 - "ia32" 798 - ], 799 - "dev": true, 800 - "license": "MIT", 801 - "optional": true, 802 - "os": [ 803 - "win32" 804 - ] 805 - }, 806 - "node_modules/@rollup/rollup-win32-x64-gnu": { 807 - "version": "4.59.0", 808 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", 809 - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", 810 - "cpu": [ 811 - "x64" 812 - ], 813 - "dev": true, 814 - "license": "MIT", 815 - "optional": true, 816 - "os": [ 817 - "win32" 818 - ] 819 - }, 820 - "node_modules/@rollup/rollup-win32-x64-msvc": { 821 - "version": "4.59.0", 822 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", 823 - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", 824 - "cpu": [ 825 - "x64" 826 - ], 827 - "dev": true, 828 - "license": "MIT", 829 - "optional": true, 830 - "os": [ 831 - "win32" 832 - ] 833 - }, 834 393 "node_modules/@standard-schema/spec": { 835 394 "version": "1.1.0", 836 395 "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", ··· 838 397 "dev": true, 839 398 "license": "MIT" 840 399 }, 400 + "node_modules/@tybys/wasm-util": { 401 + "version": "0.10.1", 402 + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", 403 + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", 404 + "dev": true, 405 + "license": "MIT", 406 + "optional": true, 407 + "dependencies": { 408 + "tslib": "^2.4.0" 409 + } 410 + }, 841 411 "node_modules/@types/chai": { 842 412 "version": "5.2.3", 843 413 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", ··· 874 444 } 875 445 }, 876 446 "node_modules/@vitest/expect": { 877 - "version": "4.0.18", 878 - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", 879 - "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", 447 + "version": "4.1.1", 448 + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.1.tgz", 449 + "integrity": "sha512-xAV0fqBTk44Rn6SjJReEQkHP3RrqbJo6JQ4zZ7/uVOiJZRarBtblzrOfFIZeYUrukp2YD6snZG6IBqhOoHTm+A==", 880 450 "dev": true, 881 451 "license": "MIT", 882 452 "dependencies": { 883 - "@standard-schema/spec": "^1.0.0", 453 + "@standard-schema/spec": "^1.1.0", 884 454 "@types/chai": "^5.2.2", 885 - "@vitest/spy": "4.0.18", 886 - "@vitest/utils": "4.0.18", 887 - "chai": "^6.2.1", 455 + "@vitest/spy": "4.1.1", 456 + "@vitest/utils": "4.1.1", 457 + "chai": "^6.2.2", 888 458 "tinyrainbow": "^3.0.3" 889 459 }, 890 460 "funding": { ··· 892 462 } 893 463 }, 894 464 "node_modules/@vitest/mocker": { 895 - "version": "4.0.18", 896 - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", 897 - "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", 465 + "version": "4.1.1", 466 + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.1.tgz", 467 + "integrity": "sha512-h3BOylsfsCLPeceuCPAAJ+BvNwSENgJa4hXoXu4im0bs9Lyp4URc4JYK4pWLZ4pG/UQn7AT92K6IByi6rE6g3A==", 898 468 "dev": true, 899 469 "license": "MIT", 900 470 "dependencies": { 901 - "@vitest/spy": "4.0.18", 471 + "@vitest/spy": "4.1.1", 902 472 "estree-walker": "^3.0.3", 903 473 "magic-string": "^0.30.21" 904 474 }, ··· 907 477 }, 908 478 "peerDependencies": { 909 479 "msw": "^2.4.9", 910 - "vite": "^6.0.0 || ^7.0.0-0" 480 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 911 481 }, 912 482 "peerDependenciesMeta": { 913 483 "msw": { ··· 919 489 } 920 490 }, 921 491 "node_modules/@vitest/pretty-format": { 922 - "version": "4.0.18", 923 - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", 924 - "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", 492 + "version": "4.1.1", 493 + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.1.tgz", 494 + "integrity": "sha512-GM+TEQN5WhOygr1lp7skeVjdLPqqWMHsfzXrcHAqZJi/lIVh63H0kaRCY8MDhNWikx19zBUK8ceaLB7X5AH9NQ==", 925 495 "dev": true, 926 496 "license": "MIT", 927 497 "dependencies": { ··· 932 502 } 933 503 }, 934 504 "node_modules/@vitest/runner": { 935 - "version": "4.0.18", 936 - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", 937 - "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", 505 + "version": "4.1.1", 506 + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.1.tgz", 507 + "integrity": "sha512-f7+FPy75vN91QGWsITueq0gedwUZy1fLtHOCMeQpjs8jTekAHeKP80zfDEnhrleviLHzVSDXIWuCIOFn3D3f8A==", 938 508 "dev": true, 939 509 "license": "MIT", 940 510 "dependencies": { 941 - "@vitest/utils": "4.0.18", 511 + "@vitest/utils": "4.1.1", 942 512 "pathe": "^2.0.3" 943 513 }, 944 514 "funding": { ··· 946 516 } 947 517 }, 948 518 "node_modules/@vitest/snapshot": { 949 - "version": "4.0.18", 950 - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", 951 - "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", 519 + "version": "4.1.1", 520 + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.1.tgz", 521 + "integrity": "sha512-kMVSgcegWV2FibXEx9p9WIKgje58lcTbXgnJixfcg15iK8nzCXhmalL0ZLtTWLW9PH1+1NEDShiFFedB3tEgWg==", 952 522 "dev": true, 953 523 "license": "MIT", 954 524 "dependencies": { 955 - "@vitest/pretty-format": "4.0.18", 525 + "@vitest/pretty-format": "4.1.1", 526 + "@vitest/utils": "4.1.1", 956 527 "magic-string": "^0.30.21", 957 528 "pathe": "^2.0.3" 958 529 }, ··· 961 532 } 962 533 }, 963 534 "node_modules/@vitest/spy": { 964 - "version": "4.0.18", 965 - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", 966 - "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", 535 + "version": "4.1.1", 536 + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.1.tgz", 537 + "integrity": "sha512-6Ti/KT5OVaiupdIZEuZN7l3CZcR0cxnxt70Z0//3CtwgObwA6jZhmVBA3yrXSVN3gmwjgd7oDNLlsXz526gpRA==", 967 538 "dev": true, 968 539 "license": "MIT", 969 540 "funding": { ··· 971 542 } 972 543 }, 973 544 "node_modules/@vitest/utils": { 974 - "version": "4.0.18", 975 - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", 976 - "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", 545 + "version": "4.1.1", 546 + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.1.tgz", 547 + "integrity": "sha512-cNxAlaB3sHoCdL6pj6yyUXv9Gry1NHNg0kFTXdvSIZXLHsqKH7chiWOkwJ5s5+d/oMwcoG9T0bKU38JZWKusrQ==", 977 548 "dev": true, 978 549 "license": "MIT", 979 550 "dependencies": { 980 - "@vitest/pretty-format": "4.0.18", 551 + "@vitest/pretty-format": "4.1.1", 552 + "convert-source-map": "^2.0.0", 981 553 "tinyrainbow": "^3.0.3" 982 554 }, 983 555 "funding": { ··· 1019 591 "node": ">=18" 1020 592 } 1021 593 }, 1022 - "node_modules/es-module-lexer": { 1023 - "version": "1.7.0", 1024 - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", 1025 - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", 594 + "node_modules/convert-source-map": { 595 + "version": "2.0.0", 596 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 597 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1026 598 "dev": true, 1027 599 "license": "MIT" 1028 600 }, 1029 - "node_modules/esbuild": { 1030 - "version": "0.27.3", 1031 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", 1032 - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", 601 + "node_modules/detect-libc": { 602 + "version": "2.1.2", 603 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 604 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 1033 605 "dev": true, 1034 - "hasInstallScript": true, 1035 - "license": "MIT", 1036 - "bin": { 1037 - "esbuild": "bin/esbuild" 1038 - }, 606 + "license": "Apache-2.0", 1039 607 "engines": { 1040 - "node": ">=18" 1041 - }, 1042 - "optionalDependencies": { 1043 - "@esbuild/aix-ppc64": "0.27.3", 1044 - "@esbuild/android-arm": "0.27.3", 1045 - "@esbuild/android-arm64": "0.27.3", 1046 - "@esbuild/android-x64": "0.27.3", 1047 - "@esbuild/darwin-arm64": "0.27.3", 1048 - "@esbuild/darwin-x64": "0.27.3", 1049 - "@esbuild/freebsd-arm64": "0.27.3", 1050 - "@esbuild/freebsd-x64": "0.27.3", 1051 - "@esbuild/linux-arm": "0.27.3", 1052 - "@esbuild/linux-arm64": "0.27.3", 1053 - "@esbuild/linux-ia32": "0.27.3", 1054 - "@esbuild/linux-loong64": "0.27.3", 1055 - "@esbuild/linux-mips64el": "0.27.3", 1056 - "@esbuild/linux-ppc64": "0.27.3", 1057 - "@esbuild/linux-riscv64": "0.27.3", 1058 - "@esbuild/linux-s390x": "0.27.3", 1059 - "@esbuild/linux-x64": "0.27.3", 1060 - "@esbuild/netbsd-arm64": "0.27.3", 1061 - "@esbuild/netbsd-x64": "0.27.3", 1062 - "@esbuild/openbsd-arm64": "0.27.3", 1063 - "@esbuild/openbsd-x64": "0.27.3", 1064 - "@esbuild/openharmony-arm64": "0.27.3", 1065 - "@esbuild/sunos-x64": "0.27.3", 1066 - "@esbuild/win32-arm64": "0.27.3", 1067 - "@esbuild/win32-ia32": "0.27.3", 1068 - "@esbuild/win32-x64": "0.27.3" 608 + "node": ">=8" 1069 609 } 610 + }, 611 + "node_modules/es-module-lexer": { 612 + "version": "2.0.0", 613 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", 614 + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", 615 + "dev": true, 616 + "license": "MIT" 1070 617 }, 1071 618 "node_modules/estree-walker": { 1072 619 "version": "3.0.3", ··· 1121 668 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1122 669 } 1123 670 }, 671 + "node_modules/lightningcss": { 672 + "version": "1.32.0", 673 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", 674 + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", 675 + "dev": true, 676 + "license": "MPL-2.0", 677 + "dependencies": { 678 + "detect-libc": "^2.0.3" 679 + }, 680 + "engines": { 681 + "node": ">= 12.0.0" 682 + }, 683 + "funding": { 684 + "type": "opencollective", 685 + "url": "https://opencollective.com/parcel" 686 + }, 687 + "optionalDependencies": { 688 + "lightningcss-android-arm64": "1.32.0", 689 + "lightningcss-darwin-arm64": "1.32.0", 690 + "lightningcss-darwin-x64": "1.32.0", 691 + "lightningcss-freebsd-x64": "1.32.0", 692 + "lightningcss-linux-arm-gnueabihf": "1.32.0", 693 + "lightningcss-linux-arm64-gnu": "1.32.0", 694 + "lightningcss-linux-arm64-musl": "1.32.0", 695 + "lightningcss-linux-x64-gnu": "1.32.0", 696 + "lightningcss-linux-x64-musl": "1.32.0", 697 + "lightningcss-win32-arm64-msvc": "1.32.0", 698 + "lightningcss-win32-x64-msvc": "1.32.0" 699 + } 700 + }, 701 + "node_modules/lightningcss-android-arm64": { 702 + "version": "1.32.0", 703 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", 704 + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", 705 + "cpu": [ 706 + "arm64" 707 + ], 708 + "dev": true, 709 + "license": "MPL-2.0", 710 + "optional": true, 711 + "os": [ 712 + "android" 713 + ], 714 + "engines": { 715 + "node": ">= 12.0.0" 716 + }, 717 + "funding": { 718 + "type": "opencollective", 719 + "url": "https://opencollective.com/parcel" 720 + } 721 + }, 722 + "node_modules/lightningcss-darwin-arm64": { 723 + "version": "1.32.0", 724 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", 725 + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", 726 + "cpu": [ 727 + "arm64" 728 + ], 729 + "dev": true, 730 + "license": "MPL-2.0", 731 + "optional": true, 732 + "os": [ 733 + "darwin" 734 + ], 735 + "engines": { 736 + "node": ">= 12.0.0" 737 + }, 738 + "funding": { 739 + "type": "opencollective", 740 + "url": "https://opencollective.com/parcel" 741 + } 742 + }, 743 + "node_modules/lightningcss-darwin-x64": { 744 + "version": "1.32.0", 745 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", 746 + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", 747 + "cpu": [ 748 + "x64" 749 + ], 750 + "dev": true, 751 + "license": "MPL-2.0", 752 + "optional": true, 753 + "os": [ 754 + "darwin" 755 + ], 756 + "engines": { 757 + "node": ">= 12.0.0" 758 + }, 759 + "funding": { 760 + "type": "opencollective", 761 + "url": "https://opencollective.com/parcel" 762 + } 763 + }, 764 + "node_modules/lightningcss-freebsd-x64": { 765 + "version": "1.32.0", 766 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", 767 + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", 768 + "cpu": [ 769 + "x64" 770 + ], 771 + "dev": true, 772 + "license": "MPL-2.0", 773 + "optional": true, 774 + "os": [ 775 + "freebsd" 776 + ], 777 + "engines": { 778 + "node": ">= 12.0.0" 779 + }, 780 + "funding": { 781 + "type": "opencollective", 782 + "url": "https://opencollective.com/parcel" 783 + } 784 + }, 785 + "node_modules/lightningcss-linux-arm-gnueabihf": { 786 + "version": "1.32.0", 787 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", 788 + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", 789 + "cpu": [ 790 + "arm" 791 + ], 792 + "dev": true, 793 + "license": "MPL-2.0", 794 + "optional": true, 795 + "os": [ 796 + "linux" 797 + ], 798 + "engines": { 799 + "node": ">= 12.0.0" 800 + }, 801 + "funding": { 802 + "type": "opencollective", 803 + "url": "https://opencollective.com/parcel" 804 + } 805 + }, 806 + "node_modules/lightningcss-linux-arm64-gnu": { 807 + "version": "1.32.0", 808 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", 809 + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", 810 + "cpu": [ 811 + "arm64" 812 + ], 813 + "dev": true, 814 + "libc": [ 815 + "glibc" 816 + ], 817 + "license": "MPL-2.0", 818 + "optional": true, 819 + "os": [ 820 + "linux" 821 + ], 822 + "engines": { 823 + "node": ">= 12.0.0" 824 + }, 825 + "funding": { 826 + "type": "opencollective", 827 + "url": "https://opencollective.com/parcel" 828 + } 829 + }, 830 + "node_modules/lightningcss-linux-arm64-musl": { 831 + "version": "1.32.0", 832 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", 833 + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", 834 + "cpu": [ 835 + "arm64" 836 + ], 837 + "dev": true, 838 + "libc": [ 839 + "musl" 840 + ], 841 + "license": "MPL-2.0", 842 + "optional": true, 843 + "os": [ 844 + "linux" 845 + ], 846 + "engines": { 847 + "node": ">= 12.0.0" 848 + }, 849 + "funding": { 850 + "type": "opencollective", 851 + "url": "https://opencollective.com/parcel" 852 + } 853 + }, 854 + "node_modules/lightningcss-linux-x64-gnu": { 855 + "version": "1.32.0", 856 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", 857 + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", 858 + "cpu": [ 859 + "x64" 860 + ], 861 + "dev": true, 862 + "libc": [ 863 + "glibc" 864 + ], 865 + "license": "MPL-2.0", 866 + "optional": true, 867 + "os": [ 868 + "linux" 869 + ], 870 + "engines": { 871 + "node": ">= 12.0.0" 872 + }, 873 + "funding": { 874 + "type": "opencollective", 875 + "url": "https://opencollective.com/parcel" 876 + } 877 + }, 878 + "node_modules/lightningcss-linux-x64-musl": { 879 + "version": "1.32.0", 880 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", 881 + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", 882 + "cpu": [ 883 + "x64" 884 + ], 885 + "dev": true, 886 + "libc": [ 887 + "musl" 888 + ], 889 + "license": "MPL-2.0", 890 + "optional": true, 891 + "os": [ 892 + "linux" 893 + ], 894 + "engines": { 895 + "node": ">= 12.0.0" 896 + }, 897 + "funding": { 898 + "type": "opencollective", 899 + "url": "https://opencollective.com/parcel" 900 + } 901 + }, 902 + "node_modules/lightningcss-win32-arm64-msvc": { 903 + "version": "1.32.0", 904 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", 905 + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", 906 + "cpu": [ 907 + "arm64" 908 + ], 909 + "dev": true, 910 + "license": "MPL-2.0", 911 + "optional": true, 912 + "os": [ 913 + "win32" 914 + ], 915 + "engines": { 916 + "node": ">= 12.0.0" 917 + }, 918 + "funding": { 919 + "type": "opencollective", 920 + "url": "https://opencollective.com/parcel" 921 + } 922 + }, 923 + "node_modules/lightningcss-win32-x64-msvc": { 924 + "version": "1.32.0", 925 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", 926 + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", 927 + "cpu": [ 928 + "x64" 929 + ], 930 + "dev": true, 931 + "license": "MPL-2.0", 932 + "optional": true, 933 + "os": [ 934 + "win32" 935 + ], 936 + "engines": { 937 + "node": ">= 12.0.0" 938 + }, 939 + "funding": { 940 + "type": "opencollective", 941 + "url": "https://opencollective.com/parcel" 942 + } 943 + }, 1124 944 "node_modules/magic-string": { 1125 945 "version": "0.30.21", 1126 946 "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", ··· 1192 1012 "license": "ISC" 1193 1013 }, 1194 1014 "node_modules/picomatch": { 1195 - "version": "4.0.3", 1196 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 1197 - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 1015 + "version": "4.0.4", 1016 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", 1017 + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", 1198 1018 "dev": true, 1199 1019 "license": "MIT", 1200 1020 "engines": { ··· 1233 1053 "node": "^10 || ^12 || >=14" 1234 1054 } 1235 1055 }, 1236 - "node_modules/rollup": { 1237 - "version": "4.59.0", 1238 - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", 1239 - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", 1056 + "node_modules/rolldown": { 1057 + "version": "1.0.0-rc.11", 1058 + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.11.tgz", 1059 + "integrity": "sha512-NRjoKMusSjfRbSYiH3VSumlkgFe7kYAa3pzVOsVYVFY3zb5d7nS+a3KGQ7hJKXuYWbzJKPVQ9Wxq2UvyK+ENpw==", 1240 1060 "dev": true, 1241 1061 "license": "MIT", 1242 1062 "dependencies": { 1243 - "@types/estree": "1.0.8" 1063 + "@oxc-project/types": "=0.122.0", 1064 + "@rolldown/pluginutils": "1.0.0-rc.11" 1244 1065 }, 1245 1066 "bin": { 1246 - "rollup": "dist/bin/rollup" 1067 + "rolldown": "bin/cli.mjs" 1247 1068 }, 1248 1069 "engines": { 1249 - "node": ">=18.0.0", 1250 - "npm": ">=8.0.0" 1070 + "node": "^20.19.0 || >=22.12.0" 1251 1071 }, 1252 1072 "optionalDependencies": { 1253 - "@rollup/rollup-android-arm-eabi": "4.59.0", 1254 - "@rollup/rollup-android-arm64": "4.59.0", 1255 - "@rollup/rollup-darwin-arm64": "4.59.0", 1256 - "@rollup/rollup-darwin-x64": "4.59.0", 1257 - "@rollup/rollup-freebsd-arm64": "4.59.0", 1258 - "@rollup/rollup-freebsd-x64": "4.59.0", 1259 - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", 1260 - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", 1261 - "@rollup/rollup-linux-arm64-gnu": "4.59.0", 1262 - "@rollup/rollup-linux-arm64-musl": "4.59.0", 1263 - "@rollup/rollup-linux-loong64-gnu": "4.59.0", 1264 - "@rollup/rollup-linux-loong64-musl": "4.59.0", 1265 - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", 1266 - "@rollup/rollup-linux-ppc64-musl": "4.59.0", 1267 - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", 1268 - "@rollup/rollup-linux-riscv64-musl": "4.59.0", 1269 - "@rollup/rollup-linux-s390x-gnu": "4.59.0", 1270 - "@rollup/rollup-linux-x64-gnu": "4.59.0", 1271 - "@rollup/rollup-linux-x64-musl": "4.59.0", 1272 - "@rollup/rollup-openbsd-x64": "4.59.0", 1273 - "@rollup/rollup-openharmony-arm64": "4.59.0", 1274 - "@rollup/rollup-win32-arm64-msvc": "4.59.0", 1275 - "@rollup/rollup-win32-ia32-msvc": "4.59.0", 1276 - "@rollup/rollup-win32-x64-gnu": "4.59.0", 1277 - "@rollup/rollup-win32-x64-msvc": "4.59.0", 1278 - "fsevents": "~2.3.2" 1073 + "@rolldown/binding-android-arm64": "1.0.0-rc.11", 1074 + "@rolldown/binding-darwin-arm64": "1.0.0-rc.11", 1075 + "@rolldown/binding-darwin-x64": "1.0.0-rc.11", 1076 + "@rolldown/binding-freebsd-x64": "1.0.0-rc.11", 1077 + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.11", 1078 + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.11", 1079 + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.11", 1080 + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.11", 1081 + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.11", 1082 + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.11", 1083 + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.11", 1084 + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.11", 1085 + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.11", 1086 + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.11", 1087 + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.11" 1279 1088 } 1280 1089 }, 1281 1090 "node_modules/siginfo": { ··· 1303 1112 "license": "MIT" 1304 1113 }, 1305 1114 "node_modules/std-env": { 1306 - "version": "3.10.0", 1307 - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", 1308 - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", 1115 + "version": "4.0.0", 1116 + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", 1117 + "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", 1309 1118 "dev": true, 1310 1119 "license": "MIT" 1311 1120 }, ··· 1344 1153 } 1345 1154 }, 1346 1155 "node_modules/tinyrainbow": { 1347 - "version": "3.0.3", 1348 - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", 1349 - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", 1156 + "version": "3.1.0", 1157 + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", 1158 + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", 1350 1159 "dev": true, 1351 1160 "license": "MIT", 1352 1161 "engines": { 1353 1162 "node": ">=14.0.0" 1354 1163 } 1355 1164 }, 1165 + "node_modules/tslib": { 1166 + "version": "2.8.1", 1167 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 1168 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 1169 + "dev": true, 1170 + "license": "0BSD", 1171 + "optional": true 1172 + }, 1356 1173 "node_modules/typescript": { 1357 1174 "version": "5.9.3", 1358 1175 "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", ··· 1375 1192 "license": "MIT" 1376 1193 }, 1377 1194 "node_modules/vite": { 1378 - "version": "7.3.1", 1379 - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", 1380 - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", 1195 + "version": "8.0.2", 1196 + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.2.tgz", 1197 + "integrity": "sha512-1gFhNi+bHhRE/qKZOJXACm6tX4bA3Isy9KuKF15AgSRuRazNBOJfdDemPBU16/mpMxApDPrWvZ08DcLPEoRnuA==", 1381 1198 "dev": true, 1382 1199 "license": "MIT", 1383 1200 "dependencies": { 1384 - "esbuild": "^0.27.0", 1385 - "fdir": "^6.5.0", 1201 + "lightningcss": "^1.32.0", 1386 1202 "picomatch": "^4.0.3", 1387 - "postcss": "^8.5.6", 1388 - "rollup": "^4.43.0", 1203 + "postcss": "^8.5.8", 1204 + "rolldown": "1.0.0-rc.11", 1389 1205 "tinyglobby": "^0.2.15" 1390 1206 }, 1391 1207 "bin": { ··· 1402 1218 }, 1403 1219 "peerDependencies": { 1404 1220 "@types/node": "^20.19.0 || >=22.12.0", 1221 + "@vitejs/devtools": "^0.1.0", 1222 + "esbuild": "^0.27.0", 1405 1223 "jiti": ">=1.21.0", 1406 1224 "less": "^4.0.0", 1407 - "lightningcss": "^1.21.0", 1408 1225 "sass": "^1.70.0", 1409 1226 "sass-embedded": "^1.70.0", 1410 1227 "stylus": ">=0.54.8", ··· 1417 1234 "@types/node": { 1418 1235 "optional": true 1419 1236 }, 1237 + "@vitejs/devtools": { 1238 + "optional": true 1239 + }, 1240 + "esbuild": { 1241 + "optional": true 1242 + }, 1420 1243 "jiti": { 1421 1244 "optional": true 1422 1245 }, 1423 1246 "less": { 1424 - "optional": true 1425 - }, 1426 - "lightningcss": { 1427 1247 "optional": true 1428 1248 }, 1429 1249 "sass": { ··· 1450 1270 } 1451 1271 }, 1452 1272 "node_modules/vitest": { 1453 - "version": "4.0.18", 1454 - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", 1455 - "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", 1273 + "version": "4.1.1", 1274 + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.1.tgz", 1275 + "integrity": "sha512-yF+o4POL41rpAzj5KVILUxm1GCjKnELvaqmU9TLLUbMfDzuN0UpUR9uaDs+mCtjPe+uYPksXDRLQGGPvj1cTmA==", 1456 1276 "dev": true, 1457 1277 "license": "MIT", 1458 1278 "dependencies": { 1459 - "@vitest/expect": "4.0.18", 1460 - "@vitest/mocker": "4.0.18", 1461 - "@vitest/pretty-format": "4.0.18", 1462 - "@vitest/runner": "4.0.18", 1463 - "@vitest/snapshot": "4.0.18", 1464 - "@vitest/spy": "4.0.18", 1465 - "@vitest/utils": "4.0.18", 1466 - "es-module-lexer": "^1.7.0", 1467 - "expect-type": "^1.2.2", 1279 + "@vitest/expect": "4.1.1", 1280 + "@vitest/mocker": "4.1.1", 1281 + "@vitest/pretty-format": "4.1.1", 1282 + "@vitest/runner": "4.1.1", 1283 + "@vitest/snapshot": "4.1.1", 1284 + "@vitest/spy": "4.1.1", 1285 + "@vitest/utils": "4.1.1", 1286 + "es-module-lexer": "^2.0.0", 1287 + "expect-type": "^1.3.0", 1468 1288 "magic-string": "^0.30.21", 1469 1289 "obug": "^2.1.1", 1470 1290 "pathe": "^2.0.3", 1471 1291 "picomatch": "^4.0.3", 1472 - "std-env": "^3.10.0", 1292 + "std-env": "^4.0.0-rc.1", 1473 1293 "tinybench": "^2.9.0", 1474 1294 "tinyexec": "^1.0.2", 1475 1295 "tinyglobby": "^0.2.15", 1476 1296 "tinyrainbow": "^3.0.3", 1477 - "vite": "^6.0.0 || ^7.0.0", 1297 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", 1478 1298 "why-is-node-running": "^2.3.0" 1479 1299 }, 1480 1300 "bin": { ··· 1490 1310 "@edge-runtime/vm": "*", 1491 1311 "@opentelemetry/api": "^1.9.0", 1492 1312 "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", 1493 - "@vitest/browser-playwright": "4.0.18", 1494 - "@vitest/browser-preview": "4.0.18", 1495 - "@vitest/browser-webdriverio": "4.0.18", 1496 - "@vitest/ui": "4.0.18", 1313 + "@vitest/browser-playwright": "4.1.1", 1314 + "@vitest/browser-preview": "4.1.1", 1315 + "@vitest/browser-webdriverio": "4.1.1", 1316 + "@vitest/ui": "4.1.1", 1497 1317 "happy-dom": "*", 1498 - "jsdom": "*" 1318 + "jsdom": "*", 1319 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 1499 1320 }, 1500 1321 "peerDependenciesMeta": { 1501 1322 "@edge-runtime/vm": { ··· 1524 1345 }, 1525 1346 "jsdom": { 1526 1347 "optional": true 1348 + }, 1349 + "vite": { 1350 + "optional": false 1527 1351 } 1528 1352 } 1529 1353 },
+33 -3
package.json
··· 1 1 { 2 - "name": "ptym", 2 + "name": "@myobie/pty", 3 3 "version": "0.1.0", 4 4 "description": "Persistent terminal sessions with detach/attach support", 5 5 "type": "module", 6 + "license": "MIT", 7 + "repository": { 8 + "type": "git", 9 + "url": "https://github.com/myobie/pty.git" 10 + }, 11 + "keywords": [ 12 + "terminal", 13 + "pty", 14 + "session", 15 + "detach", 16 + "attach", 17 + "testing", 18 + "tui" 19 + ], 20 + "files": [ 21 + "bin/", 22 + "src/", 23 + "completions/", 24 + "docs/", 25 + "README.md", 26 + "LICENSE" 27 + ], 6 28 "bin": { 7 29 "pty": "./bin/pty" 8 30 }, ··· 19 41 "verify-docs": "node scripts/verify-docs.ts" 20 42 }, 21 43 "dependencies": { 22 - "@preact/signals-core": "^1.14.0", 23 44 "@xterm/addon-serialize": "^0.14.0", 24 45 "@xterm/headless": "^6.0.0", 25 46 "node-pty": "^1.0.0" 26 47 }, 48 + "peerDependencies": { 49 + "@preact/signals-core": "^1.14.0" 50 + }, 51 + "peerDependenciesMeta": { 52 + "@preact/signals-core": { 53 + "optional": true 54 + } 55 + }, 27 56 "devDependencies": { 57 + "@preact/signals-core": "^1.14.0", 28 58 "@types/node": "^25.3.5", 29 59 "typescript": "^5.7.0", 30 - "vitest": "^4.0.18" 60 + "vitest": "^4.1.1" 31 61 } 32 62 }
+2 -2
scripts/verify-docs.ts
··· 29 29 const importSet = new Set<string>(); 30 30 const testCases = blocks 31 31 .map((code, i) => { 32 - // Replace ptym/testing imports with relative path 32 + // Replace @myobie/pty/testing imports with relative path 33 33 const adjusted = code.replace( 34 - /from ["']ptym\/testing["']/g, 34 + /from ["']@myobie\/pty\/testing["']/g, 35 35 `from "${path.join(projectRoot, "src", "testing", "index.ts").replace(/\\/g, "/")}"` 36 36 ); 37 37