diff --git a/.vitepress/config.ts b/.vitepress/config.ts
index 7326b51c..ef1e4e51 100644
--- a/.vitepress/config.ts
+++ b/.vitepress/config.ts
@@ -322,6 +322,10 @@ export default ({ mode }: { mode: string }) => {
text: 'globals',
link: '/config/globals',
},
+ {
+ text: 'injectCjsGlobals',
+ link: '/config/injectcjsglobals',
+ },
{
text: 'environment',
link: '/config/environment',
@@ -482,6 +486,14 @@ export default ({ mode }: { mode: string }) => {
text: 'cache',
link: '/config/cache',
},
+ {
+ text: 'fsModuleCache',
+ link: '/config/fsmodulecache',
+ },
+ {
+ text: 'fsModuleCachePath',
+ link: '/config/fsmodulecachepath',
+ },
{
text: 'sequence',
link: '/config/sequence',
@@ -634,18 +646,10 @@ export default ({ mode }: { mode: string }) => {
text: 'browser.headless',
link: '/config/browser/headless',
},
- {
- text: 'browser.isolate',
- link: '/config/browser/isolate',
- },
{
text: 'browser.testerHtmlPath',
link: '/config/browser/testerhtmlpath',
},
- {
- text: 'browser.api',
- link: '/config/browser/api',
- },
{
text: 'browser.provider',
link: '/config/browser/provider',
@@ -674,6 +678,10 @@ export default ({ mode }: { mode: string }) => {
text: 'browser.screenshotFailures',
link: '/config/browser/screenshotfailures',
},
+ {
+ text: 'browser.dependencySourcemaps',
+ link: '/config/browser/dependencysourcemaps',
+ },
{
text: 'browser.orchestratorScripts',
link: '/config/browser/orchestratorscripts',
@@ -1092,6 +1100,10 @@ export default ({ mode }: { mode: string }) => {
text: '自定义运行池',
link: '/guide/advanced/pool',
},
+ {
+ text: 'Benchmark Provider',
+ link: '/guide/advanced/benchmark-provider',
+ },
],
},
// Migration — one-time transitional content: cross-version
diff --git a/.vitepress/scripts/cli-generator.ts b/.vitepress/scripts/cli-generator.ts
index f222ce45..6a4e98e8 100644
--- a/.vitepress/scripts/cli-generator.ts
+++ b/.vitepress/scripts/cli-generator.ts
@@ -39,7 +39,6 @@ const skipConfig = new Set([
'project',
'ui',
'browser.name',
- 'browser.fileParallelism',
'clearCache',
'tagsFilter',
'listTags',
@@ -86,7 +85,7 @@ const template = options.map((option) => {
const cli = option.cli
const [page, ...hash] = (title.startsWith('browser.') ? title.slice(8) : title).toLowerCase().split('.')
const config = skipConfig.has(title) ? '' : `[${title}](${title.includes('browser.') ? '/config/browser/' : '/config/'}${page}${hash.length ? `#${[page, ...hash].join('-')}` : ''})`
- // eslint-disable-next-line e18e/prefer-static-regex
+
return `### ${title}\n\n- **CLI:** ${cli}\n${config ? `- **Config:** ${config}\n` : ''}\n${option.description.replace(/https:\/\/vitest\.dev\//g, '/')}\n`
}).join('\n')
diff --git a/.vitepress/sponsors.ts b/.vitepress/sponsors.ts
index f9b2a058..cabc256b 100644
--- a/.vitepress/sponsors.ts
+++ b/.vitepress/sponsors.ts
@@ -26,12 +26,16 @@ export const sponsors: SponsorTier[] = [
tier: '铂金赞助商',
size: 'big',
items: [
-
{
name: 'Bolt',
url: 'https://bolt.new',
img: '/bolt.svg',
},
+ {
+ name: 'Latitude',
+ url: 'https://latitude.so/',
+ img: '/latitude.svg',
+ },
],
},
{
diff --git a/api/advanced/artifacts.md b/api/advanced/artifacts.md
index e7c2faf7..89d08464 100644
--- a/api/advanced/artifacts.md
+++ b/api/advanced/artifacts.md
@@ -67,7 +67,7 @@ The `TestArtifactBase` interface is the base for all test artifacts.
Extend this interface when creating custom test artifacts. Vitest automatically manages the `attachments` array and injects the `location` property to indicate where the artifact was created in your test code.
::: danger
-When running with [`api.allowWrite`](/config/api#api-allowwrite) or [`browser.api.allowWrite`](/config/browser/api#api-allowwrite) disabled, Vitest empties the `attachments` array on every artifact before reporting it.
+When running with [`api.allowWrite`](/config/api#api-allowwrite) disabled, Vitest empties the `attachments` array on every artifact before reporting it.
If your custom artifact narrows the `attachments` type (e.g. to a tuple), include `| []` in the union so the type reflects what actually happens at runtime.
:::
diff --git a/api/advanced/plugin.md b/api/advanced/plugin.md
index de755dcf..b1608efd 100644
--- a/api/advanced/plugin.md
+++ b/api/advanced/plugin.md
@@ -117,14 +117,15 @@ vitest.config.project.push('my-project-name')
:::
::: tip 引用当前配置
-若想在使用我们自己的配置时仍保留用户的原有配置,可以通过设置 extends 属性实现。这样,除了 extends 指定的内容外,其他配置项都会与我们配置合并。
+内联配置默认继承根配置。如果想改为继承特定的配置文件,请将 `extends` 属性设为该文件的路径。其他所有属性都会与用户定义的配置合并。
项目的 `configFile` 可以在 Vite 的配置中访问:`project.vite.config.configFile`。
-请注意,这也将继承 `name` - Vitest 不允许多个项目使用相同的名称,因此这将引发错误。请确保我们指定了不同的名称。我们可以通过 `project.name` 属性访问当前名称,并且所有使用的名称都可以在 `vitest.projects` 数组中找到。
+请注意,`name` 永远不会被继承,因为 Vitest 不允许多个项目使用相同的名称。请确保每个项目都有唯一的名称。可以通过 `project.name` 属性访问当前名称,所有已使用的名称都可以在 `vitest.projects` 数组中找到。
:::
-### experimental_defineCacheKeyGenerator 4.0.11 {#definecachekeygenerator}
+
+### defineCacheKeyGenerator 5.0.0 {#definecachekeygenerator}
```ts
interface CacheKeyIdGeneratorContext {
@@ -133,7 +134,7 @@ interface CacheKeyIdGeneratorContext {
sourceCode: string
}
-function experimental_defineCacheKeyGenerator(
+function defineCacheKeyGenerator(
callback: (context: CacheKeyIdGeneratorContext) => string | undefined | null | false
): void
```
@@ -142,7 +143,7 @@ function experimental_defineCacheKeyGenerator(
如果你的插件支持通过不同的参数选项注册,建议通过这种方式,确保 Vitest 生成正确的哈希值。
-仅当定义了 [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache) 时才会调用此方法。
+仅当定义了 [`fsModuleCache`](/config/fsmodulecache) 时才会调用此方法。
```ts
interface PluginOptions {
@@ -159,8 +160,8 @@ export function plugin(options: PluginOptions) {
options.replacePropertyValue
)
},
- configureVitest({ experimental_defineCacheKeyGenerator }) {
- experimental_defineCacheKeyGenerator(() => {
+ configureVitest({ defineCacheKeyGenerator }) {
+ defineCacheKeyGenerator(() => {
// 由于这些选项会影响转换结果,
// 将它们组合成一个唯一字符串并返回
return options.replacePropertyKey + options.replacePropertyValue
diff --git a/api/advanced/vitest.md b/api/advanced/vitest.md
index 28a1dc99..732dc615 100644
--- a/api/advanced/vitest.md
+++ b/api/advanced/vitest.md
@@ -610,7 +610,7 @@ function experimental_parseSpecifications(
function experimental_clearCache(): Promise
```
-删除所有 Vitest 缓存,包括 [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache)。
+删除所有 Vitest 缓存,包括 [`fsModuleCache`](/config/fsmodulecache)。
## experimental_getSourceModuleDiagnostic 4.0.15 {#getsourcemodulediagnostic}
diff --git a/api/browser/commands.md b/api/browser/commands.md
index 303c5e2f..a0e44e71 100644
--- a/api/browser/commands.md
+++ b/api/browser/commands.md
@@ -18,7 +18,7 @@ outline: deep
::: tip
出于安全原因,内置的文件命令遵循 Vite 的 [`server.fs`](https://cn.G/config/server-options.html#server-fs-allow) 限制。
-`writeFile` 和 `removeFile` 还需要通过 [`browser.api.allowWrite`](/config/browser/api) 和 [`api.allowWrite`](/config/api#api-allowwrite) 获得写入权限。
+`writeFile` 和 `removeFile` 还需要通过 [`api.allowWrite`](/config/api#api-allowwrite) 获得写入权限。
:::
```ts
@@ -60,7 +60,7 @@ expect(input).toHaveValue('a')
::: warning
CDP session 仅适用于 `playwright` provider,并且仅在使用 `chromium` 浏览器时有效。有关详细信息,请参阅 playwright 的 [`CDPSession`](https://playwright.dev/docs/api/class-cdpsession) 文档。
-CDP 是一个特权调试 API。仅当通过 [`browser.api.allowWrite`](/config/browser/api#api-allowwrite)、[`browser.api.allowExec`](/config/browser/api#api-allowexec)、[`api.allowWrite`](/config/api#api-allowwrite) 和 [`api.allowExec`](/config/api#api-allowexec) 启用浏览器 API 写入和执行操作时,该 API 才可用。
+CDP 是一种特权调试 API。仅当通过 [`api.allowWrite`](/config/api#api-allowwrite), and [`api.allowExec`](/config/api#api-allowexec) 启用浏览器 API 的写入及执行操作时,才可使用 CDP。
:::
## 自定义命令 {#custom-commands}
@@ -132,7 +132,7 @@ Custom commands run in the Vitest Node process and are callable from browser tes
Vitest's built-in file commands validate paths against Vite's [`server.fs`](https://vite.dev/config/server-options#server-fs-allow) restrictions and separately check whether writes are allowed. Custom commands do not automatically inherit these protections. If a custom command accepts browser-provided input and uses it to read, write, delete, execute, or expose local resources, validate that input before using it.
-For file reads or fixture loading, use `isFileLoadingAllowed` from `vitest/node` or an explicit allowlist. For writes and deletes, also require an explicit mutation policy, such as [`browser.api.allowWrite`](/config/browser/api#api-allowwrite), [`api.allowWrite`](/config/api#api-allowwrite), and a command-specific allowed directory. For commands that execute code, shell commands, or project scripts, also check [`browser.api.allowExec`](/config/browser/api#api-allowexec) and [`api.allowExec`](/config/api#api-allowexec).
+For file reads or fixture loading, use `isFileLoadingAllowed` from `vitest/node` or an explicit allowlist. For writes and deletes, also require an explicit mutation policy, such as [`api.allowWrite`](/config/api#api-allowwrite), and a command-specific allowed directory. For commands that execute code, shell commands, or project scripts, also check [`api.allowExec`](/config/api#api-allowexec).
For example, if you create your own file-writing command instead of using Vitest's built-in `writeFile`, apply the same checks:
diff --git a/api/browser/context.md b/api/browser/context.md
index 8a3b8915..9a344971 100644
--- a/api/browser/context.md
+++ b/api/browser/context.md
@@ -207,7 +207,7 @@ await expect.element(button).toBeVisible() // 查询元素失败 ❌
::: warning
CDP 会话仅适用于 `playwright` provider,并且仅在使用 `chromium` 浏览器时有效。有关详细信息,请参阅 playwright 的 [`CDPSession`](https://playwright.dev/docs/api/class-cdpsession)文档。
-CDP 是一个特权调试 API。仅当通过 [`browser.api.allowWrite`](/config/browser/api#api-allowwrite)、[`browser.api.allowExec`](/config/browser/api#api-allowexec)、[`api.allowWrite`](/config/api#api-allowwrite) 和 [`api.allowExec`](/config/api#api-allowexec) 启用浏览器 API 写入和执行操作时,该 API 才可用。
+CDP 是一种特权调试 API。仅当通过 [`api.allowWrite`](/config/api#api-allowwrite), and [`api.allowExec`](/config/api#api-allowexec) 启用浏览器 API 的写入及执行操作时,才可使用 CDP。
:::
```ts
diff --git a/api/expect.md b/api/expect.md
index f5ce20a0..c2026237 100644
--- a/api/expect.md
+++ b/api/expect.md
@@ -9,8 +9,11 @@ type Awaitable = T | PromiseLike
`expect` 用于创建断言。在此上下文中,`断言` 是可以被调用来验证一个语句的函数。Vitest 默认提供 `chai` 断言,同时也提供基于 chai 构建的兼容 `Jest` 的断言。自 Vitest 4.1 起,在进行 spy/mock 测试时,Vitest 还额外提供了 Chai 风格断言(如 [`expect(spy).to.have.been.called()`](#called)),与 Jest 风格断言(如 `expect(spy).toHaveBeenCalled()`)并存。与 `Jest` 不同,Vitest 支持将一条消息作为第二个参数传入,如果断言失败,错误信息将等于该消息。
```ts
-export interface ExpectStatic extends Chai.ExpectStatic, AsymmetricMatchersContaining {
- (actual: T, message?: string): Assertion
+export interface ExpectStatic
+ extends Chai.ExpectStatic,
+ Matchers,
+ AsymmetricMatchersContaining {
+ (actual: T, message?: string): Assertion
extend: (expects: MatchersObject) => void
anything: () => any
any: (constructor: unknown) => any
@@ -2238,12 +2241,11 @@ import { expect, test } from 'vitest'
test('custom matchers', () => {
expect.extend({
- toBeFoo: (received, expected) => {
- if (received !== 'foo') {
- return {
- message: () => `expected ${received} to be foo`,
- pass: false,
- }
+ toBeFoo(received) {
+ const { isNot } = this
+ return {
+ message: () => `expected ${received} is${isNot ? ' not' : ''} foo`,
+ pass: received === 'foo',
}
},
})
@@ -2259,19 +2261,20 @@ test('custom matchers', () => {
这个函数与 Jest 的 `expect.extend` 兼容,因此任何使用它来创建自定义匹配器的库都可以与 Vitest 一起使用。
-如果正在使用 TypeScript,自从 Vitest 0.31.0 版本以来,我们可以在环境声明文件(例如:`vitest.d.ts`)中使用下面的代码扩展默认的 `Assertion` 接口:
+如果正在使用 TypeScript,我们可以在环境声明文件(例如:`vitest.d.ts`)中使用下面的代码扩展默认的 `Matchers` 接口:
```ts
-interface CustomMatchers {
- toBeFoo: () => R
-}
+import 'vitest'
declare module 'vitest' {
- interface Assertion extends CustomMatchers {}
- interface AsymmetricMatchersContaining extends CustomMatchers {}
+ interface Matchers {
+ toBeFoo: () => R
+ }
}
```
+`R` is the assertion return type, and `T` is the type of the received value.
+
::: warning
不要忘记在 `tsconfig.json` 中包含环境声明文件。
:::
diff --git a/api/vi.md b/api/vi.md
index b8719a41..13e6c3d8 100644
--- a/api/vi.md
+++ b/api/vi.md
@@ -1163,7 +1163,7 @@ await vi.runOnlyPendingTimersAsync()
function setSystemTime(date: string | number | Date): Vitest
```
-如果启用了伪计时器,此方法将模拟用户更改系统时钟(将影响与日期相关的 API,如 `hrtime` 、`performance.now` 或 `new Date()` ),但不会触发任何计时器。如果未启用假定时器,该方法将仅模拟 `Date.*` 调用。
+如果启用了伪计时器,此方法将模拟用户更改系统时钟(将影响与日期相关的 API,如 `hrtime` 、`performance.now` 或 `new Date()` ),但不会触发任何计时器。如果未启用假定时器,该方法将仅模拟 `Date.*` 和 `Temporal.Now.*` 调用。
适用于需要测试依赖当前日期的场景,例如代码中的 [Luxon](https://github.com/moment/luxon/) 库调用。
diff --git a/blog/vitest-3-2.md b/blog/vitest-3-2.md
index da0475b8..ccc47170 100644
--- a/blog/vitest-3-2.md
+++ b/blog/vitest-3-2.md
@@ -239,7 +239,7 @@ Vitest 现在有一个 `Matchers` 类型,你可以扩展它来在一个地方
例如,要拥有一个类型安全的 `toBeFoo` 匹配器,你可以这样写:
-```ts twoslash
+```ts
import { expect } from 'vitest'
interface CustomMatchers {
@@ -252,7 +252,6 @@ declare module 'vitest' {
expect.extend({
toBeFoo(actual, arg) {
- // ^?
// 具体实现...
return {
pass: true,
diff --git a/config/api.md b/config/api.md
index ee784dd6..ad6f9b0e 100644
--- a/config/api.md
+++ b/config/api.md
@@ -9,7 +9,7 @@ outline: deep
- **默认值:** `false`
- **命令行终端:** `--api`, `--api.port`, `--api.host`, `--api.strictPort`
-监听端口并提供 API 服务,用于 [UI 模式](/guide/ui) 或 [浏览器服务](/guide/browser/)。设为 `true` 时,默认端口为 `51204`。
+监听端口并提供 API 服务,用于 [UI 模式](/guide/ui) 或 [浏览器服务](/guide/browser/)。设为 `true` 时,默认端口为 `51204`,如果在浏览器模式下运行,则为 `63315`。
## api.allowWrite 4.1.0 {#api-allowwrite}
@@ -18,6 +18,10 @@ outline: deep
Vitest 服务器可以通过 API 保存测试文件或快照文件。这意味着任何能连接到 API 的人都可以在你的机器上运行任意代码。
+
+
+In Browser Mode Vitest saves [annotation attachments](/guide/test-annotations), [artifacts](/api/advanced/artifacts) and [snapshots](/guide/snapshot) by receiving a WebSocket connection from the browser. This allows anyone who can connect to the API write any arbitrary code on your machine within the root of your project (configured by [`fs.allow`](https://vite.dev/config/server-options#server-fs-allow)). This option also gates privileged browser APIs that can write files indirectly, such as raw Chrome DevTools Protocol access through [`cdp()`](/api/browser/context#cdp).
+
::: danger 安全警告
Vitest 默认不会将 API 暴露到互联网,仅在 `localhost` 上监听。但如果 `host` 被手动暴露到网络,任何连接到它的人都可以在你的机器上运行任意代码,除非将 `api.allowWrite` 和 `api.allowExec` 设置为`false`。
@@ -29,4 +33,4 @@ Vitest 默认不会将 API 暴露到互联网,仅在 `localhost` 上监听。
- **类型:** `boolean`
- **默认值:** `true` 表示未暴露在公共网络中,`false` 则表示已暴露
-允许通过 API 运行任何测试文件。详细安全建议请参阅 [`api.allowWrite`](#api-allowwrite)。
+允许通过 API 运行任何测试文件。 This applies to the interactive elements (and the server code behind them) in the [UI](/guide/ui) that can run the code. This option also gates privileged browser APIs that can execute code indirectly, such as raw Chrome DevTools Protocol access through [`cdp()`](/api/browser/context#cdp).
diff --git a/config/benchmark.md b/config/benchmark.md
index d40775ad..04dcda08 100644
--- a/config/benchmark.md
+++ b/config/benchmark.md
@@ -46,6 +46,14 @@ Enables the benchmark project. When set, Vitest creates a dedicated benchmark pr
Include the `samples` array of per-iteration timings on every benchmark result. Disabled by default to reduce memory usage; enable when a custom reporter or API consumer needs the raw samples.
+## benchmark.provider
+
+- **Type:** `string`
+- **Default:** `undefined` (uses the built-in provider)
+
+The benchmark provider that executes registered benchmarks and returns their results. Set this to a module path whose default export implements `BenchmarkProvider`. Relative paths are resolved from the project root.
+
+See the [Custom Benchmark Provider](/guide/advanced/benchmark-provider) guide for setup instructions and the provider API.
## benchmark.suppressExportGetterWarnings
@@ -53,4 +61,3 @@ Include the `samples` array of per-iteration timings on every benchmark result.
- **Default:** `false`
Suppress the warning printed when a benchmark accesses module export getters too many times. Vitest tracks getter access during benchmark runs because Vite's module runner wraps every export in a getter, and excessive access can dominate the measurement (see [Module Runner Overhead](/guide/benchmarking#module-runner-overhead)). Enable this when you've intentionally accepted the overhead, or when the warning is noisy for benchmarks where the getter cost is negligible.
-
diff --git a/config/browser/dependencysourcemaps.md b/config/browser/dependencysourcemaps.md
new file mode 100644
index 00000000..e8deec98
--- /dev/null
+++ b/config/browser/dependencysourcemaps.md
@@ -0,0 +1,21 @@
+---
+title: browser.dependencySourcemaps | Config
+outline: deep
+---
+
+# browser.dependencySourcemaps
+
+- **Type:** `boolean`
+- **Default:** `true`
+
+Serve sourcemaps of your dependencies (files in `node_modules`) to the browser during headless test runs.
+
+These sourcemaps are used by browser devtools: with `dependencySourcemaps: false`, pausing inside dependency code shows the compiled code the browser actually runs instead of the dependency's original sources. If you don't debug into your dependencies this way, disabling them makes test runs faster: the server doesn't generate and inline the maps, and every browser tab downloads several times fewer bytes.
+
+Reported test errors are not affected: when an error is thrown inside a pre-bundled dependency, Vitest maps its stack frames using the sourcemaps stored on disk even when this option is disabled. Frames from dependencies that are served without pre-bundling (for example, [linked packages](https://vite.dev/guide/dep-pre-bundling#monorepos-and-linked-dependencies)) that don't ship their own sourcemaps fall back to the position in the served code, which usually matches the original file.
+
+Vitest never serves sourcemaps of its own pre-built modules in headless runs (unless [`--inspect`](/guide/cli#inspect) is used) — their frames are hidden from stack traces anyway. Sourcemaps of your own source files are always served.
+
+::: tip
+If some of your workspace code resolves to a `node_modules` path (for example, with `resolve.preserveSymlinks`), set [`server.sourcemapIgnoreList`](https://vite.dev/config/server-options#server-sourcemapignorelist) to keep its sourcemaps even when this option is disabled.
+:::
diff --git a/config/experimental.md b/config/experimental.md
index 0f377d0d..a790a962 100644
--- a/config/experimental.md
+++ b/config/experimental.md
@@ -5,105 +5,6 @@ outline: deep
# experimental
-## experimental.fsModuleCache 4.0.11 {#experimental-fsmodulecache}
-
-::: tip 功能反馈
-请将关于此功能反馈提交至 [GitHub Discussion](https://github.com/vitest-dev/vitest/discussions/9221)。
-:::
-
-- **类型:** `boolean`
-- **默认值:** `false`
-
-启用此选项后, Vitest 会将缓存的模块保存在文件系统上,从而在重新运行测试时获得更快的执行速度。
-
-你可以通过运行 [`vitest --clearCache`](/guide/cli#clearcache) 来删除旧缓存。
-
-::: warning 浏览器支持
-目前,此选项不会影响 [浏览器模式](/guide/browser/)。
-:::
-
-在运行 vitest 你可以设置 `DEBUG=vitest:cache:fs` 环境变量,来调试模块是否被缓存:
-
-```shell
-DEBUG=vitest:cache:fs vitest --experimental.fsModuleCache
-```
-
-### 已知问题 {#known-issues}
-
-Vitest 基于文件内容、文件 id、vite 的环境配置及覆盖率状态生成持久性文件哈希值。虽然 Vitest 会尽可能利用所有可获取的配置信息,但目前仍存在局限性。由于缺乏标准接口支持,当前无法追踪插件选项的变更情况。
-
-如果你的插件依赖文件内容或公开配置之外的因素(例如读取其他文件或目录),则可能出现缓存失效的情况。要解决这个问题,你可以定义一个 [缓存键生成器](/api/advanced/plugin#definecachekeygenerator) 来指定动态选项,或选择对该模块禁用缓存:
-
-```js [vitest.config.js]
-import { defineConfig } from 'vitest/config'
-
-export default defineConfig({
- plugins: [
- {
- name: 'vitest-cache',
- configureVitest({ experimental_defineCacheKeyGenerator }) {
- experimental_defineCacheKeyGenerator(({ id, sourceCode }) => {
- // 从不缓存此 id
- if (id.includes('do-not-cache')) {
- return false
- }
-
- // 根据动态变量的值缓存该文件
- if (sourceCode.includes('myDynamicVar')) {
- return process.env.DYNAMIC_VAR_VALUE
- }
- })
- }
- }
- ],
- test: {
- experimental: {
- fsModuleCache: true,
- },
- },
-})
-```
-如果你是插件作者,当你的插件可以通过不同配置选项影响转换结果时,建议在插件中定义 [缓存键生成器](/api/advanced/plugin#definecachekeygenerator)。
-
-另一方面,如果你的插件不应该影响缓存键,你可以通过将 `api.vitest.experimental.ignoreFsModuleCache` 设置为 `true` 来退出缓存机制:
-
-```js [vitest.config.js]
-import { defineConfig } from 'vitest/config'
-
-export default defineConfig({
- plugins: [
- {
- name: 'vitest-cache',
- api: {
- vitest: {
- experimental: {
- ignoreFsModuleCache: true,
- },
- },
- },
- },
- ],
- test: {
- experimental: {
- fsModuleCache: true,
- },
- },
-})
-```
-
-请注意,即使插件选择禁用缓存模块,你仍然可以定义缓存键生成器。
-
-## experimental.fsModuleCachePath 4.0.11 {#experimental-fsmodulecachepath}
-
-- **类型:** `string`
-- **默认值:** `'node_modules/.experimental-vitest-cache'`
-
-文件系统缓存所在的目录。
-
-默认情况下,Vitest 会尝试查找工作区根目录,并将缓存存储在 `node_modules` 文件夹中。根目录的确定基于你所使用的包管理器的锁文件(例如,`.package-lock.json`、`.yarn-state.yml`、`.pnpm/lock.yaml` 等)。
-
-目前,Vitest 会完全忽略 [test.cache.dir](/config/cache) 或 [cacheDir](https://vite.dev/config/shared-options#cachedir) 配置选项,并创建一个单独的缓存文件夹。
-
## experimental.openTelemetry 4.0.11 {#experimental-opentelemetry}
::: tip 功能反馈
diff --git a/config/fsmodulecache.md b/config/fsmodulecache.md
new file mode 100644
index 00000000..21462176
--- /dev/null
+++ b/config/fsmodulecache.md
@@ -0,0 +1,88 @@
+---
+title: fsModuleCache | Config
+outline: deep
+---
+
+# fsModuleCache 5.0.0
+
+- **Type:** `boolean`
+- **Default:** `false`
+- **CLI:** `--fsModuleCache`, `--fsModuleCache=false`
+
+In watch mode, Vitest caches all transformed files in memory, which makes reruns fast. However, this cache is discarded once the test run finishes. Enabling this option allows Vitest to persist the transformed modules on the file system, so they can be reused across reruns and separate Vitest processes.
+
+A single cache directory is shared by every project in the workspace. By default it lives in `node_modules` at the workspace root (so it is naturally invalidated when dependencies are reinstalled); use [`fsModuleCachePath`](/config/fsmodulecachepath) to change its location. You can delete the cache by running [`vitest --clearCache`](/guide/cli#clearcache).
+
+::: warning BROWSER SUPPORT
+At the moment, this option does not affect [the browser](/guide/browser/).
+:::
+
+You can debug if your modules are cached by running vitest with a `DEBUG=vitest:cache:fs` environment variable:
+
+```shell
+DEBUG=vitest:cache:fs vitest --fsModuleCache
+```
+
+::: tip
+The location of the cache is a single, workspace-wide directory. See [`fsModuleCachePath`](/config/fsmodulecachepath) to move it.
+:::
+
+## Known Issues
+
+Vitest creates a persistent file hash based on file content, its id, Vite's environment configuration and coverage status. Vitest tries to use as much information as it has about the configuration, but it is still incomplete. At the moment, it is not possible to track your plugin options because there is no standard interface for it.
+
+If you have a plugin that relies on things outside the file content or the public configuration (like reading another file or a folder), it's possible that the cache will get stale. To work around that, you can define a [cache key generator](/api/advanced/plugin#definecachekeygenerator) to specify a dynamic option or to opt out of caching for that module:
+
+```js [vitest.config.js]
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ plugins: [
+ {
+ name: 'vitest-cache',
+ configureVitest({ defineCacheKeyGenerator }) {
+ defineCacheKeyGenerator(({ id, sourceCode }) => {
+ // never cache this id
+ if (id.includes('do-not-cache')) {
+ return false
+ }
+
+ // cache this file based on the value of a dynamic variable
+ if (sourceCode.includes('myDynamicVar')) {
+ return process.env.DYNAMIC_VAR_VALUE
+ }
+ })
+ }
+ }
+ ],
+ test: {
+ fsModuleCache: true,
+ },
+})
+```
+
+If you are a plugin author, consider defining a [cache key generator](/api/advanced/plugin#definecachekeygenerator) in your plugin if it can be registered with different options that affect the transform result.
+
+On the other hand, if your plugin should not affect the cache key, you can opt out by setting `api.vitest.ignoreFsModuleCache` to `true`:
+
+```js [vitest.config.js]
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ plugins: [
+ {
+ name: 'vitest-cache',
+ api: {
+ vitest: {
+ ignoreFsModuleCache: true,
+ },
+ },
+ },
+ ],
+ test: {
+ fsModuleCache: true,
+ },
+})
+```
+
+Note that you can still define the cache key generator even if the plugin opts out of module caching.
diff --git a/config/fsmodulecachepath.md b/config/fsmodulecachepath.md
new file mode 100644
index 00000000..420e79ba
--- /dev/null
+++ b/config/fsmodulecachepath.md
@@ -0,0 +1,27 @@
+---
+title: fsModuleCachePath | Config
+outline: deep
+---
+
+# fsModuleCachePath 5.0.0
+
+- **Type:** `string`
+- **Default:** `'node_modules/.vitest-cache'` (resolved from the workspace root)
+- **CLI:** `--fsModuleCachePath=`
+
+Directory where the [`fsModuleCache`](/config/fsmodulecache) is stored.
+
+This can be set per project; projects that don't override it fall back to the root's cache directory. The lockfile metadata used to invalidate the cache is always shared across the whole workspace.
+
+By default Vitest stores the cache inside `node_modules` at the workspace root. The root is based on your package manager's lockfile (for example, `.package-lock.json`, `.yarn-state.yml`, `.pnpm/lock.yaml` and so on). Keeping it inside `node_modules` means the cache is naturally invalidated whenever dependencies are reinstalled.
+
+```ts
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ test: {
+ fsModuleCache: true,
+ fsModuleCachePath: 'node_modules/.vitest-cache',
+ },
+})
+```
diff --git a/config/injectcjsglobals.md b/config/injectcjsglobals.md
new file mode 100644
index 00000000..8119828d
--- /dev/null
+++ b/config/injectcjsglobals.md
@@ -0,0 +1,47 @@
+---
+title: injectCjsGlobals | Config
+---
+
+# injectCjsGlobals
+
+- **Type:** `boolean`
+- **Default:** `true`
+- **CLI:** `--no-inject-cjs-globals`, `--injectCjsGlobals=false`
+
+Inject CommonJS module variables (`module`, `exports`, `require`, `__filename`, `__dirname`) into every module processed by Vitest.
+
+By default, every file that Vitest transforms has access to these variables even if it is written using ESM syntax. This doesn't reflect how modules work in the wild: browsers do not support CommonJS variables, and Node.js doesn't expose them in ES modules.
+
+To make the module environment stricter and closer to the target runtime, you can disable this behaviour:
+
+```js
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ test: {
+ injectCjsGlobals: false,
+ },
+})
+```
+
+When this option is disabled, only modules that are detected to be CommonJS receive these variables. CommonJS modules always keep them because they are part of the module scope, without them the module cannot be evaluated at all. The module type is detected the same way Node.js does it:
+
+1. The file extension: `.cjs` and `.cts` files are always CommonJS, `.mjs` and `.mts` files are always ES modules.
+2. The `type` field in the nearest `package.json`: `"module"` means ES module, `"commonjs"` means CommonJS. Same as in Node.js, the lookup stops at the first `package.json` and never crosses a `node_modules` boundary, so dependencies don't inherit the `type` of your project.
+3. The presence of ESM syntax in the file: if the file has no static `import`/`export` declarations and doesn't reference `import.meta`, it is treated as CommonJS. Syntax inside comments and strings doesn't affect the detection. Dynamic imports are allowed in CommonJS modules, so they don't count as ESM syntax; type-only TypeScript imports are erased during the transform, so they don't count either.
+
+The syntax detection is always enabled: Vitest doesn't respect Node.js CLI flags that modify the module type resolution, like `--no-experimental-detect-module`, `--input-type` (it only applies to the string input in Node.js), or the `--experimental-default-type` flag removed in Node.js 23.
+
+Referencing a CommonJS variable in an ES module throws a `ReferenceError`, just like outside of Vitest:
+
+```
+ReferenceError: __dirname is not defined
+
+"__dirname" is a CommonJS variable that is not available in ES modules, and "injectCjsGlobals" is disabled. If this module is meant to be an ES module, use "import.meta.dirname" instead of "__dirname". If it is meant to be a CommonJS module, use the ".cjs" file extension, set "type": "commonjs" in the nearest package.json, or externalize it with "server.deps.external".
+```
+
+::: warning
+This option doesn't affect externalized modules which are always executed by the native runtime. Node.js provides CommonJS variables to externalized CommonJS modules on its own.
+
+Note that inlined CommonJS modules are not processed by Vite plugins even when this option is enabled: `require` calls always leave the module runner, so features like mocking do not apply to them.
+:::
diff --git a/config/projects.md b/config/projects.md
index 4ecce451..033dd923 100644
--- a/config/projects.md
+++ b/config/projects.md
@@ -3,9 +3,12 @@ title: projects | 配置
outline: deep
---
-# projects
+# projects
- **类型:** `TestProjectConfiguration[]`
- **默认值:** `[]`
一个由多个 [项目](/guide/projects) 组成的数组。
+
+
+A config file that declares `projects` doesn't run tests itself, it only provides the projects that do. This also applies to project config files: a referenced config that declares `projects` becomes a container for [nested projects](/guide/projects#nested-projects). The option is not supported inside an inline project configuration.
diff --git a/guide/advanced/benchmark-provider.md b/guide/advanced/benchmark-provider.md
new file mode 100644
index 00000000..be8975ab
--- /dev/null
+++ b/guide/advanced/benchmark-provider.md
@@ -0,0 +1,83 @@
+# Custom Benchmark Provider 5.0.0 advanced {#custom-benchmark-provider}
+
+::: warning
+This is an advanced, experimental API. If you only need to run benchmarks with Vitest's built-in provider, read the [Benchmarking](/guide/benchmarking) guide instead.
+:::
+
+Vitest uses a benchmark provider to execute the functions registered with `bench` and convert their measurements into results that Vitest can report. The built-in provider uses [Tinybench](https://github.com/tinylibs/tinybench), but you can replace it to use another benchmarking engine or execution strategy.
+
+## Setup
+
+Set [`benchmark.provider`](/config/benchmark#benchmark-provider) to the path of your provider module. Relative paths are resolved from the project root.
+
+```ts [vitest.config.ts]
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ test: {
+ benchmark: {
+ provider: './benchmark-provider.ts',
+ },
+ },
+})
+```
+
+The module must has a default export with an object that implements `BenchmarkProvider`. This example wraps Tinybench to demonstrate how registrations and results flow through a provider. If you use Tinybench in your provider, add it as a direct dependency of your project.
+
+```ts [benchmark-provider.ts]
+import type { BenchmarkProvider } from 'vitest'
+import { Bench } from 'tinybench'
+
+const provider = {
+ async run({ test, config, registrations, options }) {
+ const bench = new Bench({
+ signal: test.context.signal,
+ retainSamples: config.retainSamples,
+ ...options,
+ })
+
+ for (const { name, fn, fnOpts } of registrations) {
+ bench.add(name, fn, fnOpts)
+ }
+
+ await bench.run()
+
+ return bench.tasks.map((task) => {
+ const result = task.result
+
+ if (result.state === 'errored') {
+ throw result.error
+ }
+ if (result.state !== 'completed') {
+ throw new Error(`Benchmark "${task.name}" ended in the "${result.state}" state`)
+ }
+
+ return {
+ ...result,
+ name: task.name,
+ }
+ })
+ },
+} satisfies BenchmarkProvider
+
+export default provider
+```
+
+## Provider API
+
+Vitest calls `provider.run(group)` when a registration's `.run()` method is called, or once for all runnable registrations passed to `bench.compare()`. The `group` contains:
+
+- `test`: the test that registered the benchmarks. `test.context.signal` is aborted when the run is cancelled.
+- `config`: the resolved benchmark configuration for the current project.
+- `registrations`: runnable benchmarks in registration order. Every registration contains `name`, `fn`, and optional `fnOpts` for lifecycle hooks, cancellation, async behavior, and sample retention.
+- `options`: benchmark run options passed to `.run()` or `bench.compare()`, if any.
+
+The provider is responsible for honoring the run and registration options and for running every benchmark function and its `beforeAll`, `beforeEach`, `afterEach`, and `afterAll` hooks according to the benchmarking engine's lifecycle. If execution fails, throw the error to fail the test.
+
+`run` must resolve to one `BenchResult` for every runnable registration. Results are matched to registrations by `name` and are the source for `.run()` return values, comparison tables, reporters, and saved benchmark results. A custom engine must convert its measurements into the Tinybench-compatible `BenchResult` shape exported by `vitest`.
+
+Registrations created by `bench.from()` are loaded by Vitest and are not passed to the provider.
+
+## Provider Lifetime
+
+Vitest imports the provider module on first use and caches its default export for the lifetime of the worker. The API does not have separate setup or teardown hooks; keep worker-scoped state on the provider object when needed.
diff --git a/guide/advanced/index.md b/guide/advanced/index.md
index bb79add5..073fff39 100644
--- a/guide/advanced/index.md
+++ b/guide/advanced/index.md
@@ -85,19 +85,18 @@ const vitest = await createVitest('test', {
function resolveConfig(
options: UserConfig = {},
viteOverrides: ViteUserConfig = {},
-): Promise<{
- vitestConfig: ResolvedConfig
- viteConfig: ResolvedViteConfig
-}>
+ harness?: PluginHarness,
+): Promise
```
-此方法使用自定义参数解析配置。如果没有提供参数,则 `root` 将为 `process.cwd()`。
+此方法使用自定义参数解析配置,而不会创建 Vite 服务器。如果未提供任何参数,root 将设为 process.cwd()。
+
+It returns the resolved Vite config. The fully resolved Vitest config, including every project, lives on its `test` property.
```ts
import { resolveConfig } from 'vitest/node'
-// vitestConfig 只解析了 “测试” 属性
-const { vitestConfig, viteConfig } = await resolveConfig({
+const viteConfig = await resolveConfig({
mode: 'custom',
configFile: false,
resolve: {
@@ -108,12 +107,12 @@ const { vitestConfig, viteConfig } = await resolveConfig({
pool: 'threads',
},
})
+
+viteConfig.test.pool // 'threads'
```
::: info
-由于 Vite 的 `createServer` 工作方式, Vitest 必须在插件的 `configResolve` 钩子中解析配置。因此,此方法实际上并未在内部使用,而是仅作为公共 API 暴露。
-
-如果你将配置传递给 `startVitest` 或 `createVitest` API , Vitest 仍然会重新解析配置。
+由于 Vite 的 `createServer` 工作方式, Vitest 必须在插件的 `configResolve` 钩子中解析配置。因此,此方法实际上并未在内部使用,而是仅作为公共 API 暴露。如果你将配置传递给 `startVitest` 或 `createVitest` API , Vitest 仍然会重新解析配置。
:::
::: warning
@@ -122,6 +121,35 @@ const { vitestConfig, viteConfig } = await resolveConfig({
另外请注意,`viteConfig.test` 不会被完全解析。如果你需要 Vitest 配置,请使用 `vitestConfig` 代替。
:::
+
+## Project Configuration Resolution
+
+This section describes how the arguments of `startVitest`, `createVitest`, and `resolveConfig` interact with [test projects](/guide/projects). Without projects, all resolved options apply to the single root project and none of this matters.
+
+The root configuration is resolved from three inputs, in ascending priority:
+
+1. the root config file
+2. `viteOverrides`, merged on top of the config file values
+3. CLI options (`options`), applied on top of everything else
+
+Every project then resolves its own Vite config independently:
+
+- A project referenced as a config file or a directory resolves only its own file. It does not inherit any options from the root configuration.
+- An inline project inherits the root configuration by default (see [`extends`](/guide/projects#configuration)): the root config file is re-executed for the project, `viteOverrides` are merged on top of it, and the project's own options are merged last. Inheritance works even when there is no root config file, because `viteOverrides` are part of the effective root configuration.
+- With `extends: false`, an inline project resolves only its own options. With `extends: './path'`, the referenced file is re-executed instead of the root config file, and `viteOverrides` are not merged.
+
+A few options are excluded from inheritance:
+
+- `plugins` from `viteOverrides` are never inherited. A config file is re-executed for every project, which creates fresh plugin instances, but plugin instances passed in `viteOverrides` belong to the root Vite server and cannot be shared with project servers.
+- `test.browser` and `test.tagsFilter` from `viteOverrides` are never inherited: `browser` describes the instances of a single project, and `tagsFilter` applies to the whole run.
+- `name` and `projects` are never inherited; the root `globalSetup` is not inherited because it already runs once per test run.
+- The project's own `tags` always replace the `tags` array merged from an extended config instead of being concatenated with it, so the same tag names can be redefined.
+
+Independently of `extends`, two groups of options reach every project:
+
+- A fixed subset of CLI options that configure how tests run (`--testTimeout`, `--retry`, `--pool`, and similar) is applied to every project at the highest priority, mirroring the root resolution.
+- Run-level options only make sense for the test run as a whole: every project receives the root's resolved `coverage`, `attachmentsDir`, and `mergeReportsLabel` values.
+
## parseCLI
```ts
@@ -147,3 +175,52 @@ result.options
result.filter
// ['./files.ts']
```
+
+## createCLI
+
+```ts
+function createCLI(options?: CliParseOptions): CAC
+```
+
+Creates the Vitest command-line interface: a [`cac`](https://github.com/cacjs/cac) instance with all of Vitest's commands and options registered. [`parseCLI`](#parsecli) is built on top of it; use `createCLI` directly if you need the raw parser.
+
+```ts
+import { createCLI } from 'vitest/node'
+
+const cli = createCLI()
+```
+
+## PluginHarness
+
+```ts
+class PluginHarness {
+ vitest?: Vitest
+ version: string
+ logger: Logger
+ packageInstaller: VitestPackageInstaller
+ getVitest(): Vitest
+}
+```
+
+A container that Vitest passes to its internal plugins while the config is being resolved, before a [`Vitest`](/api/advanced/vitest) instance exists. It holds the [`Logger`](#logger), the package installer and the resolved version, and exposes the `Vitest` instance via `getVitest()` once it has been created (calling it earlier throws).
+
+This is an advanced, plugin-facing API. You rarely construct one directly, but you can pass a shared instance to [`resolveConfig`](#resolveconfig) to reuse a logger and package installer.
+
+## Logger
+
+```ts
+class Logger {
+ constructor(
+ outputStream?: Writable,
+ errorStream?: Writable,
+ )
+}
+```
+
+Vitest's terminal logger, exposed as [`vitest.logger`](/api/advanced/vitest). It handles formatted output, the error summary, the run banner and screen clearing. Construct one with custom `stdout`/`stderr` streams to capture or redirect Vitest's output when running it programmatically.
+
+```ts
+import { Logger } from 'vitest/node'
+
+const logger = new Logger(process.stdout, process.stderr)
+```
diff --git a/guide/advanced/pool.md b/guide/advanced/pool.md
index cebe4aea..5ae745c1 100644
--- a/guide/advanced/pool.md
+++ b/guide/advanced/pool.md
@@ -43,13 +43,11 @@ export default defineConfig({
test: {
projects: [
{
- extends: true,
test: {
pool: 'threads',
},
},
{
- extends: true,
test: {
pool: customPool({
customProperty: true,
diff --git a/guide/benchmarking.md b/guide/benchmarking.md
index 31a0a104..81bd0281 100644
--- a/guide/benchmarking.md
+++ b/guide/benchmarking.md
@@ -4,7 +4,8 @@ title: Benchmarking | Guide
# Benchmarking
-Vitest lets you write benchmarks alongside your tests using the `bench` fixture from the [test context](/guide/test-context). Benchmarks are powered by [Tinybench](https://github.com/tinylibs/tinybench) and are defined inside regular `test()` calls, giving you access to the full power of Vitest's test runner: retries, lifecycle hooks, filtering, and assertions.
+
+Vitest lets you write benchmarks alongside your tests using the `bench` fixture from the [test context](/guide/test-context). The built-in benchmark provider is powered by [Tinybench](https://github.com/tinylibs/tinybench), and benchmarks are defined inside regular `test()` calls, giving you access to the full power of Vitest's test runner: retries, lifecycle hooks, filtering, and assertions.
## Defining a Benchmark
@@ -23,18 +24,18 @@ test('parsing performance', async ({ bench }) => {
The `bench()` function registers a benchmark without executing it. Calling `.run()` runs the benchmark and returns the result. After the test completes, Vitest prints a single-row version of the [comparison table](#comparing-benchmarks) (ops/sec, mean time, percentiles, etc.), so you get the same output for a one-off benchmark as you do for `bench.compare()`.
::: warning
-The `bench` fixture is only available in files matched by [`benchmark.include`](/config/#benchmark-include) (default: `**/*.{bench,benchmark}.?(c|m)[jt]s?(x)`). Using `{ bench }` inside a regular test file will throw an error.
+The `bench` fixture is only available in files matched by [`benchmark.include`](/config/benchmark#benchmark-include) (default: `**/*.{bench,benchmark}.?(c|m)[jt]s?(x)`). Using `{ bench }` inside a regular test file will throw an error.
Whether a file participates in the benchmark run is decided by the filename, not by whether the test uses the `bench` fixture. Renaming `parser.test.ts` to `parser.bench.ts` (or adjusting `benchmark.include`) is what moves it into the benchmark project.
:::
## Running Benchmarks
-Benchmark files are matched by [`benchmark.include`](/config/#benchmark-include) (default: `**/*.{bench,benchmark}.?(c|m)[jt]s?(x)`) and run in their own project, separate from your regular tests. There are three ways to run them, depending on whether you want to skip them, run them alongside tests, or run them on their own.
+Benchmark files are matched by [`benchmark.include`](/config/benchmark#benchmark-include) (default: `**/*.{bench,benchmark}.?(c|m)[jt]s?(x)`) and run in their own project, separate from your regular tests. There are three ways to run them, depending on whether you want to skip them, run them alongside tests, or run them on their own.
### `vitest` (default)
-Without [`benchmark.enabled`](/config/#benchmark-enabled), the `vitest` command only runs regular tests. Benchmark files are ignored entirely. This is the default and the right choice for day-to-day development, since benchmarks are slow and noisy and shouldn't run on every save.
+Without [`benchmark.enabled`](/config/benchmark#benchmark-enabled), the `vitest` command only runs regular tests. Benchmark files are ignored entirely. This is the default and the right choice for day-to-day development, since benchmarks are slow and noisy and shouldn't run on every save.
### `vitest` with `benchmark.enabled`
@@ -72,6 +73,8 @@ vitest bench parser
vitest bench -t JSON
```
+To execute benchmarks with another benchmarking engine or execution strategy, see the [Custom Benchmark Provider](/guide/advanced/benchmark-provider) guide.
+
## Comparing Benchmarks
Use `bench.compare()` to compare multiple benchmarks against each other:
@@ -330,7 +333,7 @@ Use the same template in `bench.from()` so each project reads its own artifact.
Benchmarks are inherently flaky: CPU load, thermal throttling, GC pressure, and background processes all affect results. Vitest takes several steps to minimize this noise:
-- **Separate project**: Benchmark files are grouped into their own project based on the [`benchmark.include`](/config/#benchmark-include) pattern. The `bench` fixture is only exposed in files matched by that pattern. Using it inside a regular test file will throw an error.
+- **Separate project**: Benchmark files are grouped into their own project based on the [`benchmark.include`](/config/benchmark#benchmark-include) pattern. The `bench` fixture is only exposed in files matched by that pattern. Using it inside a regular test file will throw an error.
- **No concurrency**: Tests within a benchmark file always run sequentially. Benchmark files themselves also run one at a time, never in parallel. This prevents benchmarks from interfering with each other.
To further improve stability:
diff --git a/guide/browser/index.md b/guide/browser/index.md
index 40d27ee8..c8ac600d 100644
--- a/guide/browser/index.md
+++ b/guide/browser/index.md
@@ -118,7 +118,7 @@ export default defineConfig({
```
::: info
-Vitest 默认分配端口号 `63315` 以避免与开发服务器冲突,允许我们同时并行运行两者。我们可以通过 [`browser.api`](/config/browser/api) 选项来更改这个端口号。
+Vitest 默认分配端口号 `63315` 以避免与开发服务器冲突,允许我们同时并行运行两者。我们可以通过 [`api`](/config/api) 选项来更改这个端口号。
:::
如果之前未使用过 Vite,请确保已安装框架插件并在配置中指定。有些框架可能需要额外配置才能运行,请查看其 Vite 相关文档以确定。
diff --git a/guide/browser/visual-regression-testing.md b/guide/browser/visual-regression-testing.md
index 98e69e70..70025663 100644
--- a/guide/browser/visual-regression-testing.md
+++ b/guide/browser/visual-regression-testing.md
@@ -82,14 +82,12 @@ export default defineConfig({
// ...other configurations
projects: [
{
- extends: true,
test: {
name: 'unit',
exclude: [vrtPattern, ...defaultExclude],
},
},
{
- extends: true,
test: {
name: 'vrt',
browser: {
@@ -675,7 +673,6 @@ export default defineConfig({
// ...other configurations
projects: [
{
- extends: true,
test: {
name: 'vrt',
browser: {
diff --git a/guide/cli-generated.md b/guide/cli-generated.md
index 3e452dae..0a0f87c4 100644
--- a/guide/cli-generated.md
+++ b/guide/cli-generated.md
@@ -327,6 +327,13 @@ UI 模式和 HTML 报告器中提供的 HTML 覆盖率输出目录。
全局注入
+### injectCjsGlobals
+
+- **CLI:** `--injectCjsGlobals`
+- **Config:** [injectCjsGlobals](/config/injectcjsglobals)
+
+Inject CommonJS variables (`module`, `exports`, `require`, `__filename`, `__dirname`) into every test module. To disable, use `--no-inject-cjs-globals` (default: `true`)
+
### dom
- **命令行终端:** `--dom`
@@ -353,48 +360,6 @@ UI 模式和 HTML 报告器中提供的 HTML 覆盖率输出目录。
在无头模式下运行浏览器(即不打开图形用户界面)。如果在 CI 中运行 Vitest,默认情况下将启用无头模式 (默认值: `process.env.CI`)
-### browser.api.port
-
-- **命令行终端:** `--browser.api.port [port]`
-- **配置:** [browser.api.port](/config/browser/api#api-port)
-
-指定服务器端口。注意,如果端口已被使用,Vite 会自动尝试下一个可用端口,因此这可能不是服务器最终监听的实际端口。如果为 `true`,将设置为 `63315`
-
-### browser.api.host
-
-- **命令行终端:** `--browser.api.host [host]`
-- **配置:** [browser.api.host](/config/browser/api#api-host)
-
-指定服务器应该监听哪些 IP 地址。设为 `0.0.0.0` 或 `true` 则监听所有地址,包括局域网地址和公共地址
-
-### browser.api.strictPort
-
-- **命令行终端:** `--browser.api.strictPort`
-- **配置:** [browser.api.strictPort](/config/browser/api#api-strictport)
-
-设置为 true 时,如果端口已被使用,则退出,而不是自动尝试下一个可用端口
-
-### browser.api.allowExec
-
-- **命令行终端:** `--browser.api.allowExec`
-- **配置:** [browser.api.allowExec](/config/browser/api#api-allowexec)
-
-允许 API 执行代码。(在非受信环境中启用此选项时需谨慎)
-
-### browser.api.allowWrite
-
-- **命令行终端:** `--browser.api.allowWrite`
-- **配置:** [browser.api.allowWrite](/config/browser/api#api-allowwrite)
-
-允许 API 编辑文件。(在非受信环境中启用此选项时需谨慎)
-
-### browser.isolate
-
-- **命令行终端:** `--browser.isolate`
-- **配置:** [browser.isolate](/config/browser/isolate)
-
-隔离运行每个浏览器测试文件。要禁用隔离请使用 `--browser.isolate=false` (默认值: `true`)
-
### browser.ui
- **命令行终端:** `--browser.ui`
@@ -409,12 +374,6 @@ UI 模式和 HTML 报告器中提供的 HTML 覆盖率输出目录。
浏览器模式下详情面板的默认位置。可选 `right`(水平分割)或 `bottom`(垂直分割)(默认值:`right`)
-### browser.fileParallelism
-
-- **命令行终端:** `--browser.fileParallelism`
-
-浏览器测试文件是否应并行运行。使用 `--browser.fileParallelism=false` 进行禁用(默认值: `true`)
-
### browser.connectTimeout
- **命令行终端:** `--browser.connectTimeout `
@@ -422,6 +381,13 @@ UI 模式和 HTML 报告器中提供的 HTML 覆盖率输出目录。
如果连接浏览器时间超时,测试套件将失败 (默认值: `60_000`)
+### browser.dependencySourcemaps
+
+- **CLI:** `--browser.dependencySourcemaps`
+- **Config:** [browser.dependencySourcemaps](/config/browser/dependencysourcemaps)
+
+Serve sourcemaps of dependencies to the browser in headless runs, used by devtools when debugging into `node_modules`. Reported test errors are source-mapped either way. Use `--browser.dependencySourcemaps=false` to speed up test runs if you don't step into dependency code (default: `true`)
+
### browser.trackUnhandledErrors
- **命令行终端:** `--browser.trackUnhandledErrors`
@@ -828,7 +794,7 @@ Use TypeScript build mode
### project
-- **命令行终端:** `--project `
+- **命令行终端:** `-p, --project `
如果我们正在使用 Vitest 的工作区功能,这是要运行的项目名称。这个参数可以重复以指定多个项目:`--project=1 --project=2`。我们还可以使用通配符来过滤项目,例如 `--project=packages*`,以及使用 `--project=!pattern` 来排除项目
@@ -852,6 +818,20 @@ Use TypeScript build mode
- **配置:** [maxConcurrency](/config/maxconcurrency)
测试文件执行期间并发运行的测试和测试套件的最大数量(默认值:`5`)
+
+### fsModuleCache
+
+- **CLI:** `--fsModuleCache`
+- **Config:** [fsModuleCache](/config/fsmodulecache)
+
+Cache transformed modules on the file system and reuse them between reruns (default: `false`)
+
+### fsModuleCachePath
+
+- **CLI:** `--fsModuleCachePath `
+- **Config:** [fsModuleCachePath](/config/fsmodulecachepath)
+
+Directory where the `fsModuleCache` is stored (default: `node_modules/.vitest-cache`)
### expect.requireAssertions
@@ -935,7 +915,7 @@ watch 模式下重新运行测试时清除终端屏幕(默认值:`true`)
- **命令行终端:** `--clearCache`
-删除所有 Vitest 缓存,包括 `experimental.fsModuleCache`,且不运行任何测试。此操作会降低后续测试运行的性能。
+删除所有 Vitest 缓存,包括 `fsModuleCache`,且不运行任何测试。此操作会降低后续测试运行的性能。
### tagsFilter
@@ -950,13 +930,6 @@ watch 模式下重新运行测试时清除终端屏幕(默认值:`true`)
如果测试包含未在配置中定义的标签,Vitest 是否应抛出错误。(默认值:`true`)
-### experimental.fsModuleCache
-
-- **命令行终端:** `--experimental.fsModuleCache`
-- **配置:** [experimental.fsModuleCache](/config/experimental#experimental-fsmodulecache)
-
-在重新运行之前,启用文件系统上的缓存。
-
### experimental.importDurations.print
- **命令行终端:** `--experimental.importDurations.print `
diff --git a/guide/extending-matchers.md b/guide/extending-matchers.md
index a897d1d2..21385855 100644
--- a/guide/extending-matchers.md
+++ b/guide/extending-matchers.md
@@ -12,7 +12,7 @@ title: 扩展匹配器 | 指南
```ts
expect.extend({
- toBeFoo(received, expected) {
+ toBeFoo(received) {
const { isNot } = this
return {
// 请勿根据 isNot 参数更改你的 "pass" 值,Vitest 为你做了这件事情
@@ -29,11 +29,23 @@ expect.extend({
import 'vitest'
declare module 'vitest' {
- interface Matchers {
+ interface Matchers {
toBeFoo: () => R
}
}
```
+
+`R` is the assertion return type, and `T` is the type of the received value.
+
+Return `R` from matchers that run synchronously. This makes the return type `void` for a regular assertion and `Promise` when the assertion is used with `.resolves`, `.rejects`, [`expect.poll`](/api/expect#poll), or [`expect.element`](/api/browser/assertions). You can use `T` when an expected argument should have the same type as the received value:
+
+```ts
+declare module 'vitest' {
+ interface Matchers {
+ toEqualTyped: (expected: T) => R
+ }
+}
+```
::: tip
导入 `vitest` 会使 TypeScript 将其视为 ES 模块文件,若无此声明则类型检查将无法生效。
@@ -45,30 +57,42 @@ declare module 'vitest' {
不要忘记在 `tsconfig.json` 中包含声明文件。
:::
-断言的返回值应该兼容如下接口:
+断言的返回值应该兼容如下类型:
```ts
-interface MatcherResult {
+interface SyncMatcherResult {
pass: boolean
message: () => string
// 如果你传了这些参数,它们将自动出现在 diff 信息中,
// 所以即便断言不通过,你也不必自己输出 diff
actual?: unknown
expected?: unknown
+ meta?: object
}
+
+type MatcherResult = SyncMatcherResult | Promise
```
::: warning
-如果你实现了一个异步匹配器,记得在测试里对它的结果使用 `await`(例如:`await expect('foo').toBeFoo()`),否则可能不会按预期执行:
+If a matcher implementation is asynchronous, declare its return type as `Promise` instead of `R` and don't forget to `await` it in the test:
```ts
expect.extend({
- async toBeAsyncAssertion() {
- // ...
+ async toBeAsyncAssertion(received) {
+ return {
+ pass: received === 'foo',
+ message: () => `expected ${received} to be foo`,
+ }
}
})
-await expect().toBeAsyncAssertion()
+declare module 'vitest' {
+ interface Matchers {
+ toBeAsyncAssertion: () => Promise
+ }
+}
+
+await expect('foo').toBeAsyncAssertion()
```
:::
@@ -156,7 +180,7 @@ expect.extend({ customMatcher })
断言是否以 [`soft`](/api/expect#soft) 方式调用。你无需手动处理该逻辑,Vitest 始终会捕获错误。
-## `assertion` 4.1.4 {#assertion}
+## `assertion` 5.0.0 {#assertion}
底层 [Chai 断言](https://www.chaijs.com/guide/plugins/) 对象。这是与 Chai 插件接收的同一个实例,使你能够访问 Chai 的参数系统和可链式方法。适用于需要与 Chai 内部交互的自定义匹配器。
diff --git a/guide/improving-performance.md b/guide/improving-performance.md
index a640d81f..4677a5bc 100644
--- a/guide/improving-performance.md
+++ b/guide/improving-performance.md
@@ -89,7 +89,7 @@ export default defineConfig({
## 重新运行间的缓存机制 {#caching-between-reruns}
-在监听模式下,Vitest 会将所有转换后的文件缓存在内存中,从而实现快速重新运行。不过该缓存会在测试运行结束后被清除。通过启用 [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache) 配置,Vitest 会将此缓存持久化到文件系统,使其能在多次重运行间复用。
+在监听模式下,Vitest 会将所有转换后的文件缓存在内存中,从而实现快速重新运行。不过该缓存会在测试运行结束后被清除。通过启用 [`fsModuleCache`](/config/fsmodulecache) 配置,Vitest 会将此缓存持久化到文件系统,使其能在多次重运行间复用。
当重新运行少量依赖大型模块图的测试时,这种优化效果最为显著。对于完整测试套件,由于并行化机制会在早期测试仍在运行时通过其他测试填充内存缓存,其性能损耗已得到缓解。例如运行一个依赖庞大模块图(>900 个模块)的测试文件时:
@@ -100,6 +100,18 @@ Duration 8.75s (transform 4.02s, setup 629ms, import 5.52s, tests 2.52s, enviro
# 第二次运行
Duration 5.90s (transform 842ms, setup 543ms, import 2.35s, tests 2.94s, environment 0ms, prepare 3ms)
```
+
+## Node Compile Cache
+
+Vitest supports Node's [on-disk compile cache](https://nodejs.org/api/cli.html#node_compile_cachedir): when the `NODE_COMPILE_CACHE` environment variable points at a directory, the V8 bytecode of Vitest's own modules and of your externalized dependencies is written to disk and reused by later runs instead of being recompiled. Vitest propagates the variable to every worker, and workers persist the modules they compiled when they shut down.
+
+```shell
+NODE_COMPILE_CACHE=node_modules/.cache/node-compile-cache vitest
+```
+
+The first run with an empty directory pays for serializing the compiled modules, so this is only worth enabling when the directory survives between runs: local runs, or CI pipelines that cache the directory. `NODE_DISABLE_COMPILE_CACHE=1` disables the cache entirely, taking precedence over `NODE_COMPILE_CACHE`.
+
+Note that Vitest automatically disables the compile cache in workers when the `v8` coverage provider is enabled — V8 serializes cached scripts without the source positions that precise coverage relies on.
## 运行池 {#pool}
diff --git a/guide/migration.md b/guide/migration.md
index 07b179d7..d353bf2f 100644
--- a/guide/migration.md
+++ b/guide/migration.md
@@ -56,6 +56,88 @@ export default defineConfig({
})
```
+### Inline Projects Inherit the Root Config by Default
+
+The [`extends`](/guide/projects#configuration) option now defaults to `true`: every project defined as an inline configuration in [`test.projects`](/guide/projects) inherits all options from the root configuration, including Vite options like `plugins` or `resolve.alias`. The options are merged with the same rules that applied to an explicit `extends: true` in Vitest 4:
+
+```ts [vitest.config.ts]
+import { defineConfig } from 'vitest/config'
+import react from '@vitejs/plugin-react'
+
+export default defineConfig({
+ plugins: [react()],
+ test: {
+ projects: [
+ {
+ // v4: this project didn't apply the react plugin
+ // v5: the plugin is inherited from the root config
+ test: {
+ name: 'unit',
+ include: ['**/*.unit.test.ts'],
+ },
+ },
+ ],
+ },
+})
+```
+
+A few options are excluded because they are always scoped to a single project or to the whole test run:
+
+- `name` and `projects` are never inherited.
+- `globalSetup` is not inherited from the root config: the root-level `globalSetup` already runs once per test run, so inheriting it would run the same files again for every project. It is still inherited when extending a non-root config file.
+- The project's own `tags` replace the inherited array instead of being merged with it.
+
+Projects referenced as config files or directories are not affected; they still don't inherit any options from the root config.
+
+Keep in mind that arrays are merged, not overridden. For example, if the root config defines `setupFiles`, the project's own `setupFiles` are appended to the inherited ones. If you need the previous behavior, set `extends: false` in the project configuration:
+
+```ts [vitest.config.ts]
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ test: {
+ setupFiles: ['./setup.global.ts'],
+ projects: [
+ {
+ extends: false, // [!code ++]
+ test: {
+ name: 'unit',
+ setupFiles: ['./setup.unit.ts'],
+ },
+ },
+ ],
+ },
+})
+```
+
+### Referenced Config Files Can Define Their Own Projects
+
+A config file referenced in [`test.projects`](/guide/projects) that declares `projects` itself is now treated like the root config: it doesn't run tests on its own, it only provides the [nested projects](/guide/projects#nested-projects) it declares. Their names are prefixed with the name of the declaring config, e.g. `app (unit)`.
+
+In Vitest 4 the `projects` field of a referenced config was silently ignored and the config ran as a single project. Check that your project configs don't carry a `projects` field unknowingly. The most common way to do that is merging a config that defines it:
+
+```ts [packages/app/vitest.config.ts]
+import { defineProject, mergeConfig } from 'vitest/config'
+import rootConfig from '../../vitest.config' // [!code --]
+import sharedConfig from '../../vitest.shared' // [!code ++]
+
+export default mergeConfig(
+ // the root config defines `test.projects`, so merging it
+ // would turn this project into a container for those projects
+ rootConfig, // [!code --]
+ sharedConfig, // [!code ++]
+ defineProject({
+ test: {
+ environment: 'jsdom',
+ },
+ }),
+)
+```
+
+Since the inherited `projects` paths resolve relative to the referenced config, this misconfiguration usually fails loudly at startup with `Projects definition references a non-existing file or a directory`, `No projects were found in "..."`, or a circular `projects` definition error.
+
+Inline configurations continue to ignore the `projects` field at runtime, but it is now also excluded from their `ProjectConfig` type.
+
### Hoisted Mocking Calls Must Be at the Top Level
[`vi.mock`](/api/vi#vi-mock), [`vi.unmock`](/api/vi#vi-unmock), and [`vi.hoisted`](/api/vi#vi-hoisted) are hoisted to the top of the file and run before any surrounding code. Calling them inside a function, block, or `describe`/`test` callback previously only logged a warning. Vitest 5.0 now throws, because the call does not execute where it is written:
@@ -147,6 +229,15 @@ Temporal.Now.instant().epochMilliseconds // 0 (was the real time in v4)
vi.useFakeTimers({ toNotFake: ['Temporal'] })
```
+### `setSystemTime` Now Mocks Temporal
+
+Previously `vi.setSystemTime` mocked only `Date` without fake timers, but now it also mocks methods of `Temporal.Now`.
+
+```ts
+vi.setSystemTime(0)
+Temporal.Now.instant().epochMilliseconds // 0 (was the real time in v4)
+```
+
### `toThrow("")` Matches Any Error Message
[`toThrow`](/api/expect#tothrow) (and its alias `toThrowError`) treats a string argument as a substring of the error message. In Vitest 4 an empty string was special-cased to the `/^$/` pattern, so it matched only an error whose message was empty. It now behaves like any other substring, and an empty string is contained in every message:
@@ -162,6 +253,43 @@ To assert that a thrown error has an empty message, match the pattern explicitly
expect(() => { throw new Error('boom') }).not.toThrow(/^$/)
```
+### Assertion Types Expose Return and Received Types
+
+Assertion interfaces now use two type parameters: `R` is the matcher return type and `T` is the received value type. Synchronous assertions use `void`, while assertions accessed through `.resolves`, `.rejects`, [`expect.poll`](/api/expect#poll), or [`expect.element`](/api/browser/assertions) use `Promise`.
+
+If you declare custom matchers, augment the `Matchers` interface. It adds the matcher to instance assertions, asymmetric matchers, and the type accepted by `expect.extend`:
+
+```ts [vitest.d.ts]
+import 'vitest'
+
+interface CustomMatchers {
+ toBeFoo: () => R
+ toEqualTyped: (expected: T) => R
+}
+
+declare module 'vitest' {
+ interface Matchers extends CustomMatchers {}
+}
+```
+
+This makes custom matcher return types reflect how the matcher is used:
+
+```ts
+const syncResult = expect('value').toEqualTyped('other') // void
+const asyncResult = expect(Promise.resolve('value')).resolves.toEqualTyped('other') // Promise
+await asyncResult
+```
+
+Code that refers to assertion types directly must also provide the return type first:
+
+```ts
+Assertion // [!code --]
+Assertion // [!code ++]
+Assertion, string> // asynchronous assertion
+```
+
+Vitest no longer reads custom matcher declarations from the global `jest.Matchers` interface. Libraries that support both Jest and Vitest should augment `jest.Matchers` and `vitest.Matchers` separately. This only affects TypeScript declarations; registering matchers with `expect.extend` works as before.
+
### `expect.poll` Fails When It Times Out
[`expect.poll`](/api/expect#poll) now rejects when its callback, or the polled assertion, does not settle within `timeout`. Previously a callback that resolved after the deadline, or an assertion that only passed on a late attempt, could still succeed. The callback now also receives an `AbortSignal` that aborts when the timeout elapses, so you can cancel in-flight work:
diff --git a/guide/mocking.md b/guide/mocking.md
index 3e654416..557344a6 100644
--- a/guide/mocking.md
+++ b/guide/mocking.md
@@ -171,7 +171,7 @@ mocked() // 是一个 spy 函数
### 模拟当前日期 {#mock-the-current-date}
-要模拟 `Date` 的时间,你可以使用 `vi.setSystemTime` 辅助函数。 该值将**不会**在不同的测试之间自动重置。
+要模拟 `Date` 和 `Temporal` 的时间,你可以使用 `vi.setSystemTime` 辅助函数。 该值将 **不会** 在不同的测试之间自动重置。
请注意,使用 `vi.useFakeTimers` 也会更改 `Date` 的时间。
@@ -180,6 +180,8 @@ const mockDate = new Date(2022, 0, 1)
vi.setSystemTime(mockDate)
const now = new Date()
expect(now.valueOf()).toBe(mockDate.valueOf())
+const nowInstant = Temporal.Now.instant()
+expect(nowInstant.epochMilliseconds).toBe(mockDate.valueOf())
// 重置模拟的时间
vi.useRealTimers()
```
diff --git a/guide/projects.md b/guide/projects.md
index 2af93693..580e3f33 100644
--- a/guide/projects.md
+++ b/guide/projects.md
@@ -116,7 +116,7 @@ export default defineConfig({
此模式只会包含带有 `e2e` 或 `unit` 字样的 `vitest.config` 文件的项目。
你还可以使用内联配置定义项目。两种语法可以同时使用。
-
+
```ts [vitest.config.ts]
import { defineConfig } from 'vitest/config'
@@ -126,8 +126,8 @@ export default defineConfig({
// 匹配 packages 文件夹下的所有文件和文件夹
'packages/*',
{
- // 添加 "extends: true" 继承根配置中的选项
- extends: true,
+ // inline projects inherit the options
+ // from this config file by default
test: {
include: ['tests/**/*.{browser}.test.{ts,js}'],
// 建议内联配置时定义项目名称
@@ -136,6 +136,9 @@ export default defineConfig({
}
},
{
+ // add "extends: false" to ignore
+ // the options defined in this config file
+ extends: false,
test: {
include: ['tests/**/*.{node}.test.{ts,js}'],
// 名称标签颜色可自定义
@@ -233,8 +236,68 @@ bun run test --project e2e --project unit
:::
## 配置说明 {#configuration}
+
+Projects defined with an inline configuration inherit all options from the root-level configuration. This is controlled by the `extends` option, which is enabled by default since Vitest 5.0:
-项目配置不会继承根配置文件中的选项。你可以创建共享配置文件,并在项目配置中手动合并:
+```ts [vitest.config.ts]
+import { defineConfig } from 'vitest/config'
+import react from '@vitejs/plugin-react'
+
+export default defineConfig({
+ plugins: [react()],
+ test: {
+ pool: 'threads',
+ projects: [
+ {
+ // inherits options from this config like plugins and pool
+ // (`extends: true` is the default)
+ test: {
+ name: 'unit',
+ include: ['**/*.unit.test.ts'],
+ },
+ },
+ {
+ // won't inherit any options from this config
+ extends: false,
+ test: {
+ name: 'integration',
+ include: ['**/*.integration.test.ts'],
+ },
+ },
+ ],
+ },
+})
+```
+
+The `extends` option also accepts a path to another config file if you want to inherit options from a config file other than the root config:
+
+```ts [vitest.config.ts]
+import { defineConfig } from 'vitest/config'
+
+export default defineConfig({
+ test: {
+ projects: [
+ {
+ extends: './vitest.shared.ts',
+ test: {
+ name: 'unit',
+ include: ['**/*.unit.test.ts'],
+ },
+ },
+ ],
+ },
+})
+```
+
+All options from the extended config are merged with the project's own options. Note that arrays like `setupFiles` are concatenated, not overridden. A few options are treated specially:
+
+- `name` and `projects` are never inherited.
+- `globalSetup` is not inherited from the root config: the root-level `globalSetup` already runs once per test run, so inheriting it would run the same files again for every project. It is still inherited when extending a non-root config file.
+- The project's own `tags` replace the inherited array instead of being merged with it.
+
+If you run Vitest through the [advanced API](/guide/advanced/), see [Project Configuration Resolution](/guide/advanced/#project-configuration-resolution) for how the programmatic configuration participates in inheritance.
+
+Projects referenced as config files or directories do not inherit any options from the root config. You can create a shared config file and merge it with the project config yourself:
```ts [packages/a/vitest.config.ts]
import { defineProject, mergeConfig } from 'vitest/config'
@@ -250,32 +313,43 @@ export default mergeConfig(
)
```
-另外,你可以使用 `extends` 选项继承根配置,所有选项都会被合并。
+::: danger Unsupported Options
+Some of the configuration options are not allowed in a project config. Most notably:
+
+所有不支持在项目配置中使用的配置选项,在 ["配置"](/config/) 指南中会用 标记。它们必须在根配置文件中定义一次。
+:::
+
+## Nested Projects
+
+A project referenced as a config file (or a directory containing one) can declare `projects` itself. Such a config behaves like the root config: it doesn't run any tests on its own, it only provides the projects that do. This makes it possible to reference a workspace that already defines its own projects:
```ts [vitest.config.ts]
-import react from '@vitejs/plugin-react'
import { defineConfig } from 'vitest/config'
export default defineConfig({
- plugins: [react()],
test: {
- pool: 'threads',
+ projects: ['./packages/app/vitest.config.ts'],
+ },
+})
+```
+
+```ts [packages/app/vitest.config.ts]
+import { defineProject } from 'vitest/config'
+
+export default defineProject({
+ test: {
+ name: 'app',
projects: [
{
- // 继承此配置的选项,如 plugins 和 pool
- extends: true,
test: {
name: 'unit',
include: ['**/*.unit.test.ts'],
},
},
{
- // 不继承任何此配置的选项
- // 这是默认行为
- extends: false,
test: {
- name: 'integration',
- include: ['**/*.integration.test.ts'],
+ name: 'e2e',
+ include: ['**/*.e2e.test.ts'],
},
},
],
@@ -283,13 +357,31 @@ export default defineConfig({
})
```
-::: danger 不支持的选项
-部分配置选项不允许在项目配置中使用,主要包括:
-- `coverage`:覆盖率统计针对整个进程
-- `reporters`:只支持根级别的 reporters
-- `resolveSnapshotPath`:只尊重根级别的快照路径解析器
-- `attachmentsDir`:附件存储在由所有项目共享的一个根级目录中
-- 其他不影响测试运行器的选项
+Nested projects work the same way as projects defined in the root config: inline configurations extend the config that declares them (the `app` config here, not the root one), `extends` paths are resolved relative to it, and its own `globalSetup` is inherited by the extending projects [like any other non-root config](#configuration).
-所有不支持在项目配置中使用的配置选项,在 ["配置"](/config/) 指南中会用 标记。它们必须在根配置文件中定义一次。
-:::
+The names of nested projects are prefixed with the name of the config that declares them, so the example above creates the `app (unit)` and `app (e2e)` projects. The `--project` filter matches the prefix as well: `--project app` runs every project of the `app` config, while `--project "app (unit)"` runs only one of them.
+
+To also run the tests of the config that declares `projects`, reference its own config file:
+
+```ts [packages/app/vitest.config.ts]
+import { defineProject } from 'vitest/config'
+
+export default defineProject({
+ test: {
+ name: 'app',
+ include: ['**/*.test.ts'],
+ projects: [
+ // the "app" project runs its own "include" alongside "app (unit)"
+ './vitest.config.ts',
+ {
+ test: {
+ name: 'unit',
+ include: ['**/*.unit.test.ts'],
+ },
+ },
+ ],
+ },
+})
+```
+
+Note that only config files can define nested projects. The `projects` option inside an inline configuration is not supported.
diff --git a/guide/snapshot.md b/guide/snapshot.md
index 8dfef293..2c98c86c 100644
--- a/guide/snapshot.md
+++ b/guide/snapshot.md
@@ -240,8 +240,8 @@ import { expect, test, Snapshots } from 'vitest'
const { toMatchFileSnapshot, toMatchInlineSnapshot, toMatchSnapshot } = Snapshots
expect.extend({
- toMatchTrimmedSnapshot(received: string) {
- return toMatchSnapshot.call(this, received.slice(0, 10))
+ toMatchTrimmedSnapshot(received: string, length: number) {
+ return toMatchSnapshot.call(this, received.slice(0, length))
},
toMatchTrimmedInlineSnapshot(received: string, inlineSnapshot?: string) {
return toMatchInlineSnapshot.call(this, received.slice(0, 10), inlineSnapshot)
@@ -311,16 +311,16 @@ expect.extend({
:::
-对于 TypeScript,需扩展 `Assertion` 接口:
+对于 TypeScript,需扩展 `Matchers` 接口:
```ts
import 'vitest'
declare module 'vitest' {
- interface Assertion {
- toMatchTrimmedSnapshot: (length: number) => T
- toMatchTrimmedInlineSnapshot: (inlineSnapshot?: string) => T
- toMatchTrimmedFileSnapshot: (file: string) => Promise
+ interface Matchers {
+ toMatchTrimmedSnapshot: (length: number) => R
+ toMatchTrimmedInlineSnapshot: (inlineSnapshot?: string) => R
+ toMatchTrimmedFileSnapshot: (file: string) => Promise
}
}
```
@@ -385,14 +385,21 @@ type KVExpected = Record
使用 `expect.extend(...)` 注册自定义匹配器,并从 `vitest` 调用快照组合函数:
```ts [setup.ts]
-import { expect, Snaphsots } from 'vitest'
+import { expect, Snapshots } from 'vitest'
+
+declare module 'vitest' {
+ interface Matchers {
+ toMatchMyDomainSnapshot: () => R
+ toMatchMyDomainInlineSnapshot: (inlineSnapshot?: string) => R
+ }
+}
expect.extend({
toMatchMyDomainSnapshot(received: unknown) {
- return Snaphsots.toMatchDomainSnapshot.call(this, myAdapter, received)
+ return Snapshots.toMatchDomainSnapshot.call(this, myAdapter, received)
},
toMatchMyDomainInlineSnapshot(received: unknown, inlineSnapshot?: string) {
- return Snaphsots.toMatchDomainInlineSnapshot.call(
+ return Snapshots.toMatchDomainInlineSnapshot.call(
this,
myAdapter,
received,
@@ -488,6 +495,13 @@ export const kvAdapter: DomainSnapshotAdapter = {
import { expect, Snapshots } from 'vitest'
import { kvAdapter } from './kv-adapter'
+declare module 'vitest' {
+ interface Matchers {
+ toMatchKvSnapshot: () => R
+ toMatchKvInlineSnapshot: (inlineSnapshot?: string) => R
+ }
+}
+
expect.extend({
toMatchKvSnapshot(received: unknown) {
return Snapshots.toMatchDomainSnapshot.call(this, kvAdapter, received)
diff --git a/guide/ui.md b/guide/ui.md
index 818e2427..6e2509a8 100644
--- a/guide/ui.md
+++ b/guide/ui.md
@@ -118,7 +118,7 @@ npx vite preview --outDir .vitest
-此视图分为上下两部分。顶部显示完整的模块 ID 和一些关于模块的诊断信息。如果启用了 [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache),将会显示 "cached" 或 "not cached" 的徽章。在右侧你可以看到时间诊断信息:
+此视图分为上下两部分。顶部显示完整的模块 ID 和一些关于模块的诊断信息。如果启用了 [`fsModuleCache`](/config/fsmodulecache),将会显示 "cached" 或 "not cached" 的徽章。在右侧你可以看到时间诊断信息:
- 自身时间:导入模块所花费的时间,不包括静态导入。
- 总耗时:导入模块所花费的时间,包括静态导入。请注意,这不包括当前模块的 `transform` 时间。
diff --git a/package.json b/package.json
index 8b9c53fa..9f834a7f 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "docs-cn",
"type": "module",
- "version": "5.0.0-beta.6",
+ "version": "5.0.0-beta.7",
"private": true,
"packageManager": "pnpm@9.7.1",
"scripts": {
@@ -18,39 +18,39 @@
"prepare": "simple-git-hooks"
},
"dependencies": {
- "@vueuse/core": "^14.2.1",
- "vue": "^3.5.29"
+ "@vueuse/core": "^14.4.0",
+ "vue": "^3.5.40"
},
"devDependencies": {
- "@antfu/eslint-config": "^7.6.1",
- "@antfu/ni": "^28.3.0",
- "@iconify-json/carbon": "^1.2.19",
- "@iconify-json/logos": "^1.2.10",
- "@iconify/vue": "^5.0.0",
- "@shikijs/transformers": "^3.23.0",
- "@shikijs/vitepress-twoslash": "^3.23.0",
- "@types/node": "^25.0.3",
- "@unocss/reset": "^66.6.6",
+ "@antfu/eslint-config": "^9.2.0",
+ "@antfu/ni": "^30.3.0",
+ "@iconify-json/carbon": "^1.2.25",
+ "@iconify-json/logos": "^1.2.11",
+ "@iconify/vue": "^5.0.1",
+ "@shikijs/transformers": "^4.3.1",
+ "@shikijs/vitepress-twoslash": "^4.3.1",
+ "@types/node": "^26.1.2",
+ "@unocss/reset": "^66.7.5",
"@vite-pwa/assets-generator": "^1.0.2",
"@vite-pwa/vitepress": "^1.1.0",
- "@vitejs/plugin-vue": "^6.0.4",
- "@voidzero-dev/vitepress-theme": "^4.8.3",
- "eslint": "^10.0.3",
+ "@vitejs/plugin-vue": "^6.0.8",
+ "@voidzero-dev/vitepress-theme": "^5.0.4",
+ "eslint": "^10.8.0",
"eslint-factory": "^0.1.2",
"https-localhost": "^4.7.1",
- "lint-staged": "^16.2.7",
+ "lint-staged": "^17.3.0",
"pathe": "^2.0.3",
"simple-git-hooks": "^2.13.1",
- "tinyglobby": "^0.2.15",
- "tsx": "^4.21.0",
- "unocss": "^66.6.6",
- "vite": "^7.3.1",
- "vite-plugin-pwa": "^1.2.0",
+ "tinyglobby": "^0.2.17",
+ "tsx": "^4.23.4",
+ "unocss": "^66.7.5",
+ "vite": "^8.2.0",
+ "vite-plugin-pwa": "^1.3.0",
"vitepress": "2.0.0-alpha.16",
- "vitepress-plugin-group-icons": "^1.7.1",
- "vitepress-plugin-tabs": "^0.8.0",
- "vitest": "^4.0.17",
- "workbox-window": "^7.4.0"
+ "vitepress-plugin-group-icons": "^1.7.6",
+ "vitepress-plugin-tabs": "^0.9.1",
+ "vitest": "^4.1.10",
+ "workbox-window": "^7.4.1"
},
"simple-git-hooks": {
"pre-commit": "pnpm lint-staged"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c15e1f8d..35e73d0c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,63 +9,63 @@ importers:
.:
dependencies:
'@vueuse/core':
- specifier: ^14.2.1
- version: 14.2.1(vue@3.5.30(typescript@5.9.3))
+ specifier: ^14.4.0
+ version: 14.4.0(vue@3.5.40(typescript@5.9.3))
vue:
- specifier: ^3.5.29
- version: 3.5.30(typescript@5.9.3)
+ specifier: ^3.5.40
+ version: 3.5.40(typescript@5.9.3)
devDependencies:
'@antfu/eslint-config':
- specifier: ^7.6.1
- version: 7.7.3(@typescript-eslint/rule-tester@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3))(@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.30)(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)))
+ specifier: ^9.2.0
+ version: 9.2.0(@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3))(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.40)(eslint@10.8.0(jiti@2.6.1))(ts-declaration-location@1.0.7(typescript@5.9.3))(typescript@5.9.3)(vitest@4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)))
'@antfu/ni':
- specifier: ^28.3.0
- version: 28.3.0
+ specifier: ^30.3.0
+ version: 30.3.0
'@iconify-json/carbon':
- specifier: ^1.2.19
- version: 1.2.19
+ specifier: ^1.2.25
+ version: 1.2.25
'@iconify-json/logos':
- specifier: ^1.2.10
- version: 1.2.10
+ specifier: ^1.2.11
+ version: 1.2.11
'@iconify/vue':
- specifier: ^5.0.0
- version: 5.0.0(vue@3.5.30(typescript@5.9.3))
+ specifier: ^5.0.1
+ version: 5.0.1(vue@3.5.40(typescript@5.9.3))
'@shikijs/transformers':
- specifier: ^3.23.0
- version: 3.23.0
+ specifier: ^4.3.1
+ version: 4.4.1
'@shikijs/vitepress-twoslash':
- specifier: ^3.23.0
- version: 3.23.0(typescript@5.9.3)
+ specifier: ^4.3.1
+ version: 4.4.1(typescript@5.9.3)
'@types/node':
- specifier: ^25.0.3
- version: 25.5.0
+ specifier: ^26.1.2
+ version: 26.1.2
'@unocss/reset':
- specifier: ^66.6.6
- version: 66.6.6
+ specifier: ^66.7.5
+ version: 66.7.5
'@vite-pwa/assets-generator':
specifier: ^1.0.2
version: 1.0.2
'@vite-pwa/vitepress':
specifier: ^1.1.0
- version: 1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0)(workbox-window@7.4.0))
+ version: 1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(workbox-build@7.4.0)(workbox-window@7.4.1))
'@vitejs/plugin-vue':
- specifier: ^6.0.4
- version: 6.0.5(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))
+ specifier: ^6.0.8
+ version: 6.0.8(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))
'@voidzero-dev/vitepress-theme':
- specifier: ^4.8.3
- version: 4.8.4(change-case@5.4.4)(focus-trap@7.8.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(vitepress@2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))
+ specifier: ^5.0.4
+ version: 5.0.4(change-case@5.4.4)(focus-trap@7.8.0)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(vitepress@2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))
eslint:
- specifier: ^10.0.3
- version: 10.0.3(jiti@2.6.1)
+ specifier: ^10.8.0
+ version: 10.8.0(jiti@2.6.1)
eslint-factory:
specifier: ^0.1.2
- version: 0.1.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
+ version: 0.1.2(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
https-localhost:
specifier: ^4.7.1
version: 4.7.1
lint-staged:
- specifier: ^16.2.7
- version: 16.4.0
+ specifier: ^17.3.0
+ version: 17.3.0
pathe:
specifier: ^2.0.3
version: 2.0.3
@@ -73,55 +73,54 @@ importers:
specifier: ^2.13.1
version: 2.13.1
tinyglobby:
- specifier: ^0.2.15
- version: 0.2.15
+ specifier: ^0.2.17
+ version: 0.2.17
tsx:
- specifier: ^4.21.0
- version: 4.21.0
+ specifier: ^4.23.4
+ version: 4.23.4
unocss:
- specifier: ^66.6.6
- version: 66.6.6(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^66.7.5
+ version: 66.7.5(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
vite:
- specifier: ^7.3.1
- version: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ specifier: ^8.2.0
+ version: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
vite-plugin-pwa:
- specifier: ^1.2.0
- version: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0)(workbox-window@7.4.0)
+ specifier: ^1.3.0
+ version: 1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(workbox-build@7.4.0)(workbox-window@7.4.1)
vitepress:
specifier: 2.0.0-alpha.16
- version: 2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+ version: 2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0)
vitepress-plugin-group-icons:
- specifier: ^1.7.1
- version: 1.7.1(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^1.7.6
+ version: 1.7.6(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
vitepress-plugin-tabs:
- specifier: ^0.8.0
- version: 0.8.0(vitepress@2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))
+ specifier: ^0.9.1
+ version: 0.9.1(vitepress@2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))
vitest:
- specifier: ^4.0.17
- version: 4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^4.1.10
+ version: 4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
workbox-window:
- specifier: ^7.4.0
- version: 7.4.0
+ specifier: ^7.4.1
+ version: 7.4.1
packages:
- '@antfu/eslint-config@7.7.3':
- resolution: {integrity: sha512-BtroDxTvmWtvr3yJkdWVCvwsKlnEdkreoeOyrdNezc/W5qaiQNf2xjcsQ3N5Yy0x27h+0WFfW8rG8YlVioG6dw==}
+ '@antfu/eslint-config@9.2.0':
+ resolution: {integrity: sha512-v/j0Pjn6Sj9CxHT8n4nIKI8lg4O/+P4G+Zdbg7u/3J6JaLayxRXsX2Twx0fjpUtoyxW5mdYd67QycVfr1ahirA==}
hasBin: true
peerDependencies:
'@angular-eslint/eslint-plugin': ^21.1.0
'@angular-eslint/eslint-plugin-template': ^21.1.0
'@angular-eslint/template-parser': ^21.1.0
- '@eslint-react/eslint-plugin': ^2.11.0
+ '@eslint-react/eslint-plugin': ^5.6.0
'@next/eslint-plugin-next': '>=15.0.0'
'@prettier/plugin-xml': ^3.4.1
'@unocss/eslint-plugin': '>=0.50.0'
- astro-eslint-parser: ^1.0.2
+ astro-eslint-parser: '>=1.0.2'
eslint: ^9.10.0 || ^10.0.0
- eslint-plugin-astro: ^1.2.0
+ eslint-plugin-astro: '>=1.2.0'
eslint-plugin-format: '>=0.1.0'
eslint-plugin-jsx-a11y: '>=6.10.2'
- eslint-plugin-react-hooks: ^7.0.0
eslint-plugin-react-refresh: ^0.5.0
eslint-plugin-solid: ^0.14.3
eslint-plugin-svelte: '>=2.35.1'
@@ -152,8 +151,6 @@ packages:
optional: true
eslint-plugin-jsx-a11y:
optional: true
- eslint-plugin-react-hooks:
- optional: true
eslint-plugin-react-refresh:
optional: true
eslint-plugin-solid:
@@ -172,9 +169,9 @@ packages:
'@antfu/install-pkg@1.1.0':
resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
- '@antfu/ni@28.3.0':
- resolution: {integrity: sha512-JbRijiCNAGcQcyPfV0EXOJYwV27e/srXfTvETqzbbh4jzHBV2pDYiBz8rj5SyzX27aTbCK+qXR3x6g2WKokcrA==}
- engines: {node: '>=20'}
+ '@antfu/ni@30.3.0':
+ resolution: {integrity: sha512-KkYFVPA1IvC3m+WBKUuY5oxYc4OdXr83jvnlOn8a+bJM10yQMu+slFN/1pDzAw2JZVi+FYP9IYjo4KaPIccMmA==}
+ engines: {node: '>=20.19.0'}
hasBin: true
'@apideck/better-ajv-errors@0.3.6':
@@ -270,10 +267,18 @@ packages:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.29.7':
+ resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.28.5':
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-option@7.27.1':
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
@@ -291,6 +296,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.8':
+ resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5':
resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==}
engines: {node: '>=6.9.0'}
@@ -678,14 +688,20 @@ packages:
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.29.8':
+ resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
+ engines: {node: '>=6.9.0'}
+
'@canvas/image-data@1.1.0':
resolution: {integrity: sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA==}
- '@clack/core@1.1.0':
- resolution: {integrity: sha512-SVcm4Dqm2ukn64/8Gub2wnlA5nS2iWJyCkdNHcvNHPIeBTGojpdJ+9cZKwLfmqy7irD4N5qLteSilJlE0WLAtA==}
+ '@clack/core@1.4.3':
+ resolution: {integrity: sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==}
+ engines: {node: '>= 20.12.0'}
- '@clack/prompts@1.1.0':
- resolution: {integrity: sha512-pkqbPGtohJAvm4Dphs2M8xE29ggupihHdy1x84HNojZuMtFsHiUlRvqD24tM2+XmI+61LlfNceM3Wr7U5QES5g==}
+ '@clack/prompts@1.7.0':
+ resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==}
+ engines: {node: '>= 20.12.0'}
'@docsearch/css@4.6.0':
resolution: {integrity: sha512-YlcAimkXclvqta47g47efzCM5CFxDwv2ClkDfEs/fC/Ak0OxPH2b3czwa4o8O1TRBf+ujFF2RiUwszz2fPVNJQ==}
@@ -696,28 +712,44 @@ packages:
'@docsearch/sidepanel-js@4.6.0':
resolution: {integrity: sha512-lFT5KLwlzUmpoGArCScNoK41l9a22JYsEPwBzMrz+/ILVR5Ax87UphCuiyDFQWEvEmbwzn/kJx5W/O5BUlN1Rw==}
- '@e18e/eslint-plugin@0.2.0':
- resolution: {integrity: sha512-mXgODVwhuDjTJ+UT+XSvmMmCidtGKfrV5nMIv1UtpWex2pYLsIM3RSpT8HWIMAebS9qANbXPKlSX4BE7ZvuCgA==}
+ '@e18e/eslint-plugin@0.5.1':
+ resolution: {integrity: sha512-mqUozeyNI9xvJbjrOO7y765dT7Kud3bwCm/DHwctxdEngPdJWQaS9BNGgpM1wCCzZfOtlKQh4ZRhm3VRomT9KA==}
peerDependencies:
eslint: ^9.0.0 || ^10.0.0
- oxlint: ^1.41.0
+ oxlint: ^1.68.0
peerDependenciesMeta:
eslint:
optional: true
oxlint:
optional: true
- '@emnapi/core@1.9.0':
- resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==}
+ '@emnapi/core@1.10.0':
+ resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
+
+ '@emnapi/core@2.0.0-alpha.3':
+ resolution: {integrity: sha512-AZypUeJ/yByuxyS7BlSNRDOMLMlROYtjYdIAuBmJssVz1UJDSeYxLrdizhXCFYhedC5bqd/ASy8EuNXbVVXp9g==}
+
+ '@emnapi/runtime@1.10.0':
+ resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
'@emnapi/runtime@1.9.0':
resolution: {integrity: sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==}
- '@emnapi/wasi-threads@1.2.0':
- resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
+ '@emnapi/runtime@2.0.0-alpha.3':
+ resolution: {integrity: sha512-hFPAhMUjJD9BSyCANEISPOogeXC9Zo9ZQl7L6vKnaVsMkCtzznaW/naYypeyl0Gv5rYfWYsZbpixTMpjDJzQeA==}
- '@es-joy/jsdoccomment@0.84.0':
- resolution: {integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w==}
+ '@emnapi/wasi-threads@1.2.1':
+ resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
+
+ '@emnapi/wasi-threads@2.0.1':
+ resolution: {integrity: sha512-9DsSk+o5NBX0CCJT8s0EROGSGxjR/tKu6aBTaVyq+SjAEQH4XcdcRxPBRzsBLizTTJ49MJjF+jgu3qnO9GLQcQ==}
+
+ '@es-joy/jsdoccomment@0.88.0':
+ resolution: {integrity: sha512-GK/HL/claLLNo5KG705auIlZMwEtmn88ofSGuLsmVZwKBqMPJhW9DiznYNq07QEqz9BPtA3LBfYImtZmhVvRAw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
+ '@es-joy/jsdoccomment@0.91.0':
+ resolution: {integrity: sha512-vgqlMGNNhZxwDYbUNIHj3Hskb4R28iqdXx90ufHyt/NeuTQkeqjTDslAs9I0/GCAfbxP5BpH5WsL1R1fht5Lxg==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@es-joy/resolve.exports@1.2.0':
@@ -730,158 +762,314 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/aix-ppc64@0.28.1':
+ resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/android-arm64@0.27.4':
resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm64@0.28.1':
+ resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm@0.27.4':
resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
+ '@esbuild/android-arm@0.28.1':
+ resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-x64@0.27.4':
resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
+ '@esbuild/android-x64@0.28.1':
+ resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/darwin-arm64@0.27.4':
resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-arm64@0.28.1':
+ resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.27.4':
resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
+ '@esbuild/darwin-x64@0.28.1':
+ resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/freebsd-arm64@0.27.4':
resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-arm64@0.28.1':
+ resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.27.4':
resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.28.1':
+ resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/linux-arm64@0.27.4':
resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm64@0.28.1':
+ resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm@0.27.4':
resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
+ '@esbuild/linux-arm@0.28.1':
+ resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-ia32@0.27.4':
resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-ia32@0.28.1':
+ resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-loong64@0.27.4':
resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-loong64@0.28.1':
+ resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.27.4':
resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-mips64el@0.28.1':
+ resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.27.4':
resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-ppc64@0.28.1':
+ resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.27.4':
resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-riscv64@0.28.1':
+ resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-s390x@0.27.4':
resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-s390x@0.28.1':
+ resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-x64@0.27.4':
resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
+ '@esbuild/linux-x64@0.28.1':
+ resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/netbsd-arm64@0.27.4':
resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
+ '@esbuild/netbsd-arm64@0.28.1':
+ resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.27.4':
resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.28.1':
+ resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/openbsd-arm64@0.27.4':
resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-arm64@0.28.1':
+ resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.27.4':
resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.28.1':
+ resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openharmony-arm64@0.27.4':
resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
+ '@esbuild/openharmony-arm64@0.28.1':
+ resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
'@esbuild/sunos-x64@0.27.4':
resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
+ '@esbuild/sunos-x64@0.28.1':
+ resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/win32-arm64@0.27.4':
resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-arm64@0.28.1':
+ resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-ia32@0.27.4':
resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-ia32@0.28.1':
+ resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-x64@0.27.4':
resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-plugin-eslint-comments@4.7.1':
- resolution: {integrity: sha512-Ql2nJFwA8wUGpILYGOQaT1glPsmvEwE0d+a+l7AALLzQvInqdbXJdx7aSu0DpUX9dB1wMVBMhm99/++S3MdEtQ==}
+ '@esbuild/win32-x64@0.28.1':
+ resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-plugin-eslint-comments@4.7.2':
+ resolution: {integrity: sha512-LF03qURSwEWm2dz5wtdDCzNk+7Opl0X7q6I3undsaIuNsEiNvRV3BCtqu14Q/6Pzg1tBj44LcxpW2EpSLZStZw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0
@@ -905,36 +1093,40 @@ packages:
eslint:
optional: true
- '@eslint/config-array@0.23.3':
- resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==}
+ '@eslint/config-array@0.23.5':
+ resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/config-helpers@0.5.3':
- resolution: {integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==}
+ '@eslint/config-helpers@0.5.5':
+ resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/core@0.17.0':
- resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/config-helpers@0.7.0':
+ resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/core@1.1.1':
resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/markdown@7.5.1':
- resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/core@1.2.1':
+ resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/object-schema@3.0.3':
- resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==}
+ '@eslint/css-tree@4.0.5':
+ resolution: {integrity: sha512-iPmijIAq4hlIJB86PYmY/fcZORHtjphSqICDbwuw32A/JmkhZQ/K/6TjHE03zqf3n5yABpVcbRAMG8Mi9ojy8g==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/plugin-kit@0.4.1':
- resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/markdown@8.0.3':
+ resolution: {integrity: sha512-rBTSSShrq7e4O+PWfeE4azH4/CWPNrC+VGxBXiW00o3vYVJnznsZiDayj3KC9JztIMVRZxZHn2nrDIUau/4j7A==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
+ '@eslint/object-schema@3.0.5':
+ resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/plugin-kit@0.6.1':
- resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==}
+ '@eslint/plugin-kit@0.7.2':
+ resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@floating-ui/core@1.7.5':
@@ -968,28 +1160,28 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
- '@iconify-json/carbon@1.2.19':
- resolution: {integrity: sha512-l89XjtEeSA5fxlxPTNSU9AA+rxaz/Dn0X/ux0/3awR+tAayY8iJqWQu3AKxhchfx3LB/fX1Nv3ZppZzrBAt7aA==}
+ '@iconify-json/carbon@1.2.25':
+ resolution: {integrity: sha512-7GLgXnmi47Skh8DcPPiP8U3vgm3rOVziEe+flCdG/kwiVaeb649U3Eqt/ej4f3NvlZK8BrOxpR3xQlWFLZYblQ==}
- '@iconify-json/logos@1.2.10':
- resolution: {integrity: sha512-qxaXKJ6fu8jzTMPQdHtNxlfx6tBQ0jXRbHZIYy5Ilh8Lx9US9FsAdzZWUR8MXV8PnWTKGDFO4ZZee9VwerCyMA==}
+ '@iconify-json/logos@1.2.11':
+ resolution: {integrity: sha512-fOo4pGEatuyuCFNL+cwquYMa2Im0oJHRHV7lt/Qqs5Ode/lPImHCQcfTtPzZj7qYMPb/h8YHN3TG54uEowrjNQ==}
'@iconify-json/simple-icons@1.2.74':
resolution: {integrity: sha512-yqaohfY6jnYjTVpuTkaBQHrWbdUrQyWXhau0r/0EZiNWYXPX/P8WWwl1DoLH5CbvDjjcWQw5J0zADhgCUklOqA==}
- '@iconify-json/vscode-icons@1.2.45':
- resolution: {integrity: sha512-ow+ueibMIq79ueM1kv6cOWgHx8jfh1XJQi2RrqMHb4HLbvIBlxpy5PCMvOJXlA68R6fBAHpWQeh6uWx7VKEVsA==}
+ '@iconify-json/vscode-icons@1.2.68':
+ resolution: {integrity: sha512-AG8aMOGv+dzQI50oOD9zMqvh/pnlhb8F2HR2FcKDN7qIZt4wFaUTxKAOtt49EskGdOl8z8Ll1vteUI060jCbDw==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- '@iconify/utils@3.1.0':
- resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==}
+ '@iconify/utils@3.1.4':
+ resolution: {integrity: sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==}
- '@iconify/vue@5.0.0':
- resolution: {integrity: sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==}
+ '@iconify/vue@5.0.1':
+ resolution: {integrity: sha512-aumwwooJlFJ5H5qYWB6ZTAyM0C8hpfcSVLB9/a3qnH1GGvIJ+FEbpEs4s/HfErYe/M5qZeLjwmESR5fFm3lXEw==}
peerDependencies:
- vue: '>=3'
+ vue: '>=3.0.0'
'@img/sharp-darwin-arm64@0.33.5':
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
@@ -1125,134 +1317,141 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@napi-rs/wasm-runtime@1.1.1':
- resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
+ '@napi-rs/wasm-runtime@1.2.2':
+ resolution: {integrity: sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3
+ '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3
'@ota-meshi/ast-token-store@0.3.0':
resolution: {integrity: sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@oxc-parser/binding-android-arm-eabi@0.115.0':
- resolution: {integrity: sha512-VoB2rhgoqgYf64d6Qs5emONQW8ASiTc0xp+aUE4JUhxjX+0pE3gblTYDO0upcN5vt9UlBNmUhAwfSifkfre7nw==}
+ '@oxc-parser/binding-android-arm-eabi@0.131.0':
+ resolution: {integrity: sha512-t2xicr9pfzkSRYx5aPqZqlLaayIwJTqgQ81Jor31Xep2nGyL2Aq3d0K5wOfeR7VevaSdxaS9dzSQP9xDwn8fDg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [android]
- '@oxc-parser/binding-android-arm64@0.115.0':
- resolution: {integrity: sha512-lWRX75u+gqfB4TF3pWCHuvhaeneAmRl2b2qNBcl4S6yJ0HtnT4VXOMEZrq747i4Zby1ZTxj6mtOe678Bg8gRLw==}
+ '@oxc-parser/binding-android-arm64@0.131.0':
+ resolution: {integrity: sha512-nlGIod6gw75x1aEDgLS+srj+JRGY0HHm9MI9YgzE/B64l6d6+H3MSP9NOgp0+HTg8tp4vV9rVfgQGgd+TfVZcA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@oxc-parser/binding-darwin-arm64@0.115.0':
- resolution: {integrity: sha512-ii/oOZjfGY1aszXTy29Z5DRyCEnBOrAXDVCvfdfXFQsOZlbbOa7NMHD7D+06YFe5qdxfmbWAYv4yn6QJi/0d2g==}
+ '@oxc-parser/binding-darwin-arm64@0.131.0':
+ resolution: {integrity: sha512-jukuV6xe5RbQKFo7QD34NDCLDZp4PSOm8rmckhNdH/60ymG5zXbDzGBEyc+nTkuLQNama2aSGCt+CPfpjNTqyw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@oxc-parser/binding-darwin-x64@0.115.0':
- resolution: {integrity: sha512-R/sW/p8l77wglbjpMcF+h/3rWbp9zk1mRP3U14mxTYIC2k3m+aLBpXXgk2zksqf9qKk5mcc4GIYsuCn9l8TgDg==}
+ '@oxc-parser/binding-darwin-x64@0.131.0':
+ resolution: {integrity: sha512-g3JOo4khe9rslHm5WYaVDWb0HS/M1MLR3I9S8560MkKIcC96VQY00QjOlsuRyfSj/JDXj8i9T7ryPO2RidiXVg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@oxc-parser/binding-freebsd-x64@0.115.0':
- resolution: {integrity: sha512-CSJ5ldNm9wIGGkhaIJeGmxRMZbgxThRN+X1ufYQQUNi5jZDV/U3C2QDMywpP93fczNBj961hXtcUPO/oVGq4Pw==}
+ '@oxc-parser/binding-freebsd-x64@0.131.0':
+ resolution: {integrity: sha512-1hziITDTxjMePnX+dR9ocVT+EuZkQ8wm4FPAbmbEiKG+Phbo73J1ZnPAA6Y/aGsWF3McOFnQuZIktAFwalkfJQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@oxc-parser/binding-linux-arm-gnueabihf@0.115.0':
- resolution: {integrity: sha512-uWFwssE5dHfQ8lH+ktrsD9JA49+Qa0gtxZHUs62z1e91NgGz6O7jefHGI6aygNyKNS45pnnBSDSP/zV977MsOQ==}
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.131.0':
+ resolution: {integrity: sha512-9uRxfXwyKG9+MwmGQBo2ncPNwZH5HTmCETFM2WiuDBNDCW4NC5ttSQkwCAMrTAWgwMzVBH1CP8pM0v7nebCWXQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-parser/binding-linux-arm-musleabihf@0.115.0':
- resolution: {integrity: sha512-fZbqt8y/sKQ+v6bBCuv/mYYFoC0+fZI3mGDDEemmDOhT78+aUs2+4ZMdbd2btlXmnLaScl37r8IRbhnok5Ka9w==}
+ '@oxc-parser/binding-linux-arm-musleabihf@0.131.0':
+ resolution: {integrity: sha512-mgbLvzRShXOLBdWGInf08Af4q+pfj1xD8hSgLClDZ9of/BXkB6+LIhTH7fihiDUipqB3yoSkKBWaZ3Ejlf5Yag==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-parser/binding-linux-arm64-gnu@0.115.0':
- resolution: {integrity: sha512-1ej/MjuTY9tJEunU/hUPIFmgH5PqgMQoRjNOvOkibtJ3Zqlw/+Lc+HGHDNET8sjbgIkWzdhX+p4J96A5CPdbag==}
+ '@oxc-parser/binding-linux-arm64-gnu@0.131.0':
+ resolution: {integrity: sha512-OPT8++4aN6j2GJ8+3IZHS/byXoZP4aSBn+FoG6rgBJ2fKwPKXWF3MqrFMNW7NKHM28FLY579xYLxJSfgobEqPA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
- '@oxc-parser/binding-linux-arm64-musl@0.115.0':
- resolution: {integrity: sha512-HjsZbJPH9mMd4swJRywVMsDZsJX0hyKb1iNHo5ijRl5yhtbO3lj7ImSrrL1oZ1VEg0te4iKmDGGz/6YPLd1G8w==}
+ '@oxc-parser/binding-linux-arm64-musl@0.131.0':
+ resolution: {integrity: sha512-vtPiwmfVTAXzaxDKsOXG+LwgRAA7WEnaeHzhS5z0GE89gAK18KSXnly7Z6saXXq6L3dVMyK44uoTI03zKxrpmw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
- '@oxc-parser/binding-linux-ppc64-gnu@0.115.0':
- resolution: {integrity: sha512-zhhePoBrd7kQx3oClX/W6NldsuCbuMqaN9rRsY+6/WoorAb4j490PG/FjqgAXscWp2uSW2WV9L+ksn0wHrvsrg==}
+ '@oxc-parser/binding-linux-ppc64-gnu@0.131.0':
+ resolution: {integrity: sha512-8AW8L7w5cGHSdZPcyZX2yR0+GUODsT15rbRjfdD54rv6DMbtuEB19ysLOpKJlRGfH6UNYNpCHaU1uJWgTWf1/w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
- '@oxc-parser/binding-linux-riscv64-gnu@0.115.0':
- resolution: {integrity: sha512-t/IRojvUE9XrKu+/H1b8YINug+7Q6FLls5rsm2lxB5mnS8GN/eYAYrPgHkcg9/1SueRDSzGpDYu3lGWTObk1zw==}
+ '@oxc-parser/binding-linux-riscv64-gnu@0.131.0':
+ resolution: {integrity: sha512-vvpjkjEOUsPcsYf8evE4MO3aGx9+3wodXEBOicGNnOwTuAik8eBONNkgSdhkGsAblQmfVHJyanRnpxglddTXIA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
- '@oxc-parser/binding-linux-riscv64-musl@0.115.0':
- resolution: {integrity: sha512-79jBHSSh/YpQRAmvYoaCfpyToRbJ/HBrdB7hxK2ku2JMehjopTVo+xMJss/RV7/ZYqeezgjvKDQzapJbgcjVZA==}
+ '@oxc-parser/binding-linux-riscv64-musl@0.131.0':
+ resolution: {integrity: sha512-AqmcNC3fClXX+fxQ6VGEN1667xVFiRBkY0CZmDMSiaeFUsv1+UkBPYYi48IUKcA9/ivvoKNRzQl2I4//kT9F/w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
- '@oxc-parser/binding-linux-s390x-gnu@0.115.0':
- resolution: {integrity: sha512-nA1TpxkhNTIOMMyiSSsa7XIVJVoOU/SsVrHIz3gHvWweB5PHCQfO7w+Lb2EP0lBWokv7HtA/KbF7aLDoXzmuMw==}
+ '@oxc-parser/binding-linux-s390x-gnu@0.131.0':
+ resolution: {integrity: sha512-7d3jOMKy7RSQCcDLIci+ySll2FgsOMl/GiRux4q2JNv0zg4EdhFISa9idvrdN/HEUIQQJNg6dmveUeJl2YErGA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
- '@oxc-parser/binding-linux-x64-gnu@0.115.0':
- resolution: {integrity: sha512-9iVX789DoC3SaOOG+X6NcF/tVChgLp2vcHffzOC2/Z1JTPlz6bMG2ogvcW6/9s0BG2qvhNQImd+gbWYeQbOwVw==}
+ '@oxc-parser/binding-linux-x64-gnu@0.131.0':
+ resolution: {integrity: sha512-JHK/h95qVqVQ+ITER837kcTdwBDFpFaNnOTYGCP0zdUSX/mLKC7tXOoyrTb6vG7iRPwGlcgBil3v2IjYw1FqJA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
- '@oxc-parser/binding-linux-x64-musl@0.115.0':
- resolution: {integrity: sha512-RmQmk+mjCB0nMNfEYhaCxwofLo1Z95ebHw1AGvRiWGCd4zhCNOyskgCbMogIcQzSB3SuEKWgkssyaiQYVAA4hQ==}
+ '@oxc-parser/binding-linux-x64-musl@0.131.0':
+ resolution: {integrity: sha512-b2BO82O8azXAyf7EUgOPKu145nWypbNyk07HbU09fkzhm9lEA5oPvaN/M8Nlo7tOErVTa2WOgS4QbOnxAPXdDQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
- '@oxc-parser/binding-openharmony-arm64@0.115.0':
- resolution: {integrity: sha512-viigraWWQhhDvX5aGq+wrQq58k00Xq3MHz/0R4AFMxGlZ8ogNonpEfNc73Q5Ly87Z6sU9BvxEdG0dnYTfVnmew==}
+ '@oxc-parser/binding-openharmony-arm64@0.131.0':
+ resolution: {integrity: sha512-GHO9glZaX7LkX/OGfluEPf1yjg+ehiFbUdowbX6uNWOQhmwKWU4m4+nZ9FJkrHNKuxyI1KKertMdGjVKCApKWA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@oxc-parser/binding-wasm32-wasi@0.115.0':
- resolution: {integrity: sha512-IzGCrMwXhpb4kTXy/8lnqqqwjI7eOvy+r9AhVw+hsr8t1ecBBEHprcNy0aKatFHN6hsX7UMHHQmBAQjVvL/p1A==}
- engines: {node: '>=14.0.0'}
+ '@oxc-parser/binding-wasm32-wasi@0.131.0':
+ resolution: {integrity: sha512-3SkikPaEFoih1N83qLVEDLRLeY4nYsf6JT9SnWiMCQ5lGQdKup6bEuKCqkRiG9dD1IIaFeYz9RjlciPmYoFIWA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@oxc-parser/binding-win32-arm64-msvc@0.115.0':
- resolution: {integrity: sha512-/ym+Absk/TLFvbhh3se9XYuI1D7BrUVHw4RaG/2dmWKgBenrZHaJsgnRb7NJtaOyjEOLIPtULx1wDdVL0SX2eg==}
+ '@oxc-parser/binding-win32-arm64-msvc@0.131.0':
+ resolution: {integrity: sha512-Os5bEhryeA2jkH+ZrnZyAC1EP5gs+X4YB1Fjqml7UPD5kU7ecsK1MPEVMfCrdt/GDNpDbavYXiOXOdyJ5b3OPw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@oxc-parser/binding-win32-ia32-msvc@0.115.0':
- resolution: {integrity: sha512-AQSZjIR+b+Te7uaO/hGTMjT8/oxlYrvKrOTi4KTHF/O6osjHEatUQ3y6ZW2+8+lJxy20zIcGz6iQFmFq/qDKkg==}
+ '@oxc-parser/binding-win32-ia32-msvc@0.131.0':
+ resolution: {integrity: sha512-m+jNz9EuF0NXoiptc6B9h5yompZQVW/a5MJeOu5zojfH5yWk82tvF2ccrHkfhgtrS9h9DD5l1Qv8dWlfY7Nz8g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@oxc-parser/binding-win32-x64-msvc@0.115.0':
- resolution: {integrity: sha512-oxUl82N+fIO9jIaXPph8SPPHQXrA08BHokBBJW8ct9F/x6o6bZE6eUAhUtWajbtvFhL8UYcCWRMba+kww6MBlA==}
+ '@oxc-parser/binding-win32-x64-msvc@0.131.0':
+ resolution: {integrity: sha512-o14Hk8dAyiEUMFEWEgmAwFZvBt1RzAYLM3xeQ+5315JXgVYhoemivgYcbYVRbsFkS71ShMGlAFE0kPnr460rww==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@oxc-project/types@0.115.0':
- resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==}
+ '@oxc-project/types@0.131.0':
+ resolution: {integrity: sha512-PgnWDfV0h+b16XNKbXU7Daib/BFSt/J2mEzfYIBu6JB/wNdlU+kVYXCkGA1A9fWkTbOgbjh4e6NhPeQOYvFhEA==}
+
+ '@oxc-project/types@0.142.0':
+ resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==}
'@pkgr/core@0.2.9':
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
@@ -1267,8 +1466,96 @@ packages:
'@rive-app/canvas-lite@2.35.3':
resolution: {integrity: sha512-C4xU4v0G2sXbtQnv0D01I1+mb4JaQ0atb5QiKxq5gnxH9ZeJzaBbf3xZuuJhnDycdHbIc6RHUIuvIaUKzyA63w==}
- '@rolldown/pluginutils@1.0.0-rc.2':
- resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==}
+ '@rolldown/binding-android-arm64@1.2.1':
+ resolution: {integrity: sha512-02hOeOSryYxVrOIphmLAsqnCJWxwlzFk+pEt/N/i6OgT3lShHO7xGCU5cpgchRDHboAEbSjzgGh+O/u1GswQmA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.2.1':
+ resolution: {integrity: sha512-fMsTOnN0OjFm3CyppWPitKnc8UlliVARUULW6cfU6AIqjdtgmSFWSk9vecHzZduv/yMWIHDlRhM1e8Iff9uAfA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.2.1':
+ resolution: {integrity: sha512-1wjKdz/XLGKHaTNHjQveQ/B23TKx4ItAqm1JbyVuvNPc4Ze0Fb48s49TAd/2zcplPl8okE/UbTgmlVfwT7eFeQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.2.1':
+ resolution: {integrity: sha512-Fa0jHR07E7YBN4vOEsbVf2briYNsuOowfLJaXULZM0ldMlaCaj2LJgLMbMe4iacRyZmvR8efFhgR9wKuGclQUg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.2.1':
+ resolution: {integrity: sha512-pzkgu1SSHGgRRyRZ4fbmSgmajbVt+epaLP99NDjFft69v/ypfTi6swBMiVdh2EkQ0OSnHE1lZDM7DRGkyAzUpA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.2.1':
+ resolution: {integrity: sha512-QI5SEDY8cbiYWHx0VO4vIc3UlS6a32vXHjU8Qy/17adEmZIPuByJg13UEvo9c/UCiUkdcVWY83C+b+JrwnNyUg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-musl@1.2.1':
+ resolution: {integrity: sha512-Sm41FyCeXqmYcERoYOCbGIL5hNfd8w9LQ7Y61Bev48HkcjaJqV/iiVOaiDxjVTRMS+QKrZmD8cfPt4uMVnvM+A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.2.1':
+ resolution: {integrity: sha512-2x+WhXTGl9yJYPbltW/BSEPTVz9OIWQyER4N+gJEDWkkn904eRcBzELqh/Hf7K0w/ubGbKNMv0ZC+94QK/IFEg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rolldown/binding-linux-s390x-gnu@1.2.1':
+ resolution: {integrity: sha512-eEjmQpuRQayHPWWnywaWHkFT3ToPbP3RYy42VVd/B9aBGDA+Ol25EIWHxKQST3IiWJjikCWUF7KtbfqwZrzVwQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-gnu@1.2.1':
+ resolution: {integrity: sha512-/Orga1fZYkLc/56jBICcHrKchl8Z2UKdDSr3LG9ToWO1lQ6a4Livk9Xz+9WN91zsz5QR3XQz2NNoSDEvP6qadw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-musl@1.2.1':
+ resolution: {integrity: sha512-xxBJRL+0q0Kce7orznGWLuylHDY65vuARXZRpX+hPdv+DqK2c3NlCsVA98tlWzWNEE7yPqA/1NQ5nnCrj49Y5A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-openharmony-arm64@1.2.1':
+ resolution: {integrity: sha512-M6AdXIXw3s+/8XpKMzdGDEXGS1S7kwUsy+rcTIUIOx5Ge4nXKCtAFHFV9YKkXvGcC5WMoTjAteLzlsQROVI0Yw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.2.1':
+ resolution: {integrity: sha512-/TX0SoRGojHzSAHpfVBbavRVSazg5U3h3Y3VXfcc0cdugq6kxdqw8LPGFiPr+/7gE/60zRcsOY2Vi9b9eT0jww==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
+
+ '@rolldown/binding-win32-arm64-msvc@1.2.1':
+ resolution: {integrity: sha512-EvRrivJieyHG+AO9lleZWgq+g0+S7oV2C51yuqlcyU/R9net+sI4Pj0F+lUoP2bEr6TWX3SqFaaS0SzfLxSzkw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.2.1':
+ resolution: {integrity: sha512-Z4eCmn5QJ/5+azF9knpLWKfVd9aidn0mAe9TpJgvBLId9Ax3t0+JVxBmT25Bv7NBbVW1TZyKjQjQReouMeH5UQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.1':
+ resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
'@rollup/plugin-babel@5.3.1':
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
@@ -1447,31 +1734,65 @@ packages:
'@shikijs/core@3.23.0':
resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==}
+ '@shikijs/core@4.4.1':
+ resolution: {integrity: sha512-VeR2CY6Nn9/WbisoYLOQZ7HZOnwTrpBuOw4wExjqLnBCi62BNWynBUO6K2uPIASPFJwAv7cX1fUu+LrPlSstcw==}
+ engines: {node: '>=20'}
+
'@shikijs/engine-javascript@3.23.0':
resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==}
+ '@shikijs/engine-javascript@4.4.1':
+ resolution: {integrity: sha512-6U4lJBh8LTvIkEVqRHv/rr3ruwtO6IweFQt1ME1ntHJMGHS+6N86vfYGO1o8c/DtOCTia2lfhdQBtBrps1sDfQ==}
+ engines: {node: '>=20'}
+
'@shikijs/engine-oniguruma@3.23.0':
resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==}
+ '@shikijs/engine-oniguruma@4.4.1':
+ resolution: {integrity: sha512-p23RugMKss0r5DAtRJW1yAXUDl60JvhQYV20yuxei//26JyDSJefV3umyWzzwep2weblMnJGDYahuti6XkcMgA==}
+ engines: {node: '>=20'}
+
'@shikijs/langs@3.23.0':
resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==}
+ '@shikijs/langs@4.4.1':
+ resolution: {integrity: sha512-xb2kCMloBCIraIy2fS5MW0t/BxVY3q2nDyQKBoeSeq6KNrQbShHetCFlw2n35fGIJ6t3+hXDLQogP5ir9O9bvA==}
+ engines: {node: '>=20'}
+
+ '@shikijs/primitive@4.4.1':
+ resolution: {integrity: sha512-ko2OfDoG89YuQ7xL5LtcQiWKb7NIv1Ephb7g48TVU198OzAMLC8lXVEwaJGHK4sUMYrfAGJDqYmNLOLiW/Kz8w==}
+ engines: {node: '>=20'}
+
'@shikijs/themes@3.23.0':
resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==}
+ '@shikijs/themes@4.4.1':
+ resolution: {integrity: sha512-wudOaoFro+/Zl9gQv2W1Ur5XlVduqvTuYLI483Xi0wgc1A+cy1hfB2r6ac6ufBgF+ID7KJEW7L41MHrzQ4wH+w==}
+ engines: {node: '>=20'}
+
'@shikijs/transformers@3.23.0':
resolution: {integrity: sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==}
- '@shikijs/twoslash@3.23.0':
- resolution: {integrity: sha512-pNaLJWMA3LU7PhT8tm9OQBZ1epy0jmdgeJzntBtr1EVXLbHxGzTj3mnf9vOdcl84l96qnlJXkJ/NGXZYBpXl5g==}
+ '@shikijs/transformers@4.4.1':
+ resolution: {integrity: sha512-Sb9Eehas+5EhClpFgNuklwY3aWf354FLaKRCiAWmjdNbHAjoQUpv6WmSj+N19eTXO6GLIWh1dIOH9dxyauhVWw==}
+ engines: {node: '>=20'}
+
+ '@shikijs/twoslash@4.4.1':
+ resolution: {integrity: sha512-FDv09P7ZYrJpzrJ8LnoT8KZa8ZuWZqAsqWzkVkqExuce9ZsgRZ1966KgniSZM2YJMWudKgNIeadl1TsuBFrVhg==}
+ engines: {node: '>=20'}
peerDependencies:
typescript: '>=5.5.0'
'@shikijs/types@3.23.0':
resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
- '@shikijs/vitepress-twoslash@3.23.0':
- resolution: {integrity: sha512-CnNsKIxxkRxRkL5+m6TNPit563TYfEEqlod8C6N1rfeZvX4xUlRrpoKyoWKmpGSNyjWWeYpMZTUH18YTTOxKfw==}
+ '@shikijs/types@4.4.1':
+ resolution: {integrity: sha512-GOwCLQDHM5EjGUWNPrhzJbr6JP8V/Dx/CDVkWvbZ1Avw5JFnNUckrgbLmE07qtg4WlW7Q7QFndhjIkeU9XMPvw==}
+ engines: {node: '>=20'}
+
+ '@shikijs/vitepress-twoslash@4.4.1':
+ resolution: {integrity: sha512-8mclYzjBm5hRUjbvq6g3cjLCITqAd8+Eac/cefYCwwqdClyBEqJmilNkJ7ZG2ndYS/P14STTU2TED1ZdzpbG0g==}
+ engines: {node: '>=20'}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -1598,8 +1919,8 @@ packages:
peerDependencies:
vue: ^2.7.0 || ^3.0.0
- '@tybys/wasm-util@0.10.1':
- resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+ '@tybys/wasm-util@0.10.3':
+ resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
'@types/chai@5.2.3':
resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
@@ -1619,12 +1940,21 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
+
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ '@types/hast@3.0.5':
+ resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==}
+
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ '@types/katex@0.16.8':
+ resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
+
'@types/linkify-it@5.0.0':
resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
@@ -1640,8 +1970,8 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@25.5.0':
- resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==}
+ '@types/node@26.1.2':
+ resolution: {integrity: sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -1655,20 +1985,20 @@ packages:
'@types/web-bluetooth@0.0.21':
resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
- '@typescript-eslint/eslint-plugin@8.57.1':
- resolution: {integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ==}
+ '@typescript-eslint/eslint-plugin@8.65.0':
+ resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.57.1
+ '@typescript-eslint/parser': ^8.65.0
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/parser@8.57.1':
- resolution: {integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw==}
+ '@typescript-eslint/parser@8.65.0':
+ resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/project-service@8.57.1':
resolution: {integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==}
@@ -1676,39 +2006,59 @@ packages:
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/rule-tester@8.57.1':
- resolution: {integrity: sha512-gk0q0rLa7a1uEB0iD2t1GZELK1z6HfudiKYeSVhjQ5gW5FdL0OcZ+8f09Lg7NbmHSBF3V+S9BDuw0qoCFkHR+w==}
+ '@typescript-eslint/project-service@8.65.0':
+ resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/scope-manager@8.57.1':
resolution: {integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.65.0':
+ resolution: {integrity: sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/tsconfig-utils@8.57.1':
resolution: {integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.57.1':
- resolution: {integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA==}
+ '@typescript-eslint/tsconfig-utils@8.65.0':
+ resolution: {integrity: sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
+ '@typescript-eslint/type-utils@8.65.0':
+ resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/types@8.57.1':
resolution: {integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/types@8.65.0':
+ resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/typescript-estree@8.57.1':
resolution: {integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/typescript-estree@8.65.0':
+ resolution: {integrity: sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/utils@8.57.1':
resolution: {integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1716,10 +2066,21 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/utils@8.65.0':
+ resolution: {integrity: sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/visitor-keys@8.57.1':
resolution: {integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.65.0':
+ resolution: {integrity: sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript/vfs@1.6.4':
resolution: {integrity: sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ==}
peerDependencies:
@@ -1727,78 +2088,76 @@ packages:
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+ deprecated: Potential CWE-502 - Update to 1.3.1 or higher
- '@unocss/cli@66.6.6':
- resolution: {integrity: sha512-78SY8j4hAVelK+vP/adsDGaSjEITasYLFECJLHWxUJSzK+G9UIc5wtL/u4jA+zKvwVkHcDvbkcO5K6wwwpAixg==}
- engines: {node: '>=14'}
+ '@unocss/cli@66.7.5':
+ resolution: {integrity: sha512-fgWkECRn2LGVo9sEpmjk/KJ3NSKUDitaZCNrJcEYM93DG+ELriTHcL+VWBlF4rcZf9fdGlq1nKbbRHUZirFCHQ==}
hasBin: true
- '@unocss/config@66.6.6':
- resolution: {integrity: sha512-menlnkqAFX/4wR2aandY8hSqrt01JE+rOzvtQxWaBt8kf1du62b0sS72FE5Z40n6HlEsEbF91N9FCfhnzG6i6g==}
- engines: {node: '>=14'}
+ '@unocss/config@66.7.5':
+ resolution: {integrity: sha512-dkPl9glhEahJ+Xoja5ZseKKnH+vZaeaKQzg8b0otcKcPPNrHQgu1nu3QgfeOjnXOGrjZIotHwUeVtt4ZA2Skgg==}
- '@unocss/core@66.6.6':
- resolution: {integrity: sha512-Sbbx0ZQqmV8K2lg8E+z9MJzWb1MgRtJnvqzxDIrNuBjXasKhbcFt5wEMBtEZJOr63Z4ck0xThhZK53HmYT2jmg==}
+ '@unocss/core@66.7.5':
+ resolution: {integrity: sha512-UdJb8MiMywcau8QrWEVgUAz0kvoFHyR+sACwYCgmBh/BpKJGyR/zw/Ys3wvysbm0f+i/20VGBex/QQxYVlzdyQ==}
- '@unocss/extractor-arbitrary-variants@66.6.6':
- resolution: {integrity: sha512-uMzekF2miZRUwSZGvy3yYQiBAcSAs9LiXK8e3NjldxEw8xcRDWgTErxgStRoBeAD6UyzDcg/Cvwtf2guMbtR+g==}
+ '@unocss/extractor-arbitrary-variants@66.7.5':
+ resolution: {integrity: sha512-5zOkbnLIJc8E749qNjLXfPHl3FdHloop12h706/ojr6idK4ix0KLm43R//uLnphixCehdHJRuHnavnM4C/kQbA==}
- '@unocss/inspector@66.6.6':
- resolution: {integrity: sha512-CpXIsqHwxCXJtUjUz6S29diHCIA+EJ1u5WML/6m2YPI4ObgWAVKrExy09inSg2icS52lFkWWdWQSeqc9kl5W6Q==}
+ '@unocss/inspector@66.7.5':
+ resolution: {integrity: sha512-WmTJMnj8bmRxvw/wGeShmL2eEHr2/L0BdGTXSxhfzwcO8y5XZEbBmVciLcM7pqaTXQ6JY4+KnITrDUf1urjZxQ==}
- '@unocss/preset-attributify@66.6.6':
- resolution: {integrity: sha512-3H12UI1rBt60PQy+S4IEeFYWu1/WQFuc2yhJ5mu/RCvX5/qwlIGanBpuh+xzTPXU1fWBlZN68yyO9uWOQgTqZQ==}
+ '@unocss/preset-attributify@66.7.5':
+ resolution: {integrity: sha512-1Oi1Cp81pqYJwG3h4+OlP5A0FKyaa07MFBXaXc4Yr3faiTbsI8SKj2TqnZCb+NQvBsEqslEd+jKXGZ3lKzCVOQ==}
- '@unocss/preset-icons@66.6.6':
- resolution: {integrity: sha512-HfIEEqf3jyKexOB2Sux556n0NkPoUftb2H4+Cf7prJvKHopMkZ/OUkXjwvUlxt1e5UpAEaIa0A2Ir7+ApxXoGA==}
+ '@unocss/preset-icons@66.7.5':
+ resolution: {integrity: sha512-ZsxadWnGGtHdANTikuMnjkQaT1qwUFJHZBF4fzVsPMnUiiKGs8rzXukwM9w3Gi9ontM7nbG2FYi9clWETSlpFg==}
- '@unocss/preset-mini@66.6.6':
- resolution: {integrity: sha512-k+/95PKMPOK57cJcSmz34VkIFem8BlujRRx6/L0Yusw7vLJMh98k0rPhC5s+NomZ/d9ZPgbNylskLhItJlak3w==}
+ '@unocss/preset-mini@66.7.5':
+ resolution: {integrity: sha512-o37TSl4ecT0dKu+3/TYuTYht75h82SEwDNl476m9ve0KW4Pv1O2tT/9TWd7N5cutEpySr8/YtjMwtWBD+drxBg==}
- '@unocss/preset-tagify@66.6.6':
- resolution: {integrity: sha512-KgBXYPYS0g4TVC3NLiIB78YIqUlvDLanz1EHIDo34rOTUfMgY8Uf5VuDJAzMu4Sc0LiwwBJbk6nIG9/Zm7ufWg==}
+ '@unocss/preset-tagify@66.7.5':
+ resolution: {integrity: sha512-/8YB1tXVi+WmNKPhsCdtO1xnQKEkshSnWDp6AbvVP3f6qOF7adlMYpAt3kpWCoVUBsfOQ06ZQlnfricMjObyoQ==}
- '@unocss/preset-typography@66.6.6':
- resolution: {integrity: sha512-SM1km5nqt15z4sTabfOobSC633I5Ol5nnme6JFTra4wiyCUNs+Cg31nJ6jnopWDUT4SEAXqfUH7jKSSoCnI6ZA==}
+ '@unocss/preset-typography@66.7.5':
+ resolution: {integrity: sha512-2dxC8LT9KYa29UZT4muDFl7DbIXvKktTfeSMbUGMdZKbHcuMtKSP2U52wti1PL5I9duqp4v+8G33EeVutGTUaQ==}
- '@unocss/preset-uno@66.6.6':
- resolution: {integrity: sha512-40PcBDtlhW7QP7e/WOxC684IhN5T1dXvj1dgx9ZzK+8lEDGjcX7bN2noW4aSenzSrHymeSsMrL/0ltL4ED/5Zw==}
+ '@unocss/preset-uno@66.7.5':
+ resolution: {integrity: sha512-zaUlYgNngbt50fZA/LbtsEnmPKojPqeiXCyUUiKQMv2uJQhncR32xhLZXVQ+TJD7hlfZ+6FAqlco1NIiAcub9w==}
- '@unocss/preset-web-fonts@66.6.6':
- resolution: {integrity: sha512-5ikwgrJB8VPzKd0bqgGNgYUGix90KFnVtKJPjWTP5qsv3+ZtZnea1rRbAFl8i2t52hg35msNBsQo+40IC3xB6A==}
+ '@unocss/preset-web-fonts@66.7.5':
+ resolution: {integrity: sha512-OLLTK7kswdSu51qxEm6O+AehecgCfS08Ivqo+280lKzFW7V1jXr5okeJ1ty+85oHCprJqzcD9iG1khxNRLomcA==}
- '@unocss/preset-wind3@66.6.6':
- resolution: {integrity: sha512-rk6gPPIQ7z2DVucOqp7XZ4vGpKAuzBV1vtUDvDh5WscxzO/QlqaeTfTALk5YgGpmLaF4+ns6FrTgLjV+wHgHuQ==}
+ '@unocss/preset-wind3@66.7.5':
+ resolution: {integrity: sha512-atFe/7Qein+oMdyZs0hEo+3EjV99Av2LVxDbzpCungxIfbS3TnQt70EIuHXMPNCVWLYwrMV+/P1n9Ntb0E3mow==}
- '@unocss/preset-wind4@66.6.6':
- resolution: {integrity: sha512-caTDM9rZSlp4tyPWWAnwMvQr2PXq53LsEYwd3N8zj0ou2hcsqptJvF+mFvyhvGF66x26wWJr/FwuUEhh7qycaw==}
+ '@unocss/preset-wind4@66.7.5':
+ resolution: {integrity: sha512-n3jIvQv8x1jXpmWfvNFBIqHNARki4mKZXfxAA31gekpXsRRTg16u1+yC1+PBBJgoEDFEnnmKnG7EZP88S8LVXA==}
- '@unocss/preset-wind@66.6.6':
- resolution: {integrity: sha512-TMy3lZ35FP/4QqDHOLWZmV+RoOGWUDqnDEOTjOKI1CQARGta0ppUmq+IZMuI1ZJLuOa4OZ9V6SfnwMXwRLgXmw==}
+ '@unocss/preset-wind@66.7.5':
+ resolution: {integrity: sha512-LVKgGr0A9Lc7F85xGXrrb71DDXMlHGA8bcj/Kht8BCsuRdBZadNbLlnv5qnSJiHYhi3/blzcgVoaeRor6L9yNA==}
- '@unocss/reset@66.6.6':
- resolution: {integrity: sha512-rBFviUfHC6h0mSW6TYa7O1HGoEF7IV9VS0Q0EpweeQqR4N3D72DazZLWMASwNsmqKHUSDa+6h1oBqF/yqHfGAQ==}
+ '@unocss/reset@66.7.5':
+ resolution: {integrity: sha512-z3wbt2cuQPjtT6w5xzRYZYFIIlUPzhVKz8yIcE9fvu7BgR3hO7uVsg/5mzDoGwQ96Ya3Sk68rpmI/gLYl4bJag==}
- '@unocss/rule-utils@66.6.6':
- resolution: {integrity: sha512-krWtQKGshOaqQMuxeGq1NOA8NL35VdpYlmQEWOe39BY6TACT51bgQFu40MRfsAIMZZtoGS2YYTrnHojgR92omw==}
- engines: {node: '>=14'}
+ '@unocss/rule-utils@66.7.5':
+ resolution: {integrity: sha512-/AKHBRF6ZOexE3EDDv8ZEYh40P5e2Eha41IYUbE1wjigW7++ssmvimSTdufJzZvU5DGP++E3B3WEsFPprZMjAg==}
- '@unocss/transformer-attributify-jsx@66.6.6':
- resolution: {integrity: sha512-NnDchmN2EeFLy4lfVqDgNe9j1+w2RLL2L9zKECXs5g6rDVfeeEK6FNgxSq3XnPcKltjNCy1pF4MaDOROG7r8yA==}
+ '@unocss/transformer-attributify-jsx@66.7.5':
+ resolution: {integrity: sha512-r8qDwNSt0eGSwWws3xsuIHb3PZYR2embFdYoE67hD/xlYgLjX1uPy/HUlGCSSh4uLc4vVYjurr0Oq5xF/B8YiA==}
- '@unocss/transformer-compile-class@66.6.6':
- resolution: {integrity: sha512-KKssJxU8fZ9x84yznIirbtta2sB0LN/3lm0bp+Wl1298HITaNiVeG2n26iStQ3N7r240xRN2RarxncSVCMFwWw==}
+ '@unocss/transformer-compile-class@66.7.5':
+ resolution: {integrity: sha512-KuECgsGF7tGe808vIvKViEjI0UCUgYgneJfK+/TWBkjC7s8dLVaUtJzzcP9/r6OfGlgyn/x1YTdRqTaCENa7Xg==}
- '@unocss/transformer-directives@66.6.6':
- resolution: {integrity: sha512-CReFTcBfMtKkRvzIqxL20VptWt5C1Om27dwoKzyVFBXv0jzViWysbu0y0AQg3bsgD4cFqndFyAGyeL84j0nbKg==}
+ '@unocss/transformer-directives@66.7.5':
+ resolution: {integrity: sha512-VMJApXXOwlDubkW+cNMmOkfxLefFupJr+yU23gGYUB2NPsuVltc8H5CDM0gfVebpeL5CUW05evxzEAk2wsju+Q==}
- '@unocss/transformer-variant-group@66.6.6':
- resolution: {integrity: sha512-j4L/0Tw6AdMVB2dDnuBlDbevyL1/0CAk88a77VF/VjgEIBwB9VXsCCUsxz+2Dohcl7N2GMm7+kpaWA6qt2PSaA==}
+ '@unocss/transformer-variant-group@66.7.5':
+ resolution: {integrity: sha512-iDmP3mM8J+IxuQf5Uh33zsi528xnGxTpKRJ0c+LCrqBTTkR2tZr4aCzNmJ0g29Js2yEOsyNXRRc8BNTuvgn0AA==}
- '@unocss/vite@66.6.6':
- resolution: {integrity: sha512-DgG7KcUUMtoDhPOlFf2l4dR+66xZ23SdZvTYpikk5nZfLCzZd62vedutD7x0bTR6VpK2YRq39B+F+Z6TktNY/w==}
+ '@unocss/vite@66.7.5':
+ resolution: {integrity: sha512-1z1TBCNJCR2WzjPtjzmCHr8rtzXHosMjLdsCNe6Mzsfwiw044gzzLVuiEZO9vIjkI50lvQ+gIOxOiVQG0hGAeA==}
peerDependencies:
- vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0-0
+ vite: ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0-0
'@vite-pwa/assets-generator@1.0.2':
resolution: {integrity: sha512-MCbrb508JZHqe7bUibmZj/lyojdhLRnfkmyXnkrCM2zVrjTgL89U8UEfInpKTvPeTnxsw2hmyZxnhsdNR6yhwg==}
@@ -1814,57 +2173,60 @@ packages:
'@vite-pwa/assets-generator':
optional: true
- '@vitejs/plugin-vue@6.0.5':
- resolution: {integrity: sha512-bL3AxKuQySfk1iGcBsQnoRVexTPJq0Z/ixFVM8OhVJAP6ZXXXLtM7NFKWhLl30Kg7uTBqIaPXbh+nuQCuBDedg==}
+ '@vitejs/plugin-vue@6.0.8':
+ resolution: {integrity: sha512-0ZjgOg7oO6farnNGup7yvoM/YXZV84OZxHAwtflItNa/6zzQyVb5LNxyea3FEKEX2XlagIKzrlH7wwxkKgtiew==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
vue: ^3.2.25
- '@vitest/eslint-plugin@1.6.12':
- resolution: {integrity: sha512-4kI47BJNFE+EQ5bmPbHzBF+ibNzx2Fj0Jo9xhWsTPxMddlHwIWl6YAxagefh461hrwx/W0QwBZpxGS404kBXyg==}
+ '@vitest/eslint-plugin@1.6.25':
+ resolution: {integrity: sha512-ylqFL2TYRgtTewl5Kr2NCL3fnLOMNo91XEyniB4tA1zlnZs0GbrNj6ER6ldR9J3r5RSL0dQ7EeMUiXsbfHrvpg==}
engines: {node: '>=18'}
peerDependencies:
+ '@typescript-eslint/eslint-plugin': '*'
eslint: '>=8.57.0'
typescript: '>=5.0.0'
vitest: '*'
peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
typescript:
optional: true
vitest:
optional: true
- '@vitest/expect@4.1.0':
- resolution: {integrity: sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==}
+ '@vitest/expect@4.1.10':
+ resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==}
- '@vitest/mocker@4.1.0':
- resolution: {integrity: sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==}
+ '@vitest/mocker@4.1.10':
+ resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==}
peerDependencies:
msw: ^2.4.9
- vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
- '@vitest/pretty-format@4.1.0':
- resolution: {integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==}
+ '@vitest/pretty-format@4.1.10':
+ resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==}
- '@vitest/runner@4.1.0':
- resolution: {integrity: sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==}
+ '@vitest/runner@4.1.10':
+ resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==}
- '@vitest/snapshot@4.1.0':
- resolution: {integrity: sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==}
+ '@vitest/snapshot@4.1.10':
+ resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==}
- '@vitest/spy@4.1.0':
- resolution: {integrity: sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==}
+ '@vitest/spy@4.1.10':
+ resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==}
- '@vitest/utils@4.1.0':
- resolution: {integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==}
+ '@vitest/utils@4.1.10':
+ resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==}
- '@voidzero-dev/vitepress-theme@4.8.4':
- resolution: {integrity: sha512-o7R2g9OPu5iLW3R4PNkj+JRSIncO8f1hTY0YvO13OMP/kytKUn8MLhy4kTvx+IMRSLeqrGfrBpze/OEPKzcLUQ==}
+ '@voidzero-dev/vitepress-theme@5.0.4':
+ resolution: {integrity: sha512-sLCs+hAfejOAQP2B92djz1CIOgRmgRuYEwrE2Fu0i55SQu9+VDz/U9snVOEhYcz/RcHgAU6J24SMyZFqWOZGng==}
peerDependencies:
vitepress: ^2.0.0-alpha.16
vue: ^3.5.0
@@ -1878,14 +2240,20 @@ packages:
'@vue/compiler-core@3.5.30':
resolution: {integrity: sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==}
+ '@vue/compiler-core@3.5.40':
+ resolution: {integrity: sha512-39E8IgOhTbVDnoJFMKc2DvYnypcZwUqgUhQkccva/0m6FUwtIKSGV7n1hpVmYcFaoRAwf9pBcwnKlCEsN63ZEQ==}
+
'@vue/compiler-dom@3.5.30':
resolution: {integrity: sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==}
- '@vue/compiler-sfc@3.5.30':
- resolution: {integrity: sha512-LqmFPDn89dtU9vI3wHJnwaV6GfTRD87AjWpTWpyrdVOObVtjIuSeZr181z5C4PmVx/V3j2p+0f7edFKGRMpQ5A==}
+ '@vue/compiler-dom@3.5.40':
+ resolution: {integrity: sha512-pwkx4vqlqOspFstrcmzwkKLePVMD3PT65imRzLhanU2V1Fj4K13g6OXjanOyzw3aTAuRk84BOmY8f3rEHqPaVA==}
+
+ '@vue/compiler-sfc@3.5.40':
+ resolution: {integrity: sha512-gIf497P4kpuALcvs5n3AEg1Vdn0pSY4XbjASIfHNYF1/MP3T2Mf2STERTubysBxCRxzJGJYtF/O7vwJrxFB3Vw==}
- '@vue/compiler-ssr@3.5.30':
- resolution: {integrity: sha512-NsYK6OMTnx109PSL2IAyf62JP6EUdk4Dmj6AkWcJGBvN0dQoMYtVekAmdqgTtWQgEJo+Okstbf/1p7qZr5H+bA==}
+ '@vue/compiler-ssr@3.5.40':
+ resolution: {integrity: sha512-rrE5xiXG663+vHCHa3J9p2z5OcBRjXmoqenprJxAFQxg5pSshzeBiCE6pu46axapRJ2Adk0YDA2BRZVjiHXnhg==}
'@vue/devtools-api@8.1.0':
resolution: {integrity: sha512-O44X57jjkLKbLEc4OgL/6fEPOOanRJU8kYpCE8qfKlV96RQZcdzrcLI5mxMuVRUeXhHKIHGhCpHacyCk0HyO4w==}
@@ -1899,28 +2267,34 @@ packages:
'@vue/language-core@3.2.6':
resolution: {integrity: sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==}
- '@vue/reactivity@3.5.30':
- resolution: {integrity: sha512-179YNgKATuwj9gB+66snskRDOitDiuOZqkYia7mHKJaidOMo/WJxHKF8DuGc4V4XbYTJANlfEKb0yxTQotnx4Q==}
+ '@vue/reactivity@3.5.40':
+ resolution: {integrity: sha512-B7ot9UlUZOi1zbq61/LvE88ZLTV8IlajTdiZTAEiDQgrnIMIZoPr9kGw0Zw46ObW62O9+H/Be3kMbfb7kYPQZA==}
- '@vue/runtime-core@3.5.30':
- resolution: {integrity: sha512-e0Z+8PQsUTdwV8TtEsLzUM7SzC7lQwYKePydb7K2ZnmS6jjND+WJXkmmfh/swYzRyfP1EY3fpdesyYoymCzYfg==}
+ '@vue/runtime-core@3.5.40':
+ resolution: {integrity: sha512-KAZLweuZ6uUJPK1PMSQPgBU5gCjgrrfjUhSglmU9NhH+Zjepa8cnwSydPWDWHDwOgY4g3VcZ+PljbiHlURNCbw==}
- '@vue/runtime-dom@3.5.30':
- resolution: {integrity: sha512-2UIGakjU4WSQ0T4iwDEW0W7vQj6n7AFn7taqZ9Cvm0Q/RA2FFOziLESrDL4GmtI1wV3jXg5nMoJSYO66egDUBw==}
+ '@vue/runtime-dom@3.5.40':
+ resolution: {integrity: sha512-ZfrX8ssZQds900L9pr8AuK05ddnMsR4MPMZr8cPN9GoqoPWcXLhjvvbIA2SMv+7a97sJ1vv9pj/zxK0Cq/eEFQ==}
- '@vue/server-renderer@3.5.30':
- resolution: {integrity: sha512-v+R34icapydRwbZRD0sXwtHqrQJv38JuMB4JxbOxd8NEpGLny7cncMp53W9UH/zo4j8eDHjQ1dEJXwzFQknjtQ==}
- peerDependencies:
- vue: 3.5.30
+ '@vue/server-renderer@3.5.40':
+ resolution: {integrity: sha512-XNJym9WpevhTVt1HuwOrCRJ5Q+9z4BjTMrDtjTrvx74SmUll8spNTw6whWJa9mEkO4PKn5TihI/bm/8ds2QVJw==}
'@vue/shared@3.5.30':
resolution: {integrity: sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==}
+ '@vue/shared@3.5.40':
+ resolution: {integrity: sha512-WxnBtruIqOoV3rA4jeKDWzrYI5h7Cp4+pjwDi8kWGHz+IslhiN+wguLVVhtv2l8VoU02rzDCVfDjgCl1lNpZVg==}
+
'@vueuse/core@14.2.1':
resolution: {integrity: sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==}
peerDependencies:
vue: ^3.5.0
+ '@vueuse/core@14.4.0':
+ resolution: {integrity: sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ==}
+ peerDependencies:
+ vue: ^3.5.0
+
'@vueuse/integrations@14.2.1':
resolution: {integrity: sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==}
peerDependencies:
@@ -1966,11 +2340,19 @@ packages:
'@vueuse/metadata@14.2.1':
resolution: {integrity: sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==}
+ '@vueuse/metadata@14.4.0':
+ resolution: {integrity: sha512-swx/255R6JyHZFJhx845iz5CRWDZdCfvkZOpACWc5+c5WHcG24mv8gUT1WIdFQaHt6dq79rvILd9QnCWiyVm9g==}
+
'@vueuse/shared@14.2.1':
resolution: {integrity: sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==}
peerDependencies:
vue: ^3.5.0
+ '@vueuse/shared@14.4.0':
+ resolution: {integrity: sha512-JRgY90Sz8DDtPMsaDflvPMp9xYk69JZAmbuDvAquUVXKr2gEjqtzGNTTthLfckH0BzBqvnu31gb4a8TGLRe79g==}
+ peerDependencies:
+ vue: ^3.5.0
+
accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
@@ -1994,20 +2376,8 @@ packages:
alien-signals@3.1.2:
resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==}
- ansi-escapes@7.3.0:
- resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
- engines: {node: '>=18'}
-
- ansi-regex@6.2.2:
- resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
- engines: {node: '>=12'}
-
- ansi-styles@6.2.3:
- resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
- engines: {node: '>=12'}
-
- ansis@4.2.0:
- resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
+ ansis@4.3.1:
+ resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==}
engines: {node: '>=14'}
appdata-path@1.0.0:
@@ -2081,6 +2451,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ baseline-browser-mapping@2.11.11:
+ resolution: {integrity: sha512-/yImnXwyTvgMkhgekLHok/Rx5vO6E0BmStWlSqKWMVm2a2ITuZ1Tn+9bgLS+gZRdZmWtd8nxuhHpdmCUOWsTQQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
birpc@2.9.0:
resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==}
@@ -2098,11 +2473,20 @@ packages:
resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==}
engines: {node: 18 || 20 || >=22}
+ brace-expansion@5.0.9:
+ resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==}
+ engines: {node: 20 || >=22}
+
browserslist@4.28.1:
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ browserslist@4.28.7:
+ resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -2137,6 +2521,9 @@ packages:
caniuse-lite@1.0.30001780:
resolution: {integrity: sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==}
+ caniuse-lite@1.0.30001806:
+ resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==}
+
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -2164,18 +2551,6 @@ packages:
resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==}
engines: {node: '>=8'}
- clean-regexp@1.0.0:
- resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
- engines: {node: '>=4'}
-
- cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
-
- cli-truncate@5.2.0:
- resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==}
- engines: {node: '>=20'}
-
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
@@ -2196,17 +2571,21 @@ packages:
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- commander@14.0.3:
- resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
- engines: {node: '>=20'}
-
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
comment-parser@1.4.5:
resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==}
engines: {node: '>= 12.0.0'}
+ comment-parser@1.4.7:
+ resolution: {integrity: sha512-0h+uSNtQGW3D98eQt3jJ8L06Fves8hncB4V/PKdw/Qb8Hnk19VaKuTr55UNRYiSoVa7WwrFls+rh3ux9agmkeQ==}
+ engines: {node: '>= 12.0.0'}
+
common-tags@1.8.2:
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
engines: {node: '>=4.0.0'}
@@ -2237,6 +2616,10 @@ packages:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
+ convert-hrtime@5.0.0:
+ resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==}
+ engines: {node: '>=12'}
+
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -2350,6 +2733,10 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ detect-indent@7.0.2:
+ resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==}
+ engines: {node: '>=12.20'}
+
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
@@ -2382,11 +2769,11 @@ packages:
electron-to-chromium@1.5.313:
resolution: {integrity: sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==}
- emoji-regex@10.6.0:
- resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+ electron-to-chromium@1.5.399:
+ resolution: {integrity: sha512-lEcqhErbHjXRvd41rnWLpzbyU/IXfIYo7QwaFWmxGeLiLyY2TBCdHnWY88vB+p3ubnihRypDm66panXl7TylLA==}
- empathic@2.0.0:
- resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
+ empathic@2.0.1:
+ resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==}
engines: {node: '>=14'}
encodeurl@2.0.0:
@@ -2405,10 +2792,6 @@ packages:
resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
engines: {node: '>=0.12'}
- environment@1.1.0:
- resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
- engines: {node: '>=18'}
-
es-abstract@1.24.1:
resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==}
engines: {node: '>= 0.4'}
@@ -2441,6 +2824,11 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ esbuild@0.28.1:
+ resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
@@ -2448,10 +2836,6 @@ packages:
escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -2466,8 +2850,8 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
- eslint-config-flat-gitignore@2.2.1:
- resolution: {integrity: sha512-wA5EqN0era7/7Gt5Botlsfin/UNY0etJSEeBgbUlFLFrBi47rAN//+39fI7fpYcl8RENutlFtvp/zRa/M/pZNg==}
+ eslint-config-flat-gitignore@2.3.0:
+ resolution: {integrity: sha512-bg4ZLGgoARg1naWfsINUUb/52Ksw/K22K+T16D38Y8v+/sGwwIYrGvH/JBjOin+RQtxxC9tzNNiy4shnGtGyyQ==}
peerDependencies:
eslint: ^9.5.0 || ^10.0.0
@@ -2476,8 +2860,8 @@ packages:
peerDependencies:
eslint: ^9.0.0
- eslint-flat-config-utils@3.0.2:
- resolution: {integrity: sha512-mPvevWSDQFwgABvyCurwIu6ZdKxGI5NW22/BGDwA1T49NO6bXuxbV9VfJK/tkQoNyPogT6Yu1d57iM0jnZVWmg==}
+ eslint-flat-config-utils@3.2.0:
+ resolution: {integrity: sha512-PHgo1X5uqIorJONLVD9BIaOSdoYFD3z/AeJljdqDPlWVRpeCYkDbK9k0AXoYVqqNJr6FEYIEr5Rm2TSktLQcHw==}
eslint-json-compat-utils@0.2.3:
resolution: {integrity: sha512-RbBmDFyu7FqnjE8F0ZxPNzx5UaptdeS9Uu50r7A+D7s/+FCX+ybiyViYEgFUaFIFqSWJgZRTpL5d8Kanxxl2lQ==}
@@ -2495,86 +2879,87 @@ packages:
peerDependencies:
eslint: '*'
- eslint-plugin-antfu@3.2.2:
- resolution: {integrity: sha512-Qzixht2Dmd/pMbb5EnKqw2V8TiWHbotPlsORO8a+IzCLFwE0RxK8a9k4DCTFPzBwyxJzH+0m2Mn8IUGeGQkyUw==}
+ eslint-plugin-antfu@3.2.3:
+ resolution: {integrity: sha512-U2fnz/H0gFPxpuC7QpaHa0Jv2AgCZ5hunp36SOP/yWo8yFzgvMh8X4pZ4uN4IKoqtBhk7G3HuVa93Urf51+sZg==}
peerDependencies:
eslint: '*'
- eslint-plugin-command@3.5.2:
- resolution: {integrity: sha512-PA59QAkQDwvcCMEt5lYLJLI3zDGVKJeC4id/pcRY2XdRYhSGW7iyYT1VC1N3bmpuvu6Qb/9QptiS3GJMjeGTJg==}
+ eslint-plugin-command@3.5.3:
+ resolution: {integrity: sha512-JIhmUOW2K2Dw1K+p4mtj5potkqTZ4ZaicrTkgCygPZCWErP2+O2F46n7ZwGKapeEjiwcVqoY8u01SxNUUXWPeQ==}
peerDependencies:
- '@typescript-eslint/rule-tester': '*'
'@typescript-eslint/typescript-estree': '*'
'@typescript-eslint/utils': '*'
eslint: '*'
- eslint-plugin-depend@1.5.0:
- resolution: {integrity: sha512-i3UeLYmclf1Icp35+6W7CR4Bp2PIpDgBuf/mpmXK5UeLkZlvYJ21VuQKKHHAIBKRTPivPGX/gZl5JGno1o9Y0A==}
- peerDependencies:
- eslint: '>=8.40.0'
-
eslint-plugin-es-x@7.8.0:
resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '>=8'
- eslint-plugin-import-lite@0.5.2:
- resolution: {integrity: sha512-XvfdWOC5dSLEI9krIPRlNmKSI2ViIE9pVylzfV9fCq0ZpDaNeUk6o0wZv0OzN83QdadgXp1NsY0qjLINxwYCsw==}
+ eslint-plugin-import-lite@0.6.0:
+ resolution: {integrity: sha512-80vevx2A7i3H7n1/6pqDO8cc5wRz6OwLDvIyVl9UflBV1N1f46e9Ihzi65IOLYoSxM6YykK2fTw1xm0Ixx6aTQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '>=9.0.0'
+ eslint: ^9.0.0 || ^10.0.0
- eslint-plugin-jsdoc@62.8.0:
- resolution: {integrity: sha512-hu3r9/6JBmPG6wTcqtYzgZAnjEG2eqRUATfkFscokESg1VDxZM21ZaMire0KjeMwfj+SXvgB4Rvh5LBuesj92w==}
- engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+ eslint-plugin-jsdoc@63.3.2:
+ resolution: {integrity: sha512-5B3oO23iqbNJC/ru7uqIY80wmY66De1Q0+5kXQGHuLrGze/rL0Zw/YktMcqgYQ+kdHmgvY1q5TpRgl3yZMLmhQ==}
+ engines: {node: ^22.13.0 || >=24}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0
- eslint-plugin-jsonc@3.1.2:
- resolution: {integrity: sha512-dopTxdB22iuOkgKyJCupEC5IYBItUT4J/teq1H5ddUObcaYhOURxtJElZczdcYnnKCghNU/vccuyPkliy2Wxsg==}
+ eslint-plugin-jsonc@3.3.0:
+ resolution: {integrity: sha512-CsTR8aDcShDg6A71ZppLaWiPoSo2J1Ivjm5/c4Mnb9sxgwWq+WG2PgeoAnj7SwzDPJB75tlHvLrGy6ntooIitg==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
eslint: '>=9.38.0'
- eslint-plugin-n@17.24.0:
- resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-plugin-n@18.2.2:
+ resolution: {integrity: sha512-gOO0lIqwEjZ750kv9/SptCWArUoAZXJoBr0vYWTO2dCBxctHUXlBIigiC8xuxxr/NKqgIT6Ehz1xRcilj8a5cA==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
- eslint: '>=8.23.0'
+ eslint: '>=8.57.1'
+ ts-declaration-location: ^1.0.6
+ typescript: '>=5.0.0'
+ peerDependenciesMeta:
+ ts-declaration-location:
+ optional: true
+ typescript:
+ optional: true
- eslint-plugin-no-only-tests@3.3.0:
- resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==}
+ eslint-plugin-no-only-tests@3.4.0:
+ resolution: {integrity: sha512-4S3/9Nb7A2tiMcpzEQE9bQSlpeOz6WJkgryBuou/SA8W2x2c8Zf4j0NvTKBjv6qNhF9T79tmkecm/0CHqV0UGg==}
engines: {node: '>=5.0.0'}
- eslint-plugin-perfectionist@5.6.0:
- resolution: {integrity: sha512-pxrLrfRp5wl1Vol1fAEa/G5yTXxefTPJjz07qC7a8iWFXcOZNuWBItMQ2OtTzfQIvMq6bMyYcrzc3Wz++na55Q==}
+ eslint-plugin-perfectionist@5.10.0:
+ resolution: {integrity: sha512-HiqpDrUDbGrMC6iHQbemgDyHJ0366Vyz/qRWmxQcSAkmG25cXr8BdRgx8yAhOKhEfBXn8Rnf/mTCsV4EqUJSxg==}
engines: {node: ^20.0.0 || >=22.0.0}
peerDependencies:
eslint: ^8.45.0 || ^9.0.0 || ^10.0.0
- eslint-plugin-pnpm@1.6.0:
- resolution: {integrity: sha512-dxmt9r3zvPaft6IugS4i0k16xag3fTbOvm/road5uV9Y8qUCQT0xzheSh3gMlYAlC6vXRpfArBDsTZ7H7JKCbg==}
+ eslint-plugin-pnpm@1.7.0:
+ resolution: {integrity: sha512-SZaPARN1+NMqAjQOlQjHu59SnN/o299N5Z4HTyhwWYnfkQkjdiydayHBegwXER3VecRF/Rf7eHw3sGcTF+uLOQ==}
peerDependencies:
eslint: ^9.0.0 || ^10.0.0
- eslint-plugin-regexp@3.1.0:
- resolution: {integrity: sha512-qGXIC3DIKZHcK1H9A9+Byz9gmndY6TTSRkSMTZpNXdyCw2ObSehRgccJv35n9AdUakEjQp5VFNLas6BMXizCZg==}
+ eslint-plugin-regexp@3.1.1:
+ resolution: {integrity: sha512-MxR5nqoQCtVWmJwia0D2+NlXX1xzdpkslsVOZLEYQ4PQWEaL65PCZXURxaBc3lPnkNFpNxzMIRmYVxdl8giXRA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
eslint: '>=9.38.0'
- eslint-plugin-toml@1.3.1:
- resolution: {integrity: sha512-1l00fBP03HIt9IPV7ZxBi7x0y0NMdEZmakL1jBD6N/FoKBvfKxPw5S8XkmzBecOnFBTn5Z8sNJtL5vdf9cpRMQ==}
+ eslint-plugin-toml@1.5.0:
+ resolution: {integrity: sha512-qBjRywEkKxO2uYOjus//6GVF1r+Hg5QDkRO8RTY6XcaXgWfBU0DhwpFmJa2Ljf0Sz49r7DdZlpKwwHmJ4nmH1Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
eslint: '>=9.38.0'
- eslint-plugin-unicorn@63.0.0:
- resolution: {integrity: sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA==}
- engines: {node: ^20.10.0 || >=21.0.0}
+ eslint-plugin-unicorn@72.0.0:
+ resolution: {integrity: sha512-hqO6ksoOHO+ZhdseTuKRVQbx9U7PRO/cv8qAR1mctwzdVO2hYud8uS9luAhp43RJgziYgHAph8eHyipT8GL0ng==}
+ engines: {node: '>=22'}
peerDependencies:
- eslint: '>=9.38.0'
+ eslint: '>=10.4'
eslint-plugin-unused-imports@4.4.1:
resolution: {integrity: sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==}
@@ -2585,22 +2970,22 @@ packages:
'@typescript-eslint/eslint-plugin':
optional: true
- eslint-plugin-vue@10.8.0:
- resolution: {integrity: sha512-f1J/tcbnrpgC8suPN5AtdJ5MQjuXbSU9pGRSSYAuF3SHoiYCOdEX6O22pLaRyLHXvDcOe+O5ENgc1owQ587agA==}
+ eslint-plugin-vue@10.10.0:
+ resolution: {integrity: sha512-dL9x9rBHqqNcByWiLOHK6L0SB97V82/NC0cZRn9cXPjM7pCuWlpQQP9bFH4vjBv80ej1ZpzAkuD8zWH1o9bZbA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
'@typescript-eslint/parser': ^7.0.0 || ^8.0.0
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- vue-eslint-parser: ^10.0.0
+ vue-eslint-parser: ^10.3.0
peerDependenciesMeta:
'@stylistic/eslint-plugin':
optional: true
'@typescript-eslint/parser':
optional: true
- eslint-plugin-yml@3.3.1:
- resolution: {integrity: sha512-isntsZchaTqDMNNkD+CakrgA/pdUoJ45USWBKpuqfAW1MCuw731xX/vrXfoJFZU3tTFr24nCbDYmDfT2+g4QtQ==}
+ eslint-plugin-yml@3.7.0:
+ resolution: {integrity: sha512-cLkVHdBHyRifThJA3ufuEW+imPRO7rHBQXdWgthouY6qEapUw8/0zW6V8NcMEGWzuMykc/ITYl6AuhZLPzI+fw==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
peerDependencies:
eslint: '>=9.38.0'
@@ -2627,8 +3012,8 @@ packages:
resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- eslint@10.0.3:
- resolution: {integrity: sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==}
+ eslint@10.8.0:
+ resolution: {integrity: sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
hasBin: true
peerDependencies:
@@ -2674,9 +3059,6 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- eventemitter3@5.0.4:
- resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
-
expect-type@1.3.0:
resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
engines: {node: '>=12.0.0'}
@@ -2697,9 +3079,18 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ fast-string-truncated-width@3.0.3:
+ resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==}
+
+ fast-string-width@3.0.2:
+ resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==}
+
fast-uri@3.1.0:
resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+ fast-wrap-ansi@0.2.2:
+ resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==}
+
fault@2.0.1:
resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
@@ -2782,6 +3173,10 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ function-timeout@1.0.2:
+ resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==}
+ engines: {node: '>=18'}
+
function.prototype.name@1.1.8:
resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
engines: {node: '>= 0.4'}
@@ -2800,10 +3195,6 @@ packages:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- get-east-asian-width@1.5.0:
- resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
- engines: {node: '>=18'}
-
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
@@ -2839,12 +3230,8 @@ packages:
resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
engines: {node: '>=18'}
- globals@16.5.0:
- resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==}
- engines: {node: '>=18'}
-
- globals@17.4.0:
- resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==}
+ globals@17.9.0:
+ resolution: {integrity: sha512-m/MvAW61QVU5VDNF1Vj8axt016h8w7L5TU1e9zlab7XIttAT2YAlCwl75K1fOqvMM9apmD7lbCIRhpfkhmxhCg==}
engines: {node: '>=18'}
globalthis@1.0.4:
@@ -2930,6 +3317,10 @@ packages:
idb@7.1.1:
resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
+ identifier-regex@1.1.0:
+ resolution: {integrity: sha512-SLX4H/vtcYlYnL7XqnuJKHU7Z8517TgsW9nmQiGOgMCjQ8V/deLYu6bEmbGoXe7WMMhc9+EUGyFFneHja8KabA==}
+ engines: {node: '>=18'}
+
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
@@ -2938,6 +3329,9 @@ packages:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -3004,10 +3398,6 @@ packages:
resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
engines: {node: '>= 0.4'}
- is-fullwidth-code-point@5.1.0:
- resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
- engines: {node: '>=18'}
-
is-generator-function@1.1.2:
resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
engines: {node: '>= 0.4'}
@@ -3016,6 +3406,10 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
+ is-identifier@1.1.0:
+ resolution: {integrity: sha512-NhOds0mDx9lJu+1lBRO0xbwFo5nobA7GCk/0e5xjr6+6XugX985+0OyGX35BNrTkPAsdLcIKg02HUQJOK8D8kw==}
+ engines: {node: '>=18'}
+
is-map@2.0.3:
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
@@ -3108,6 +3502,14 @@ packages:
resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==}
engines: {node: '>=20.0.0'}
+ jsdoc-type-pratt-parser@7.2.0:
+ resolution: {integrity: sha512-dh140MMgjyg3JhJZY/+iEzW+NO5xR2gpbDFKHqotCmexElVntw7GjWjt511+C/Ef02RU5TKYrJo/Xlzk+OLaTw==}
+ engines: {node: '>=20.0.0'}
+
+ jsdoc-type-pratt-parser@8.0.0:
+ resolution: {integrity: sha512-uQu/fXVqVaMg6gM8/E5G5+eygVcZ1NV0Z51CvqhNa2bDWxvHMl484ETr6vph4oPyC+KUcbP/w2W2pewfCiR9aQ==}
+ engines: {node: '>=20.0.0'}
+
jsesc@3.1.0:
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
engines: {node: '>=6'}
@@ -3144,6 +3546,10 @@ packages:
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
engines: {node: '>=0.10.0'}
+ katex@0.16.47:
+ resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
+ hasBin: true
+
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@@ -3161,84 +3567,150 @@ packages:
cpu: [arm64]
os: [android]
+ lightningcss-android-arm64@1.33.0:
+ resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
lightningcss-darwin-arm64@1.31.1:
resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
+ lightningcss-darwin-arm64@1.33.0:
+ resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
lightningcss-darwin-x64@1.31.1:
resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
+ lightningcss-darwin-x64@1.33.0:
+ resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
lightningcss-freebsd-x64@1.31.1:
resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
+ lightningcss-freebsd-x64@1.33.0:
+ resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
lightningcss-linux-arm-gnueabihf@1.31.1:
resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
+ lightningcss-linux-arm-gnueabihf@1.33.0:
+ resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
lightningcss-linux-arm64-gnu@1.31.1:
resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ lightningcss-linux-arm64-gnu@1.33.0:
+ resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
lightningcss-linux-arm64-musl@1.31.1:
resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ lightningcss-linux-arm64-musl@1.33.0:
+ resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
lightningcss-linux-x64-gnu@1.31.1:
resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ lightningcss-linux-x64-gnu@1.33.0:
+ resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
lightningcss-linux-x64-musl@1.31.1:
resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ lightningcss-linux-x64-musl@1.33.0:
+ resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
lightningcss-win32-arm64-msvc@1.31.1:
resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
+ lightningcss-win32-arm64-msvc@1.33.0:
+ resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
lightningcss-win32-x64-msvc@1.31.1:
resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
+ lightningcss-win32-x64-msvc@1.33.0:
+ resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
lightningcss@1.31.1:
resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==}
engines: {node: '>= 12.0.0'}
- linkify-it@5.0.0:
- resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+ lightningcss@1.33.0:
+ resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==}
+ engines: {node: '>= 12.0.0'}
- lint-staged@16.4.0:
- resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==}
- engines: {node: '>=20.17'}
- hasBin: true
+ linkify-it@5.0.2:
+ resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==}
- listr2@9.0.5:
- resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==}
- engines: {node: '>=20.0.0'}
+ lint-staged@17.3.0:
+ resolution: {integrity: sha512-woZS3vNe3UKqBaLPvbLOtKRY4tLANpWQhom12MGWqC8Mh1lCOO+WgSwmX2amjJAqTY9BkXYW87fCUH5H9Ph6xw==}
+ engines: {node: '>=22.22.1'}
+ hasBin: true
- local-pkg@1.1.2:
- resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
+ local-pkg@1.2.1:
+ resolution: {integrity: sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==}
engines: {node: '>=14'}
locate-path@6.0.0:
@@ -3248,19 +3720,12 @@ packages:
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
lodash.sortby@4.7.0:
resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
lodash@4.17.23:
resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
- log-update@6.1.0:
- resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
- engines: {node: '>=18'}
-
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@@ -3284,11 +3749,18 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+ magic-string@1.1.0:
+ resolution: {integrity: sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g==}
+
+ make-asynchronous@1.1.0:
+ resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==}
+ engines: {node: '>=18'}
+
mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
- markdown-it@14.1.1:
- resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==}
+ markdown-it@14.3.0:
+ resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==}
hasBin: true
markdown-table@3.0.4:
@@ -3325,6 +3797,9 @@ packages:
mdast-util-gfm@3.1.0:
resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+ mdast-util-math@3.0.0:
+ resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==}
+
mdast-util-phrasing@4.1.0:
resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
@@ -3340,6 +3815,9 @@ packages:
mdn-data@2.27.1:
resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+ mdn-data@2.29.0:
+ resolution: {integrity: sha512-pVxQFCcaYUEAH853+v7yoI/qzhxXSq1bTb9obMYGYAN1c3Hen+XDCEvr296XhstrwlSTNgOR7mCSD4JPjbJe5A==}
+
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
@@ -3381,6 +3859,9 @@ packages:
micromark-extension-gfm@3.0.0:
resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+ micromark-extension-math@3.1.0:
+ resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
+
micromark-factory-destination@2.0.1:
resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
@@ -3458,10 +3939,6 @@ packages:
engines: {node: '>=4'}
hasBin: true
- mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
-
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
@@ -3469,6 +3946,10 @@ packages:
resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
engines: {node: 18 || 20 || >=22}
+ minimatch@10.2.6:
+ resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==}
+ engines: {node: 18 || 20 || >=22}
+
minimatch@5.1.9:
resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==}
engines: {node: '>=10'}
@@ -3483,8 +3964,8 @@ packages:
mlly@1.8.1:
resolution: {integrity: sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==}
- module-replacements@2.11.0:
- resolution: {integrity: sha512-j5sNQm3VCpQQ7nTqGeOZtoJtV3uKERgCBm9QRhmGRiXiqkf7iRFOkfxdJRZWLkqYY8PNf4cDQF/WfXUYLENrRA==}
+ module-replacements@3.1.0:
+ resolution: {integrity: sha512-MSTNGqlp2q0seRlrAA/FK3SUkGnmPeexeKWuCjeJ7HobD2RCjk4f8ry8lJ+nUQFDVBAHSdC4TdjyJSaocnR7Uw==}
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
@@ -3504,6 +3985,11 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ nanoid@3.3.16:
+ resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -3525,6 +4011,10 @@ packages:
node-releases@2.0.36:
resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==}
+ node-releases@2.0.51:
+ resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==}
+ engines: {node: '>=18'}
+
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
@@ -3532,8 +4022,8 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- object-deep-merge@2.0.0:
- resolution: {integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==}
+ object-deep-merge@2.0.1:
+ resolution: {integrity: sha512-aKttDKcU3pyZqKcCkDhsMn70WmZFG2JGDQLP9EcLyTSIFQRCPWLAmBZRLJnrVUrhPG1jETEEbfdgbNtJf1LyMg==}
object-inspect@1.13.4:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
@@ -3567,16 +4057,18 @@ packages:
resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==}
engines: {node: '>= 0.8'}
- onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
-
oniguruma-parser@0.12.1:
resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+ oniguruma-parser@0.12.2:
+ resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
+
oniguruma-to-es@4.3.5:
resolution: {integrity: sha512-Zjygswjpsewa0NLTsiizVuMQZbp0MDyM6lIt66OxsF21npUDlzpHi1Mgb/qhQdkb+dWFTzJmFbEWdvZgRho8eQ==}
+ oniguruma-to-es@4.3.6:
+ resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
+
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -3585,8 +4077,8 @@ packages:
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
engines: {node: '>= 0.4'}
- oxc-parser@0.115.0:
- resolution: {integrity: sha512-2w7Xn3CbS/zwzSY82S5WLemrRu3CT57uF7Lx8llrE/2bul6iMTcJE4Rbls7GDNbLn3ttATI68PfOz2Pt3KZ2cQ==}
+ oxc-parser@0.131.0:
+ resolution: {integrity: sha512-SJ3/7ZPbgie8dr5Z9BI/M51zZbpXba+hRSG0MDzVwMW5CRQg2fjYE0jHGlLX4eeiibGgC/mzoDFKSDHwVZEHRQ==}
engines: {node: ^20.19.0 || >=22.12.0}
oxc-walker@0.7.0:
@@ -3594,6 +4086,10 @@ packages:
peerDependencies:
oxc-parser: '>=0.98.0'
+ p-event@6.0.1:
+ resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==}
+ engines: {node: '>=16.17'}
+
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -3602,12 +4098,19 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
+ p-timeout@6.1.4:
+ resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
+ engines: {node: '>=14.16'}
+
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
package-manager-detector@1.6.0:
resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==}
+ package-manager-detector@1.8.0:
+ resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==}
+
parse-gitignore@2.0.0:
resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
engines: {node: '>=14'}
@@ -3660,6 +4163,10 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
+ picomatch@4.0.5:
+ resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
+ engines: {node: '>=12'}
+
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
@@ -3670,8 +4177,8 @@ packages:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
- pnpm-workspace-yaml@1.6.0:
- resolution: {integrity: sha512-uUy4dK3E11sp7nK+hnT7uAWfkBMe00KaUw8OG3NuNlYQoTk4sc9pcdIy1+XIP85v9Tvr02mK3JPaNNrP0QyRaw==}
+ pnpm-workspace-yaml@1.7.0:
+ resolution: {integrity: sha512-cgjaozHkjWL4H8oKZydEWE4mg31XydK3/1cLKjHvwnFAXutp45yAlMKljpOdZEq4TtLuzYAMvy9j05wRm3aoPw==}
possible-typed-array-names@1.1.0:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
@@ -3681,10 +4188,14 @@ packages:
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
engines: {node: '>=4'}
- postcss-selector-parser@7.1.1:
- resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
+ postcss-selector-parser@7.1.4:
+ resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==}
engines: {node: '>=4'}
+ postcss@8.5.25:
+ resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==}
+ engines: {node: ^10 || ^12 || >=14}
+
postcss@8.5.8:
resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
engines: {node: ^10 || ^12 || >=14}
@@ -3729,6 +4240,10 @@ packages:
quansync@1.0.0:
resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
+ quote-js-string@0.1.0:
+ resolution: {integrity: sha512-Y3NoRtprEEZQD8RfxMCfS0ZTqc4e+i18OrXEXAvpM6TfC/3y+0L5rNbZiSnbBBEkDfFzbpd8o+cE8q3/anjMGA==}
+ engines: {node: '>=22'}
+
randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
@@ -3798,6 +4313,10 @@ packages:
resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
hasBin: true
+ regjsparser@0.13.2:
+ resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==}
+ hasBin: true
+
reka-ui@2.9.2:
resolution: {integrity: sha512-/t4e6y1hcG+uDuRfpg6tbMz3uUEvRzNco6NeYTufoJeUghy5Iosxos5YL/p+ieAsid84sdMX9OrgDqpEuCJhBw==}
peerDependencies:
@@ -3819,12 +4338,10 @@ packages:
engines: {node: '>= 0.4'}
hasBin: true
- restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
-
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+ rolldown@1.2.1:
+ resolution: {integrity: sha512-4FKJhg8d3OiyQOA6Q1Q0hoFFpW9/OoX+VsHzpECsdsIZoOArrAK90gl59YK/Z+gnDel45bgJZK03ozH/9bCqEw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
rollup@2.80.0:
resolution: {integrity: sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==}
@@ -3873,6 +4390,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.8.5:
+ resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
send@0.19.2:
resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==}
engines: {node: '>= 0.8.0'}
@@ -3917,6 +4439,10 @@ packages:
shiki@3.23.0:
resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==}
+ shiki@4.4.1:
+ resolution: {integrity: sha512-rFP+iYKzjLEIqiMiKANhARqiAbk4deDhWnBtnUO/K0D0dPxMGDH4N0FVfBY/VeI+lPrV4wNGCHQZp7EOr7NNBw==}
+ engines: {node: '>=20'}
+
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
engines: {node: '>= 0.4'}
@@ -3954,14 +4480,6 @@ packages:
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- slice-ansi@7.1.2:
- resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
- engines: {node: '>=18'}
-
- slice-ansi@8.0.0:
- resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==}
- engines: {node: '>=20'}
-
smob@1.6.1:
resolution: {integrity: sha512-KAkBqZl3c2GvNgNhcoyJae1aKldDW0LO279wF9bk1PnluRTETKBq0WyzRXxEhoQLk56yHaOY4JCBEKDuJIET5g==}
engines: {node: '>=20.0.0'}
@@ -3992,8 +4510,8 @@ packages:
spdx-exceptions@2.5.0:
resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
- spdx-expression-parse@4.0.0:
- resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+ spdx-expression-parse@5.0.0:
+ resolution: {integrity: sha512-vngmw3Rgn+o2arXNbnZaj5UtOEBuWBfvaI+Wc8GFfykIhA5/vdK9/Sp/XkLv63dykz2rxKDvKEHupF5P0FORcQ==}
spdx-license-ids@3.0.23:
resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==}
@@ -4023,14 +4541,6 @@ packages:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
- string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
-
- string-width@8.2.0:
- resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==}
- engines: {node: '>=20'}
-
string.prototype.matchall@4.0.12:
resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
engines: {node: '>= 0.4'}
@@ -4060,10 +4570,6 @@ packages:
resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
engines: {node: '>=4'}
- strip-ansi@7.2.0:
- resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
- engines: {node: '>=12'}
-
strip-comments@2.0.1:
resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
engines: {node: '>=10'}
@@ -4072,6 +4578,10 @@ packages:
resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
engines: {node: '>=12'}
+ super-regex@1.1.0:
+ resolution: {integrity: sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==}
+ engines: {node: '>=18'}
+
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
@@ -4103,6 +4613,10 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ time-span@5.1.0:
+ resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==}
+ engines: {node: '>=12'}
+
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -4110,8 +4624,12 @@ packages:
resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==}
engines: {node: '>=18'}
- tinyglobby@0.2.15:
- resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ tinyexec@1.3.0:
+ resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==}
+ engines: {node: '>=18'}
+
+ tinyglobby@0.2.17:
+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
engines: {node: '>=12.0.0'}
tinyrainbow@3.1.0:
@@ -4149,6 +4667,12 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
+ ts-api-utils@2.5.0:
+ resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
ts-declaration-location@1.0.7:
resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==}
peerDependencies:
@@ -4157,23 +4681,23 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsx@4.21.0:
- resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==}
+ tsx@4.23.4:
+ resolution: {integrity: sha512-ZiUQ8oT/KzN51mJUWPqARYqwFLFJZtGZipRkw1ynHMr9vy3eU77m5yfF3Gzm6meEg/beW+lUu3fHYgskTN2oVQ==}
engines: {node: '>=18.0.0'}
hasBin: true
- twoslash-protocol@0.3.6:
- resolution: {integrity: sha512-FHGsJ9Q+EsNr5bEbgG3hnbkvEBdW5STgPU824AHUjB4kw0Dn4p8tABT7Ncg1Ie6V0+mDg3Qpy41VafZXcQhWMA==}
+ twoslash-protocol@0.3.9:
+ resolution: {integrity: sha512-9/iwp+CXOnjFMPQuPL5PkuRbZnDoNpBvtJCLs9t8kDYkL3YHujbvnHfZA1i5fApDftVEdBw+T/4F+dH5kIzpYQ==}
- twoslash-vue@0.3.6:
- resolution: {integrity: sha512-HXYxU+Y7jZiMXJN4980fQNMYflLD8uqKey1qVW5ri8bqYTm2t5ILmOoCOli7esdCHlMq4/No3iQUWBWDhZNs9w==}
+ twoslash-vue@0.3.9:
+ resolution: {integrity: sha512-2zO1u4iPhZz9k7ysuDaJL1FUn4SHzm78ZF6/0Q4yFR2VP3NW0JwRpw/4cWqEM6ye3pDf8Zr9lVPBvsX4uK315A==}
peerDependencies:
- typescript: ^5.5.0
+ typescript: ^5.5.0 || ^6.0.0
- twoslash@0.3.6:
- resolution: {integrity: sha512-VuI5OKl+MaUO9UIW3rXKoPgHI3X40ZgB/j12VY6h98Ae1mCBihjPvhOPeJWlxCYcmSbmeZt5ZKkK0dsVtp+6pA==}
+ twoslash@0.3.9:
+ resolution: {integrity: sha512-rDclk+OtzuTX+tnea7DYLCkqGQ3eP0IyfD+kzUJ7t46X/NzlaxwrhecmEBNuSCuEn3V+n1PhcjUUQQ7gUJzX5Q==}
peerDependencies:
- typescript: ^5.5.0
+ typescript: ^5.5.0 || ^6.0.0
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
@@ -4183,6 +4707,10 @@ packages:
resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
engines: {node: '>=10'}
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
+
type-is@1.6.18:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'}
@@ -4232,8 +4760,8 @@ packages:
unconfig@7.5.0:
resolution: {integrity: sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA==}
- undici-types@7.18.2:
- resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
+ undici-types@8.3.0:
+ resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==}
unicode-canonical-property-names-ecmascript@2.0.1:
resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
@@ -4261,6 +4789,9 @@ packages:
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
unist-util-stringify-position@4.0.0:
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
@@ -4274,13 +4805,12 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
- unocss@66.6.6:
- resolution: {integrity: sha512-PRKK945e2oZKHV664MA5Z9CDHbvY/V79IvTOUWKZ514jpl3UsJU3sS+skgxmKJSmwrWvXE5OVcmPthJrD/7vxg==}
- engines: {node: '>=14'}
+ unocss@66.7.5:
+ resolution: {integrity: sha512-nAdmU8TwnQoiLnQjZ6Hm1GmHy9lTexKsAZNEJtZnxN9wyFRc1eLjQgmh9r7UEGxBQMQLD8OZOgmk5HpwObbh0Q==}
peerDependencies:
- '@unocss/astro': 66.6.6
- '@unocss/postcss': 66.6.6
- '@unocss/webpack': 66.6.6
+ '@unocss/astro': 66.7.5
+ '@unocss/postcss': 66.7.5
+ '@unocss/webpack': 66.7.5
peerDependenciesMeta:
'@unocss/astro':
optional: true
@@ -4331,14 +4861,14 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- vite-plugin-pwa@1.2.0:
- resolution: {integrity: sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==}
+ vite-plugin-pwa@1.3.0:
+ resolution: {integrity: sha512-c5kMgN+ITrOtHXp8PAtk2uOIEea6XjP/unCGxOWWBzQ6qa65qj/awHg0wf+QF9E/2u9vh86LqxPwzEPNbM2r5A==}
engines: {node: '>=16.0.0'}
peerDependencies:
'@vite-pwa/assets-generator': ^1.0.0
- vite: ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
- workbox-build: ^7.4.0
- workbox-window: ^7.4.0
+ vite: ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ workbox-build: ^7.4.1
+ workbox-window: ^7.4.1
peerDependenciesMeta:
'@vite-pwa/assets-generator':
optional: true
@@ -4383,18 +4913,61 @@ packages:
yaml:
optional: true
- vitepress-plugin-group-icons@1.7.1:
- resolution: {integrity: sha512-3ZPcIqwHNBg1btrOOSecOqv8yJxHdu3W2ugxE5LusclDF005LAm60URMEmBQrkgl4JvM32AqJirqghK6lGIk8g==}
+ vite@8.2.0:
+ resolution: {integrity: sha512-pn+CFpM0lwDeKwmOq1ZaBK/9sjorZcgqxki6MbY/jPEVd9vichIlmlD4HmQ5wdP5EgqQCFRaACBxMC7uEGc6lQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.4.0
+ esbuild: ^0.27.0 || ^0.28.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitepress-plugin-group-icons@1.7.6:
+ resolution: {integrity: sha512-fXSpQAYHpFpEsZLKWQAwbRx/+0uRSHmY58YNAQcz0AVirGsM6w22jtSmQhOGLEj8ZKyeRtTJrpx6otUI6wvoaQ==}
peerDependencies:
vite: '>=3'
peerDependenciesMeta:
vite:
optional: true
- vitepress-plugin-tabs@0.8.0:
- resolution: {integrity: sha512-86FWHAuS9XCyTMDpMd5MELwp3bQyITDf/+IdZ20+iYbB8TIR8yoCp08PkDHxi4WWSVsCZ3n1uUIC7YCVhMsI3A==}
+ vitepress-plugin-tabs@0.9.1:
+ resolution: {integrity: sha512-cRys9pWhyl5YnxXZ3BAdSDW8DriuXBewYhmUu4bBlnzksEDjzbKUwbNi30T74Vi1UXnY1a19Ap6DJDTOWJWdzA==}
peerDependencies:
- vitepress: ^1.0.0
+ vitepress: ^1.0.0 || ^2.0.0-alpha.17
vue: ^3.5.0
vitepress@2.0.0-alpha.16:
@@ -4412,21 +4985,23 @@ packages:
postcss:
optional: true
- vitest@4.1.0:
- resolution: {integrity: sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==}
+ vitest@4.1.10:
+ resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@opentelemetry/api': ^1.9.0
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.1.0
- '@vitest/browser-preview': 4.1.0
- '@vitest/browser-webdriverio': 4.1.0
- '@vitest/ui': 4.1.0
+ '@vitest/browser-playwright': 4.1.10
+ '@vitest/browser-preview': 4.1.10
+ '@vitest/browser-webdriverio': 4.1.10
+ '@vitest/coverage-istanbul': 4.1.10
+ '@vitest/coverage-v8': 4.1.10
+ '@vitest/ui': 4.1.10
happy-dom: '*'
jsdom: '*'
- vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
@@ -4440,6 +5015,10 @@ packages:
optional: true
'@vitest/browser-webdriverio':
optional: true
+ '@vitest/coverage-istanbul':
+ optional: true
+ '@vitest/coverage-v8':
+ optional: true
'@vitest/ui':
optional: true
happy-dom:
@@ -4458,8 +5037,8 @@ packages:
'@vue/composition-api':
optional: true
- vue-eslint-parser@10.4.0:
- resolution: {integrity: sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==}
+ vue-eslint-parser@10.4.1:
+ resolution: {integrity: sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
@@ -4469,8 +5048,8 @@ packages:
peerDependencies:
vue: ^3.0.0
- vue@3.5.30:
- resolution: {integrity: sha512-hTHLc6VNZyzzEH/l7PFGjpcTvUgiaPK5mdLkbjrTeWSRcEfxFrv56g/XckIYlE9ckuobsdwqd5mk2g1sBkMewg==}
+ vue@3.5.40:
+ resolution: {integrity: sha512-+8PJ4SJXdn/cHGImF4CKdxlWHIN5Dkt7DoufRREM6h6uVCx2m7QxgcEQmmzyOK8A9mcafg7sFbJFYsdFVubTig==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -4480,6 +5059,9 @@ packages:
wbuf@1.7.3:
resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+ web-worker@1.5.0:
+ resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==}
+
webidl-conversions@4.0.2:
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
@@ -4535,6 +5117,9 @@ packages:
workbox-core@7.4.0:
resolution: {integrity: sha512-6BMfd8tYEnN4baG4emG9U0hdXM4gGuDU3ectXuVHnj71vwxTFI7WOpQJC4siTOlVtGqCUtj0ZQNsrvi6kZZTAQ==}
+ workbox-core@7.4.1:
+ resolution: {integrity: sha512-DT+vu46eh/2vRsSHTY4Xmc32Z1rr9PRlQUXr1Dx30ZuXRWwOsvZgGgcwxcasubQLQmbTNYZjv44LkBAQ4tT5tQ==}
+
workbox-expiration@7.4.0:
resolution: {integrity: sha512-V50p4BxYhtA80eOvulu8xVfPBgZbkxJ1Jr8UUn0rvqjGhLDqKNtfrDfjJKnLz2U8fO2xGQJTx/SKXNTzHOjnHw==}
@@ -4568,19 +5153,18 @@ packages:
workbox-window@7.4.0:
resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==}
- wrap-ansi@9.0.2:
- resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
- engines: {node: '>=18'}
+ workbox-window@7.4.1:
+ resolution: {integrity: sha512-notZDH2u8VXaqyuD7xaqIfEFi6SRM4SUSd7ewe9PDsVqADuepxX2ZMY3uvuZGxzY5ZOsGC/vD3A/3smFtJt4/A==}
- xml-name-validator@4.0.0:
- resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
- engines: {node: '>=12'}
+ xml-name-validator@5.0.0:
+ resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
+ engines: {node: '>=18'}
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yaml-eslint-parser@2.0.0:
- resolution: {integrity: sha512-h0uDm97wvT2bokfwwTmY6kJ1hp6YDFL0nRHwNKz8s/VD1FH/vvZjAKoMUE+un0eaYBSG7/c6h+lJTP+31tjgTw==}
+ yaml-eslint-parser@2.1.0:
+ resolution: {integrity: sha512-1zo9KRfp6vIAXBEhWAz09ex3hUwh3T+/6dGbGteHvNseA0Uk4FgQnPES55klZ6cDzSy9FpgKS0D/CoLUvCCj4w==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
yaml@2.8.2:
@@ -4588,6 +5172,11 @@ packages:
engines: {node: '>= 14.6'}
hasBin: true
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -4597,53 +5186,53 @@ packages:
snapshots:
- '@antfu/eslint-config@7.7.3(@typescript-eslint/rule-tester@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3))(@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.30)(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)))':
+ '@antfu/eslint-config@9.2.0(@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3))(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.40)(eslint@10.8.0(jiti@2.6.1))(ts-declaration-location@1.0.7(typescript@5.9.3))(typescript@5.9.3)(vitest@4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)))':
dependencies:
'@antfu/install-pkg': 1.1.0
- '@clack/prompts': 1.1.0
- '@e18e/eslint-plugin': 0.2.0(eslint@10.0.3(jiti@2.6.1))
- '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@10.0.3(jiti@2.6.1))
- '@eslint/markdown': 7.5.1
- '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1))
- '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@vitest/eslint-plugin': 1.6.12(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)))
- ansis: 4.2.0
+ '@clack/prompts': 1.7.0
+ '@e18e/eslint-plugin': 0.5.1(eslint@10.8.0(jiti@2.6.1))
+ '@eslint-community/eslint-plugin-eslint-comments': 4.7.2(eslint@10.8.0(jiti@2.6.1))
+ '@eslint/markdown': 8.0.3
+ '@stylistic/eslint-plugin': 5.10.0(eslint@10.8.0(jiti@2.6.1))
+ '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ '@vitest/eslint-plugin': 1.6.25(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)))
+ ansis: 4.3.1
cac: 7.0.0
- eslint: 10.0.3(jiti@2.6.1)
- eslint-config-flat-gitignore: 2.2.1(eslint@10.0.3(jiti@2.6.1))
- eslint-flat-config-utils: 3.0.2
- eslint-merge-processors: 2.0.0(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-antfu: 3.2.2(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3))(@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-import-lite: 0.5.2(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-jsdoc: 62.8.0(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-jsonc: 3.1.2(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-n: 17.24.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- eslint-plugin-no-only-tests: 3.3.0
- eslint-plugin-perfectionist: 5.6.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- eslint-plugin-pnpm: 1.6.0(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-regexp: 3.1.0(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-toml: 1.3.1(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-unicorn: 63.0.0(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))
- eslint-plugin-vue: 10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.0.3(jiti@2.6.1)))(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.0.3(jiti@2.6.1)))
- eslint-plugin-yml: 3.3.1(eslint@10.0.3(jiti@2.6.1))
- eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.30)(eslint@10.0.3(jiti@2.6.1))
- globals: 17.4.0
- local-pkg: 1.1.2
+ eslint: 10.8.0(jiti@2.6.1)
+ eslint-config-flat-gitignore: 2.3.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-flat-config-utils: 3.2.0
+ eslint-merge-processors: 2.0.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-antfu: 3.2.3(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-command: 3.5.3(@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3))(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-import-lite: 0.6.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-jsdoc: 63.3.2(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-jsonc: 3.3.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-n: 18.2.2(eslint@10.8.0(jiti@2.6.1))(ts-declaration-location@1.0.7(typescript@5.9.3))(typescript@5.9.3)
+ eslint-plugin-no-only-tests: 3.4.0
+ eslint-plugin-perfectionist: 5.10.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-pnpm: 1.7.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-regexp: 3.1.1(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-toml: 1.5.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-unicorn: 72.0.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))
+ eslint-plugin-vue: 10.10.0(@stylistic/eslint-plugin@5.10.0(eslint@10.8.0(jiti@2.6.1)))(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(vue-eslint-parser@10.4.1(eslint@10.8.0(jiti@2.6.1)))
+ eslint-plugin-yml: 3.7.0(eslint@10.8.0(jiti@2.6.1))
+ eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.40)(eslint@10.8.0(jiti@2.6.1))
+ globals: 17.9.0
+ local-pkg: 1.2.1
parse-gitignore: 2.0.0
toml-eslint-parser: 1.0.3
- vue-eslint-parser: 10.4.0(eslint@10.0.3(jiti@2.6.1))
- yaml-eslint-parser: 2.0.0
+ vue-eslint-parser: 10.4.1(eslint@10.8.0(jiti@2.6.1))
+ yaml-eslint-parser: 2.1.0
transitivePeerDependencies:
- '@eslint/json'
- - '@typescript-eslint/rule-tester'
- '@typescript-eslint/typescript-estree'
- '@typescript-eslint/utils'
- '@vue/compiler-sfc'
- oxlint
- supports-color
+ - ts-declaration-location
- typescript
- vitest
@@ -4652,13 +5241,12 @@ snapshots:
package-manager-detector: 1.6.0
tinyexec: 1.0.4
- '@antfu/ni@28.3.0':
+ '@antfu/ni@30.3.0':
dependencies:
- ansis: 4.2.0
fzf: 0.5.2
- package-manager-detector: 1.6.0
- tinyexec: 1.0.4
- tinyglobby: 0.2.15
+ package-manager-detector: 1.8.0
+ tinyexec: 1.3.0
+ tinyglobby: 0.2.17
'@apideck/better-ajv-errors@0.3.6(ajv@8.18.0)':
dependencies:
@@ -4804,8 +5392,12 @@ snapshots:
'@babel/helper-string-parser@7.27.1': {}
+ '@babel/helper-string-parser@7.29.7': {}
+
'@babel/helper-validator-identifier@7.28.5': {}
+ '@babel/helper-validator-identifier@7.29.7': {}
+
'@babel/helper-validator-option@7.27.1': {}
'@babel/helper-wrap-function@7.28.6':
@@ -4825,6 +5417,10 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
+ '@babel/parser@7.29.8':
+ dependencies:
+ '@babel/types': 7.29.8
+
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -5321,15 +5917,23 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
+ '@babel/types@7.29.8':
+ dependencies:
+ '@babel/helper-string-parser': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+
'@canvas/image-data@1.1.0': {}
- '@clack/core@1.1.0':
+ '@clack/core@1.4.3':
dependencies:
+ fast-wrap-ansi: 0.2.2
sisteransi: 1.0.5
- '@clack/prompts@1.1.0':
+ '@clack/prompts@1.7.0':
dependencies:
- '@clack/core': 1.1.0
+ '@clack/core': 1.4.3
+ fast-string-width: 3.0.2
+ fast-wrap-ansi: 0.2.2
sisteransi: 1.0.5
'@docsearch/css@4.6.0': {}
@@ -5338,15 +5942,28 @@ snapshots:
'@docsearch/sidepanel-js@4.6.0': {}
- '@e18e/eslint-plugin@0.2.0(eslint@10.0.3(jiti@2.6.1))':
+ '@e18e/eslint-plugin@0.5.1(eslint@10.8.0(jiti@2.6.1))':
dependencies:
- eslint-plugin-depend: 1.5.0(eslint@10.0.3(jiti@2.6.1))
+ empathic: 2.0.1
+ module-replacements: 3.1.0
+ semver: 7.8.5
optionalDependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
- '@emnapi/core@1.9.0':
+ '@emnapi/core@1.10.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.1
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/core@2.0.0-alpha.3':
+ dependencies:
+ '@emnapi/wasi-threads': 2.0.1
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.10.0':
dependencies:
- '@emnapi/wasi-threads': 1.2.0
tslib: 2.8.1
optional: true
@@ -5355,162 +5972,264 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emnapi/wasi-threads@1.2.0':
+ '@emnapi/runtime@2.0.0-alpha.3':
dependencies:
tslib: 2.8.1
optional: true
- '@es-joy/jsdoccomment@0.84.0':
+ '@emnapi/wasi-threads@1.2.1':
dependencies:
- '@types/estree': 1.0.8
- '@typescript-eslint/types': 8.57.1
- comment-parser: 1.4.5
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@2.0.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@es-joy/jsdoccomment@0.88.0':
+ dependencies:
+ '@types/estree': 1.0.9
+ '@typescript-eslint/types': 8.65.0
+ comment-parser: 1.4.7
esquery: 1.7.0
- jsdoc-type-pratt-parser: 7.1.1
+ jsdoc-type-pratt-parser: 7.2.0
+
+ '@es-joy/jsdoccomment@0.91.0':
+ dependencies:
+ '@types/estree': 1.0.9
+ '@typescript-eslint/types': 8.65.0
+ comment-parser: 1.4.7
+ esquery: 1.7.0
+ jsdoc-type-pratt-parser: 8.0.0
'@es-joy/resolve.exports@1.2.0': {}
'@esbuild/aix-ppc64@0.27.4':
optional: true
+ '@esbuild/aix-ppc64@0.28.1':
+ optional: true
+
'@esbuild/android-arm64@0.27.4':
optional: true
+ '@esbuild/android-arm64@0.28.1':
+ optional: true
+
'@esbuild/android-arm@0.27.4':
optional: true
+ '@esbuild/android-arm@0.28.1':
+ optional: true
+
'@esbuild/android-x64@0.27.4':
optional: true
+ '@esbuild/android-x64@0.28.1':
+ optional: true
+
'@esbuild/darwin-arm64@0.27.4':
optional: true
+ '@esbuild/darwin-arm64@0.28.1':
+ optional: true
+
'@esbuild/darwin-x64@0.27.4':
optional: true
+ '@esbuild/darwin-x64@0.28.1':
+ optional: true
+
'@esbuild/freebsd-arm64@0.27.4':
optional: true
+ '@esbuild/freebsd-arm64@0.28.1':
+ optional: true
+
'@esbuild/freebsd-x64@0.27.4':
optional: true
+ '@esbuild/freebsd-x64@0.28.1':
+ optional: true
+
'@esbuild/linux-arm64@0.27.4':
optional: true
+ '@esbuild/linux-arm64@0.28.1':
+ optional: true
+
'@esbuild/linux-arm@0.27.4':
optional: true
+ '@esbuild/linux-arm@0.28.1':
+ optional: true
+
'@esbuild/linux-ia32@0.27.4':
optional: true
+ '@esbuild/linux-ia32@0.28.1':
+ optional: true
+
'@esbuild/linux-loong64@0.27.4':
optional: true
+ '@esbuild/linux-loong64@0.28.1':
+ optional: true
+
'@esbuild/linux-mips64el@0.27.4':
optional: true
+ '@esbuild/linux-mips64el@0.28.1':
+ optional: true
+
'@esbuild/linux-ppc64@0.27.4':
optional: true
+ '@esbuild/linux-ppc64@0.28.1':
+ optional: true
+
'@esbuild/linux-riscv64@0.27.4':
optional: true
+ '@esbuild/linux-riscv64@0.28.1':
+ optional: true
+
'@esbuild/linux-s390x@0.27.4':
optional: true
+ '@esbuild/linux-s390x@0.28.1':
+ optional: true
+
'@esbuild/linux-x64@0.27.4':
optional: true
+ '@esbuild/linux-x64@0.28.1':
+ optional: true
+
'@esbuild/netbsd-arm64@0.27.4':
optional: true
+ '@esbuild/netbsd-arm64@0.28.1':
+ optional: true
+
'@esbuild/netbsd-x64@0.27.4':
optional: true
+ '@esbuild/netbsd-x64@0.28.1':
+ optional: true
+
'@esbuild/openbsd-arm64@0.27.4':
optional: true
+ '@esbuild/openbsd-arm64@0.28.1':
+ optional: true
+
'@esbuild/openbsd-x64@0.27.4':
optional: true
+ '@esbuild/openbsd-x64@0.28.1':
+ optional: true
+
'@esbuild/openharmony-arm64@0.27.4':
optional: true
+ '@esbuild/openharmony-arm64@0.28.1':
+ optional: true
+
'@esbuild/sunos-x64@0.27.4':
optional: true
+ '@esbuild/sunos-x64@0.28.1':
+ optional: true
+
'@esbuild/win32-arm64@0.27.4':
optional: true
+ '@esbuild/win32-arm64@0.28.1':
+ optional: true
+
'@esbuild/win32-ia32@0.27.4':
optional: true
+ '@esbuild/win32-ia32@0.28.1':
+ optional: true
+
'@esbuild/win32-x64@0.27.4':
optional: true
- '@eslint-community/eslint-plugin-eslint-comments@4.7.1(eslint@10.0.3(jiti@2.6.1))':
+ '@esbuild/win32-x64@0.28.1':
+ optional: true
+
+ '@eslint-community/eslint-plugin-eslint-comments@4.7.2(eslint@10.8.0(jiti@2.6.1))':
dependencies:
escape-string-regexp: 4.0.0
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
ignore: 7.0.5
- '@eslint-community/eslint-utils@4.9.1(eslint@10.0.3(jiti@2.6.1))':
+ '@eslint-community/eslint-utils@4.9.1(eslint@10.8.0(jiti@2.6.1))':
dependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/compat@2.0.3(eslint@10.0.3(jiti@2.6.1))':
+ '@eslint/compat@2.0.3(eslint@10.8.0(jiti@2.6.1))':
dependencies:
'@eslint/core': 1.1.1
optionalDependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
- '@eslint/config-array@0.23.3':
+ '@eslint/config-array@0.23.5':
dependencies:
- '@eslint/object-schema': 3.0.3
+ '@eslint/object-schema': 3.0.5
debug: 4.4.3
- minimatch: 10.2.4
+ minimatch: 10.2.6
transitivePeerDependencies:
- supports-color
- '@eslint/config-helpers@0.5.3':
+ '@eslint/config-helpers@0.5.5':
dependencies:
- '@eslint/core': 1.1.1
+ '@eslint/core': 1.2.1
- '@eslint/core@0.17.0':
+ '@eslint/config-helpers@0.7.0':
dependencies:
- '@types/json-schema': 7.0.15
+ '@eslint/core': 1.2.1
'@eslint/core@1.1.1':
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/markdown@7.5.1':
+ '@eslint/core@1.2.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/css-tree@4.0.5':
+ dependencies:
+ mdn-data: 2.29.0
+ source-map-js: 1.2.1
+
+ '@eslint/markdown@8.0.3':
dependencies:
- '@eslint/core': 0.17.0
- '@eslint/plugin-kit': 0.4.1
+ '@eslint/core': 1.2.1
+ '@eslint/plugin-kit': 0.7.2
github-slugger: 2.0.0
mdast-util-from-markdown: 2.0.3
mdast-util-frontmatter: 2.0.1
mdast-util-gfm: 3.1.0
+ mdast-util-math: 3.0.0
micromark-extension-frontmatter: 2.0.0
micromark-extension-gfm: 3.0.0
+ micromark-extension-math: 3.1.0
micromark-util-normalize-identifier: 2.0.1
transitivePeerDependencies:
- supports-color
- '@eslint/object-schema@3.0.3': {}
+ '@eslint/object-schema@3.0.5': {}
- '@eslint/plugin-kit@0.4.1':
+ '@eslint/plugin-kit@0.7.2':
dependencies:
- '@eslint/core': 0.17.0
- levn: 0.4.1
-
- '@eslint/plugin-kit@0.6.1':
- dependencies:
- '@eslint/core': 1.1.1
+ '@eslint/core': 1.2.1
levn: 0.4.1
'@floating-ui/core@1.7.5':
@@ -5528,11 +6247,11 @@ snapshots:
'@floating-ui/utils@0.2.11': {}
- '@floating-ui/vue@1.1.11(vue@3.5.30(typescript@5.9.3))':
+ '@floating-ui/vue@1.1.11(vue@3.5.40(typescript@5.9.3))':
dependencies:
'@floating-ui/dom': 1.7.6
'@floating-ui/utils': 0.2.11
- vue-demi: 0.14.10(vue@3.5.30(typescript@5.9.3))
+ vue-demi: 0.14.10(vue@3.5.40(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -5548,11 +6267,11 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
- '@iconify-json/carbon@1.2.19':
+ '@iconify-json/carbon@1.2.25':
dependencies:
'@iconify/types': 2.0.0
- '@iconify-json/logos@1.2.10':
+ '@iconify-json/logos@1.2.11':
dependencies:
'@iconify/types': 2.0.0
@@ -5560,22 +6279,22 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
- '@iconify-json/vscode-icons@1.2.45':
+ '@iconify-json/vscode-icons@1.2.68':
dependencies:
'@iconify/types': 2.0.0
'@iconify/types@2.0.0': {}
- '@iconify/utils@3.1.0':
+ '@iconify/utils@3.1.4':
dependencies:
'@antfu/install-pkg': 1.1.0
'@iconify/types': 2.0.0
- mlly: 1.8.1
+ import-meta-resolve: 4.2.0
- '@iconify/vue@5.0.0(vue@3.5.30(typescript@5.9.3))':
+ '@iconify/vue@5.0.1(vue@3.5.40(typescript@5.9.3))':
dependencies:
'@iconify/types': 2.0.0
- vue: 3.5.30(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
'@img/sharp-darwin-arm64@0.33.5':
optionalDependencies:
@@ -5686,78 +6405,89 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@napi-rs/wasm-runtime@1.1.1':
+ '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
dependencies:
- '@emnapi/core': 1.9.0
- '@emnapi/runtime': 1.9.0
- '@tybys/wasm-util': 0.10.1
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
+ '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
+ dependencies:
+ '@emnapi/core': 2.0.0-alpha.3
+ '@emnapi/runtime': 2.0.0-alpha.3
+ '@tybys/wasm-util': 0.10.3
optional: true
'@ota-meshi/ast-token-store@0.3.0': {}
- '@oxc-parser/binding-android-arm-eabi@0.115.0':
+ '@oxc-parser/binding-android-arm-eabi@0.131.0':
optional: true
- '@oxc-parser/binding-android-arm64@0.115.0':
+ '@oxc-parser/binding-android-arm64@0.131.0':
optional: true
- '@oxc-parser/binding-darwin-arm64@0.115.0':
+ '@oxc-parser/binding-darwin-arm64@0.131.0':
optional: true
- '@oxc-parser/binding-darwin-x64@0.115.0':
+ '@oxc-parser/binding-darwin-x64@0.131.0':
optional: true
- '@oxc-parser/binding-freebsd-x64@0.115.0':
+ '@oxc-parser/binding-freebsd-x64@0.131.0':
optional: true
- '@oxc-parser/binding-linux-arm-gnueabihf@0.115.0':
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.131.0':
optional: true
- '@oxc-parser/binding-linux-arm-musleabihf@0.115.0':
+ '@oxc-parser/binding-linux-arm-musleabihf@0.131.0':
optional: true
- '@oxc-parser/binding-linux-arm64-gnu@0.115.0':
+ '@oxc-parser/binding-linux-arm64-gnu@0.131.0':
optional: true
- '@oxc-parser/binding-linux-arm64-musl@0.115.0':
+ '@oxc-parser/binding-linux-arm64-musl@0.131.0':
optional: true
- '@oxc-parser/binding-linux-ppc64-gnu@0.115.0':
+ '@oxc-parser/binding-linux-ppc64-gnu@0.131.0':
optional: true
- '@oxc-parser/binding-linux-riscv64-gnu@0.115.0':
+ '@oxc-parser/binding-linux-riscv64-gnu@0.131.0':
optional: true
- '@oxc-parser/binding-linux-riscv64-musl@0.115.0':
+ '@oxc-parser/binding-linux-riscv64-musl@0.131.0':
optional: true
- '@oxc-parser/binding-linux-s390x-gnu@0.115.0':
+ '@oxc-parser/binding-linux-s390x-gnu@0.131.0':
optional: true
- '@oxc-parser/binding-linux-x64-gnu@0.115.0':
+ '@oxc-parser/binding-linux-x64-gnu@0.131.0':
optional: true
- '@oxc-parser/binding-linux-x64-musl@0.115.0':
+ '@oxc-parser/binding-linux-x64-musl@0.131.0':
optional: true
- '@oxc-parser/binding-openharmony-arm64@0.115.0':
+ '@oxc-parser/binding-openharmony-arm64@0.131.0':
optional: true
- '@oxc-parser/binding-wasm32-wasi@0.115.0':
+ '@oxc-parser/binding-wasm32-wasi@0.131.0':
dependencies:
- '@napi-rs/wasm-runtime': 1.1.1
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
- '@oxc-parser/binding-win32-arm64-msvc@0.115.0':
+ '@oxc-parser/binding-win32-arm64-msvc@0.131.0':
optional: true
- '@oxc-parser/binding-win32-ia32-msvc@0.115.0':
+ '@oxc-parser/binding-win32-ia32-msvc@0.131.0':
optional: true
- '@oxc-parser/binding-win32-x64-msvc@0.115.0':
+ '@oxc-parser/binding-win32-x64-msvc@0.131.0':
optional: true
- '@oxc-project/types@0.115.0': {}
+ '@oxc-project/types@0.131.0': {}
+
+ '@oxc-project/types@0.142.0': {}
'@pkgr/core@0.2.9': {}
@@ -5769,7 +6499,56 @@ snapshots:
'@rive-app/canvas-lite@2.35.3': {}
- '@rolldown/pluginutils@1.0.0-rc.2': {}
+ '@rolldown/binding-android-arm64@1.2.1':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.2.1':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.2.1':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-ppc64-gnu@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-s390x-gnu@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.2.1':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.2.1':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.2.1':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.2.1':
+ dependencies:
+ '@emnapi/core': 2.0.0-alpha.3
+ '@emnapi/runtime': 2.0.0-alpha.3
+ '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.2.1':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.2.1':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.1': {}
'@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(rollup@2.80.0)':
dependencies:
@@ -5901,35 +6680,73 @@ snapshots:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
+ '@shikijs/core@4.4.1':
+ dependencies:
+ '@shikijs/primitive': 4.4.1
+ '@shikijs/types': 4.4.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+ hast-util-to-html: 9.0.5
+
'@shikijs/engine-javascript@3.23.0':
dependencies:
'@shikijs/types': 3.23.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.5
+ '@shikijs/engine-javascript@4.4.1':
+ dependencies:
+ '@shikijs/types': 4.4.1
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.6
+
'@shikijs/engine-oniguruma@3.23.0':
dependencies:
'@shikijs/types': 3.23.0
'@shikijs/vscode-textmate': 10.0.2
+ '@shikijs/engine-oniguruma@4.4.1':
+ dependencies:
+ '@shikijs/types': 4.4.1
+ '@shikijs/vscode-textmate': 10.0.2
+
'@shikijs/langs@3.23.0':
dependencies:
'@shikijs/types': 3.23.0
+ '@shikijs/langs@4.4.1':
+ dependencies:
+ '@shikijs/types': 4.4.1
+
+ '@shikijs/primitive@4.4.1':
+ dependencies:
+ '@shikijs/types': 4.4.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+
'@shikijs/themes@3.23.0':
dependencies:
'@shikijs/types': 3.23.0
+ '@shikijs/themes@4.4.1':
+ dependencies:
+ '@shikijs/types': 4.4.1
+
'@shikijs/transformers@3.23.0':
dependencies:
'@shikijs/core': 3.23.0
'@shikijs/types': 3.23.0
- '@shikijs/twoslash@3.23.0(typescript@5.9.3)':
+ '@shikijs/transformers@4.4.1':
dependencies:
- '@shikijs/core': 3.23.0
- '@shikijs/types': 3.23.0
- twoslash: 0.3.6(typescript@5.9.3)
+ '@shikijs/core': 4.4.1
+ '@shikijs/types': 4.4.1
+
+ '@shikijs/twoslash@4.4.1(typescript@5.9.3)':
+ dependencies:
+ '@shikijs/core': 4.4.1
+ '@shikijs/types': 4.4.1
+ twoslash: 0.3.9(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -5939,21 +6756,26 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- '@shikijs/vitepress-twoslash@3.23.0(typescript@5.9.3)':
+ '@shikijs/types@4.4.1':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+
+ '@shikijs/vitepress-twoslash@4.4.1(typescript@5.9.3)':
dependencies:
- '@shikijs/twoslash': 3.23.0(typescript@5.9.3)
- floating-vue: 5.2.2(vue@3.5.30(typescript@5.9.3))
+ '@shikijs/twoslash': 4.4.1(typescript@5.9.3)
+ floating-vue: 5.2.2(vue@3.5.40(typescript@5.9.3))
lz-string: 1.5.0
- magic-string: 0.30.21
- markdown-it: 14.1.1
+ magic-string: 1.1.0
+ markdown-it: 14.3.0
mdast-util-from-markdown: 2.0.3
mdast-util-gfm: 3.1.0
mdast-util-to-hast: 13.2.1
ohash: 2.0.11
- shiki: 3.23.0
- twoslash: 0.3.6(typescript@5.9.3)
- twoslash-vue: 0.3.6(typescript@5.9.3)
- vue: 3.5.30(typescript@5.9.3)
+ shiki: 4.4.1
+ twoslash: 0.3.9(typescript@5.9.3)
+ twoslash-vue: 0.3.9(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
transitivePeerDependencies:
- '@nuxt/kit'
- supports-color
@@ -5965,11 +6787,11 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
- '@stylistic/eslint-plugin@5.10.0(eslint@10.0.3(jiti@2.6.1))':
+ '@stylistic/eslint-plugin@5.10.0(eslint@10.8.0(jiti@2.6.1))':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
'@typescript-eslint/types': 8.57.1
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
eslint-visitor-keys: 4.2.1
espree: 10.4.0
estraverse: 5.3.0
@@ -6052,21 +6874,21 @@ snapshots:
postcss-selector-parser: 6.0.10
tailwindcss: 4.2.1
- '@tailwindcss/vite@4.2.1(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@tailwindcss/vite@4.2.1(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))':
dependencies:
'@tailwindcss/node': 4.2.1
'@tailwindcss/oxide': 4.2.1
tailwindcss: 4.2.1
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
'@tanstack/virtual-core@3.13.23': {}
- '@tanstack/vue-virtual@3.13.23(vue@3.5.30(typescript@5.9.3))':
+ '@tanstack/vue-virtual@3.13.23(vue@3.5.40(typescript@5.9.3))':
dependencies:
'@tanstack/virtual-core': 3.13.23
- vue: 3.5.30(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
- '@tybys/wasm-util@0.10.1':
+ '@tybys/wasm-util@0.10.3':
dependencies:
tslib: 2.8.1
optional: true
@@ -6088,12 +6910,20 @@ snapshots:
'@types/estree@1.0.8': {}
+ '@types/estree@1.0.9': {}
+
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
+ '@types/hast@3.0.5':
+ dependencies:
+ '@types/unist': 3.0.3
+
'@types/json-schema@7.0.15': {}
+ '@types/katex@0.16.8': {}
+
'@types/linkify-it@5.0.0': {}
'@types/markdown-it@14.1.2':
@@ -6109,9 +6939,9 @@ snapshots:
'@types/ms@2.1.0': {}
- '@types/node@25.5.0':
+ '@types/node@26.1.2':
dependencies:
- undici-types: 7.18.2
+ undici-types: 8.3.0
'@types/resolve@1.20.2': {}
@@ -6121,30 +6951,30 @@ snapshots:
'@types/web-bluetooth@0.0.21': {}
- '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/type-utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.57.1
- eslint: 10.0.3(jiti@2.6.1)
+ '@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.65.0
+ '@typescript-eslint/type-utils': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.65.0
+ eslint: 10.8.0(jiti@2.6.1)
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.4.0(typescript@5.9.3)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.57.1
+ '@typescript-eslint/scope-manager': 8.65.0
+ '@typescript-eslint/types': 8.65.0
+ '@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.65.0
debug: 4.4.3
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -6158,65 +6988,97 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/rule-tester@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.65.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- ajv: 6.14.0
- eslint: 10.0.3(jiti@2.6.1)
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- semver: 7.7.4
+ '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.65.0
+ debug: 4.4.3
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- - typescript
'@typescript-eslint/scope-manager@8.57.1':
dependencies:
'@typescript-eslint/types': 8.57.1
'@typescript-eslint/visitor-keys': 8.57.1
+ '@typescript-eslint/scope-manager@8.65.0':
+ dependencies:
+ '@typescript-eslint/types': 8.65.0
+ '@typescript-eslint/visitor-keys': 8.65.0
+
'@typescript-eslint/tsconfig-utils@8.57.1(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.65.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@typescript-eslint/type-utils@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.65.0
+ '@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
debug: 4.4.3
- eslint: 10.0.3(jiti@2.6.1)
- ts-api-utils: 2.4.0(typescript@5.9.3)
+ eslint: 10.8.0(jiti@2.6.1)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.57.1': {}
+ '@typescript-eslint/types@8.65.0': {}
+
'@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/types': 8.57.1
- '@typescript-eslint/visitor-keys': 8.57.1
+ '@typescript-eslint/project-service': 8.57.1(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3)
+ '@typescript-eslint/types': 8.57.1
+ '@typescript-eslint/visitor-keys': 8.57.1
+ debug: 4.4.3
+ minimatch: 10.2.4
+ semver: 7.7.4
+ tinyglobby: 0.2.17
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.65.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.65.0
+ '@typescript-eslint/visitor-keys': 8.65.0
debug: 4.4.3
minimatch: 10.2.4
semver: 7.7.4
- tinyglobby: 0.2.15
- ts-api-utils: 2.4.0(typescript@5.9.3)
+ tinyglobby: 0.2.17
+ ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.57.1(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
'@typescript-eslint/scope-manager': 8.57.1
'@typescript-eslint/types': 8.57.1
'@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.65.0
+ '@typescript-eslint/types': 8.65.0
+ '@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
+ eslint: 10.8.0(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -6226,6 +7088,11 @@ snapshots:
'@typescript-eslint/types': 8.57.1
eslint-visitor-keys: 5.0.1
+ '@typescript-eslint/visitor-keys@8.65.0':
+ dependencies:
+ '@typescript-eslint/types': 8.65.0
+ eslint-visitor-keys: 5.0.1
+
'@typescript/vfs@1.6.4(typescript@5.9.3)':
dependencies:
debug: 4.4.3
@@ -6235,136 +7102,136 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
- '@unocss/cli@66.6.6':
+ '@unocss/cli@66.7.5':
dependencies:
'@jridgewell/remapping': 2.3.5
- '@unocss/config': 66.6.6
- '@unocss/core': 66.6.6
- '@unocss/preset-wind3': 66.6.6
- '@unocss/preset-wind4': 66.6.6
- '@unocss/transformer-directives': 66.6.6
- cac: 6.7.14
+ '@unocss/config': 66.7.5
+ '@unocss/core': 66.7.5
+ '@unocss/preset-wind3': 66.7.5
+ '@unocss/preset-wind4': 66.7.5
+ '@unocss/transformer-directives': 66.7.5
+ cac: 7.0.0
chokidar: 5.0.0
colorette: 2.0.20
consola: 3.4.2
magic-string: 0.30.21
pathe: 2.0.3
perfect-debounce: 2.1.0
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
unplugin-utils: 0.3.1
- '@unocss/config@66.6.6':
+ '@unocss/config@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
colorette: 2.0.20
consola: 3.4.2
unconfig: 7.5.0
- '@unocss/core@66.6.6': {}
+ '@unocss/core@66.7.5': {}
- '@unocss/extractor-arbitrary-variants@66.6.6':
+ '@unocss/extractor-arbitrary-variants@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
- '@unocss/inspector@66.6.6':
+ '@unocss/inspector@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/rule-utils': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/rule-utils': 66.7.5
colorette: 2.0.20
gzip-size: 6.0.0
sirv: 3.0.2
- '@unocss/preset-attributify@66.6.6':
+ '@unocss/preset-attributify@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
- '@unocss/preset-icons@66.6.6':
+ '@unocss/preset-icons@66.7.5':
dependencies:
- '@iconify/utils': 3.1.0
- '@unocss/core': 66.6.6
+ '@iconify/utils': 3.1.4
+ '@unocss/core': 66.7.5
ofetch: 1.5.1
- '@unocss/preset-mini@66.6.6':
+ '@unocss/preset-mini@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/extractor-arbitrary-variants': 66.6.6
- '@unocss/rule-utils': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/extractor-arbitrary-variants': 66.7.5
+ '@unocss/rule-utils': 66.7.5
- '@unocss/preset-tagify@66.6.6':
+ '@unocss/preset-tagify@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
- '@unocss/preset-typography@66.6.6':
+ '@unocss/preset-typography@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/rule-utils': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/rule-utils': 66.7.5
- '@unocss/preset-uno@66.6.6':
+ '@unocss/preset-uno@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/preset-wind3': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/preset-wind3': 66.7.5
- '@unocss/preset-web-fonts@66.6.6':
+ '@unocss/preset-web-fonts@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
ofetch: 1.5.1
- '@unocss/preset-wind3@66.6.6':
+ '@unocss/preset-wind3@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/preset-mini': 66.6.6
- '@unocss/rule-utils': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/preset-mini': 66.7.5
+ '@unocss/rule-utils': 66.7.5
- '@unocss/preset-wind4@66.6.6':
+ '@unocss/preset-wind4@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/extractor-arbitrary-variants': 66.6.6
- '@unocss/rule-utils': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/extractor-arbitrary-variants': 66.7.5
+ '@unocss/rule-utils': 66.7.5
- '@unocss/preset-wind@66.6.6':
+ '@unocss/preset-wind@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/preset-wind3': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/preset-wind3': 66.7.5
- '@unocss/reset@66.6.6': {}
+ '@unocss/reset@66.7.5': {}
- '@unocss/rule-utils@66.6.6':
+ '@unocss/rule-utils@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
magic-string: 0.30.21
- '@unocss/transformer-attributify-jsx@66.6.6':
+ '@unocss/transformer-attributify-jsx@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- oxc-parser: 0.115.0
- oxc-walker: 0.7.0(oxc-parser@0.115.0)
+ '@unocss/core': 66.7.5
+ oxc-parser: 0.131.0
+ oxc-walker: 0.7.0(oxc-parser@0.131.0)
- '@unocss/transformer-compile-class@66.6.6':
+ '@unocss/transformer-compile-class@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
- '@unocss/transformer-directives@66.6.6':
+ '@unocss/transformer-directives@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
- '@unocss/rule-utils': 66.6.6
+ '@unocss/core': 66.7.5
+ '@unocss/rule-utils': 66.7.5
css-tree: 3.2.1
- '@unocss/transformer-variant-group@66.6.6':
+ '@unocss/transformer-variant-group@66.7.5':
dependencies:
- '@unocss/core': 66.6.6
+ '@unocss/core': 66.7.5
- '@unocss/vite@66.6.6(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@unocss/vite@66.7.5(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))':
dependencies:
'@jridgewell/remapping': 2.3.5
- '@unocss/config': 66.6.6
- '@unocss/core': 66.6.6
- '@unocss/inspector': 66.6.6
+ '@unocss/config': 66.7.5
+ '@unocss/core': 66.7.5
+ '@unocss/inspector': 66.7.5
chokidar: 5.0.0
magic-string: 0.30.21
pathe: 2.0.3
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
unplugin-utils: 0.3.1
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
'@vite-pwa/assets-generator@1.0.2':
dependencies:
@@ -6375,89 +7242,96 @@ snapshots:
sharp-ico: 0.1.5
unconfig: 7.5.0
- '@vite-pwa/vitepress@1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0)(workbox-window@7.4.0))':
+ '@vite-pwa/vitepress@1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(workbox-build@7.4.0)(workbox-window@7.4.1))':
dependencies:
- vite-plugin-pwa: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0)(workbox-window@7.4.0)
+ vite-plugin-pwa: 1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(workbox-build@7.4.0)(workbox-window@7.4.1)
optionalDependencies:
'@vite-pwa/assets-generator': 1.0.2
- '@vitejs/plugin-vue@6.0.5(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))':
+ '@vitejs/plugin-vue@6.0.8(vite@7.3.1(@types/node@26.1.2)(jiti@2.6.1)(lightningcss@1.33.0)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))':
dependencies:
- '@rolldown/pluginutils': 1.0.0-rc.2
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
- vue: 3.5.30(typescript@5.9.3)
+ '@rolldown/pluginutils': 1.0.1
+ vite: 7.3.1(@types/node@26.1.2)(jiti@2.6.1)(lightningcss@1.33.0)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
+ vue: 3.5.40(typescript@5.9.3)
- '@vitest/eslint-plugin@1.6.12(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)))':
+ '@vitejs/plugin-vue@6.0.8(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))':
dependencies:
- '@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- eslint: 10.0.3(jiti@2.6.1)
+ '@rolldown/pluginutils': 1.0.1
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
+ vue: 3.5.40(typescript@5.9.3)
+
+ '@vitest/eslint-plugin@1.6.25(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)))':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.65.0
+ '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 10.8.0(jiti@2.6.1)
optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
typescript: 5.9.3
- vitest: 4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+ vitest: 4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
transitivePeerDependencies:
- supports-color
- '@vitest/expect@4.1.0':
+ '@vitest/expect@4.1.10':
dependencies:
'@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.1.0
- '@vitest/utils': 4.1.0
+ '@vitest/spy': 4.1.10
+ '@vitest/utils': 4.1.10
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.0(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitest/mocker@4.1.10(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))':
dependencies:
- '@vitest/spy': 4.1.0
+ '@vitest/spy': 4.1.10
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
- '@vitest/pretty-format@4.1.0':
+ '@vitest/pretty-format@4.1.10':
dependencies:
tinyrainbow: 3.1.0
- '@vitest/runner@4.1.0':
+ '@vitest/runner@4.1.10':
dependencies:
- '@vitest/utils': 4.1.0
+ '@vitest/utils': 4.1.10
pathe: 2.0.3
- '@vitest/snapshot@4.1.0':
+ '@vitest/snapshot@4.1.10':
dependencies:
- '@vitest/pretty-format': 4.1.0
- '@vitest/utils': 4.1.0
+ '@vitest/pretty-format': 4.1.10
+ '@vitest/utils': 4.1.10
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.1.0': {}
+ '@vitest/spy@4.1.10': {}
- '@vitest/utils@4.1.0':
+ '@vitest/utils@4.1.10':
dependencies:
- '@vitest/pretty-format': 4.1.0
+ '@vitest/pretty-format': 4.1.10
convert-source-map: 2.0.0
tinyrainbow: 3.1.0
- '@voidzero-dev/vitepress-theme@4.8.4(change-case@5.4.4)(focus-trap@7.8.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(vitepress@2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))':
+ '@voidzero-dev/vitepress-theme@5.0.4(change-case@5.4.4)(focus-trap@7.8.0)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(vitepress@2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))':
dependencies:
'@docsearch/css': 4.6.0
'@docsearch/js': 4.6.0
'@docsearch/sidepanel-js': 4.6.0
- '@iconify/vue': 5.0.0(vue@3.5.30(typescript@5.9.3))
+ '@iconify/vue': 5.0.1(vue@3.5.40(typescript@5.9.3))
'@rive-app/canvas-lite': 2.35.3
'@tailwindcss/typography': 0.5.19(tailwindcss@4.2.1)
- '@tailwindcss/vite': 4.2.1(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@tailwindcss/vite': 4.2.1(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
'@vue/shared': 3.5.30
- '@vueuse/core': 14.2.1(vue@3.5.30(typescript@5.9.3))
- '@vueuse/integrations': 14.2.1(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.30(typescript@5.9.3))
- '@vueuse/shared': 14.2.1(vue@3.5.30(typescript@5.9.3))
+ '@vueuse/core': 14.4.0(vue@3.5.40(typescript@5.9.3))
+ '@vueuse/integrations': 14.2.1(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.40(typescript@5.9.3))
+ '@vueuse/shared': 14.2.1(vue@3.5.40(typescript@5.9.3))
mark.js: 8.11.1
minisearch: 7.2.0
- reka-ui: 2.9.2(vue@3.5.30(typescript@5.9.3))
+ reka-ui: 2.9.2(vue@3.5.40(typescript@5.9.3))
tailwindcss: 4.2.1
- vitepress: 2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
- vue: 3.5.30(typescript@5.9.3)
+ vitepress: 2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0)
+ vue: 3.5.40(typescript@5.9.3)
transitivePeerDependencies:
- '@vue/composition-api'
- async-validator
@@ -6488,27 +7362,40 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.1
+ '@vue/compiler-core@3.5.40':
+ dependencies:
+ '@babel/parser': 7.29.8
+ '@vue/shared': 3.5.40
+ entities: 7.0.1
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
'@vue/compiler-dom@3.5.30':
dependencies:
'@vue/compiler-core': 3.5.30
'@vue/shared': 3.5.30
- '@vue/compiler-sfc@3.5.30':
+ '@vue/compiler-dom@3.5.40':
dependencies:
- '@babel/parser': 7.29.2
- '@vue/compiler-core': 3.5.30
- '@vue/compiler-dom': 3.5.30
- '@vue/compiler-ssr': 3.5.30
- '@vue/shared': 3.5.30
+ '@vue/compiler-core': 3.5.40
+ '@vue/shared': 3.5.40
+
+ '@vue/compiler-sfc@3.5.40':
+ dependencies:
+ '@babel/parser': 7.29.8
+ '@vue/compiler-core': 3.5.40
+ '@vue/compiler-dom': 3.5.40
+ '@vue/compiler-ssr': 3.5.40
+ '@vue/shared': 3.5.40
estree-walker: 2.0.2
magic-string: 0.30.21
- postcss: 8.5.8
+ postcss: 8.5.25
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.30':
+ '@vue/compiler-ssr@3.5.40':
dependencies:
- '@vue/compiler-dom': 3.5.30
- '@vue/shared': 3.5.30
+ '@vue/compiler-dom': 3.5.40
+ '@vue/shared': 3.5.40
'@vue/devtools-api@8.1.0':
dependencies:
@@ -6533,51 +7420,66 @@ snapshots:
path-browserify: 1.0.1
picomatch: 4.0.3
- '@vue/reactivity@3.5.30':
+ '@vue/reactivity@3.5.40':
dependencies:
- '@vue/shared': 3.5.30
+ '@vue/shared': 3.5.40
- '@vue/runtime-core@3.5.30':
+ '@vue/runtime-core@3.5.40':
dependencies:
- '@vue/reactivity': 3.5.30
- '@vue/shared': 3.5.30
+ '@vue/reactivity': 3.5.40
+ '@vue/shared': 3.5.40
- '@vue/runtime-dom@3.5.30':
+ '@vue/runtime-dom@3.5.40':
dependencies:
- '@vue/reactivity': 3.5.30
- '@vue/runtime-core': 3.5.30
- '@vue/shared': 3.5.30
+ '@vue/reactivity': 3.5.40
+ '@vue/runtime-core': 3.5.40
+ '@vue/shared': 3.5.40
csstype: 3.2.3
- '@vue/server-renderer@3.5.30(vue@3.5.30(typescript@5.9.3))':
+ '@vue/server-renderer@3.5.40':
dependencies:
- '@vue/compiler-ssr': 3.5.30
- '@vue/shared': 3.5.30
- vue: 3.5.30(typescript@5.9.3)
+ '@vue/compiler-ssr': 3.5.40
+ '@vue/runtime-dom': 3.5.40
+ '@vue/shared': 3.5.40
'@vue/shared@3.5.30': {}
- '@vueuse/core@14.2.1(vue@3.5.30(typescript@5.9.3))':
+ '@vue/shared@3.5.40': {}
+
+ '@vueuse/core@14.2.1(vue@3.5.40(typescript@5.9.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 14.2.1
- '@vueuse/shared': 14.2.1(vue@3.5.30(typescript@5.9.3))
- vue: 3.5.30(typescript@5.9.3)
+ '@vueuse/shared': 14.2.1(vue@3.5.40(typescript@5.9.3))
+ vue: 3.5.40(typescript@5.9.3)
+
+ '@vueuse/core@14.4.0(vue@3.5.40(typescript@5.9.3))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 14.4.0
+ '@vueuse/shared': 14.4.0(vue@3.5.40(typescript@5.9.3))
+ vue: 3.5.40(typescript@5.9.3)
- '@vueuse/integrations@14.2.1(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.30(typescript@5.9.3))':
+ '@vueuse/integrations@14.2.1(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.40(typescript@5.9.3))':
dependencies:
- '@vueuse/core': 14.2.1(vue@3.5.30(typescript@5.9.3))
- '@vueuse/shared': 14.2.1(vue@3.5.30(typescript@5.9.3))
- vue: 3.5.30(typescript@5.9.3)
+ '@vueuse/core': 14.2.1(vue@3.5.40(typescript@5.9.3))
+ '@vueuse/shared': 14.2.1(vue@3.5.40(typescript@5.9.3))
+ vue: 3.5.40(typescript@5.9.3)
optionalDependencies:
change-case: 5.4.4
focus-trap: 7.8.0
'@vueuse/metadata@14.2.1': {}
- '@vueuse/shared@14.2.1(vue@3.5.30(typescript@5.9.3))':
+ '@vueuse/metadata@14.4.0': {}
+
+ '@vueuse/shared@14.2.1(vue@3.5.40(typescript@5.9.3))':
+ dependencies:
+ vue: 3.5.40(typescript@5.9.3)
+
+ '@vueuse/shared@14.4.0(vue@3.5.40(typescript@5.9.3))':
dependencies:
- vue: 3.5.30(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
accepts@1.3.8:
dependencies:
@@ -6606,15 +7508,7 @@ snapshots:
alien-signals@3.1.2: {}
- ansi-escapes@7.3.0:
- dependencies:
- environment: 1.1.0
-
- ansi-regex@6.2.2: {}
-
- ansi-styles@6.2.3: {}
-
- ansis@4.2.0: {}
+ ansis@4.3.1: {}
appdata-path@1.0.0: {}
@@ -6685,6 +7579,8 @@ snapshots:
baseline-browser-mapping@2.10.8: {}
+ baseline-browser-mapping@2.11.11: {}
+
birpc@2.9.0: {}
body-parser@1.20.4:
@@ -6714,6 +7610,10 @@ snapshots:
dependencies:
balanced-match: 4.0.4
+ brace-expansion@5.0.9:
+ dependencies:
+ balanced-match: 4.0.4
+
browserslist@4.28.1:
dependencies:
baseline-browser-mapping: 2.10.8
@@ -6722,6 +7622,14 @@ snapshots:
node-releases: 2.0.36
update-browserslist-db: 1.2.3(browserslist@4.28.1)
+ browserslist@4.28.7:
+ dependencies:
+ baseline-browser-mapping: 2.11.11
+ caniuse-lite: 1.0.30001806
+ electron-to-chromium: 1.5.399
+ node-releases: 2.0.51
+ update-browserslist-db: 1.2.3(browserslist@4.28.7)
+
buffer-from@1.1.2: {}
builtin-modules@5.0.0: {}
@@ -6751,6 +7659,8 @@ snapshots:
caniuse-lite@1.0.30001780: {}
+ caniuse-lite@1.0.30001806: {}
+
ccount@2.0.1: {}
chai@6.2.2: {}
@@ -6769,19 +7679,6 @@ snapshots:
ci-info@4.4.0: {}
- clean-regexp@1.0.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
- cli-cursor@5.0.0:
- dependencies:
- restore-cursor: 5.1.0
-
- cli-truncate@5.2.0:
- dependencies:
- slice-ansi: 8.0.0
- string-width: 8.2.0
-
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
@@ -6802,12 +7699,14 @@ snapshots:
comma-separated-tokens@2.0.3: {}
- commander@14.0.3: {}
-
commander@2.20.3: {}
+ commander@8.3.0: {}
+
comment-parser@1.4.5: {}
+ comment-parser@1.4.7: {}
+
common-tags@1.8.2: {}
compressible@2.0.18:
@@ -6838,6 +7737,8 @@ snapshots:
content-type@1.0.5: {}
+ convert-hrtime@5.0.0: {}
+
convert-source-map@2.0.0: {}
cookie-signature@1.0.7: {}
@@ -6846,7 +7747,7 @@ snapshots:
core-js-compat@3.49.0:
dependencies:
- browserslist: 4.28.1
+ browserslist: 4.28.7
core-util-is@1.0.3: {}
@@ -6939,6 +7840,8 @@ snapshots:
destroy@1.2.0: {}
+ detect-indent@7.0.2: {}
+
detect-libc@2.1.2: {}
detect-node@2.1.0: {}
@@ -6965,9 +7868,9 @@ snapshots:
electron-to-chromium@1.5.313: {}
- emoji-regex@10.6.0: {}
+ electron-to-chromium@1.5.399: {}
- empathic@2.0.0: {}
+ empathic@2.0.1: {}
encodeurl@2.0.0: {}
@@ -6980,8 +7883,6 @@ snapshots:
entities@7.0.1: {}
- environment@1.1.0: {}
-
es-abstract@1.24.1:
dependencies:
array-buffer-byte-length: 1.0.2
@@ -7091,231 +7992,251 @@ snapshots:
'@esbuild/win32-ia32': 0.27.4
'@esbuild/win32-x64': 0.27.4
+ esbuild@0.28.1:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.28.1
+ '@esbuild/android-arm': 0.28.1
+ '@esbuild/android-arm64': 0.28.1
+ '@esbuild/android-x64': 0.28.1
+ '@esbuild/darwin-arm64': 0.28.1
+ '@esbuild/darwin-x64': 0.28.1
+ '@esbuild/freebsd-arm64': 0.28.1
+ '@esbuild/freebsd-x64': 0.28.1
+ '@esbuild/linux-arm': 0.28.1
+ '@esbuild/linux-arm64': 0.28.1
+ '@esbuild/linux-ia32': 0.28.1
+ '@esbuild/linux-loong64': 0.28.1
+ '@esbuild/linux-mips64el': 0.28.1
+ '@esbuild/linux-ppc64': 0.28.1
+ '@esbuild/linux-riscv64': 0.28.1
+ '@esbuild/linux-s390x': 0.28.1
+ '@esbuild/linux-x64': 0.28.1
+ '@esbuild/netbsd-arm64': 0.28.1
+ '@esbuild/netbsd-x64': 0.28.1
+ '@esbuild/openbsd-arm64': 0.28.1
+ '@esbuild/openbsd-x64': 0.28.1
+ '@esbuild/openharmony-arm64': 0.28.1
+ '@esbuild/sunos-x64': 0.28.1
+ '@esbuild/win32-arm64': 0.28.1
+ '@esbuild/win32-ia32': 0.28.1
+ '@esbuild/win32-x64': 0.28.1
+
escalade@3.2.0: {}
escape-html@1.0.3: {}
- escape-string-regexp@1.0.5: {}
-
escape-string-regexp@4.0.0: {}
escape-string-regexp@5.0.0: {}
- eslint-compat-utils@0.5.1(eslint@10.0.3(jiti@2.6.1)):
+ eslint-compat-utils@0.5.1(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
semver: 7.7.4
- eslint-config-flat-gitignore@2.2.1(eslint@10.0.3(jiti@2.6.1)):
+ eslint-config-flat-gitignore@2.3.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@eslint/compat': 2.0.3(eslint@10.0.3(jiti@2.6.1))
- eslint: 10.0.3(jiti@2.6.1)
+ '@eslint/compat': 2.0.3(eslint@10.8.0(jiti@2.6.1))
+ eslint: 10.8.0(jiti@2.6.1)
- eslint-factory@0.1.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3):
+ eslint-factory@0.1.2(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- eslint: 10.0.3(jiti@2.6.1)
+ '@typescript-eslint/utils': 8.57.1(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 10.8.0(jiti@2.6.1)
transitivePeerDependencies:
- supports-color
- typescript
- eslint-flat-config-utils@3.0.2:
+ eslint-flat-config-utils@3.2.0:
dependencies:
- '@eslint/config-helpers': 0.5.3
+ '@eslint/config-helpers': 0.5.5
pathe: 2.0.3
- eslint-json-compat-utils@0.2.3(eslint@10.0.3(jiti@2.6.1))(jsonc-eslint-parser@3.1.0):
+ eslint-json-compat-utils@0.2.3(eslint@10.8.0(jiti@2.6.1))(jsonc-eslint-parser@3.1.0):
dependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
esquery: 1.7.0
jsonc-eslint-parser: 3.1.0
- eslint-merge-processors@2.0.0(eslint@10.0.3(jiti@2.6.1)):
- dependencies:
- eslint: 10.0.3(jiti@2.6.1)
-
- eslint-plugin-antfu@3.2.2(eslint@10.0.3(jiti@2.6.1)):
+ eslint-merge-processors@2.0.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
- eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3))(@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-antfu@3.2.3(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@es-joy/jsdoccomment': 0.84.0
- '@typescript-eslint/rule-tester': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
- eslint-plugin-depend@1.5.0(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-command@3.5.3(@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3))(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- empathic: 2.0.0
- eslint: 10.0.3(jiti@2.6.1)
- module-replacements: 2.11.0
- semver: 7.7.4
+ '@es-joy/jsdoccomment': 0.88.0
+ '@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 10.8.0(jiti@2.6.1)
- eslint-plugin-es-x@7.8.0(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-es-x@7.8.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.2
- eslint: 10.0.3(jiti@2.6.1)
- eslint-compat-utils: 0.5.1(eslint@10.0.3(jiti@2.6.1))
+ eslint: 10.8.0(jiti@2.6.1)
+ eslint-compat-utils: 0.5.1(eslint@10.8.0(jiti@2.6.1))
- eslint-plugin-import-lite@0.5.2(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-import-lite@0.6.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
- eslint-plugin-jsdoc@62.8.0(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-jsdoc@63.3.2(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@es-joy/jsdoccomment': 0.84.0
+ '@es-joy/jsdoccomment': 0.91.0
'@es-joy/resolve.exports': 1.2.0
are-docs-informative: 0.0.2
- comment-parser: 1.4.5
+ comment-parser: 1.4.7
debug: 4.4.3
escape-string-regexp: 4.0.0
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
espree: 11.2.0
esquery: 1.7.0
html-entities: 2.6.0
- object-deep-merge: 2.0.0
+ object-deep-merge: 2.0.1
parse-imports-exports: 0.2.4
- semver: 7.7.4
- spdx-expression-parse: 4.0.0
+ semver: 7.8.5
+ spdx-expression-parse: 5.0.0
to-valid-identifier: 1.0.0
transitivePeerDependencies:
- supports-color
- eslint-plugin-jsonc@3.1.2(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-jsonc@3.3.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
'@eslint/core': 1.1.1
- '@eslint/plugin-kit': 0.6.1
+ '@eslint/plugin-kit': 0.7.2
'@ota-meshi/ast-token-store': 0.3.0
diff-sequences: 29.6.3
- eslint: 10.0.3(jiti@2.6.1)
- eslint-json-compat-utils: 0.2.3(eslint@10.0.3(jiti@2.6.1))(jsonc-eslint-parser@3.1.0)
+ eslint: 10.8.0(jiti@2.6.1)
+ eslint-json-compat-utils: 0.2.3(eslint@10.8.0(jiti@2.6.1))(jsonc-eslint-parser@3.1.0)
jsonc-eslint-parser: 3.1.0
natural-compare: 1.4.0
synckit: 0.11.12
transitivePeerDependencies:
- '@eslint/json'
- eslint-plugin-n@17.24.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3):
+ eslint-plugin-n@18.2.2(eslint@10.8.0(jiti@2.6.1))(ts-declaration-location@1.0.7(typescript@5.9.3))(typescript@5.9.3):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
enhanced-resolve: 5.20.1
- eslint: 10.0.3(jiti@2.6.1)
- eslint-plugin-es-x: 7.8.0(eslint@10.0.3(jiti@2.6.1))
+ eslint: 10.8.0(jiti@2.6.1)
+ eslint-plugin-es-x: 7.8.0(eslint@10.8.0(jiti@2.6.1))
get-tsconfig: 4.13.6
globals: 15.15.0
globrex: 0.1.2
ignore: 5.3.2
semver: 7.7.4
+ optionalDependencies:
ts-declaration-location: 1.0.7(typescript@5.9.3)
- transitivePeerDependencies:
- - typescript
+ typescript: 5.9.3
- eslint-plugin-no-only-tests@3.3.0: {}
+ eslint-plugin-no-only-tests@3.4.0: {}
- eslint-plugin-perfectionist@5.6.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3):
+ eslint-plugin-perfectionist@5.10.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- eslint: 10.0.3(jiti@2.6.1)
+ '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 10.8.0(jiti@2.6.1)
natural-orderby: 5.0.0
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-pnpm@1.6.0(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-pnpm@1.7.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- empathic: 2.0.0
- eslint: 10.0.3(jiti@2.6.1)
+ empathic: 2.0.1
+ eslint: 10.8.0(jiti@2.6.1)
jsonc-eslint-parser: 3.1.0
pathe: 2.0.3
- pnpm-workspace-yaml: 1.6.0
- tinyglobby: 0.2.15
- yaml: 2.8.2
- yaml-eslint-parser: 2.0.0
+ pnpm-workspace-yaml: 1.7.0
+ tinyglobby: 0.2.17
+ yaml: 2.9.0
+ yaml-eslint-parser: 2.1.0
- eslint-plugin-regexp@3.1.0(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-regexp@3.1.1(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.2
comment-parser: 1.4.5
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
jsdoc-type-pratt-parser: 7.1.1
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
- eslint-plugin-toml@1.3.1(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-toml@1.5.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
'@eslint/core': 1.1.1
- '@eslint/plugin-kit': 0.6.1
+ '@eslint/plugin-kit': 0.7.2
'@ota-meshi/ast-token-store': 0.3.0
debug: 4.4.3
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
toml-eslint-parser: 1.0.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-unicorn@63.0.0(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-unicorn@72.0.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@babel/helper-validator-identifier': 7.28.5
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
+ '@eslint/css-tree': 4.0.5
+ browserslist: 4.28.7
change-case: 5.4.4
ci-info: 4.4.0
- clean-regexp: 1.0.0
core-js-compat: 3.49.0
- eslint: 10.0.3(jiti@2.6.1)
+ detect-indent: 7.0.2
+ entities: 4.5.0
+ eslint: 10.8.0(jiti@2.6.1)
find-up-simple: 1.0.1
- globals: 16.5.0
+ globals: 17.9.0
indent-string: 5.0.0
is-builtin-module: 5.0.0
- jsesc: 3.1.0
+ is-identifier: 1.1.0
pluralize: 8.0.0
- regexp-tree: 0.1.27
- regjsparser: 0.13.0
- semver: 7.7.4
+ quote-js-string: 0.1.0
+ regjsparser: 0.13.2
+ reserved-identifiers: 1.2.0
+ semver: 7.8.5
strip-indent: 4.1.1
+ yaml: 2.9.0
- eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
- eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.0.3(jiti@2.6.1)))(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.0.3(jiti@2.6.1))):
+ eslint-plugin-vue@10.10.0(@stylistic/eslint-plugin@5.10.0(eslint@10.8.0(jiti@2.6.1)))(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.8.0(jiti@2.6.1))(vue-eslint-parser@10.4.1(eslint@10.8.0(jiti@2.6.1))):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
- eslint: 10.0.3(jiti@2.6.1)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
+ eslint: 10.8.0(jiti@2.6.1)
natural-compare: 1.4.0
nth-check: 2.1.1
- postcss-selector-parser: 7.1.1
- semver: 7.7.4
- vue-eslint-parser: 10.4.0(eslint@10.0.3(jiti@2.6.1))
- xml-name-validator: 4.0.0
+ postcss-selector-parser: 7.1.4
+ semver: 7.8.5
+ vue-eslint-parser: 10.4.1(eslint@10.8.0(jiti@2.6.1))
+ xml-name-validator: 5.0.0
optionalDependencies:
- '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1))
- '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
+ '@stylistic/eslint-plugin': 5.10.0(eslint@10.8.0(jiti@2.6.1))
+ '@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.6.1))(typescript@5.9.3)
- eslint-plugin-yml@3.3.1(eslint@10.0.3(jiti@2.6.1)):
+ eslint-plugin-yml@3.7.0(eslint@10.8.0(jiti@2.6.1)):
dependencies:
'@eslint/core': 1.1.1
- '@eslint/plugin-kit': 0.6.1
+ '@eslint/plugin-kit': 0.7.2
'@ota-meshi/ast-token-store': 0.3.0
- debug: 4.4.3
diff-sequences: 29.6.3
escape-string-regexp: 5.0.0
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
natural-compare: 1.4.0
- yaml-eslint-parser: 2.0.0
- transitivePeerDependencies:
- - supports-color
+ yaml-eslint-parser: 2.1.0
- eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.30)(eslint@10.0.3(jiti@2.6.1)):
+ eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.40)(eslint@10.8.0(jiti@2.6.1)):
dependencies:
- '@vue/compiler-sfc': 3.5.30
- eslint: 10.0.3(jiti@2.6.1)
+ '@vue/compiler-sfc': 3.5.40
+ eslint: 10.8.0(jiti@2.6.1)
eslint-scope@9.1.2:
dependencies:
@@ -7330,14 +8251,14 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@10.0.3(jiti@2.6.1):
+ eslint@10.8.0(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.8.0(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.23.3
- '@eslint/config-helpers': 0.5.3
- '@eslint/core': 1.1.1
- '@eslint/plugin-kit': 0.6.1
+ '@eslint/config-array': 0.23.5
+ '@eslint/config-helpers': 0.7.0
+ '@eslint/core': 1.2.1
+ '@eslint/plugin-kit': 0.7.2
'@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
@@ -7359,7 +8280,7 @@ snapshots:
imurmurhash: 0.1.4
is-glob: 4.0.3
json-stable-stringify-without-jsonify: 1.0.1
- minimatch: 10.2.4
+ minimatch: 10.2.6
natural-compare: 1.4.0
optionator: 0.9.4
optionalDependencies:
@@ -7401,8 +8322,6 @@ snapshots:
etag@1.8.1: {}
- eventemitter3@5.0.4: {}
-
expect-type@1.3.0: {}
express@4.22.1:
@@ -7449,8 +8368,18 @@ snapshots:
fast-levenshtein@2.0.6: {}
+ fast-string-truncated-width@3.0.3: {}
+
+ fast-string-width@3.0.2:
+ dependencies:
+ fast-string-truncated-width: 3.0.3
+
fast-uri@3.1.0: {}
+ fast-wrap-ansi@0.2.2:
+ dependencies:
+ fast-string-width: 3.0.2
+
fault@2.0.1:
dependencies:
format: 0.2.2
@@ -7459,6 +8388,10 @@ snapshots:
optionalDependencies:
picomatch: 4.0.3
+ fdir@6.5.0(picomatch@4.0.5):
+ optionalDependencies:
+ picomatch: 4.0.5
+
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
@@ -7493,11 +8426,11 @@ snapshots:
flatted@3.4.2: {}
- floating-vue@5.2.2(vue@3.5.30(typescript@5.9.3)):
+ floating-vue@5.2.2(vue@3.5.40(typescript@5.9.3)):
dependencies:
'@floating-ui/dom': 1.1.1
- vue: 3.5.30(typescript@5.9.3)
- vue-resize: 2.0.0-alpha.1(vue@3.5.30(typescript@5.9.3))
+ vue: 3.5.40(typescript@5.9.3)
+ vue-resize: 2.0.0-alpha.1(vue@3.5.40(typescript@5.9.3))
focus-trap@7.8.0:
dependencies:
@@ -7530,6 +8463,8 @@ snapshots:
function-bind@1.1.2: {}
+ function-timeout@1.0.2: {}
+
function.prototype.name@1.1.8:
dependencies:
call-bind: 1.0.8
@@ -7547,8 +8482,6 @@ snapshots:
gensync@1.0.0-beta.2: {}
- get-east-asian-width@1.5.0: {}
-
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -7596,9 +8529,7 @@ snapshots:
globals@15.15.0: {}
- globals@16.5.0: {}
-
- globals@17.4.0: {}
+ globals@17.9.0: {}
globalthis@1.0.4:
dependencies:
@@ -7697,10 +8628,16 @@ snapshots:
idb@7.1.1: {}
+ identifier-regex@1.1.0:
+ dependencies:
+ reserved-identifiers: 1.2.0
+
ignore@5.3.2: {}
ignore@7.0.5: {}
+ import-meta-resolve@4.2.0: {}
+
imurmurhash@0.1.4: {}
indent-string@5.0.0: {}
@@ -7767,10 +8704,6 @@ snapshots:
dependencies:
call-bound: 1.0.4
- is-fullwidth-code-point@5.1.0:
- dependencies:
- get-east-asian-width: 1.5.0
-
is-generator-function@1.1.2:
dependencies:
call-bound: 1.0.4
@@ -7783,6 +8716,11 @@ snapshots:
dependencies:
is-extglob: 2.1.1
+ is-identifier@1.1.0:
+ dependencies:
+ identifier-regex: 1.1.0
+ super-regex: 1.1.0
+
is-map@2.0.3: {}
is-module@1.0.0: {}
@@ -7861,6 +8799,10 @@ snapshots:
jsdoc-type-pratt-parser@7.1.1: {}
+ jsdoc-type-pratt-parser@7.2.0: {}
+
+ jsdoc-type-pratt-parser@8.0.0: {}
+
jsesc@3.1.0: {}
json-buffer@3.0.1: {}
@@ -7889,6 +8831,10 @@ snapshots:
jsonpointer@5.0.1: {}
+ katex@0.16.47:
+ dependencies:
+ commander: 8.3.0
+
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@@ -7903,36 +8849,69 @@ snapshots:
lightningcss-android-arm64@1.31.1:
optional: true
+ lightningcss-android-arm64@1.33.0:
+ optional: true
+
lightningcss-darwin-arm64@1.31.1:
optional: true
+ lightningcss-darwin-arm64@1.33.0:
+ optional: true
+
lightningcss-darwin-x64@1.31.1:
optional: true
+ lightningcss-darwin-x64@1.33.0:
+ optional: true
+
lightningcss-freebsd-x64@1.31.1:
optional: true
+ lightningcss-freebsd-x64@1.33.0:
+ optional: true
+
lightningcss-linux-arm-gnueabihf@1.31.1:
optional: true
+ lightningcss-linux-arm-gnueabihf@1.33.0:
+ optional: true
+
lightningcss-linux-arm64-gnu@1.31.1:
optional: true
+ lightningcss-linux-arm64-gnu@1.33.0:
+ optional: true
+
lightningcss-linux-arm64-musl@1.31.1:
optional: true
+ lightningcss-linux-arm64-musl@1.33.0:
+ optional: true
+
lightningcss-linux-x64-gnu@1.31.1:
optional: true
+ lightningcss-linux-x64-gnu@1.33.0:
+ optional: true
+
lightningcss-linux-x64-musl@1.31.1:
optional: true
+ lightningcss-linux-x64-musl@1.33.0:
+ optional: true
+
lightningcss-win32-arm64-msvc@1.31.1:
optional: true
+ lightningcss-win32-arm64-msvc@1.33.0:
+ optional: true
+
lightningcss-win32-x64-msvc@1.31.1:
optional: true
+ lightningcss-win32-x64-msvc@1.33.0:
+ optional: true
+
lightningcss@1.31.1:
dependencies:
detect-libc: 2.1.2
@@ -7949,29 +8928,35 @@ snapshots:
lightningcss-win32-arm64-msvc: 1.31.1
lightningcss-win32-x64-msvc: 1.31.1
- linkify-it@5.0.0:
+ lightningcss@1.33.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.33.0
+ lightningcss-darwin-arm64: 1.33.0
+ lightningcss-darwin-x64: 1.33.0
+ lightningcss-freebsd-x64: 1.33.0
+ lightningcss-linux-arm-gnueabihf: 1.33.0
+ lightningcss-linux-arm64-gnu: 1.33.0
+ lightningcss-linux-arm64-musl: 1.33.0
+ lightningcss-linux-x64-gnu: 1.33.0
+ lightningcss-linux-x64-musl: 1.33.0
+ lightningcss-win32-arm64-msvc: 1.33.0
+ lightningcss-win32-x64-msvc: 1.33.0
+
+ linkify-it@5.0.2:
dependencies:
uc.micro: 2.1.0
- lint-staged@16.4.0:
+ lint-staged@17.3.0:
dependencies:
- commander: 14.0.3
- listr2: 9.0.5
- picomatch: 4.0.3
+ picomatch: 4.0.5
string-argv: 0.3.2
- tinyexec: 1.0.4
- yaml: 2.8.2
-
- listr2@9.0.5:
- dependencies:
- cli-truncate: 5.2.0
- colorette: 2.0.20
- eventemitter3: 5.0.4
- log-update: 6.1.0
- rfdc: 1.4.1
- wrap-ansi: 9.0.2
+ tinyexec: 1.3.0
+ optionalDependencies:
+ yaml: 2.9.0
- local-pkg@1.1.2:
+ local-pkg@1.2.1:
dependencies:
mlly: 1.8.1
pkg-types: 2.3.0
@@ -7983,20 +8968,10 @@ snapshots:
lodash.debounce@4.0.8: {}
- lodash.merge@4.6.2: {}
-
lodash.sortby@4.7.0: {}
lodash@4.17.23: {}
- log-update@6.1.0:
- dependencies:
- ansi-escapes: 7.3.0
- cli-cursor: 5.0.0
- slice-ansi: 7.1.2
- strip-ansi: 7.2.0
- wrap-ansi: 9.0.2
-
longest-streak@3.1.0: {}
lru-cache@11.2.7: {}
@@ -8025,13 +9000,23 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
+ magic-string@1.1.0:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ make-asynchronous@1.1.0:
+ dependencies:
+ p-event: 6.0.1
+ type-fest: 4.41.0
+ web-worker: 1.5.0
+
mark.js@8.11.1: {}
- markdown-it@14.1.1:
+ markdown-it@14.3.0:
dependencies:
argparse: 2.0.1
entities: 4.5.0
- linkify-it: 5.0.0
+ linkify-it: 5.0.2
mdurl: 2.0.0
punycode.js: 2.3.1
uc.micro: 2.1.0
@@ -8132,6 +9117,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-math@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ longest-streak: 3.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ unist-util-remove-position: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-phrasing@4.1.0:
dependencies:
'@types/mdast': 4.0.4
@@ -8167,6 +9164,8 @@ snapshots:
mdn-data@2.27.1: {}
+ mdn-data@2.29.0: {}
+
mdurl@2.0.0: {}
media-typer@0.3.0: {}
@@ -8259,6 +9258,16 @@ snapshots:
micromark-util-combine-extensions: 2.0.1
micromark-util-types: 2.0.2
+ micromark-extension-math@3.1.0:
+ dependencies:
+ '@types/katex': 0.16.8
+ devlop: 1.1.0
+ katex: 0.16.47
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-factory-destination@2.0.1:
dependencies:
micromark-util-character: 2.1.1
@@ -8383,14 +9392,16 @@ snapshots:
mime@1.6.0: {}
- mimic-function@5.0.1: {}
-
minimalistic-assert@1.0.1: {}
minimatch@10.2.4:
dependencies:
brace-expansion: 5.0.4
+ minimatch@10.2.6:
+ dependencies:
+ brace-expansion: 5.0.9
+
minimatch@5.1.9:
dependencies:
brace-expansion: 2.0.2
@@ -8406,7 +9417,7 @@ snapshots:
pkg-types: 1.3.1
ufo: 1.6.3
- module-replacements@2.11.0: {}
+ module-replacements@3.1.0: {}
mrmime@2.0.1: {}
@@ -8418,6 +9429,8 @@ snapshots:
nanoid@3.3.11: {}
+ nanoid@3.3.16: {}
+
natural-compare@1.4.0: {}
natural-orderby@5.0.0: {}
@@ -8430,13 +9443,15 @@ snapshots:
node-releases@2.0.36: {}
+ node-releases@2.0.51: {}
+
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
object-assign@4.1.1: {}
- object-deep-merge@2.0.0: {}
+ object-deep-merge@2.0.1: {}
object-inspect@1.13.4: {}
@@ -8469,18 +9484,22 @@ snapshots:
on-headers@1.1.0: {}
- onetime@7.0.0:
- dependencies:
- mimic-function: 5.0.1
-
oniguruma-parser@0.12.1: {}
+ oniguruma-parser@0.12.2: {}
+
oniguruma-to-es@4.3.5:
dependencies:
oniguruma-parser: 0.12.1
regex: 6.1.0
regex-recursion: 6.0.2
+ oniguruma-to-es@4.3.6:
+ dependencies:
+ oniguruma-parser: 0.12.2
+ regex: 6.1.0
+ regex-recursion: 6.0.2
+
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -8496,35 +9515,39 @@ snapshots:
object-keys: 1.1.1
safe-push-apply: 1.0.0
- oxc-parser@0.115.0:
+ oxc-parser@0.131.0:
dependencies:
- '@oxc-project/types': 0.115.0
+ '@oxc-project/types': 0.131.0
optionalDependencies:
- '@oxc-parser/binding-android-arm-eabi': 0.115.0
- '@oxc-parser/binding-android-arm64': 0.115.0
- '@oxc-parser/binding-darwin-arm64': 0.115.0
- '@oxc-parser/binding-darwin-x64': 0.115.0
- '@oxc-parser/binding-freebsd-x64': 0.115.0
- '@oxc-parser/binding-linux-arm-gnueabihf': 0.115.0
- '@oxc-parser/binding-linux-arm-musleabihf': 0.115.0
- '@oxc-parser/binding-linux-arm64-gnu': 0.115.0
- '@oxc-parser/binding-linux-arm64-musl': 0.115.0
- '@oxc-parser/binding-linux-ppc64-gnu': 0.115.0
- '@oxc-parser/binding-linux-riscv64-gnu': 0.115.0
- '@oxc-parser/binding-linux-riscv64-musl': 0.115.0
- '@oxc-parser/binding-linux-s390x-gnu': 0.115.0
- '@oxc-parser/binding-linux-x64-gnu': 0.115.0
- '@oxc-parser/binding-linux-x64-musl': 0.115.0
- '@oxc-parser/binding-openharmony-arm64': 0.115.0
- '@oxc-parser/binding-wasm32-wasi': 0.115.0
- '@oxc-parser/binding-win32-arm64-msvc': 0.115.0
- '@oxc-parser/binding-win32-ia32-msvc': 0.115.0
- '@oxc-parser/binding-win32-x64-msvc': 0.115.0
-
- oxc-walker@0.7.0(oxc-parser@0.115.0):
+ '@oxc-parser/binding-android-arm-eabi': 0.131.0
+ '@oxc-parser/binding-android-arm64': 0.131.0
+ '@oxc-parser/binding-darwin-arm64': 0.131.0
+ '@oxc-parser/binding-darwin-x64': 0.131.0
+ '@oxc-parser/binding-freebsd-x64': 0.131.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.131.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.131.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.131.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.131.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.131.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.131.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.131.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.131.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.131.0
+ '@oxc-parser/binding-linux-x64-musl': 0.131.0
+ '@oxc-parser/binding-openharmony-arm64': 0.131.0
+ '@oxc-parser/binding-wasm32-wasi': 0.131.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.131.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.131.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.131.0
+
+ oxc-walker@0.7.0(oxc-parser@0.131.0):
dependencies:
magic-regexp: 0.10.0
- oxc-parser: 0.115.0
+ oxc-parser: 0.131.0
+
+ p-event@6.0.1:
+ dependencies:
+ p-timeout: 6.1.4
p-limit@3.1.0:
dependencies:
@@ -8534,10 +9557,14 @@ snapshots:
dependencies:
p-limit: 3.1.0
+ p-timeout@6.1.4: {}
+
package-json-from-dist@1.0.1: {}
package-manager-detector@1.6.0: {}
+ package-manager-detector@1.8.0: {}
+
parse-gitignore@2.0.0: {}
parse-imports-exports@0.2.4:
@@ -8573,6 +9600,8 @@ snapshots:
picomatch@4.0.3: {}
+ picomatch@4.0.5: {}
+
pkg-types@1.3.1:
dependencies:
confbox: 0.1.8
@@ -8587,9 +9616,9 @@ snapshots:
pluralize@8.0.0: {}
- pnpm-workspace-yaml@1.6.0:
+ pnpm-workspace-yaml@1.7.0:
dependencies:
- yaml: 2.8.2
+ yaml: 2.9.0
possible-typed-array-names@1.1.0: {}
@@ -8598,11 +9627,17 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-selector-parser@7.1.1:
+ postcss-selector-parser@7.1.4:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
+ postcss@8.5.25:
+ dependencies:
+ nanoid: 3.3.16
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
postcss@8.5.8:
dependencies:
nanoid: 3.3.11
@@ -8636,6 +9671,8 @@ snapshots:
quansync@1.0.0: {}
+ quote-js-string@0.1.0: {}
+
randombytes@2.1.0:
dependencies:
safe-buffer: 5.2.1
@@ -8729,19 +9766,23 @@ snapshots:
dependencies:
jsesc: 3.1.0
- reka-ui@2.9.2(vue@3.5.30(typescript@5.9.3)):
+ regjsparser@0.13.2:
+ dependencies:
+ jsesc: 3.1.0
+
+ reka-ui@2.9.2(vue@3.5.40(typescript@5.9.3)):
dependencies:
'@floating-ui/dom': 1.7.6
- '@floating-ui/vue': 1.1.11(vue@3.5.30(typescript@5.9.3))
+ '@floating-ui/vue': 1.1.11(vue@3.5.40(typescript@5.9.3))
'@internationalized/date': 3.12.0
'@internationalized/number': 3.6.5
- '@tanstack/vue-virtual': 3.13.23(vue@3.5.30(typescript@5.9.3))
- '@vueuse/core': 14.2.1(vue@3.5.30(typescript@5.9.3))
- '@vueuse/shared': 14.2.1(vue@3.5.30(typescript@5.9.3))
+ '@tanstack/vue-virtual': 3.13.23(vue@3.5.40(typescript@5.9.3))
+ '@vueuse/core': 14.4.0(vue@3.5.40(typescript@5.9.3))
+ '@vueuse/shared': 14.2.1(vue@3.5.40(typescript@5.9.3))
aria-hidden: 1.2.6
defu: 6.1.4
ohash: 2.0.11
- vue: 3.5.30(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
transitivePeerDependencies:
- '@vue/composition-api'
@@ -8757,12 +9798,26 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- restore-cursor@5.1.0:
+ rolldown@1.2.1:
dependencies:
- onetime: 7.0.0
- signal-exit: 4.1.0
-
- rfdc@1.4.1: {}
+ '@oxc-project/types': 0.142.0
+ '@rolldown/pluginutils': 1.0.1
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.2.1
+ '@rolldown/binding-darwin-arm64': 1.2.1
+ '@rolldown/binding-darwin-x64': 1.2.1
+ '@rolldown/binding-freebsd-x64': 1.2.1
+ '@rolldown/binding-linux-arm-gnueabihf': 1.2.1
+ '@rolldown/binding-linux-arm64-gnu': 1.2.1
+ '@rolldown/binding-linux-arm64-musl': 1.2.1
+ '@rolldown/binding-linux-ppc64-gnu': 1.2.1
+ '@rolldown/binding-linux-s390x-gnu': 1.2.1
+ '@rolldown/binding-linux-x64-gnu': 1.2.1
+ '@rolldown/binding-linux-x64-musl': 1.2.1
+ '@rolldown/binding-openharmony-arm64': 1.2.1
+ '@rolldown/binding-wasm32-wasi': 1.2.1
+ '@rolldown/binding-win32-arm64-msvc': 1.2.1
+ '@rolldown/binding-win32-x64-msvc': 1.2.1
rollup@2.80.0:
optionalDependencies:
@@ -8836,6 +9891,8 @@ snapshots:
semver@7.7.4: {}
+ semver@7.8.5: {}
+
send@0.19.2:
dependencies:
debug: 2.6.9
@@ -8940,6 +9997,17 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
+ shiki@4.4.1:
+ dependencies:
+ '@shikijs/core': 4.4.1
+ '@shikijs/engine-javascript': 4.4.1
+ '@shikijs/engine-oniguruma': 4.4.1
+ '@shikijs/langs': 4.4.1
+ '@shikijs/themes': 4.4.1
+ '@shikijs/types': 4.4.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+
side-channel-list@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -8986,16 +10054,6 @@ snapshots:
sisteransi@1.0.5: {}
- slice-ansi@7.1.2:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 5.1.0
-
- slice-ansi@8.0.0:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 5.1.0
-
smob@1.6.1: {}
source-map-js@1.2.1: {}
@@ -9017,7 +10075,7 @@ snapshots:
spdx-exceptions@2.5.0: {}
- spdx-expression-parse@4.0.0:
+ spdx-expression-parse@5.0.0:
dependencies:
spdx-exceptions: 2.5.0
spdx-license-ids: 3.0.23
@@ -9058,17 +10116,6 @@ snapshots:
string-argv@0.3.2: {}
- string-width@7.2.0:
- dependencies:
- emoji-regex: 10.6.0
- get-east-asian-width: 1.5.0
- strip-ansi: 7.2.0
-
- string-width@8.2.0:
- dependencies:
- get-east-asian-width: 1.5.0
- strip-ansi: 7.2.0
-
string.prototype.matchall@4.0.12:
dependencies:
call-bind: 1.0.8
@@ -9127,14 +10174,16 @@ snapshots:
is-obj: 1.0.1
is-regexp: 1.0.0
- strip-ansi@7.2.0:
- dependencies:
- ansi-regex: 6.2.2
-
strip-comments@2.0.1: {}
strip-indent@4.1.1: {}
+ super-regex@1.1.0:
+ dependencies:
+ function-timeout: 1.0.2
+ make-asynchronous: 1.1.0
+ time-span: 5.1.0
+
supports-preserve-symlinks-flag@1.0.0: {}
synckit@0.11.12:
@@ -9163,14 +10212,20 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
+ time-span@5.1.0:
+ dependencies:
+ convert-hrtime: 5.0.0
+
tinybench@2.9.0: {}
tinyexec@1.0.4: {}
- tinyglobby@0.2.15:
+ tinyexec@1.3.0: {}
+
+ tinyglobby@0.2.17:
dependencies:
- fdir: 6.5.0(picomatch@4.0.3)
- picomatch: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.5)
+ picomatch: 4.0.5
tinyrainbow@3.1.0: {}
@@ -9199,35 +10254,39 @@ snapshots:
dependencies:
typescript: 5.9.3
+ ts-api-utils@2.5.0(typescript@5.9.3):
+ dependencies:
+ typescript: 5.9.3
+
ts-declaration-location@1.0.7(typescript@5.9.3):
dependencies:
picomatch: 4.0.3
typescript: 5.9.3
+ optional: true
tslib@2.8.1: {}
- tsx@4.21.0:
+ tsx@4.23.4:
dependencies:
- esbuild: 0.27.4
- get-tsconfig: 4.13.6
+ esbuild: 0.28.1
optionalDependencies:
fsevents: 2.3.3
- twoslash-protocol@0.3.6: {}
+ twoslash-protocol@0.3.9: {}
- twoslash-vue@0.3.6(typescript@5.9.3):
+ twoslash-vue@0.3.9(typescript@5.9.3):
dependencies:
'@vue/language-core': 3.2.6
- twoslash: 0.3.6(typescript@5.9.3)
- twoslash-protocol: 0.3.6
+ twoslash: 0.3.9(typescript@5.9.3)
+ twoslash-protocol: 0.3.9
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- twoslash@0.3.6(typescript@5.9.3):
+ twoslash@0.3.9(typescript@5.9.3):
dependencies:
'@typescript/vfs': 1.6.4(typescript@5.9.3)
- twoslash-protocol: 0.3.6
+ twoslash-protocol: 0.3.9
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -9238,6 +10297,8 @@ snapshots:
type-fest@0.16.0: {}
+ type-fest@4.41.0: {}
+
type-is@1.6.18:
dependencies:
media-typer: 0.3.0
@@ -9306,7 +10367,7 @@ snapshots:
quansync: 1.0.0
unconfig-core: 7.5.0
- undici-types@7.18.2: {}
+ undici-types@8.3.0: {}
unicode-canonical-property-names-ecmascript@2.0.1: {}
@@ -9331,6 +10392,11 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.1.0
+
unist-util-stringify-position@4.0.0:
dependencies:
'@types/unist': 3.0.3
@@ -9348,25 +10414,25 @@ snapshots:
universalify@2.0.1: {}
- unocss@66.6.6(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)):
- dependencies:
- '@unocss/cli': 66.6.6
- '@unocss/core': 66.6.6
- '@unocss/preset-attributify': 66.6.6
- '@unocss/preset-icons': 66.6.6
- '@unocss/preset-mini': 66.6.6
- '@unocss/preset-tagify': 66.6.6
- '@unocss/preset-typography': 66.6.6
- '@unocss/preset-uno': 66.6.6
- '@unocss/preset-web-fonts': 66.6.6
- '@unocss/preset-wind': 66.6.6
- '@unocss/preset-wind3': 66.6.6
- '@unocss/preset-wind4': 66.6.6
- '@unocss/transformer-attributify-jsx': 66.6.6
- '@unocss/transformer-compile-class': 66.6.6
- '@unocss/transformer-directives': 66.6.6
- '@unocss/transformer-variant-group': 66.6.6
- '@unocss/vite': 66.6.6(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+ unocss@66.7.5(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)):
+ dependencies:
+ '@unocss/cli': 66.7.5
+ '@unocss/core': 66.7.5
+ '@unocss/preset-attributify': 66.7.5
+ '@unocss/preset-icons': 66.7.5
+ '@unocss/preset-mini': 66.7.5
+ '@unocss/preset-tagify': 66.7.5
+ '@unocss/preset-typography': 66.7.5
+ '@unocss/preset-uno': 66.7.5
+ '@unocss/preset-web-fonts': 66.7.5
+ '@unocss/preset-wind': 66.7.5
+ '@unocss/preset-wind3': 66.7.5
+ '@unocss/preset-wind4': 66.7.5
+ '@unocss/transformer-attributify-jsx': 66.7.5
+ '@unocss/transformer-compile-class': 66.7.5
+ '@unocss/transformer-directives': 66.7.5
+ '@unocss/transformer-variant-group': 66.7.5
+ '@unocss/vite': 66.7.5(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
transitivePeerDependencies:
- vite
@@ -9392,6 +10458,12 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
+ update-browserslist-db@1.2.3(browserslist@4.28.7):
+ dependencies:
+ browserslist: 4.28.7
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
@@ -9412,50 +10484,66 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0)(workbox-window@7.4.0):
+ vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(workbox-build@7.4.0)(workbox-window@7.4.1):
dependencies:
debug: 4.4.3
pretty-bytes: 6.1.1
- tinyglobby: 0.2.15
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ tinyglobby: 0.2.17
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
workbox-build: 7.4.0
- workbox-window: 7.4.0
+ workbox-window: 7.4.1
optionalDependencies:
'@vite-pwa/assets-generator': 1.0.2
transitivePeerDependencies:
- supports-color
- vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2):
+ vite@7.3.1(@types/node@26.1.2)(jiti@2.6.1)(lightningcss@1.33.0)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0):
dependencies:
esbuild: 0.27.4
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.8
rollup: 4.59.0
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
optionalDependencies:
- '@types/node': 25.5.0
+ '@types/node': 26.1.2
fsevents: 2.3.3
jiti: 2.6.1
- lightningcss: 1.31.1
+ lightningcss: 1.33.0
terser: 5.46.1
- tsx: 4.21.0
- yaml: 2.8.2
+ tsx: 4.23.4
+ yaml: 2.9.0
+
+ vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0):
+ dependencies:
+ lightningcss: 1.33.0
+ picomatch: 4.0.5
+ postcss: 8.5.25
+ rolldown: 1.2.1
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 26.1.2
+ esbuild: 0.28.1
+ fsevents: 2.3.3
+ jiti: 2.6.1
+ terser: 5.46.1
+ tsx: 4.23.4
+ yaml: 2.9.0
- vitepress-plugin-group-icons@1.7.1(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)):
+ vitepress-plugin-group-icons@1.7.6(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)):
dependencies:
- '@iconify-json/logos': 1.2.10
- '@iconify-json/vscode-icons': 1.2.45
- '@iconify/utils': 3.1.0
+ '@iconify-json/logos': 1.2.11
+ '@iconify-json/vscode-icons': 1.2.68
+ '@iconify/utils': 3.1.4
optionalDependencies:
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
- vitepress-plugin-tabs@0.8.0(vitepress@2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3)):
+ vitepress-plugin-tabs@0.9.1(vitepress@2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3)):
dependencies:
- vitepress: 2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
- vue: 3.5.30(typescript@5.9.3)
+ vitepress: 2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0)
+ vue: 3.5.40(typescript@5.9.3)
- vitepress@2.0.0-alpha.16(@types/node@25.5.0)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(postcss@8.5.8)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2):
+ vitepress@2.0.0-alpha.16(@types/node@26.1.2)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.25)(terser@5.46.1)(tsx@4.23.4)(typescript@5.9.3)(yaml@2.9.0):
dependencies:
'@docsearch/css': 4.6.0
'@docsearch/js': 4.6.0
@@ -9465,19 +10553,19 @@ snapshots:
'@shikijs/transformers': 3.23.0
'@shikijs/types': 3.23.0
'@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 6.0.5(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))
+ '@vitejs/plugin-vue': 6.0.8(vite@7.3.1(@types/node@26.1.2)(jiti@2.6.1)(lightningcss@1.33.0)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))
'@vue/devtools-api': 8.1.0
'@vue/shared': 3.5.30
- '@vueuse/core': 14.2.1(vue@3.5.30(typescript@5.9.3))
- '@vueuse/integrations': 14.2.1(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.30(typescript@5.9.3))
+ '@vueuse/core': 14.4.0(vue@3.5.40(typescript@5.9.3))
+ '@vueuse/integrations': 14.2.1(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.40(typescript@5.9.3))
focus-trap: 7.8.0
mark.js: 8.11.1
minisearch: 7.2.0
shiki: 3.23.0
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
- vue: 3.5.30(typescript@5.9.3)
+ vite: 7.3.1(@types/node@26.1.2)(jiti@2.6.1)(lightningcss@1.33.0)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
+ vue: 3.5.40(typescript@5.9.3)
optionalDependencies:
- postcss: 8.5.8
+ postcss: 8.5.25
transitivePeerDependencies:
- '@types/node'
- async-validator
@@ -9503,15 +10591,15 @@ snapshots:
- universal-cookie
- yaml
- vitest@4.1.0(@types/node@25.5.0)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)):
+ vitest@4.1.10(@types/node@26.1.2)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)):
dependencies:
- '@vitest/expect': 4.1.0
- '@vitest/mocker': 4.1.0(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
- '@vitest/pretty-format': 4.1.0
- '@vitest/runner': 4.1.0
- '@vitest/snapshot': 4.1.0
- '@vitest/spy': 4.1.0
- '@vitest/utils': 4.1.0
+ '@vitest/expect': 4.1.10
+ '@vitest/mocker': 4.1.10(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0))
+ '@vitest/pretty-format': 4.1.10
+ '@vitest/runner': 4.1.10
+ '@vitest/snapshot': 4.1.10
+ '@vitest/spy': 4.1.10
+ '@vitest/utils': 4.1.10
es-module-lexer: 2.0.0
expect-type: 1.3.0
magic-string: 0.30.21
@@ -9521,23 +10609,23 @@ snapshots:
std-env: 4.0.0
tinybench: 2.9.0
tinyexec: 1.0.4
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
tinyrainbow: 3.1.0
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.4)(yaml@2.9.0)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 25.5.0
+ '@types/node': 26.1.2
transitivePeerDependencies:
- msw
- vue-demi@0.14.10(vue@3.5.30(typescript@5.9.3)):
+ vue-demi@0.14.10(vue@3.5.40(typescript@5.9.3)):
dependencies:
- vue: 3.5.30(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
- vue-eslint-parser@10.4.0(eslint@10.0.3(jiti@2.6.1)):
+ vue-eslint-parser@10.4.1(eslint@10.8.0(jiti@2.6.1)):
dependencies:
debug: 4.4.3
- eslint: 10.0.3(jiti@2.6.1)
+ eslint: 10.8.0(jiti@2.6.1)
eslint-scope: 9.1.2
eslint-visitor-keys: 5.0.1
espree: 11.2.0
@@ -9546,17 +10634,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vue-resize@2.0.0-alpha.1(vue@3.5.30(typescript@5.9.3)):
+ vue-resize@2.0.0-alpha.1(vue@3.5.40(typescript@5.9.3)):
dependencies:
- vue: 3.5.30(typescript@5.9.3)
+ vue: 3.5.40(typescript@5.9.3)
- vue@3.5.30(typescript@5.9.3):
+ vue@3.5.40(typescript@5.9.3):
dependencies:
- '@vue/compiler-dom': 3.5.30
- '@vue/compiler-sfc': 3.5.30
- '@vue/runtime-dom': 3.5.30
- '@vue/server-renderer': 3.5.30(vue@3.5.30(typescript@5.9.3))
- '@vue/shared': 3.5.30
+ '@vue/compiler-dom': 3.5.40
+ '@vue/compiler-sfc': 3.5.40
+ '@vue/runtime-dom': 3.5.40
+ '@vue/server-renderer': 3.5.40
+ '@vue/shared': 3.5.40
optionalDependencies:
typescript: 5.9.3
@@ -9564,6 +10652,8 @@ snapshots:
dependencies:
minimalistic-assert: 1.0.1
+ web-worker@1.5.0: {}
+
webidl-conversions@4.0.2: {}
webpack-virtual-modules@0.6.2: {}
@@ -9684,6 +10774,8 @@ snapshots:
workbox-core@7.4.0: {}
+ workbox-core@7.4.1: {}
+
workbox-expiration@7.4.0:
dependencies:
idb: 7.1.1
@@ -9739,23 +10831,24 @@ snapshots:
'@types/trusted-types': 2.0.7
workbox-core: 7.4.0
- wrap-ansi@9.0.2:
+ workbox-window@7.4.1:
dependencies:
- ansi-styles: 6.2.3
- string-width: 7.2.0
- strip-ansi: 7.2.0
+ '@types/trusted-types': 2.0.7
+ workbox-core: 7.4.1
- xml-name-validator@4.0.0: {}
+ xml-name-validator@5.0.0: {}
yallist@3.1.1: {}
- yaml-eslint-parser@2.0.0:
+ yaml-eslint-parser@2.1.0:
dependencies:
eslint-visitor-keys: 5.0.1
yaml: 2.8.2
yaml@2.8.2: {}
+ yaml@2.9.0: {}
+
yocto-queue@0.1.0: {}
zwitch@2.0.4: {}
diff --git a/public/kraken.svg b/public/kraken.svg
index 52ecee1f..ff77083c 100644
--- a/public/kraken.svg
+++ b/public/kraken.svg
@@ -14,10 +14,6 @@
fill: #bb00d4;
}
- .cls-6 {
- fill: #fff;
- }
-
.cls-4 {
fill: #f050f8;
}
diff --git a/public/latitude.svg b/public/latitude.svg
new file mode 100644
index 00000000..add2cf5c
--- /dev/null
+++ b/public/latitude.svg
@@ -0,0 +1,14 @@
+