authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-03-22 22:42:49-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-03-22 23:03:09-07:00
log35af679821a76a4704d65dcb04943e1b4922367d
tree6f47514bd1a8a046c0f5c3299082b5d0ac2b0693
parent3e15ccfda871800cf412a0735e5cd9fd30926843
signature Signed by SSH key SHA256:xbd+BjjhyBfwk7GVoURf9Yx0gzDerHbvYv7SddNWmAs

chore(lib): drop `.ts` suffix and prepare for publish


75 files changed, 2027 insertions(+), 1481 deletions(-)

framework/backend/entry-node.ts+1-1
...@@ -42,4 +42,4 @@ import * as os from "os";...@@ -42,4 +42,4 @@ import * as os from "os";
42import * as url from "node:url";42import * as url from "node:url";
43import { serve } from "@hono/node-server";43import { serve } from "@hono/node-server";
44import process from "node:process";44import process from "node:process";
45import * as console from "@clo/lib/log.ts";45import * as console from "@clo/lib/log";
framework/bundle.ts+3-3
...@@ -397,6 +397,6 @@ import * as incr from "./incremental.ts";...@@ -397,6 +397,6 @@ import * as incr from "./incremental.ts";
397import * as sg from "#sitegen";397import * as sg from "#sitegen";
398import type { PageOrView } from "./generate.ts";398import type { PageOrView } from "./generate.ts";
399import type * as view from "#sitegen/view";399import type * as view from "#sitegen/view";
400import * as meta from "@clo/lib/render/meta.ts";400import * as meta from "@clo/lib/render/meta";
401import * as progress from "@clo/lib/progress.ts";401import * as progress from "@clo/lib/progress";
402import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";402import { ASSERT, UNWRAP } from "@clo/lib/assert";
framework/css.ts+1-1
...@@ -116,4 +116,4 @@ import * as hot from "./hot.ts";...@@ -116,4 +116,4 @@ import * as hot from "./hot.ts";
116import * as path from "node:path";116import * as path from "node:path";
117import { virtualFiles } from "./esbuild-support.ts";117import { virtualFiles } from "./esbuild-support.ts";
118import type { Io } from "./incremental.ts";118import type { Io } from "./incremental.ts";
119import { UNWRAP } from "@clo/lib/assert.ts";119import { UNWRAP } from "@clo/lib/assert";
framework/esbuild-support.ts+1-1
...@@ -94,7 +94,7 @@ export function isIgnoredSource(source: string) {...@@ -94,7 +94,7 @@ export function isIgnoredSource(source: string) {
94}94}
9595
96import * as esbuild from "esbuild";96import * as esbuild from "esbuild";
97import * as string from "@clo/lib/string.ts";97import * as string from "@clo/lib/string";
98import * as path from "node:path";98import * as path from "node:path";
99import * as fs from "#sitegen/fs";99import * as fs from "#sitegen/fs";
100import * as hot from "./hot.ts";100import * as hot from "./hot.ts";
framework/font.ts+5-5
...@@ -211,10 +211,10 @@ import * as fs from "#sitegen/fs";...@@ -211,10 +211,10 @@ import * as fs from "#sitegen/fs";
211import * as os from "node:os";211import * as os from "node:os";
212import * as path from "node:path";212import * as path from "node:path";
213import * as sg from "#sitegen";213import * as sg from "#sitegen";
214import * as subprocess from "@clo/lib/subprocess.ts";214import * as subprocess from "@clo/lib/subprocess";
215import * as incr from "./incremental.ts";215import * as incr from "./incremental.ts";
216import * as crypto from "node:crypto";216import * as crypto from "node:crypto";
217import * as async from "@clo/lib/async.ts";217import * as async from "@clo/lib/async";
218import * as error from "@clo/lib/error.ts";218import * as error from "@clo/lib/error";
219import * as progress from "../lib/progress.ts";219import * as progress from "@clo/lib/progress";
220import { ASSERT } from "@clo/lib/assert.ts";220import { ASSERT } from "@clo/lib/assert";
framework/generate.ts+6-6
...@@ -163,7 +163,7 @@ export async function scanSiteSection(io: Io, section: sg.Section) {...@@ -163,7 +163,7 @@ export async function scanSiteSection(io: Io, section: sg.Section) {
163 // - "{section}/static/*.png"163 // - "{section}/static/*.png"
164 let staticFiles: FileItem[] = [];164 let staticFiles: FileItem[] = [];
165 // Pages are rendered then served as static files.165 // Pages are rendered then served as static files.
166 // - "{section}/pages/*.marko"166 // - "{section}/pages/*.
167 let pages: FileItem[] = [];167 let pages: FileItem[] = [];
168 // Views are dynamically rendered pages called via backend code.168 // Views are dynamically rendered pages called via backend code.
169 // - "{section}/views/*.tsx"169 // - "{section}/views/*.tsx"
...@@ -414,12 +414,12 @@ export type PageOrView = PreparedPage | PreparedView;...@@ -414,12 +414,12 @@ export type PageOrView = PreparedPage | PreparedView;
414import * as path from "node:path";414import * as path from "node:path";
415415
416import * as fs from "#sitegen/fs";416import * as fs from "#sitegen/fs";
417import * as meta from "@clo/lib/render/meta.ts";417import * as meta from "@clo/lib/render/meta";
418import * as render from "@clo/lib/render.ts";418import * as render from "@clo/lib/render";
419import * as sg from "#sitegen";419import * as sg from "#sitegen";
420import type { FileItem } from "#sitegen";420import type { FileItem } from "#sitegen";
421import * as progress from "../lib/progress.ts";421import * as progress from "@clo/lib/progress";
422import * as error from "@clo/lib/error.ts";422import * as error from "@clo/lib/error";
423423
424import SitegenWrap from "./sitegen-wrap.marko";424import SitegenWrap from "./sitegen-wrap.marko";
425425
...@@ -429,4 +429,4 @@ import * as fonts from "./font.ts";...@@ -429,4 +429,4 @@ import * as fonts from "./font.ts";
429import * as hot from "./hot.ts";429import * as hot from "./hot.ts";
430import * as incr from "./incremental.ts";430import * as incr from "./incremental.ts";
431import { Io } from "./incremental.ts";431import { Io } from "./incremental.ts";
432import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";432import { ASSERT, UNWRAP } from "@clo/lib/assert";
framework/global.d.ts+1-1
...@@ -10,4 +10,4 @@ declare global {...@@ -10,4 +10,4 @@ declare global {
10 export type ElementClass = jsx.ts.ElementClass;10 export type ElementClass = jsx.ts.ElementClass;
11 }11 }
12}12}
13import * as jsx from "@clo/lib/render/jsx-runtime.ts";13import * as jsx from "@clo/lib/render/jsx-runtime";
framework/hot.ts+1-1
...@@ -304,4 +304,4 @@ import * as esbuild from "esbuild";...@@ -304,4 +304,4 @@ import * as esbuild from "esbuild";
304import { createRequire } from "node:module";304import { createRequire } from "node:module";
305import * as self from "./hot.ts";305import * as self from "./hot.ts";
306import { Buffer } from "node:buffer";306import { Buffer } from "node:buffer";
307import { UNWRAP } from "@clo/lib/assert.ts";307import { UNWRAP } from "@clo/lib/assert";
framework/incremental.ts+4-4
...@@ -731,7 +731,7 @@ const zstdCompress = util.promisify(zlib.zstdCompress);...@@ -731,7 +731,7 @@ const zstdCompress = util.promisify(zlib.zstdCompress);
731import * as hot from "./hot.ts";731import * as hot from "./hot.ts";
732732
733import * as fs from "#sitegen/fs";733import * as fs from "#sitegen/fs";
734import * as mime from "@clo/lib/mime.ts";734import * as mime from "@clo/lib/mime";
735import * as manifest from "#sitegen/assets";735import * as manifest from "#sitegen/assets";
736736
737import * as path from "node:path";737import * as path from "node:path";
...@@ -739,9 +739,9 @@ import * as util from "node:util";...@@ -739,9 +739,9 @@ import * as util from "node:util";
739import * as crypto from "node:crypto";739import * as crypto from "node:crypto";
740import * as zlib from "node:zlib";740import * as zlib from "node:zlib";
741741
742import * as progress from "@clo/lib/progress.ts";742import * as progress from "@clo/lib/progress";
743import * as stack from "@clo/lib/log/stack.ts";743import * as stack from "@clo/lib/log/stack";
744import { formatSize } from "#src/file-viewer/format.ts";744import { formatSize } from "#src/file-viewer/format.ts";
745745
746import * as msgpackr from "msgpackr";746import * as msgpackr from "msgpackr";
747import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";747import { ASSERT, UNWRAP } from "@clo/lib/assert";
framework/lib/assets.ts+2-2
...@@ -285,5 +285,5 @@ import type { AssetKey as Key } from "../../.clover/ts/asset.d.ts";...@@ -285,5 +285,5 @@ import type { AssetKey as Key } from "../../.clover/ts/asset.d.ts";
285import * as crypto from "node:crypto";285import * as crypto from "node:crypto";
286import * as zlib from "node:zlib";286import * as zlib from "node:zlib";
287import * as util from "node:util";287import * as util from "node:util";
288import * as log from "@clo/lib/log.ts";288import * as log from "@clo/lib/log";
289import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";289import { ASSERT, UNWRAP } from "@clo/lib/assert";
framework/lib/path.ts+2-2
...@@ -211,6 +211,6 @@ export class Path {...@@ -211,6 +211,6 @@ export class Path {
211import * as path from "node:path";211import * as path from "node:path";
212import * as fs from "./fs.ts";212import * as fs from "./fs.ts";
213import * as util from "node:util";213import * as util from "node:util";
214import * as error from "@clo/lib/error.ts";214import * as error from "@clo/lib/error";
215import type { RmOptions } from "node:fs";215import type { RmOptions } from "node:fs";
216import { ASSERT } from "@clo/lib/assert.ts";216import { ASSERT } from "@clo/lib/assert";
framework/lib/sitegen.ts+3-3
...@@ -100,7 +100,7 @@ export function joinScripts(scriptSources: string[]) {...@@ -100,7 +100,7 @@ export function joinScripts(scriptSources: string[]) {
100100
101export { default as CloverScriptInclude } from "./add-script.marko";101export { default as CloverScriptInclude } from "./add-script.marko";
102102
103import * as render from "@clo/lib/render.ts";103import * as render from "@clo/lib/render";
104import type * as meta from "@clo/lib/render/meta.ts";104import type * as meta from "@clo/lib/render/meta";
105import type * as css from "../css.ts";105import type * as css from "../css.ts";
106import { UNWRAP } from "@clo/lib/assert.ts";106import { UNWRAP } from "@clo/lib/assert";
framework/lib/view.ts+3-3
...@@ -117,14 +117,14 @@ export function regenerate(tag: RegenKey) {...@@ -117,14 +117,14 @@ export function regenerate(tag: RegenKey) {
117 }117 }
118}118}
119119
120import * as meta from "@clo/lib/render/meta.ts";120import * as meta from "@clo/lib/render/meta";
121import type * as hono from "#hono";121import type * as hono from "#hono";
122import * as render from "@clo/lib/render.ts";122import * as render from "@clo/lib/render";
123import * as sg from "./sitegen.ts";123import * as sg from "./sitegen.ts";
124import * as asset from "./assets.ts";124import * as asset from "./assets.ts";
125import type {125import type {
126 RegenKey,126 RegenKey,
127 RegisteredViews as ViewMap,127 RegisteredViews as ViewMap,
128} from "../../.clover/ts/view.d.ts";128} from "../../.clover/ts/view.d.ts";
129import { UNWRAP } from "@clo/lib/assert.ts";129import { UNWRAP } from "@clo/lib/assert";
130import SitegenWrap from "../sitegen-wrap.marko";130import SitegenWrap from "../sitegen-wrap.marko";
framework/watch.ts+1-1
...@@ -170,4 +170,4 @@ import * as generate from "./generate.ts";...@@ -170,4 +170,4 @@ import * as generate from "./generate.ts";
170import * as incr from "./incremental.ts";170import * as incr from "./incremental.ts";
171import * as path from "node:path";171import * as path from "node:path";
172import * as util from "node:util";172import * as util from "node:util";
173import * as subprocess from "@clo/lib/subprocess.ts";173import * as subprocess from "@clo/lib/subprocess";
lib/Events.ts+3-3
...@@ -102,6 +102,6 @@ export namespace Events {...@@ -102,6 +102,6 @@ export namespace Events {
102 export type Handler<Args extends unknown[]> = (...args: Args) => void;102 export type Handler<Args extends unknown[]> = (...args: Args) => void;
103}103}
104104
105import * as ts from "./ts.ts";105import * as ts from "@clo/lib/ts";
106import * as async from "./async.ts";106import * as async from "@clo/lib/async";
107import { UNWRAP } from "./assert.ts";107import { UNWRAP } from "@clo/lib/assert";
lib/Lru.test.ts+1-1
...@@ -151,4 +151,4 @@ test("revival", () => {...@@ -151,4 +151,4 @@ test("revival", () => {
151151
152import assert from "node:assert";152import assert from "node:assert";
153import { test } from "vitest";153import { test } from "vitest";
154import { Lru } from "./Lru.ts";154import { Lru } from "@clo/lib/Lru";
lib/Lru.ts+2-2
...@@ -278,5 +278,5 @@ export declare namespace Lru {...@@ -278,5 +278,5 @@ export declare namespace Lru {
278const none: unique symbol = Symbol();278const none: unique symbol = Symbol();
279type none = typeof none;279type none = typeof none;
280280
281import { ASSERT, UNWRAP } from "./assert.ts";281import { ASSERT, UNWRAP } from "@clo/lib/assert";
282import * as ts from "./ts.ts";282import * as ts from "@clo/lib/ts";
lib/assert.ts+1-1
...@@ -43,4 +43,4 @@ function inspect(object: unknown) {...@@ -43,4 +43,4 @@ function inspect(object: unknown) {
43 }43 }
44}44}
4545
46import * as node from "./node.ts";46import * as node from "@clo/lib/node";
lib/async.ts+2-2
...@@ -255,5 +255,5 @@ export function delay(ms: number): Cancelable<void> {...@@ -255,5 +255,5 @@ export function delay(ms: number): Cancelable<void> {
255 );255 );
256}256}
257257
258import { ASSERT } from "./assert.ts";258import { ASSERT } from "@clo/lib/assert";
259import * as ts from "./ts.ts";259import * as ts from "@clo/lib/ts";
lib/deno.json+25-25
...@@ -4,40 +4,40 @@...@@ -4,40 +4,40 @@
4 "version": "4.0.0",4 "version": "4.0.0",
5 "license": "MIT",5 "license": "MIT",
6 "exports": {6 "exports": {
7 "./assert.ts": "./assert.ts",7 "./assert": "./assert.ts",
8 "./async.ts": "./async.ts",8 "./async": "./async.ts",
9 "./bytes.ts": "./bytes.ts",9 "./bytes": "./bytes.ts",
10 "./error.ts": "./error.ts",10 "./error": "./error.ts",
11 "./Events.ts": "./Events.ts",11 "./Events": "./Events.ts",
12 "./log.ts": "./log.ts",12 "./log": "./log.ts",
13 "./log/stack.ts": "./log/stack.ts",13 "./log/stack": "./log/stack.ts",
14 "./Lru.ts": "./Lru.ts",14 "./Lru": "./Lru.ts",
15 "./mime.ts": "./mime.ts",15 "./mime": "./mime.ts",
16 "./node.ts": "./node.ts",16 "./node": "./node.ts",
17 "./progress.ts": "./progress.ts",17 "./progress": "./progress.ts",
18 "./queue.ts": "./queue.ts",18 "./queue": "./queue.ts",
19 "./render.ts": "./render.ts",19 "./render": "./render.ts",
20 "./render/jsx-runtime.ts": "./render/jsx-runtime.ts",20 "./render/jsx-runtime": "./render/jsx-runtime.ts",
21 "./render/meta.ts": "./render/meta.ts",21 "./render/meta": "./render/meta.ts",
22 "./stream.ts": "./stream.ts",22 "./stream": "./stream.ts",
23 "./string.ts": "./string.ts",23 "./string": "./string.ts",
24 "./string/ansi.ts": "./string/ansi.ts",24 "./string/ansi": "./string/ansi.ts",
25 "./subprocess.ts": "./subprocess.ts",25 "./subprocess": "./subprocess.ts",
26 "./subprocess/ffmpeg.ts": "./subprocess/ffmpeg.ts",26 "./subprocess/ffmpeg": "./subprocess/ffmpeg.ts",
27 "./testing.ts": "./testing.ts",27 "./testing": "./testing.ts",
28 "./ts.ts": "./ts.ts"28 "./ts": "./ts.ts"
29 },29 },
30 "compilerOptions": {30 "compilerOptions": {
31 "jsx": "react-jsx",31 "jsx": "react-jsx",
32 "jsxImportSource": "@clo/lib/render"32 "jsxImportSource": "@clo/lib/render"
33 },33 },
34 "imports": {34 "imports": {
35 "@clo/lib/render/jsx-runtime": "./render/jsx-runtime.ts",35 "@clo/lib/render/jsx-runtime": "./render/jsx-runtime",
36 "@clo/lib/render/jsx-dev-runtime": "./render/jsx-runtime.ts"36 "@clo/lib/render/jsx-dev-runtime": "./render/jsx-runtime"
37 },37 },
38 "exclude": [38 "exclude": [
39 "readme.npm.md",39 "readme.npm.md",
40 "package.json",
40 "deno.lock"41 "deno.lock"
41 ]42 ]
42}43}
43
lib/error.ts+1-1
...@@ -51,4 +51,4 @@ export function rethrowWithMetadata(...@@ -51,4 +51,4 @@ export function rethrowWithMetadata(
51 throw error;51 throw error;
52}52}
5353
54import type * as node from "./node.ts";54import type * as node from "@clo/lib/node";
lib/examples/progress-log-stream.ts+3-3
...@@ -62,6 +62,6 @@ async.delay(500).then(async () => {...@@ -62,6 +62,6 @@ async.delay(500).then(async () => {
62 })();62 })();
63});63});
6464
65import * as async from "../async.ts";65import * as async from "@clo/lib/async";
66import * as progress from "../progress.ts";66import * as progress from "@clo/lib/progress";
67import * as log from "../log.ts";67import * as log from "@clo/lib/log";
lib/examples/progress-stdout-stream.ts+3-3
...@@ -34,6 +34,6 @@ async.delay(1000).then(async () => {...@@ -34,6 +34,6 @@ async.delay(1000).then(async () => {
34 const root = progress.start("generation");34 const root = progress.start("generation");
35});35});
3636
37import * as async from "../async.ts";37import * as async from "@clo/lib/async";
38import * as progress from "../progress.ts";38import * as progress from "@clo/lib/progress";
39import * as log from "../log.ts";39import * as log from "@clo/lib/log";
lib/log.test.ts+3-3
...@@ -527,6 +527,6 @@ describe("log widgets", () => {...@@ -527,6 +527,6 @@ describe("log widgets", () => {
527});527});
528528
529import { describe, test } from "vitest";529import { describe, test } from "vitest";
530import * as ansi from "./string/ansi.ts";530import * as ansi from "@clo/lib/string/ansi";
531import * as log from "./log.ts";531import * as log from "@clo/lib/log";
532import * as testing from "./testing.ts";532import * as testing from "@clo/lib/testing";
lib/log.ts+6-6
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/**1/**
2 * by using `@clo/lib/log.ts`, an application gets easy scoped logging as well2 * by using `@clo/lib/log`, an application gets easy scoped logging as well
3 * as integration with terminal widgets such as `progress.ts`. even when these3 * as integration with terminal widgets such as `progress.ts`. even when these
4 * widgets are active, using the logging interface is optional; global I/O with4 * widgets are active, using the logging interface is optional; global I/O with
5 * `console.*` and `process.std{out/err}` are automatically patched to play nice5 * `console.*` and `process.std{out/err}` are automatically patched to play nice
...@@ -220,8 +220,8 @@ export function formatAnsiMessage(msg: Message, colors: boolean): string {...@@ -220,8 +220,8 @@ export function formatAnsiMessage(msg: Message, colors: boolean): string {
220 * });220 * });
221 * await async.delay(10000);221 * await async.delay(10000);
222 *222 *
223 * import * as log from "@clo/lib/log.ts";223 * import * as log from "@clo/lib/log";
224 * import * as async from "@clo/lib/async.ts";224 * import * as async from "@clo/lib/async";
225 * ```225 * ```
226 */226 */
227export function startWidget<T extends WidgetOptions>(227export function startWidget<T extends WidgetOptions>(
...@@ -266,7 +266,7 @@ export function getDrawLock(mode: "long" | "short"): DrawLock {...@@ -266,7 +266,7 @@ export function getDrawLock(mode: "long" | "short"): DrawLock {
266266
267/**267/**
268 * call this if you are doing silly things with `process.stderr` and you want to268 * call this if you are doing silly things with `process.stderr` and you want to
269 * make sure that starting a log widget (such as `@clo/lib/progress.ts`) doesn't269 * make sure that starting a log widget (such as `@clo/lib/progress`) doesn't
270 * have interweaving bugs. in particular, you need this if your program directly270 * have interweaving bugs. in particular, you need this if your program directly
271 * writes incomplete lines to the terminal (missing a trailing `\n`).271 * writes incomplete lines to the terminal (missing a trailing `\n`).
272 *272 *
...@@ -1102,7 +1102,7 @@ function defaultFallbackWidgetHost(): WidgetHost {...@@ -1102,7 +1102,7 @@ function defaultFallbackWidgetHost(): WidgetHost {
1102 startWidget: (options) => {1102 startWidget: (options) => {
1103 if (!warned) {1103 if (!warned) {
1104 console.warn(1104 console.warn(
1105 '"@clo/lib/log.ts"\'s startWidget was called in an environment ' +1105 '"@clo/lib/log"\'s startWidget was called in an environment ' +
1106 "that does not support the Node.js 'process' API. Widgets " +1106 "that does not support the Node.js 'process' API. Widgets " +
1107 "will not be visible.",1107 "will not be visible.",
1108 );1108 );
...@@ -1203,7 +1203,7 @@ export type MessageFormatFunction = (...@@ -1203,7 +1203,7 @@ export type MessageFormatFunction = (
1203 colors: boolean,1203 colors: boolean,
1204) => string;1204) => string;
12051205
1206import * as ansi from "./string/ansi.ts";1206import * as ansi from "@clo/lib/string/ansi";
1207import * as async from "./async.ts";1207import * as async from "./async.ts";
1208import * as node from "./node.ts";1208import * as node from "./node.ts";
1209import * as stack from "./log/stack.ts";1209import * as stack from "./log/stack.ts";
lib/log/stack.ts+3-3
...@@ -19,7 +19,7 @@...@@ -19,7 +19,7 @@
19 * }19 * }
20 *20 *
21 * import * as fs from "node:fs";21 * import * as fs from "node:fs";
22 * import * as stack from "@clo/lib/log/stack.ts";22 * import * as stack from "@clo/lib/log/stack";
23 * ```23 * ```
24 *24 *
25 * @module25 * @module
...@@ -428,5 +428,5 @@ const regexFunctionName = /((.*".+"[^@]*)?[^@]*)(?:@)/;...@@ -428,5 +428,5 @@ const regexFunctionName = /((.*".+"[^@]*)?[^@]*)(?:@)/;
428const regexV8Stack = /^\s*at .*(\S+:\d+|\(native\))/m;428const regexV8Stack = /^\s*at .*(\S+:\d+|\(native\))/m;
429const regexLocation = /(.+?)(?::(\d+))?(?::(\d+))?$/;429const regexLocation = /(.+?)(?::(\d+))?(?::(\d+))?$/;
430430
431import * as ansi from "../string/ansi.ts";431import * as ansi from "@clo/lib/string/ansi";
432import * as node from "../node.ts";432import * as node from "@clo/lib/node";
lib/mime.test.ts+1-1
...@@ -25,4 +25,4 @@ test("for", () => {...@@ -25,4 +25,4 @@ test("for", () => {
2525
26import { test } from "vitest";26import { test } from "vitest";
27import assert from "node:assert";27import assert from "node:assert";
28import * as mime from "@clo/lib/mime.ts";28import * as mime from "@clo/lib/mime";
lib/package.json+1
...@@ -1,4 +1,5 @@...@@ -1,4 +1,5 @@
1{1{
2 "name": "@clo/lib",
2 "type": "module",3 "type": "module",
3 "exports": { "./*": "./*.ts" }4 "exports": { "./*": "./*.ts" }
4}5}
lib/progress.test.ts+5-5
...@@ -235,10 +235,10 @@ function cleanProgressEvent(event: progress.StreamEvent) {...@@ -235,10 +235,10 @@ function cleanProgressEvent(event: progress.StreamEvent) {
235235
236type EncodedKey = typeof progress.internals.EncodedKey;236type EncodedKey = typeof progress.internals.EncodedKey;
237237
238import * as progress from "./progress.ts";238import * as progress from "@clo/lib/progress";
239import { describe, test, vi } from "vitest";239import { describe, test, vi } from "vitest";
240import assert from "node:assert/strict";240import assert from "node:assert/strict";
241import * as stream from "./stream.ts";241import * as stream from "@clo/lib/stream";
242import * as testing from "./testing.ts";242import * as testing from "@clo/lib/testing";
243import * as ansi from "./string/ansi.ts";243import * as ansi from "@clo/lib/string/ansi";
244import { UNWRAP } from "./assert.ts";244import { UNWRAP } from "@clo/lib/assert";
lib/progress.ts+11-11
...@@ -23,7 +23,7 @@...@@ -23,7 +23,7 @@
23 *23 *
24 * doSomething(progress); // the progress module satisfies progress.Ref24 * doSomething(progress); // the progress module satisfies progress.Ref
25 *25 *
26 * import * as progress from "@clo/lib/progress.ts";26 * import * as progress from "@clo/lib/progress";
27 * ```27 * ```
28 *28 *
29 * in some cases, such as in `subprocess/ffmpeg.ts`, it may make more sense29 * in some cases, such as in `subprocess/ffmpeg.ts`, it may make more sense
...@@ -1768,13 +1768,13 @@ export const internals: {...@@ -1768,13 +1768,13 @@ export const internals: {
1768 EncodedKey: 0 as EncodedKey,1768 EncodedKey: 0 as EncodedKey,
1769}))();1769}))();
17701770
1771import * as ansi from "./string/ansi.ts";1771import * as ansi from "@clo/lib/string/ansi";
1772import * as async from "./async.ts";1772import * as async from "@clo/lib/async";
1773import * as bytes from "./bytes.ts";1773import * as bytes from "@clo/lib/bytes";
1774import * as log from "./log.ts";1774import * as log from "@clo/lib/log";
1775import * as stack from "./log/stack.ts";1775import * as stack from "@clo/lib/log/stack";
1776import * as stream from "./stream.ts";1776import * as stream from "@clo/lib/stream";
1777import * as string from "./string.ts";1777import * as string from "@clo/lib/string";
1778import * as ts from "./ts.ts";1778import * as ts from "@clo/lib/ts";
1779import { ASSERT, UNWRAP } from "./assert.ts";1779import { ASSERT, UNWRAP } from "@clo/lib/assert";
1780import { Events } from "./Events.ts";1780import { Events } from "@clo/lib/Events";
lib/queue.ts+1-1
...@@ -176,4 +176,4 @@ function insertSorted<T extends { priority: number }>(arr: T[], item: T) {...@@ -176,4 +176,4 @@ function insertSorted<T extends { priority: number }>(arr: T[], item: T) {
176declare var navigator: { hardwareConcurrency: number };176declare var navigator: { hardwareConcurrency: number };
177const global = new PriorityQueue(navigator.hardwareConcurrency);177const global = new PriorityQueue(navigator.hardwareConcurrency);
178178
179import { UNWRAP } from "./assert.ts";179import { UNWRAP } from "@clo/lib/assert";
lib/readme.md+22-22
...@@ -14,25 +14,25 @@ depend on each other. there are no external dependencies; code is easy to audit....@@ -14,25 +14,25 @@ depend on each other. there are no external dependencies; code is easy to audit.
1414
15<!-- - `fs` - rebuilt api for `node:fs` -->15<!-- - `fs` - rebuilt api for `node:fs` -->
1616
17- `assert.ts`17- `assert` - assertion and type narrowing functions
18- `async.ts`18- `async` - promise and asynchronous helpers
19- `error.ts` - interop with the `unknown` type in error handlers19- `bytes` - `Uint8Array` helpers
20- `log.ts` - logging, terminal i/o, interactive widgets20- `error` - interop with the `unknown` type in error handlers
21- `log/headless.ts` - use `log` and `log/progress` without a tty21- `Events` - typed event emitter
22- `log/stack.ts` - stack trace parse and formatter22- `log` - logging, terminal i/o, interactive widgets
23- `Lru.ts` - least recently used cache23- `log/stack` - stack trace parse and formatter
24- `mime.ts` - trimmed database of ext -> mime types24- `Lru` - least recently used cache
25- `node.ts` - the Node.js javascript runtime25- `mime` - trimmed database of ext -> mime types
26- `progress.ts` - cli progress bars, nesting status indication26- `node` - the Node.js javascript runtime
27- `queue.ts` - priority queue with rescheduling27- `progress` - cli progress bars, nesting status indication
28- `render.ts` - html generation with extensions.28- `queue` - priority queue with rescheduling
29- `render/jsx-runtime.ts` - integration with JSX syntax29- `stream` - ReadableStream helpers
30- `render/meta.ts` - html meta tag generation30- `string` - trival helpers
31- `string.ts`31- `string/ansi` - cursor and color constants
32- `string/ansi.ts` - cursor and color constants32- `subprocess` - rebuilt api for `node:child_process`
33- `subprocess.ts` - rebuilt api for `node:child_process`33- `subprocess/ffmpeg` - spawn and parse progress output
34- `subprocess/ffmpeg.ts` - spawn and parse progress output34- `testing` - stuff used in `@clo/lib`'s unit tests
35- `ts.ts` typescript types and general purpose code35- `ts` typescript types and general purpose code
3636
37there is currently no hosted documentation site. please refer to the source37there is currently no hosted documentation site. please refer to the source
38files' comments.38files' comments.
...@@ -44,7 +44,7 @@ import. function names are often concise to avoid repeating redundant words in...@@ -44,7 +44,7 @@ import. function names are often concise to avoid repeating redundant words in
44source code.44source code.
4545
46```ts46```ts
47import * as queue from "@clo/lib/queue.ts";47import * as queue from "@clo/lib/queue";
4848
49// `run` in the context of `queue` conveys more information49// `run` in the context of `queue` conveys more information
50const result = await queue.run({ ... });50const result = await queue.run({ ... });
...@@ -54,10 +54,10 @@ without "barrel" files, using multiple libraries is done by importing each...@@ -54,10 +54,10 @@ without "barrel" files, using multiple libraries is done by importing each
54library separately:54library separately:
5555
56```ts56```ts
57import * as log from "@clo/lib/log.ts";57import * as log from "@clo/lib/log";
58// since the namespace cannot be a constructor, capitalized58// since the namespace cannot be a constructor, capitalized
59// filenames indicate the single export to use.59// filenames indicate the single export to use.
60import { Lru } from "@clo/lib/Lru.ts";60import { Lru } from "@clo/lib/Lru";
61```61```
6262
63these patterns developed initially when using a text editor without a language63these patterns developed initially when using a text editor without a language
lib/render.ts+2-2
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
14 * synchronous rendering function {@linkcode sync|render.sync}:14 * synchronous rendering function {@linkcode sync|render.sync}:
15 *15 *
16 * ```tsx16 * ```tsx
17 * import * as render from "@clo/lib/render.ts";17 * import * as render from "@clo/lib/render";
18 * console.info(render.sync(<h1>good morning</h1>));18 * console.info(render.sync(<h1>good morning</h1>));
19 * // jsx is equivilent to:19 * // jsx is equivilent to:
20 * console.info(render.sync(render.element("h1", { content: "good morning" })));20 * console.info(render.sync(render.element("h1", { content: "good morning" })));
...@@ -476,4 +476,4 @@ const kRaw = Symbol("Raw");...@@ -476,4 +476,4 @@ const kRaw = Symbol("Raw");
476/** secret key to facilitate {@linkcode init} with a `ContextValue[]` */476/** secret key to facilitate {@linkcode init} with a `ContextValue[]` */
477const kContext: unique symbol = Symbol();477const kContext: unique symbol = Symbol();
478478
479import { ASSERT, UNWRAP } from "./assert.ts";479import { ASSERT, UNWRAP } from "@clo/lib/assert";
lib/render/jsx-runtime.ts+3-3
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
13 * export type ElementClass = jsx.ts.ElementClass;13 * export type ElementClass = jsx.ts.ElementClass;
14 * }14 * }
15 * }15 * }
16 * import * as jsx from "@clo/lib/render/jsx-runtime.ts";16 * import * as jsx from "@clo/lib/render/jsx-runtime";
17 */17 */
1818
19/** this element returns just its contents, and is used by `<>` fragment syntax. */19/** this element returns just its contents, and is used by `<>` fragment syntax. */
...@@ -77,5 +77,5 @@ export declare namespace ts {...@@ -77,5 +77,5 @@ export declare namespace ts {
77 export type ElementClass = ReturnType<render.Component>;77 export type ElementClass = ReturnType<render.Component>;
78}78}
7979
80import * as render from "../render.ts";80import * as render from "@clo/lib/render";
81import { ASSERT } from "../assert.ts";81import { ASSERT } from "@clo/lib/assert";
lib/render/meta.test.tsx+1-1
...@@ -46,4 +46,4 @@ test("automatic embed with '{}'", () =>...@@ -46,4 +46,4 @@ test("automatic embed with '{}'", () =>
4646
47import { test } from "vitest";47import { test } from "vitest";
48import assert from "node:assert";48import assert from "node:assert";
49import * as meta from "./meta.ts";49import * as meta from "@clo/lib/render/meta";
lib/render/meta.ts+2-2
...@@ -253,5 +253,5 @@ function attr(value: string) {...@@ -253,5 +253,5 @@ function attr(value: string) {
253 return render.quoteIfNeeded(esc(value));253 return render.quoteIfNeeded(esc(value));
254}254}
255255
256import { escapeHtmlContent as esc } from "../render.ts";256import { escapeHtmlContent as esc } from "@clo/lib/render";
257import * as render from "../render.ts";257import * as render from "@clo/lib/render";
lib/stream.test.ts+1-1
...@@ -227,4 +227,4 @@ describe("BufferedReader", () => {...@@ -227,4 +227,4 @@ describe("BufferedReader", () => {
227227
228import { describe, test } from "vitest";228import { describe, test } from "vitest";
229import { strict as assert } from "node:assert";229import { strict as assert } from "node:assert";
230import * as stream from "./stream.ts";230import * as stream from "@clo/lib/stream";
lib/stream.ts+2-2
...@@ -472,5 +472,5 @@ export function readWritePair(): [...@@ -472,5 +472,5 @@ export function readWritePair(): [
472 return [reader, unbuffered];472 return [reader, unbuffered];
473}473}
474474
475import * as string from "./string.ts";475import * as string from "@clo/lib/string";
476import { ASSERT, UNWRAP } from "./assert.ts";476import { ASSERT, UNWRAP } from "@clo/lib/assert";
lib/string.test.ts+1-1
...@@ -48,4 +48,4 @@ test.todo("formatByteSize", () => {...@@ -48,4 +48,4 @@ test.todo("formatByteSize", () => {
4848
49import { test } from "vitest";49import { test } from "vitest";
50import assert from "node:assert";50import assert from "node:assert";
51import * as string from "./string.ts";51import * as string from "@clo/lib/string";
lib/string/ansi.test.ts+1-1
...@@ -21,4 +21,4 @@ test("trimForTerminal", () => {...@@ -21,4 +21,4 @@ test("trimForTerminal", () => {
2121
22import { test } from "vitest";22import { test } from "vitest";
23import assert from "node:assert";23import assert from "node:assert";
24import * as ansi from "@clo/lib/string/ansi.ts";24import * as ansi from "@clo/lib/string/ansi";
lib/string/ansi.ts+2-2
...@@ -407,5 +407,5 @@ function segmentWidth(segment: string) {...@@ -407,5 +407,5 @@ function segmentWidth(segment: string) {
407 );407 );
408}408}
409409
410import * as self from "./ansi.ts";410import * as self from "@clo/lib/string/ansi";
411import { UNWRAP } from "../assert.ts";411import { UNWRAP } from "@clo/lib/assert";
lib/subprocess/ffmpeg.ts+3-3
...@@ -195,6 +195,6 @@ import * as readline from "node:readline";...@@ -195,6 +195,6 @@ import * as readline from "node:readline";
195import * as process from "node:process";195import * as process from "node:process";
196import events from "node:events";196import events from "node:events";
197import * as path from "node:path";197import * as path from "node:path";
198import * as subprocess from "../subprocess.ts";198import * as subprocess from "@clo/lib/subprocess";
199import type * as progress from "../progress.ts";199import type * as progress from "@clo/lib/progress";
200import * as string from "../string.ts";200import * as string from "@clo/lib/string";
lib/testing.ts+5-5
...@@ -334,8 +334,8 @@ export class MockScreen implements Disposable, log.WidgetHost {...@@ -334,8 +334,8 @@ export class MockScreen implements Disposable, log.WidgetHost {
334 }334 }
335}335}
336336
337import * as ansi from "./string/ansi.ts";337import * as ansi from "@clo/lib/string/ansi";
338import { ASSERT, UNWRAP } from "./assert.ts";338import { ASSERT, UNWRAP } from "@clo/lib/assert";
339import * as log from "./log.ts";339import * as log from "@clo/lib/log";
340import * as async from "./async.ts";340import * as async from "@clo/lib/async";
341import * as stack from "./log/stack.ts";341import * as stack from "@clo/lib/log/stack";
package-lock.json+1810-1264
...@@ -7,16 +7,15 @@...@@ -7,16 +7,15 @@
7 "dependencies": {7 "dependencies": {
8 "@clo/lib": "file:lib",8 "@clo/lib": "file:lib",
9 "@clo/markodown": "npm:@paperclover/markodown",9 "@clo/markodown": "npm:@paperclover/markodown",
10 "@hono/node-server": "1.14.3",10 "@hono/node-server": "1.19.11",
11 "@marko/compiler": "^5.39.55",11 "@marko/compiler": "5.39.62",
12 "@types/node": "24.0.10",12 "@types/node": "^24.12.0",
13 "browserslist": "4.28.1",
14 "dashjs": "5.0.3",13 "dashjs": "5.0.3",
15 "devalue": "5.6.2",14 "devalue": "5.6.4",
16 "esbuild": "0.25.5",15 "esbuild": "0.25.5",
17 "hls.js": "1.6.5",16 "hls.js": "1.6.5",
18 "hono": "4.11.9",17 "hono": "4.12.8",
19 "marko": "^5.38.24",18 "marko": "5.38.33",
20 "msgpackr": "1.11.5",19 "msgpackr": "1.11.5",
21 "playwright": "1.58.2",20 "playwright": "1.58.2",
22 "source-map-support": "0.5.21",21 "source-map-support": "0.5.21",
...@@ -27,14 +26,18 @@...@@ -27,14 +26,18 @@
27 "vscode-textmate": "9.2.0"26 "vscode-textmate": "9.2.0"
28 }27 }
29 },28 },
30 "lib": {},29 "lib": {
30 "name": "@clo/lib"
31 },
31 "node_modules/@clo/lib": {32 "node_modules/@clo/lib": {
32 "resolved": "lib",33 "resolved": "lib",
33 "link": true34 "link": true
34 },35 },
35 "node_modules/@clo/markodown": {36 "node_modules/@clo/markodown": {
36 "name": "@paperclover/markodown",37 "name": "@paperclover/markodown",
37 "version": "1.0.0-rc.15",38 "version": "1.0.0",
39 "resolved": "https://registry.npmjs.org/@paperclover/markodown/-/markodown-1.0.0.tgz",
40 "integrity": "sha512-iMFqO9gqWwzpCysd/1ijXZGnwLasEaHE9EvEXMjJLXBbuLEHmHDQO5cT4JGtVpK85xsD4PYoBOXhyLBzyUNtSw==",
38 "peerDependencies": {41 "peerDependencies": {
39 "@marko/compiler": "^5",42 "@marko/compiler": "^5",
40 "esbuild": "0.x",43 "esbuild": "0.x",
...@@ -53,9 +56,9 @@...@@ -53,9 +56,9 @@
53 }56 }
54 },57 },
55 "node_modules/@emnapi/core": {58 "node_modules/@emnapi/core": {
56 "version": "1.9.0",59 "version": "1.9.1",
57 "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz",60 "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz",
58 "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==",61 "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==",
59 "license": "MIT",62 "license": "MIT",
60 "optional": true,63 "optional": true,
61 "dependencies": {64 "dependencies": {
...@@ -64,9 +67,9 @@...@@ -64,9 +67,9 @@
64 }67 }
65 },68 },
66 "node_modules/@emnapi/runtime": {69 "node_modules/@emnapi/runtime": {
67 "version": "1.9.0",70 "version": "1.9.1",
68 "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz",71 "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz",
69 "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==",72 "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==",
70 "license": "MIT",73 "license": "MIT",
71 "optional": true,74 "optional": true,
72 "dependencies": {75 "dependencies": {
...@@ -83,77 +86,74 @@...@@ -83,77 +86,74 @@
83 "tslib": "^2.4.0"86 "tslib": "^2.4.0"
84 }87 }
85 },88 },
86 "node_modules/@esbuild/darwin-arm64": {89 "node_modules/@esbuild/aix-ppc64": {
87 "version": "0.25.5",90 "version": "0.25.5",
91 "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
92 "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
88 "cpu": [93 "cpu": [
89 "arm64"94 "ppc64"
90 ],95 ],
91 "license": "MIT",96 "license": "MIT",
92 "optional": true,97 "optional": true,
93 "os": [98 "os": [
94 "darwin"99 "aix"
95 ],100 ],
96 "engines": {101 "engines": {
97 "node": ">=18"102 "node": ">=18"
98 }103 }
99 },104 },
100 "node_modules/@hono/node-server": {105 "node_modules/@esbuild/android-arm": {
101 "version": "1.14.3",106 "version": "0.25.5",
102 "license": "MIT",107 "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
103 "engines": {108 "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
104 "node": ">=18.14.1"109 "cpu": [
105 },110 "arm"
106 "peerDependencies": {111 ],
107 "hono": "^4"
108 }
109 },
110 "node_modules/@jridgewell/sourcemap-codec": {
111 "version": "1.5.5",
112 "license": "MIT"
113 },
114 "node_modules/@luxass/strip-json-comments": {
115 "version": "1.4.0",
116 "license": "MIT",112 "license": "MIT",
113 "optional": true,
114 "os": [
115 "android"
116 ],
117 "engines": {117 "engines": {
118 "node": ">=18"118 "node": ">=18"
119 }119 }
120 },120 },
121 "node_modules/@marko/compiler": {121 "node_modules/@esbuild/android-arm64": {
122 "version": "5.39.55",122 "version": "0.25.5",
123 "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
124 "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
125 "cpu": [
126 "arm64"
127 ],
123 "license": "MIT",128 "license": "MIT",
124 "dependencies": {129 "optional": true,
125 "@luxass/strip-json-comments": "^1.4.0",130 "os": [
126 "complain": "^1.6.1",131 "android"
127 "he": "^1.2.0",132 ],
128 "htmljs-parser": "^5.7.4",
129 "jsesc": "^3.1.0",
130 "kleur": "^4.1.5",
131 "lasso-package-root": "^1.0.1",
132 "raptor-regexp": "^1.0.1",
133 "raptor-util": "^3.2.0",
134 "relative-import-path": "^1.0.0",
135 "resolve-from": "^5.0.0",
136 "self-closing-tags": "^1.0.1",
137 "source-map-support": "^0.5.21"
138 },
139 "engines": {133 "engines": {
140 "node": "18 || 20 || >=22"134 "node": ">=18"
141 }135 }
142 },136 },
143 "node_modules/@marko/runtime-tags": {137 "node_modules/@esbuild/android-x64": {
144 "version": "6.0.145",138 "version": "0.25.5",
139 "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
140 "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
141 "cpu": [
142 "x64"
143 ],
145 "license": "MIT",144 "license": "MIT",
146 "dependencies": {145 "optional": true,
147 "@marko/compiler": "^5.39.53",146 "os": [
148 "csstype": "^3.2.3",147 "android"
149 "magic-string": "^0.30.21"148 ],
150 },
151 "engines": {149 "engines": {
152 "node": "18 || 20 || >=22"150 "node": ">=18"
153 }151 }
154 },152 },
155 "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {153 "node_modules/@esbuild/darwin-arm64": {
156 "version": "3.0.3",154 "version": "0.25.5",
155 "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
156 "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
157 "cpu": [157 "cpu": [
158 "arm64"158 "arm64"
159 ],159 ],
...@@ -161,112 +161,97 @@...@@ -161,112 +161,97 @@
161 "optional": true,161 "optional": true,
162 "os": [162 "os": [
163 "darwin"163 "darwin"
164 ]164 ],
165 },
166 "node_modules/@napi-rs/wasm-runtime": {
167 "version": "1.1.1",
168 "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz",
169 "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==",
170 "license": "MIT",
171 "optional": true,
172 "dependencies": {
173 "@emnapi/core": "^1.7.1",
174 "@emnapi/runtime": "^1.7.1",
175 "@tybys/wasm-util": "^0.10.1"
176 },
177 "funding": {
178 "type": "github",
179 "url": "https://github.com/sponsors/Brooooooklyn"
180 }
181 },
182 "node_modules/@oxc-project/runtime": {
183 "version": "0.115.0",
184 "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.115.0.tgz",
185 "integrity": "sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==",
186 "license": "MIT",
187 "engines": {165 "engines": {
188 "node": "^20.19.0 || >=22.12.0"166 "node": ">=18"
189 }167 }
190 },168 },
191 "node_modules/@oxc-project/types": {169 "node_modules/@esbuild/darwin-x64": {
192 "version": "0.115.0",170 "version": "0.25.5",
193 "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.115.0.tgz",171 "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
194 "integrity": "sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==",172 "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
173 "cpu": [
174 "x64"
175 ],
195 "license": "MIT",176 "license": "MIT",
196 "funding": {177 "optional": true,
197 "url": "https://github.com/sponsors/Boshen"178 "os": [
179 "darwin"
180 ],
181 "engines": {
182 "node": ">=18"
198 }183 }
199 },184 },
200 "node_modules/@rolldown/binding-android-arm64": {185 "node_modules/@esbuild/freebsd-arm64": {
201 "version": "1.0.0-rc.9",186 "version": "0.25.5",
202 "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.9.tgz",187 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
203 "integrity": "sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==",188 "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
204 "cpu": [189 "cpu": [
205 "arm64"190 "arm64"
206 ],191 ],
207 "license": "MIT",192 "license": "MIT",
208 "optional": true,193 "optional": true,
209 "os": [194 "os": [
210 "android"195 "freebsd"
211 ],196 ],
212 "engines": {197 "engines": {
213 "node": "^20.19.0 || >=22.12.0"198 "node": ">=18"
214 }199 }
215 },200 },
216 "node_modules/@rolldown/binding-darwin-arm64": {201 "node_modules/@esbuild/freebsd-x64": {
217 "version": "1.0.0-rc.9",202 "version": "0.25.5",
218 "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.9.tgz",203 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
219 "integrity": "sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==",204 "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
220 "cpu": [205 "cpu": [
221 "arm64"206 "x64"
222 ],207 ],
223 "license": "MIT",208 "license": "MIT",
224 "optional": true,209 "optional": true,
225 "os": [210 "os": [
226 "darwin"211 "freebsd"
227 ],212 ],
228 "engines": {213 "engines": {
229 "node": "^20.19.0 || >=22.12.0"214 "node": ">=18"
230 }215 }
231 },216 },
232 "node_modules/@rolldown/binding-darwin-x64": {217 "node_modules/@esbuild/linux-arm": {
233 "version": "1.0.0-rc.9",218 "version": "0.25.5",
234 "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.9.tgz",219 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
235 "integrity": "sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==",220 "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
236 "cpu": [221 "cpu": [
237 "x64"222 "arm"
238 ],223 ],
239 "license": "MIT",224 "license": "MIT",
240 "optional": true,225 "optional": true,
241 "os": [226 "os": [
242 "darwin"227 "linux"
243 ],228 ],
244 "engines": {229 "engines": {
245 "node": "^20.19.0 || >=22.12.0"230 "node": ">=18"
246 }231 }
247 },232 },
248 "node_modules/@rolldown/binding-freebsd-x64": {233 "node_modules/@esbuild/linux-arm64": {
249 "version": "1.0.0-rc.9",234 "version": "0.25.5",
250 "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.9.tgz",235 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
251 "integrity": "sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==",236 "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
252 "cpu": [237 "cpu": [
253 "x64"238 "arm64"
254 ],239 ],
255 "license": "MIT",240 "license": "MIT",
256 "optional": true,241 "optional": true,
257 "os": [242 "os": [
258 "freebsd"243 "linux"
259 ],244 ],
260 "engines": {245 "engines": {
261 "node": "^20.19.0 || >=22.12.0"246 "node": ">=18"
262 }247 }
263 },248 },
264 "node_modules/@rolldown/binding-linux-arm-gnueabihf": {249 "node_modules/@esbuild/linux-ia32": {
265 "version": "1.0.0-rc.9",250 "version": "0.25.5",
266 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.9.tgz",251 "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
267 "integrity": "sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==",252 "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
268 "cpu": [253 "cpu": [
269 "arm"254 "ia32"
270 ],255 ],
271 "license": "MIT",256 "license": "MIT",
272 "optional": true,257 "optional": true,
...@@ -274,15 +259,15 @@...@@ -274,15 +259,15 @@
274 "linux"259 "linux"
275 ],260 ],
276 "engines": {261 "engines": {
277 "node": "^20.19.0 || >=22.12.0"262 "node": ">=18"
278 }263 }
279 },264 },
280 "node_modules/@rolldown/binding-linux-arm64-gnu": {265 "node_modules/@esbuild/linux-loong64": {
281 "version": "1.0.0-rc.9",266 "version": "0.25.5",
282 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.9.tgz",267 "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
283 "integrity": "sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==",268 "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
284 "cpu": [269 "cpu": [
285 "arm64"270 "loong64"
286 ],271 ],
287 "license": "MIT",272 "license": "MIT",
288 "optional": true,273 "optional": true,
...@@ -290,15 +275,15 @@...@@ -290,15 +275,15 @@
290 "linux"275 "linux"
291 ],276 ],
292 "engines": {277 "engines": {
293 "node": "^20.19.0 || >=22.12.0"278 "node": ">=18"
294 }279 }
295 },280 },
296 "node_modules/@rolldown/binding-linux-arm64-musl": {281 "node_modules/@esbuild/linux-mips64el": {
297 "version": "1.0.0-rc.9",282 "version": "0.25.5",
298 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.9.tgz",283 "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
299 "integrity": "sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==",284 "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
300 "cpu": [285 "cpu": [
301 "arm64"286 "mips64el"
302 ],287 ],
303 "license": "MIT",288 "license": "MIT",
304 "optional": true,289 "optional": true,
...@@ -306,13 +291,13 @@...@@ -306,13 +291,13 @@
306 "linux"291 "linux"
307 ],292 ],
308 "engines": {293 "engines": {
309 "node": "^20.19.0 || >=22.12.0"294 "node": ">=18"
310 }295 }
311 },296 },
312 "node_modules/@rolldown/binding-linux-ppc64-gnu": {297 "node_modules/@esbuild/linux-ppc64": {
313 "version": "1.0.0-rc.9",298 "version": "0.25.5",
314 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.9.tgz",299 "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
315 "integrity": "sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==",300 "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
316 "cpu": [301 "cpu": [
317 "ppc64"302 "ppc64"
318 ],303 ],
...@@ -322,15 +307,15 @@...@@ -322,15 +307,15 @@
322 "linux"307 "linux"
323 ],308 ],
324 "engines": {309 "engines": {
325 "node": "^20.19.0 || >=22.12.0"310 "node": ">=18"
326 }311 }
327 },312 },
328 "node_modules/@rolldown/binding-linux-s390x-gnu": {313 "node_modules/@esbuild/linux-riscv64": {
329 "version": "1.0.0-rc.9",314 "version": "0.25.5",
330 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.9.tgz",315 "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
331 "integrity": "sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==",316 "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
332 "cpu": [317 "cpu": [
333 "s390x"318 "riscv64"
334 ],319 ],
335 "license": "MIT",320 "license": "MIT",
336 "optional": true,321 "optional": true,
...@@ -338,15 +323,15 @@...@@ -338,15 +323,15 @@
338 "linux"323 "linux"
339 ],324 ],
340 "engines": {325 "engines": {
341 "node": "^20.19.0 || >=22.12.0"326 "node": ">=18"
342 }327 }
343 },328 },
344 "node_modules/@rolldown/binding-linux-x64-gnu": {329 "node_modules/@esbuild/linux-s390x": {
345 "version": "1.0.0-rc.9",330 "version": "0.25.5",
346 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.9.tgz",331 "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
347 "integrity": "sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==",332 "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
348 "cpu": [333 "cpu": [
349 "x64"334 "s390x"
350 ],335 ],
351 "license": "MIT",336 "license": "MIT",
352 "optional": true,337 "optional": true,
...@@ -354,13 +339,13 @@...@@ -354,13 +339,13 @@
354 "linux"339 "linux"
355 ],340 ],
356 "engines": {341 "engines": {
357 "node": "^20.19.0 || >=22.12.0"342 "node": ">=18"
358 }343 }
359 },344 },
360 "node_modules/@rolldown/binding-linux-x64-musl": {345 "node_modules/@esbuild/linux-x64": {
361 "version": "1.0.0-rc.9",346 "version": "0.25.5",
362 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.9.tgz",347 "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
363 "integrity": "sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==",348 "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
364 "cpu": [349 "cpu": [
365 "x64"350 "x64"
366 ],351 ],
...@@ -370,870 +355,957 @@...@@ -370,870 +355,957 @@
370 "linux"355 "linux"
371 ],356 ],
372 "engines": {357 "engines": {
373 "node": "^20.19.0 || >=22.12.0"358 "node": ">=18"
374 }359 }
375 },360 },
376 "node_modules/@rolldown/binding-openharmony-arm64": {361 "node_modules/@esbuild/netbsd-arm64": {
377 "version": "1.0.0-rc.9",362 "version": "0.25.5",
378 "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.9.tgz",363 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
379 "integrity": "sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==",364 "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
380 "cpu": [365 "cpu": [
381 "arm64"366 "arm64"
382 ],367 ],
383 "license": "MIT",368 "license": "MIT",
384 "optional": true,369 "optional": true,
385 "os": [370 "os": [
386 "openharmony"371 "netbsd"
387 ],372 ],
388 "engines": {373 "engines": {
389 "node": "^20.19.0 || >=22.12.0"374 "node": ">=18"
390 }375 }
391 },376 },
392 "node_modules/@rolldown/binding-wasm32-wasi": {377 "node_modules/@esbuild/netbsd-x64": {
393 "version": "1.0.0-rc.9",378 "version": "0.25.5",
394 "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.9.tgz",379 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
395 "integrity": "sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==",380 "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
396 "cpu": [381 "cpu": [
397 "wasm32"382 "x64"
398 ],383 ],
399 "license": "MIT",384 "license": "MIT",
400 "optional": true,385 "optional": true,
401 "dependencies": {386 "os": [
402 "@napi-rs/wasm-runtime": "^1.1.1"387 "netbsd"
403 },388 ],
404 "engines": {389 "engines": {
405 "node": ">=14.0.0"390 "node": ">=18"
406 }391 }
407 },392 },
408 "node_modules/@rolldown/binding-win32-arm64-msvc": {393 "node_modules/@esbuild/openbsd-arm64": {
409 "version": "1.0.0-rc.9",394 "version": "0.25.5",
410 "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.9.tgz",395 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
411 "integrity": "sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==",396 "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
412 "cpu": [397 "cpu": [
413 "arm64"398 "arm64"
414 ],399 ],
415 "license": "MIT",400 "license": "MIT",
416 "optional": true,401 "optional": true,
417 "os": [402 "os": [
418 "win32"403 "openbsd"
419 ],404 ],
420 "engines": {405 "engines": {
421 "node": "^20.19.0 || >=22.12.0"406 "node": ">=18"
422 }407 }
423 },408 },
424 "node_modules/@rolldown/binding-win32-x64-msvc": {409 "node_modules/@esbuild/openbsd-x64": {
425 "version": "1.0.0-rc.9",410 "version": "0.25.5",
426 "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.9.tgz",411 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
427 "integrity": "sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==",412 "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
428 "cpu": [413 "cpu": [
429 "x64"414 "x64"
430 ],415 ],
431 "license": "MIT",416 "license": "MIT",
432 "optional": true,417 "optional": true,
433 "os": [418 "os": [
434 "win32"419 "openbsd"
435 ],420 ],
436 "engines": {421 "engines": {
437 "node": "^20.19.0 || >=22.12.0"422 "node": ">=18"
438 }423 }
439 },424 },
440 "node_modules/@rolldown/pluginutils": {425 "node_modules/@esbuild/openharmony-arm64": {
441 "version": "1.0.0-rc.9",426 "version": "0.27.4",
442 "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.9.tgz",427 "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz",
443 "integrity": "sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==",428 "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==",
444 "license": "MIT"429 "cpu": [
445 },430 "arm64"
446 "node_modules/@standard-schema/spec": {431 ],
447 "version": "1.1.0",
448 "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
449 "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
450 "license": "MIT"
451 },
452 "node_modules/@svta/common-media-library": {
453 "version": "0.12.4",
454 "license": "Apache-2.0"
455 },
456 "node_modules/@tybys/wasm-util": {
457 "version": "0.10.1",
458 "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
459 "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
460 "license": "MIT",432 "license": "MIT",
461 "optional": true,433 "optional": true,
462 "dependencies": {434 "os": [
463 "tslib": "^2.4.0"435 "openharmony"
436 ],
437 "engines": {
438 "node": ">=18"
464 }439 }
465 },440 },
466 "node_modules/@types/chai": {441 "node_modules/@esbuild/sunos-x64": {
467 "version": "5.2.3",442 "version": "0.25.5",
468 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",443 "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
469 "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",444 "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
445 "cpu": [
446 "x64"
447 ],
470 "license": "MIT",448 "license": "MIT",
471 "dependencies": {449 "optional": true,
472 "@types/deep-eql": "*",450 "os": [
473 "assertion-error": "^2.0.1"451 "sunos"
452 ],
453 "engines": {
454 "node": ">=18"
474 }455 }
475 },456 },
476 "node_modules/@types/chai/node_modules/assertion-error": {457 "node_modules/@esbuild/win32-arm64": {
477 "version": "2.0.1",458 "version": "0.25.5",
478 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",459 "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
479 "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",460 "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
461 "cpu": [
462 "arm64"
463 ],
480 "license": "MIT",464 "license": "MIT",
465 "optional": true,
466 "os": [
467 "win32"
468 ],
481 "engines": {469 "engines": {
482 "node": ">=12"470 "node": ">=18"
483 }471 }
484 },472 },
485 "node_modules/@types/deep-eql": {473 "node_modules/@esbuild/win32-ia32": {
486 "version": "4.0.2",474 "version": "0.25.5",
487 "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",475 "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
488 "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",476 "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
489 "license": "MIT"477 "cpu": [
490 },478 "ia32"
491 "node_modules/@types/estree": {479 ],
492 "version": "1.0.8",480 "license": "MIT",
493 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",481 "optional": true,
494 "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",482 "os": [
495 "license": "MIT"483 "win32"
484 ],
485 "engines": {
486 "node": ">=18"
487 }
496 },488 },
497 "node_modules/@types/node": {489 "node_modules/@esbuild/win32-x64": {
498 "version": "24.0.10",490 "version": "0.25.5",
491 "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
492 "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
493 "cpu": [
494 "x64"
495 ],
499 "license": "MIT",496 "license": "MIT",
500 "dependencies": {497 "optional": true,
501 "undici-types": "~7.8.0"498 "os": [
499 "win32"
500 ],
501 "engines": {
502 "node": ">=18"
502 }503 }
503 },504 },
504 "node_modules/@vitest/expect": {505 "node_modules/@hono/node-server": {
505 "version": "4.1.0",506 "version": "1.19.11",
506 "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.0.tgz",507 "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.11.tgz",
507 "integrity": "sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==",508 "integrity": "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==",
508 "license": "MIT",509 "license": "MIT",
509 "dependencies": {510 "engines": {
510 "@standard-schema/spec": "^1.1.0",511 "node": ">=18.14.1"
511 "@types/chai": "^5.2.2",
512 "@vitest/spy": "4.1.0",
513 "@vitest/utils": "4.1.0",
514 "chai": "^6.2.2",
515 "tinyrainbow": "^3.0.3"
516 },512 },
517 "funding": {513 "peerDependencies": {
518 "url": "https://opencollective.com/vitest"514 "hono": "^4"
519 }515 }
520 },516 },
521 "node_modules/@vitest/expect/node_modules/chai": {517 "node_modules/@jridgewell/sourcemap-codec": {
522 "version": "6.2.2",518 "version": "1.5.5",
523 "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",519 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
524 "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",520 "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
521 "license": "MIT"
522 },
523 "node_modules/@luxass/strip-json-comments": {
524 "version": "1.4.0",
525 "resolved": "https://registry.npmjs.org/@luxass/strip-json-comments/-/strip-json-comments-1.4.0.tgz",
526 "integrity": "sha512-Zl343to4u/t8jz1q7R/1UY6hLX+344cwPLEXsIYthVwdU5zyjuVBGcpf2E24+QZkwFfRfmnHTcscreQzWn3hiA==",
525 "license": "MIT",527 "license": "MIT",
526 "engines": {528 "engines": {
527 "node": ">=18"529 "node": ">=18"
528 }530 }
529 },531 },
530 "node_modules/@vitest/pretty-format": {532 "node_modules/@marko/compiler": {
531 "version": "4.1.0",533 "version": "5.39.62",
532 "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.0.tgz",534 "resolved": "https://registry.npmjs.org/@marko/compiler/-/compiler-5.39.62.tgz",
533 "integrity": "sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==",535 "integrity": "sha512-aBmWraqvVMLzi3oZkm5cEAVTv4qtLIVl9tkci6M+duSaEbKq4+n9FuNjYlOA0/4slRmOeAOuYyi2BenzgKmQNA==",
534 "license": "MIT",536 "license": "MIT",
537 "peer": true,
535 "dependencies": {538 "dependencies": {
536 "tinyrainbow": "^3.0.3"539 "@luxass/strip-json-comments": "^1.4.0",
540 "complain": "^1.6.1",
541 "he": "^1.2.0",
542 "htmljs-parser": "^5.10.2",
543 "jsesc": "^3.1.0",
544 "kleur": "^4.1.5",
545 "lasso-package-root": "^1.0.1",
546 "raptor-regexp": "^1.0.1",
547 "raptor-util": "^3.2.0",
548 "relative-import-path": "^1.0.0",
549 "resolve-from": "^5.0.0",
550 "self-closing-tags": "^1.0.1",
551 "source-map-support": "^0.5.21"
537 },552 },
538 "funding": {553 "engines": {
539 "url": "https://opencollective.com/vitest"554 "node": "18 || 20 || >=22"
540 }555 }
541 },556 },
542 "node_modules/@vitest/runner": {557 "node_modules/@marko/runtime-tags": {
543 "version": "4.1.0",558 "version": "6.0.159",
544 "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.0.tgz",559 "resolved": "https://registry.npmjs.org/@marko/runtime-tags/-/runtime-tags-6.0.159.tgz",
545 "integrity": "sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==",560 "integrity": "sha512-gtw2oiqLKb1mbC+gsupbXL/BVBshNH2maDbiJ8s4L6BSmFlxkSmqJgkl6l6aCvoXqMh7PRqRZArwpT5RN9/Tpw==",
546 "license": "MIT",561 "license": "MIT",
547 "dependencies": {562 "dependencies": {
548 "@vitest/utils": "4.1.0",563 "@marko/compiler": "^5.39.62",
549 "pathe": "^2.0.3"564 "csstype": "^3.2.3",
565 "fastest-levenshtein": "^1.0.16",
566 "magic-string": "^0.30.21"
550 },567 },
551 "funding": {568 "engines": {
552 "url": "https://opencollective.com/vitest"569 "node": "18 || 20 || >=22"
553 }570 }
554 },571 },
555 "node_modules/@vitest/snapshot": {572 "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
556 "version": "4.1.0",573 "version": "3.0.3",
557 "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.0.tgz",574 "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
558 "integrity": "sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==",575 "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
576 "cpu": [
577 "arm64"
578 ],
579 "license": "MIT",
580 "optional": true,
581 "os": [
582 "darwin"
583 ]
584 },
585 "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
586 "version": "3.0.3",
587 "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
588 "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
589 "cpu": [
590 "x64"
591 ],
592 "license": "MIT",
593 "optional": true,
594 "os": [
595 "darwin"
596 ]
597 },
598 "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
599 "version": "3.0.3",
600 "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
601 "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
602 "cpu": [
603 "arm"
604 ],
605 "license": "MIT",
606 "optional": true,
607 "os": [
608 "linux"
609 ]
610 },
611 "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
612 "version": "3.0.3",
613 "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
614 "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
615 "cpu": [
616 "arm64"
617 ],
618 "license": "MIT",
619 "optional": true,
620 "os": [
621 "linux"
622 ]
623 },
624 "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
625 "version": "3.0.3",
626 "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
627 "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
628 "cpu": [
629 "x64"
630 ],
631 "license": "MIT",
632 "optional": true,
633 "os": [
634 "linux"
635 ]
636 },
637 "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
638 "version": "3.0.3",
639 "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
640 "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
641 "cpu": [
642 "x64"
643 ],
644 "license": "MIT",
645 "optional": true,
646 "os": [
647 "win32"
648 ]
649 },
650 "node_modules/@napi-rs/wasm-runtime": {
651 "version": "1.1.1",
652 "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz",
653 "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==",
559 "license": "MIT",654 "license": "MIT",
655 "optional": true,
560 "dependencies": {656 "dependencies": {
561 "@vitest/pretty-format": "4.1.0",657 "@emnapi/core": "^1.7.1",
562 "@vitest/utils": "4.1.0",658 "@emnapi/runtime": "^1.7.1",
563 "magic-string": "^0.30.21",659 "@tybys/wasm-util": "^0.10.1"
564 "pathe": "^2.0.3"
565 },660 },
566 "funding": {661 "funding": {
567 "url": "https://opencollective.com/vitest"662 "type": "github",
663 "url": "https://github.com/sponsors/Brooooooklyn"
568 }664 }
569 },665 },
570 "node_modules/@vitest/spy": {666 "node_modules/@oxc-project/types": {
571 "version": "4.1.0",667 "version": "0.120.0",
572 "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.0.tgz",668 "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.120.0.tgz",
573 "integrity": "sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==",669 "integrity": "sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==",
574 "license": "MIT",670 "license": "MIT",
575 "funding": {671 "funding": {
576 "url": "https://opencollective.com/vitest"672 "url": "https://github.com/sponsors/Boshen"
577 }673 }
578 },674 },
579 "node_modules/@vitest/utils": {675 "node_modules/@rolldown/binding-android-arm64": {
580 "version": "4.1.0",676 "version": "1.0.0-rc.10",
581 "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.0.tgz",677 "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.10.tgz",
582 "integrity": "sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==",678 "integrity": "sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg==",
679 "cpu": [
680 "arm64"
681 ],
583 "license": "MIT",682 "license": "MIT",
584 "dependencies": {683 "optional": true,
585 "@vitest/pretty-format": "4.1.0",684 "os": [
586 "convert-source-map": "^2.0.0",685 "android"
587 "tinyrainbow": "^3.0.3"686 ],
588 },687 "engines": {
589 "funding": {688 "node": "^20.19.0 || >=22.12.0"
590 "url": "https://opencollective.com/vitest"
591 }689 }
592 },690 },
593 "node_modules/app-module-path": {691 "node_modules/@rolldown/binding-darwin-arm64": {
594 "version": "2.2.0",692 "version": "1.0.0-rc.10",
595 "license": "BSD-2-Clause"693 "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.10.tgz",
596 },694 "integrity": "sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w==",
597 "node_modules/argly": {695 "cpu": [
598 "version": "1.2.0",696 "arm64"
599 "license": "MIT"697 ],
600 },
601 "node_modules/assertion-error": {
602 "version": "1.1.0",
603 "license": "MIT",698 "license": "MIT",
699 "optional": true,
700 "os": [
701 "darwin"
702 ],
604 "engines": {703 "engines": {
605 "node": "*"704 "node": "^20.19.0 || >=22.12.0"
606 }
607 },
608 "node_modules/balanced-match": {
609 "version": "1.0.2",
610 "license": "MIT"
611 },
612 "node_modules/baseline-browser-mapping": {
613 "version": "2.9.19",
614 "license": "Apache-2.0",
615 "bin": {
616 "baseline-browser-mapping": "dist/cli.js"
617 }705 }
618 },706 },
619 "node_modules/bcp-47": {707 "node_modules/@rolldown/binding-darwin-x64": {
620 "version": "2.1.0",708 "version": "1.0.0-rc.10",
709 "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.10.tgz",
710 "integrity": "sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A==",
711 "cpu": [
712 "x64"
713 ],
621 "license": "MIT",714 "license": "MIT",
622 "dependencies": {715 "optional": true,
623 "is-alphabetical": "^2.0.0",716 "os": [
624 "is-alphanumerical": "^2.0.0",717 "darwin"
625 "is-decimal": "^2.0.0"718 ],
626 },719 "engines": {
627 "funding": {720 "node": "^20.19.0 || >=22.12.0"
628 "type": "github",
629 "url": "https://github.com/sponsors/wooorm"
630 }721 }
631 },722 },
632 "node_modules/bcp-47-match": {723 "node_modules/@rolldown/binding-freebsd-x64": {
633 "version": "2.0.3",724 "version": "1.0.0-rc.10",
725 "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.10.tgz",
726 "integrity": "sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w==",
727 "cpu": [
728 "x64"
729 ],
634 "license": "MIT",730 "license": "MIT",
635 "funding": {731 "optional": true,
636 "type": "github",732 "os": [
637 "url": "https://github.com/sponsors/wooorm"733 "freebsd"
734 ],
735 "engines": {
736 "node": "^20.19.0 || >=22.12.0"
638 }737 }
639 },738 },
640 "node_modules/bcp-47-normalize": {739 "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
641 "version": "2.3.0",740 "version": "1.0.0-rc.10",
741 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.10.tgz",
742 "integrity": "sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA==",
743 "cpu": [
744 "arm"
745 ],
642 "license": "MIT",746 "license": "MIT",
643 "dependencies": {747 "optional": true,
644 "bcp-47": "^2.0.0",748 "os": [
645 "bcp-47-match": "^2.0.0"749 "linux"
646 },750 ],
647 "funding": {751 "engines": {
648 "type": "github",752 "node": "^20.19.0 || >=22.12.0"
649 "url": "https://github.com/sponsors/wooorm"
650 }753 }
651 },754 },
652 "node_modules/brace-expansion": {755 "node_modules/@rolldown/binding-linux-arm64-gnu": {
653 "version": "2.0.2",756 "version": "1.0.0-rc.10",
757 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.10.tgz",
758 "integrity": "sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg==",
759 "cpu": [
760 "arm64"
761 ],
654 "license": "MIT",762 "license": "MIT",
655 "dependencies": {763 "optional": true,
656 "balanced-match": "^1.0.0"764 "os": [
765 "linux"
766 ],
767 "engines": {
768 "node": "^20.19.0 || >=22.12.0"
657 }769 }
658 },770 },
659 "node_modules/browser-refresh-client": {771 "node_modules/@rolldown/binding-linux-arm64-musl": {
660 "version": "1.1.4",772 "version": "1.0.0-rc.10",
661 "license": "MIT"773 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.10.tgz",
662 },774 "integrity": "sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g==",
663 "node_modules/browserslist": {775 "cpu": [
664 "version": "4.28.1",776 "arm64"
665 "funding": [
666 {
667 "type": "opencollective",
668 "url": "https://opencollective.com/browserslist"
669 },
670 {
671 "type": "tidelift",
672 "url": "https://tidelift.com/funding/github/npm/browserslist"
673 },
674 {
675 "type": "github",
676 "url": "https://github.com/sponsors/ai"
677 }
678 ],777 ],
679 "license": "MIT",778 "license": "MIT",
680 "dependencies": {779 "optional": true,
681 "baseline-browser-mapping": "^2.9.0",780 "os": [
682 "caniuse-lite": "^1.0.30001759",781 "linux"
683 "electron-to-chromium": "^1.5.263",782 ],
684 "node-releases": "^2.0.27",
685 "update-browserslist-db": "^1.2.0"
686 },
687 "bin": {
688 "browserslist": "cli.js"
689 },
690 "engines": {783 "engines": {
691 "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"784 "node": "^20.19.0 || >=22.12.0"
692 }785 }
693 },786 },
694 "node_modules/buffer-from": {787 "node_modules/@rolldown/binding-linux-ppc64-gnu": {
695 "version": "1.1.2",788 "version": "1.0.0-rc.10",
696 "license": "MIT"789 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.10.tgz",
697 },790 "integrity": "sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w==",
698 "node_modules/caniuse-lite": {791 "cpu": [
699 "version": "1.0.30001770",792 "ppc64"
700 "funding": [
701 {
702 "type": "opencollective",
703 "url": "https://opencollective.com/browserslist"
704 },
705 {
706 "type": "tidelift",
707 "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
708 },
709 {
710 "type": "github",
711 "url": "https://github.com/sponsors/ai"
712 }
713 ],793 ],
714 "license": "CC-BY-4.0"
715 },
716 "node_modules/chai": {
717 "version": "3.5.0",
718 "license": "MIT",794 "license": "MIT",
719 "dependencies": {795 "optional": true,
720 "assertion-error": "^1.0.1",796 "os": [
721 "deep-eql": "^0.1.3",797 "linux"
722 "type-detect": "^1.0.0"798 ],
723 },
724 "engines": {799 "engines": {
725 "node": ">= 0.4.0"800 "node": "^20.19.0 || >=22.12.0"
726 }801 }
727 },802 },
728 "node_modules/codem-isoboxer": {803 "node_modules/@rolldown/binding-linux-s390x-gnu": {
729 "version": "0.3.10",804 "version": "1.0.0-rc.10",
730 "license": "MIT"805 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.10.tgz",
731 },806 "integrity": "sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg==",
732 "node_modules/complain": {807 "cpu": [
733 "version": "1.6.1",808 "s390x"
809 ],
734 "license": "MIT",810 "license": "MIT",
735 "dependencies": {811 "optional": true,
736 "error-stack-parser": "^2.0.1"812 "os": [
813 "linux"
814 ],
815 "engines": {
816 "node": "^20.19.0 || >=22.12.0"
737 }817 }
738 },818 },
739 "node_modules/convert-source-map": {819 "node_modules/@rolldown/binding-linux-x64-gnu": {
740 "version": "2.0.0",820 "version": "1.0.0-rc.10",
741 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",821 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.10.tgz",
742 "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",822 "integrity": "sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw==",
743 "license": "MIT"823 "cpu": [
744 },824 "x64"
745 "node_modules/csstype": {825 ],
746 "version": "3.2.3",826 "license": "MIT",
747 "license": "MIT"827 "optional": true,
748 },828 "os": [
749 "node_modules/dashjs": {829 "linux"
750 "version": "5.0.3",830 ],
751 "license": "BSD-3-Clause",831 "engines": {
752 "dependencies": {832 "node": "^20.19.0 || >=22.12.0"
753 "@svta/common-media-library": "^0.12.4",
754 "bcp-47-match": "^2.0.3",
755 "bcp-47-normalize": "^2.3.0",
756 "codem-isoboxer": "0.3.10",
757 "fast-deep-equal": "3.1.3",
758 "html-entities": "^2.5.2",
759 "imsc": "^1.1.5",
760 "localforage": "^1.10.0",
761 "path-browserify": "^1.0.1",
762 "ua-parser-js": "^1.0.37"
763 }833 }
764 },834 },
765 "node_modules/deep-eql": {835 "node_modules/@rolldown/binding-linux-x64-musl": {
766 "version": "0.1.3",836 "version": "1.0.0-rc.10",
837 "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.10.tgz",
838 "integrity": "sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA==",
839 "cpu": [
840 "x64"
841 ],
767 "license": "MIT",842 "license": "MIT",
768 "dependencies": {843 "optional": true,
769 "type-detect": "0.1.1"844 "os": [
770 },845 "linux"
846 ],
771 "engines": {847 "engines": {
772 "node": "*"848 "node": "^20.19.0 || >=22.12.0"
773 }849 }
774 },850 },
775 "node_modules/deep-eql/node_modules/type-detect": {851 "node_modules/@rolldown/binding-openharmony-arm64": {
776 "version": "0.1.1",852 "version": "1.0.0-rc.10",
853 "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.10.tgz",
854 "integrity": "sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q==",
855 "cpu": [
856 "arm64"
857 ],
777 "license": "MIT",858 "license": "MIT",
859 "optional": true,
860 "os": [
861 "openharmony"
862 ],
778 "engines": {863 "engines": {
779 "node": "*"864 "node": "^20.19.0 || >=22.12.0"
780 }865 }
781 },866 },
782 "node_modules/detect-libc": {867 "node_modules/@rolldown/binding-wasm32-wasi": {
783 "version": "2.0.4",868 "version": "1.0.0-rc.10",
784 "license": "Apache-2.0",869 "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.10.tgz",
870 "integrity": "sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA==",
871 "cpu": [
872 "wasm32"
873 ],
874 "license": "MIT",
875 "optional": true,
876 "dependencies": {
877 "@napi-rs/wasm-runtime": "^1.1.1"
878 },
785 "engines": {879 "engines": {
786 "node": ">=8"880 "node": ">=14.0.0"
787 }881 }
788 },882 },
789 "node_modules/devalue": {883 "node_modules/@rolldown/binding-win32-arm64-msvc": {
790 "version": "5.6.2",884 "version": "1.0.0-rc.10",
791 "license": "MIT"885 "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.10.tgz",
792 },886 "integrity": "sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ==",
793 "node_modules/electron-to-chromium": {
794 "version": "1.5.286",
795 "license": "ISC"
796 },
797 "node_modules/error-stack-parser": {
798 "version": "2.1.4",
799 "license": "MIT",
800 "dependencies": {
801 "stackframe": "^1.3.4"
802 }
803 },
804 "node_modules/es-module-lexer": {
805 "version": "2.0.0",
806 "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
807 "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
808 "license": "MIT"
809 },
810 "node_modules/esbuild": {
811 "version": "0.25.5",
812 "hasInstallScript": true,
813 "license": "MIT",
814 "bin": {
815 "esbuild": "bin/esbuild"
816 },
817 "engines": {
818 "node": ">=18"
819 },
820 "optionalDependencies": {
821 "@esbuild/aix-ppc64": "0.25.5",
822 "@esbuild/android-arm": "0.25.5",
823 "@esbuild/android-arm64": "0.25.5",
824 "@esbuild/android-x64": "0.25.5",
825 "@esbuild/darwin-arm64": "0.25.5",
826 "@esbuild/darwin-x64": "0.25.5",
827 "@esbuild/freebsd-arm64": "0.25.5",
828 "@esbuild/freebsd-x64": "0.25.5",
829 "@esbuild/linux-arm": "0.25.5",
830 "@esbuild/linux-arm64": "0.25.5",
831 "@esbuild/linux-ia32": "0.25.5",
832 "@esbuild/linux-loong64": "0.25.5",
833 "@esbuild/linux-mips64el": "0.25.5",
834 "@esbuild/linux-ppc64": "0.25.5",
835 "@esbuild/linux-riscv64": "0.25.5",
836 "@esbuild/linux-s390x": "0.25.5",
837 "@esbuild/linux-x64": "0.25.5",
838 "@esbuild/netbsd-arm64": "0.25.5",
839 "@esbuild/netbsd-x64": "0.25.5",
840 "@esbuild/openbsd-arm64": "0.25.5",
841 "@esbuild/openbsd-x64": "0.25.5",
842 "@esbuild/sunos-x64": "0.25.5",
843 "@esbuild/win32-arm64": "0.25.5",
844 "@esbuild/win32-ia32": "0.25.5",
845 "@esbuild/win32-x64": "0.25.5"
846 }
847 },
848 "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": {
849 "version": "0.25.5",
850 "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
851 "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
852 "cpu": [887 "cpu": [
853 "ppc64"888 "arm64"
854 ],889 ],
855 "license": "MIT",890 "license": "MIT",
856 "optional": true,891 "optional": true,
857 "os": [892 "os": [
858 "aix"893 "win32"
859 ],894 ],
860 "engines": {895 "engines": {
861 "node": ">=18"896 "node": "^20.19.0 || >=22.12.0"
862 }897 }
863 },898 },
864 "node_modules/esbuild/node_modules/@esbuild/android-arm": {899 "node_modules/@rolldown/binding-win32-x64-msvc": {
865 "version": "0.25.5",900 "version": "1.0.0-rc.10",
866 "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",901 "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.10.tgz",
867 "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",902 "integrity": "sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w==",
868 "cpu": [903 "cpu": [
869 "arm"904 "x64"
870 ],905 ],
871 "license": "MIT",906 "license": "MIT",
872 "optional": true,907 "optional": true,
873 "os": [908 "os": [
874 "android"909 "win32"
875 ],910 ],
876 "engines": {911 "engines": {
877 "node": ">=18"912 "node": "^20.19.0 || >=22.12.0"
878 }913 }
879 },914 },
880 "node_modules/esbuild/node_modules/@esbuild/android-arm64": {915 "node_modules/@rolldown/pluginutils": {
881 "version": "0.25.5",916 "version": "1.0.0-rc.10",
882 "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",917 "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.10.tgz",
883 "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",918 "integrity": "sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg==",
884 "cpu": [919 "license": "MIT"
885 "arm64"920 },
886 ],921 "node_modules/@standard-schema/spec": {
922 "version": "1.1.0",
923 "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
924 "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
925 "license": "MIT"
926 },
927 "node_modules/@svta/common-media-library": {
928 "version": "0.12.4",
929 "resolved": "https://registry.npmjs.org/@svta/common-media-library/-/common-media-library-0.12.4.tgz",
930 "integrity": "sha512-9EuOoaNmz7JrfGwjsrD9SxF9otU5TNMnbLu1yU4BeLK0W5cDxVXXR58Z89q9u2AnHjIctscjMTYdlqQ1gojTuw==",
931 "license": "Apache-2.0"
932 },
933 "node_modules/@tybys/wasm-util": {
934 "version": "0.10.1",
935 "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
936 "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
887 "license": "MIT",937 "license": "MIT",
888 "optional": true,938 "optional": true,
889 "os": [939 "dependencies": {
890 "android"940 "tslib": "^2.4.0"
891 ],
892 "engines": {
893 "node": ">=18"
894 }941 }
895 },942 },
896 "node_modules/esbuild/node_modules/@esbuild/android-x64": {943 "node_modules/@types/chai": {
897 "version": "0.25.5",944 "version": "5.2.3",
898 "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",945 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
899 "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",946 "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
900 "cpu": [
901 "x64"
902 ],
903 "license": "MIT",947 "license": "MIT",
904 "optional": true,948 "dependencies": {
905 "os": [949 "@types/deep-eql": "*",
906 "android"950 "assertion-error": "^2.0.1"
907 ],
908 "engines": {
909 "node": ">=18"
910 }951 }
911 },952 },
912 "node_modules/esbuild/node_modules/@esbuild/darwin-x64": {953 "node_modules/@types/chai/node_modules/assertion-error": {
913 "version": "0.25.5",954 "version": "2.0.1",
914 "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",955 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
915 "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",956 "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
916 "cpu": [
917 "x64"
918 ],
919 "license": "MIT",957 "license": "MIT",
920 "optional": true,
921 "os": [
922 "darwin"
923 ],
924 "engines": {958 "engines": {
925 "node": ">=18"959 "node": ">=12"
926 }960 }
927 },961 },
928 "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": {962 "node_modules/@types/deep-eql": {
929 "version": "0.25.5",963 "version": "4.0.2",
930 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",964 "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
931 "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",965 "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
932 "cpu": [966 "license": "MIT"
933 "arm64"967 },
934 ],968 "node_modules/@types/estree": {
969 "version": "1.0.8",
970 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
971 "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
972 "license": "MIT"
973 },
974 "node_modules/@types/node": {
975 "version": "24.12.0",
976 "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.0.tgz",
977 "integrity": "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==",
935 "license": "MIT",978 "license": "MIT",
936 "optional": true,979 "peer": true,
937 "os": [980 "dependencies": {
938 "freebsd"981 "undici-types": "~7.16.0"
939 ],
940 "engines": {
941 "node": ">=18"
942 }982 }
943 },983 },
944 "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": {984 "node_modules/@vitest/expect": {
945 "version": "0.25.5",985 "version": "4.1.0",
946 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",986 "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.0.tgz",
947 "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",987 "integrity": "sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==",
948 "cpu": [
949 "x64"
950 ],
951 "license": "MIT",988 "license": "MIT",
952 "optional": true,989 "dependencies": {
953 "os": [990 "@standard-schema/spec": "^1.1.0",
954 "freebsd"991 "@types/chai": "^5.2.2",
955 ],992 "@vitest/spy": "4.1.0",
956 "engines": {993 "@vitest/utils": "4.1.0",
957 "node": ">=18"994 "chai": "^6.2.2",
995 "tinyrainbow": "^3.0.3"
996 },
997 "funding": {
998 "url": "https://opencollective.com/vitest"
958 }999 }
959 },1000 },
960 "node_modules/esbuild/node_modules/@esbuild/linux-arm": {1001 "node_modules/@vitest/expect/node_modules/chai": {
961 "version": "0.25.5",1002 "version": "6.2.2",
962 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",1003 "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",
963 "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",1004 "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",
964 "cpu": [
965 "arm"
966 ],
967 "license": "MIT",1005 "license": "MIT",
968 "optional": true,
969 "os": [
970 "linux"
971 ],
972 "engines": {1006 "engines": {
973 "node": ">=18"1007 "node": ">=18"
974 }1008 }
975 },1009 },
976 "node_modules/esbuild/node_modules/@esbuild/linux-arm64": {1010 "node_modules/@vitest/pretty-format": {
977 "version": "0.25.5",1011 "version": "4.1.0",
978 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",1012 "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.0.tgz",
979 "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",1013 "integrity": "sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==",
980 "cpu": [
981 "arm64"
982 ],
983 "license": "MIT",1014 "license": "MIT",
984 "optional": true,1015 "dependencies": {
985 "os": [1016 "tinyrainbow": "^3.0.3"
986 "linux"1017 },
987 ],1018 "funding": {
988 "engines": {1019 "url": "https://opencollective.com/vitest"
989 "node": ">=18"
990 }1020 }
991 },1021 },
992 "node_modules/esbuild/node_modules/@esbuild/linux-ia32": {1022 "node_modules/@vitest/runner": {
993 "version": "0.25.5",1023 "version": "4.1.0",
994 "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",1024 "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.0.tgz",
995 "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",1025 "integrity": "sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==",
996 "cpu": [
997 "ia32"
998 ],
999 "license": "MIT",1026 "license": "MIT",
1000 "optional": true,1027 "dependencies": {
1001 "os": [1028 "@vitest/utils": "4.1.0",
1002 "linux"1029 "pathe": "^2.0.3"
1003 ],1030 },
1004 "engines": {1031 "funding": {
1005 "node": ">=18"1032 "url": "https://opencollective.com/vitest"
1006 }1033 }
1007 },1034 },
1008 "node_modules/esbuild/node_modules/@esbuild/linux-loong64": {1035 "node_modules/@vitest/snapshot": {
1009 "version": "0.25.5",1036 "version": "4.1.0",
1010 "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",1037 "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.0.tgz",
1011 "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",1038 "integrity": "sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==",
1012 "cpu": [1039 "license": "MIT",
1013 "loong64"1040 "dependencies": {
1014 ],1041 "@vitest/pretty-format": "4.1.0",
1015 "license": "MIT",1042 "@vitest/utils": "4.1.0",
1016 "optional": true,1043 "magic-string": "^0.30.21",
1017 "os": [1044 "pathe": "^2.0.3"
1018 "linux"1045 },
1019 ],1046 "funding": {
1020 "engines": {1047 "url": "https://opencollective.com/vitest"
1021 "node": ">=18"
1022 }1048 }
1023 },1049 },
1024 "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": {1050 "node_modules/@vitest/spy": {
1025 "version": "0.25.5",1051 "version": "4.1.0",
1026 "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",1052 "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.0.tgz",
1027 "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",1053 "integrity": "sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==",
1028 "cpu": [
1029 "mips64el"
1030 ],
1031 "license": "MIT",1054 "license": "MIT",
1032 "optional": true,1055 "funding": {
1033 "os": [1056 "url": "https://opencollective.com/vitest"
1034 "linux"
1035 ],
1036 "engines": {
1037 "node": ">=18"
1038 }1057 }
1039 },1058 },
1040 "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": {1059 "node_modules/@vitest/utils": {
1041 "version": "0.25.5",1060 "version": "4.1.0",
1042 "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",1061 "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.0.tgz",
1043 "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",1062 "integrity": "sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==",
1044 "cpu": [
1045 "ppc64"
1046 ],
1047 "license": "MIT",1063 "license": "MIT",
1048 "optional": true,1064 "dependencies": {
1049 "os": [1065 "@vitest/pretty-format": "4.1.0",
1050 "linux"1066 "convert-source-map": "^2.0.0",
1051 ],1067 "tinyrainbow": "^3.0.3"
1052 "engines": {1068 },
1053 "node": ">=18"1069 "funding": {
1070 "url": "https://opencollective.com/vitest"
1054 }1071 }
1055 },1072 },
1056 "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": {1073 "node_modules/app-module-path": {
1057 "version": "0.25.5",1074 "version": "2.2.0",
1058 "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",1075 "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz",
1059 "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",1076 "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==",
1060 "cpu": [1077 "license": "BSD-2-Clause"
1061 "riscv64"1078 },
1062 ],1079 "node_modules/argly": {
1080 "version": "1.2.0",
1081 "resolved": "https://registry.npmjs.org/argly/-/argly-1.2.0.tgz",
1082 "integrity": "sha512-+F3InkcH2XOGK7Jf/ZQis4cwZ4wbfmpBKo5J+SAA9bglT1gVd0e9hroHWarU076pJrAfs8JKuRPwDqwPBOKHnw==",
1083 "license": "MIT"
1084 },
1085 "node_modules/assertion-error": {
1086 "version": "1.1.0",
1087 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
1088 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
1063 "license": "MIT",1089 "license": "MIT",
1064 "optional": true,
1065 "os": [
1066 "linux"
1067 ],
1068 "engines": {1090 "engines": {
1069 "node": ">=18"1091 "node": "*"
1070 }1092 }
1071 },1093 },
1072 "node_modules/esbuild/node_modules/@esbuild/linux-s390x": {1094 "node_modules/balanced-match": {
1073 "version": "0.25.5",1095 "version": "1.0.2",
1074 "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",1096 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1075 "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",1097 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1076 "cpu": [1098 "license": "MIT"
1077 "s390x"1099 },
1078 ],1100 "node_modules/bcp-47": {
1101 "version": "2.1.0",
1102 "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz",
1103 "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==",
1079 "license": "MIT",1104 "license": "MIT",
1080 "optional": true,1105 "dependencies": {
1081 "os": [1106 "is-alphabetical": "^2.0.0",
1082 "linux"1107 "is-alphanumerical": "^2.0.0",
1083 ],1108 "is-decimal": "^2.0.0"
1084 "engines": {1109 },
1085 "node": ">=18"1110 "funding": {
1111 "type": "github",
1112 "url": "https://github.com/sponsors/wooorm"
1086 }1113 }
1087 },1114 },
1088 "node_modules/esbuild/node_modules/@esbuild/linux-x64": {1115 "node_modules/bcp-47-match": {
1089 "version": "0.25.5",1116 "version": "2.0.3",
1090 "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",1117 "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz",
1091 "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",1118 "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==",
1092 "cpu": [
1093 "x64"
1094 ],
1095 "license": "MIT",1119 "license": "MIT",
1096 "optional": true,1120 "funding": {
1097 "os": [1121 "type": "github",
1098 "linux"1122 "url": "https://github.com/sponsors/wooorm"
1099 ],
1100 "engines": {
1101 "node": ">=18"
1102 }1123 }
1103 },1124 },
1104 "node_modules/esbuild/node_modules/@esbuild/netbsd-arm64": {1125 "node_modules/bcp-47-normalize": {
1105 "version": "0.25.5",1126 "version": "2.3.0",
1106 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",1127 "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-2.3.0.tgz",
1107 "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",1128 "integrity": "sha512-8I/wfzqQvttUFz7HVJgIZ7+dj3vUaIyIxYXaTRP1YWoSDfzt6TUmxaKZeuXR62qBmYr+nvuWINFRl6pZ5DlN4Q==",
1108 "cpu": [
1109 "arm64"
1110 ],
1111 "license": "MIT",1129 "license": "MIT",
1112 "optional": true,1130 "dependencies": {
1113 "os": [1131 "bcp-47": "^2.0.0",
1114 "netbsd"1132 "bcp-47-match": "^2.0.0"
1115 ],1133 },
1116 "engines": {1134 "funding": {
1117 "node": ">=18"1135 "type": "github",
1136 "url": "https://github.com/sponsors/wooorm"
1118 }1137 }
1119 },1138 },
1120 "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": {1139 "node_modules/brace-expansion": {
1121 "version": "0.25.5",1140 "version": "2.0.2",
1122 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",1141 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
1123 "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",1142 "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
1124 "cpu": [
1125 "x64"
1126 ],
1127 "license": "MIT",1143 "license": "MIT",
1128 "optional": true,1144 "dependencies": {
1129 "os": [1145 "balanced-match": "^1.0.0"
1130 "netbsd"
1131 ],
1132 "engines": {
1133 "node": ">=18"
1134 }1146 }
1135 },1147 },
1136 "node_modules/esbuild/node_modules/@esbuild/openbsd-arm64": {1148 "node_modules/browser-refresh-client": {
1137 "version": "0.25.5",1149 "version": "1.1.4",
1138 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",1150 "resolved": "https://registry.npmjs.org/browser-refresh-client/-/browser-refresh-client-1.1.4.tgz",
1139 "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",1151 "integrity": "sha512-FM/UzMFsG7wJ1ocxCSl6U7qGAIWASEk+tlvfJLP2Pd1JfS4kQ1r4d5f+nNmQI8fB8sXSD8+u/mWErEkAMxUu3w==",
1140 "cpu": [1152 "license": "MIT"
1141 "arm64"1153 },
1142 ],1154 "node_modules/buffer-from": {
1155 "version": "1.1.2",
1156 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1157 "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
1158 "license": "MIT"
1159 },
1160 "node_modules/chai": {
1161 "version": "3.5.0",
1162 "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
1163 "integrity": "sha512-eRYY0vPS2a9zt5w5Z0aCeWbrXTEyvk7u/Xf71EzNObrjSCPgMm1Nku/D/u2tiqHBX5j40wWhj54YJLtgn8g55A==",
1143 "license": "MIT",1164 "license": "MIT",
1144 "optional": true,1165 "dependencies": {
1145 "os": [1166 "assertion-error": "^1.0.1",
1146 "openbsd"1167 "deep-eql": "^0.1.3",
1147 ],1168 "type-detect": "^1.0.0"
1169 },
1148 "engines": {1170 "engines": {
1149 "node": ">=18"1171 "node": ">= 0.4.0"
1150 }1172 }
1151 },1173 },
1152 "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": {1174 "node_modules/codem-isoboxer": {
1153 "version": "0.25.5",1175 "version": "0.3.10",
1154 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",1176 "resolved": "https://registry.npmjs.org/codem-isoboxer/-/codem-isoboxer-0.3.10.tgz",
1155 "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",1177 "integrity": "sha512-eNk3TRV+xQMJ1PEj0FQGY8KD4m0GPxT487XJ+Iftm7mVa9WpPFDMWqPt+46buiP5j5Wzqe5oMIhqBcAeKfygSA==",
1156 "cpu": [1178 "license": "MIT"
1157 "x64"1179 },
1158 ],1180 "node_modules/complain": {
1181 "version": "1.6.1",
1182 "resolved": "https://registry.npmjs.org/complain/-/complain-1.6.1.tgz",
1183 "integrity": "sha512-WsiVAbAPcPSwyC5k8g/PLceaW0MXJUw61KqBd9uiyDOSuDIC6Ho/EbyhdFjeV6wq44R2g/b8IFpvV/1ZyXiqUQ==",
1159 "license": "MIT",1184 "license": "MIT",
1160 "optional": true,1185 "dependencies": {
1161 "os": [1186 "error-stack-parser": "^2.0.1"
1162 "openbsd"
1163 ],
1164 "engines": {
1165 "node": ">=18"
1166 }1187 }
1167 },1188 },
1168 "node_modules/esbuild/node_modules/@esbuild/sunos-x64": {1189 "node_modules/convert-source-map": {
1169 "version": "0.25.5",1190 "version": "2.0.0",
1170 "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",1191 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
1171 "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",1192 "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1172 "cpu": [1193 "license": "MIT"
1173 "x64"1194 },
1174 ],1195 "node_modules/csstype": {
1196 "version": "3.2.3",
1197 "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
1198 "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
1199 "license": "MIT"
1200 },
1201 "node_modules/dashjs": {
1202 "version": "5.0.3",
1203 "resolved": "https://registry.npmjs.org/dashjs/-/dashjs-5.0.3.tgz",
1204 "integrity": "sha512-TXndNnCUjFjF2nYBxDVba+hWRpVkadkQ8flLp7kHkem+5+wZTfRShJCnVkPUosmjS0YPE9fVNLbYPJxHBeQZvA==",
1205 "license": "BSD-3-Clause",
1206 "dependencies": {
1207 "@svta/common-media-library": "^0.12.4",
1208 "bcp-47-match": "^2.0.3",
1209 "bcp-47-normalize": "^2.3.0",
1210 "codem-isoboxer": "0.3.10",
1211 "fast-deep-equal": "3.1.3",
1212 "html-entities": "^2.5.2",
1213 "imsc": "^1.1.5",
1214 "localforage": "^1.10.0",
1215 "path-browserify": "^1.0.1",
1216 "ua-parser-js": "^1.0.37"
1217 }
1218 },
1219 "node_modules/deep-eql": {
1220 "version": "0.1.3",
1221 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
1222 "integrity": "sha512-6sEotTRGBFiNcqVoeHwnfopbSpi5NbH1VWJmYCVkmxMmaVTT0bUTrNaGyBwhgP4MZL012W/mkzIn3Da+iDYweg==",
1175 "license": "MIT",1223 "license": "MIT",
1176 "optional": true,1224 "dependencies": {
1177 "os": [1225 "type-detect": "0.1.1"
1178 "sunos"1226 },
1179 ],
1180 "engines": {1227 "engines": {
1181 "node": ">=18"1228 "node": "*"
1182 }1229 }
1183 },1230 },
1184 "node_modules/esbuild/node_modules/@esbuild/win32-arm64": {1231 "node_modules/deep-eql/node_modules/type-detect": {
1185 "version": "0.25.5",1232 "version": "0.1.1",
1186 "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",1233 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
1187 "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",1234 "integrity": "sha512-5rqszGVwYgBoDkIm2oUtvkfZMQ0vk29iDMU0W2qCa3rG0vPDNczCMT4hV/bLBgLg8k8ri6+u3Zbt+S/14eMzlA==",
1188 "cpu": [
1189 "arm64"
1190 ],
1191 "license": "MIT",1235 "license": "MIT",
1192 "optional": true,
1193 "os": [
1194 "win32"
1195 ],
1196 "engines": {1236 "engines": {
1197 "node": ">=18"1237 "node": "*"
1198 }1238 }
1199 },1239 },
1200 "node_modules/esbuild/node_modules/@esbuild/win32-ia32": {1240 "node_modules/detect-libc": {
1201 "version": "0.25.5",1241 "version": "2.1.2",
1202 "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",1242 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
1203 "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",1243 "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
1204 "cpu": [1244 "license": "Apache-2.0",
1205 "ia32"
1206 ],
1207 "license": "MIT",
1208 "optional": true,
1209 "os": [
1210 "win32"
1211 ],
1212 "engines": {1245 "engines": {
1213 "node": ">=18"1246 "node": ">=8"
1214 }1247 }
1215 },1248 },
1216 "node_modules/esbuild/node_modules/@esbuild/win32-x64": {1249 "node_modules/devalue": {
1217 "version": "0.25.5",1250 "version": "5.6.4",
1218 "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",1251 "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.4.tgz",
1219 "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",1252 "integrity": "sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==",
1220 "cpu": [1253 "license": "MIT"
1221 "x64"1254 },
1222 ],1255 "node_modules/error-stack-parser": {
1256 "version": "2.1.4",
1257 "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
1258 "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
1223 "license": "MIT",1259 "license": "MIT",
1224 "optional": true,1260 "dependencies": {
1225 "os": [1261 "stackframe": "^1.3.4"
1226 "win32"
1227 ],
1228 "engines": {
1229 "node": ">=18"
1230 }1262 }
1231 },1263 },
1232 "node_modules/escalade": {1264 "node_modules/es-module-lexer": {
1233 "version": "3.2.0",1265 "version": "2.0.0",
1266 "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
1267 "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
1268 "license": "MIT"
1269 },
1270 "node_modules/esbuild": {
1271 "version": "0.25.5",
1272 "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
1273 "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
1274 "hasInstallScript": true,
1234 "license": "MIT",1275 "license": "MIT",
1276 "peer": true,
1277 "bin": {
1278 "esbuild": "bin/esbuild"
1279 },
1235 "engines": {1280 "engines": {
1236 "node": ">=6"1281 "node": ">=18"
1282 },
1283 "optionalDependencies": {
1284 "@esbuild/aix-ppc64": "0.25.5",
1285 "@esbuild/android-arm": "0.25.5",
1286 "@esbuild/android-arm64": "0.25.5",
1287 "@esbuild/android-x64": "0.25.5",
1288 "@esbuild/darwin-arm64": "0.25.5",
1289 "@esbuild/darwin-x64": "0.25.5",
1290 "@esbuild/freebsd-arm64": "0.25.5",
1291 "@esbuild/freebsd-x64": "0.25.5",
1292 "@esbuild/linux-arm": "0.25.5",
1293 "@esbuild/linux-arm64": "0.25.5",
1294 "@esbuild/linux-ia32": "0.25.5",
1295 "@esbuild/linux-loong64": "0.25.5",
1296 "@esbuild/linux-mips64el": "0.25.5",
1297 "@esbuild/linux-ppc64": "0.25.5",
1298 "@esbuild/linux-riscv64": "0.25.5",
1299 "@esbuild/linux-s390x": "0.25.5",
1300 "@esbuild/linux-x64": "0.25.5",
1301 "@esbuild/netbsd-arm64": "0.25.5",
1302 "@esbuild/netbsd-x64": "0.25.5",
1303 "@esbuild/openbsd-arm64": "0.25.5",
1304 "@esbuild/openbsd-x64": "0.25.5",
1305 "@esbuild/sunos-x64": "0.25.5",
1306 "@esbuild/win32-arm64": "0.25.5",
1307 "@esbuild/win32-ia32": "0.25.5",
1308 "@esbuild/win32-x64": "0.25.5"
1237 }1309 }
1238 },1310 },
1239 "node_modules/estree-walker": {1311 "node_modules/estree-walker": {
...@@ -1247,6 +1319,8 @@...@@ -1247,6 +1319,8 @@
1247 },1319 },
1248 "node_modules/events-light": {1320 "node_modules/events-light": {
1249 "version": "1.0.5",1321 "version": "1.0.5",
1322 "resolved": "https://registry.npmjs.org/events-light/-/events-light-1.0.5.tgz",
1323 "integrity": "sha512-jF51LJzg5W+tkJgfZbjlbFCLcyVFEtOjU+xMCBylrXG13X5XHvfp6lNGfyBLF9u1mRTpUsMVYqSDukvpZff1mQ==",
1250 "license": "MIT",1324 "license": "MIT",
1251 "dependencies": {1325 "dependencies": {
1252 "chai": "^3.5.0"1326 "chai": "^3.5.0"
...@@ -1263,8 +1337,19 @@...@@ -1263,8 +1337,19 @@
1263 },1337 },
1264 "node_modules/fast-deep-equal": {1338 "node_modules/fast-deep-equal": {
1265 "version": "3.1.3",1339 "version": "3.1.3",
1340 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1341 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1266 "license": "MIT"1342 "license": "MIT"
1267 },1343 },
1344 "node_modules/fastest-levenshtein": {
1345 "version": "1.0.16",
1346 "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
1347 "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
1348 "license": "MIT",
1349 "engines": {
1350 "node": ">= 4.9.1"
1351 }
1352 },
1268 "node_modules/fdir": {1353 "node_modules/fdir": {
1269 "version": "6.5.0",1354 "version": "6.5.0",
1270 "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",1355 "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
...@@ -1284,6 +1369,9 @@...@@ -1284,6 +1369,9 @@
1284 },1369 },
1285 "node_modules/fsevents": {1370 "node_modules/fsevents": {
1286 "version": "2.3.2",1371 "version": "2.3.2",
1372 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1373 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1374 "hasInstallScript": true,
1287 "license": "MIT",1375 "license": "MIT",
1288 "optional": true,1376 "optional": true,
1289 "os": [1377 "os": [
...@@ -1295,6 +1383,8 @@...@@ -1295,6 +1383,8 @@
1295 },1383 },
1296 "node_modules/he": {1384 "node_modules/he": {
1297 "version": "1.2.0",1385 "version": "1.2.0",
1386 "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1387 "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
1298 "license": "MIT",1388 "license": "MIT",
1299 "bin": {1389 "bin": {
1300 "he": "bin/he"1390 "he": "bin/he"
...@@ -1302,17 +1392,24 @@...@@ -1302,17 +1392,24 @@
1302 },1392 },
1303 "node_modules/hls.js": {1393 "node_modules/hls.js": {
1304 "version": "1.6.5",1394 "version": "1.6.5",
1395 "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.5.tgz",
1396 "integrity": "sha512-KMn5n7JBK+olC342740hDPHnGWfE8FiHtGMOdJPfUjRdARTWj9OB+8c13fnsf9sk1VtpuU2fKSgUjHvg4rNbzQ==",
1305 "license": "Apache-2.0"1397 "license": "Apache-2.0"
1306 },1398 },
1307 "node_modules/hono": {1399 "node_modules/hono": {
1308 "version": "4.11.9",1400 "version": "4.12.8",
1401 "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.8.tgz",
1402 "integrity": "sha512-VJCEvtrezO1IAR+kqEYnxUOoStaQPGrCmX3j4wDTNOcD1uRPFpGlwQUIW8niPuvHXaTUxeOUl5MMDGrl+tmO9A==",
1309 "license": "MIT",1403 "license": "MIT",
1404 "peer": true,
1310 "engines": {1405 "engines": {
1311 "node": ">=16.9.0"1406 "node": ">=16.9.0"
1312 }1407 }
1313 },1408 },
1314 "node_modules/html-entities": {1409 "node_modules/html-entities": {
1315 "version": "2.6.0",1410 "version": "2.6.0",
1411 "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
1412 "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
1316 "funding": [1413 "funding": [
1317 {1414 {
1318 "type": "github",1415 "type": "github",
...@@ -1326,15 +1423,21 @@...@@ -1326,15 +1423,21 @@
1326 "license": "MIT"1423 "license": "MIT"
1327 },1424 },
1328 "node_modules/htmljs-parser": {1425 "node_modules/htmljs-parser": {
1329 "version": "5.10.0",1426 "version": "5.10.2",
1427 "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-5.10.2.tgz",
1428 "integrity": "sha512-Db/pHZehPxGD8Cy0NvACoMfnVQqfgEiK7z+7cuEDOeJdnzuomyaw3I31A+1uoZmS6IjvTD5iuFA+XL2LE+SieA==",
1330 "license": "MIT"1429 "license": "MIT"
1331 },1430 },
1332 "node_modules/immediate": {1431 "node_modules/immediate": {
1333 "version": "3.0.6",1432 "version": "3.0.6",
1433 "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
1434 "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
1334 "license": "MIT"1435 "license": "MIT"
1335 },1436 },
1336 "node_modules/imsc": {1437 "node_modules/imsc": {
1337 "version": "1.1.5",1438 "version": "1.1.5",
1439 "resolved": "https://registry.npmjs.org/imsc/-/imsc-1.1.5.tgz",
1440 "integrity": "sha512-V8je+CGkcvGhgl2C1GlhqFFiUOIEdwXbXLiu1Fcubvvbo+g9inauqT3l0pNYXGoLPBj3jxtZz9t+wCopMkwadQ==",
1338 "license": "BSD-2-Clause",1441 "license": "BSD-2-Clause",
1339 "dependencies": {1442 "dependencies": {
1340 "sax": "1.2.1"1443 "sax": "1.2.1"
...@@ -1342,6 +1445,8 @@...@@ -1342,6 +1445,8 @@
1342 },1445 },
1343 "node_modules/is-alphabetical": {1446 "node_modules/is-alphabetical": {
1344 "version": "2.0.1",1447 "version": "2.0.1",
1448 "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
1449 "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
1345 "license": "MIT",1450 "license": "MIT",
1346 "funding": {1451 "funding": {
1347 "type": "github",1452 "type": "github",
...@@ -1350,6 +1455,8 @@...@@ -1350,6 +1455,8 @@
1350 },1455 },
1351 "node_modules/is-alphanumerical": {1456 "node_modules/is-alphanumerical": {
1352 "version": "2.0.1",1457 "version": "2.0.1",
1458 "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
1459 "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
1353 "license": "MIT",1460 "license": "MIT",
1354 "dependencies": {1461 "dependencies": {
1355 "is-alphabetical": "^2.0.0",1462 "is-alphabetical": "^2.0.0",
...@@ -1362,6 +1469,8 @@...@@ -1362,6 +1469,8 @@
1362 },1469 },
1363 "node_modules/is-decimal": {1470 "node_modules/is-decimal": {
1364 "version": "2.0.1",1471 "version": "2.0.1",
1472 "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
1473 "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
1365 "license": "MIT",1474 "license": "MIT",
1366 "funding": {1475 "funding": {
1367 "type": "github",1476 "type": "github",
...@@ -1370,6 +1479,8 @@...@@ -1370,6 +1479,8 @@
1370 },1479 },
1371 "node_modules/jsesc": {1480 "node_modules/jsesc": {
1372 "version": "3.1.0",1481 "version": "3.1.0",
1482 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
1483 "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
1373 "license": "MIT",1484 "license": "MIT",
1374 "bin": {1485 "bin": {
1375 "jsesc": "bin/jsesc"1486 "jsesc": "bin/jsesc"
...@@ -1380,6 +1491,8 @@...@@ -1380,6 +1491,8 @@
1380 },1491 },
1381 "node_modules/kleur": {1492 "node_modules/kleur": {
1382 "version": "4.1.5",1493 "version": "4.1.5",
1494 "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
1495 "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
1383 "license": "MIT",1496 "license": "MIT",
1384 "engines": {1497 "engines": {
1385 "node": ">=6"1498 "node": ">=6"
...@@ -1387,6 +1500,8 @@...@@ -1387,6 +1500,8 @@
1387 },1500 },
1388 "node_modules/lasso-caching-fs": {1501 "node_modules/lasso-caching-fs": {
1389 "version": "1.0.2",1502 "version": "1.0.2",
1503 "resolved": "https://registry.npmjs.org/lasso-caching-fs/-/lasso-caching-fs-1.0.2.tgz",
1504 "integrity": "sha512-mudop0s8U3tLm3Fn9lhiZsiELpLeJToEo6RlDLdph7vWRxL9Sz0o+9WUw1IwlpCYXv/P0CLsMYWFgPwIKWEYvg==",
1390 "license": "Apache-2.0",1505 "license": "Apache-2.0",
1391 "dependencies": {1506 "dependencies": {
1392 "raptor-async": "^1.1.2"1507 "raptor-async": "^1.1.2"
...@@ -1394,6 +1509,8 @@...@@ -1394,6 +1509,8 @@
1394 },1509 },
1395 "node_modules/lasso-package-root": {1510 "node_modules/lasso-package-root": {
1396 "version": "1.0.1",1511 "version": "1.0.1",
1512 "resolved": "https://registry.npmjs.org/lasso-package-root/-/lasso-package-root-1.0.1.tgz",
1513 "integrity": "sha512-j6LnauNCldqSDvOxoKpD6sTzudPGMiwcZQbySoF9KvJ0lD9Dp2t6QZF8kC0jbUDHuQPiAo5RuQ/mC3AGXscUYA==",
1397 "license": "Apache-2.0",1514 "license": "Apache-2.0",
1398 "dependencies": {1515 "dependencies": {
1399 "lasso-caching-fs": "^1.0.0"1516 "lasso-caching-fs": "^1.0.0"
...@@ -1401,6 +1518,8 @@...@@ -1401,6 +1518,8 @@
1401 },1518 },
1402 "node_modules/lie": {1519 "node_modules/lie": {
1403 "version": "3.1.1",1520 "version": "3.1.1",
1521 "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
1522 "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
1404 "license": "MIT",1523 "license": "MIT",
1405 "dependencies": {1524 "dependencies": {
1406 "immediate": "~3.0.5"1525 "immediate": "~3.0.5"
...@@ -1615,578 +1734,999 @@...@@ -1615,578 +1734,999 @@
1615 "url": "https://opencollective.com/parcel"1734 "url": "https://opencollective.com/parcel"
1616 }1735 }
1617 },1736 },
1618 "node_modules/lightningcss-win32-arm64-msvc": {1737 "node_modules/lightningcss-win32-arm64-msvc": {
1619 "version": "1.32.0",1738 "version": "1.32.0",
1620 "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",1739 "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
1621 "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",1740 "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
1622 "cpu": [1741 "cpu": [
1623 "arm64"1742 "arm64"
1624 ],1743 ],
1625 "license": "MPL-2.0",1744 "license": "MPL-2.0",
1626 "optional": true,1745 "optional": true,
1627 "os": [1746 "os": [
1628 "win32"1747 "win32"
1629 ],1748 ],
1749 "engines": {
1750 "node": ">= 12.0.0"
1751 },
1752 "funding": {
1753 "type": "opencollective",
1754 "url": "https://opencollective.com/parcel"
1755 }
1756 },
1757 "node_modules/lightningcss-win32-x64-msvc": {
1758 "version": "1.32.0",
1759 "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
1760 "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
1761 "cpu": [
1762 "x64"
1763 ],
1764 "license": "MPL-2.0",
1765 "optional": true,
1766 "os": [
1767 "win32"
1768 ],
1769 "engines": {
1770 "node": ">= 12.0.0"
1771 },
1772 "funding": {
1773 "type": "opencollective",
1774 "url": "https://opencollective.com/parcel"
1775 }
1776 },
1777 "node_modules/listener-tracker": {
1778 "version": "2.0.0",
1779 "resolved": "https://registry.npmjs.org/listener-tracker/-/listener-tracker-2.0.0.tgz",
1780 "integrity": "sha512-U6NLzBRyrAsJs9AAjuBYifXtNYnAIDPIp81rNpxNoypXBR7qi/LhsuUWX5399zuTg1sBEQyOnWDYFrBQ28vk/w==",
1781 "license": "Apache-2.0"
1782 },
1783 "node_modules/localforage": {
1784 "version": "1.10.0",
1785 "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
1786 "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
1787 "license": "Apache-2.0",
1788 "dependencies": {
1789 "lie": "3.1.1"
1790 }
1791 },
1792 "node_modules/magic-string": {
1793 "version": "0.30.21",
1794 "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
1795 "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
1796 "license": "MIT",
1797 "dependencies": {
1798 "@jridgewell/sourcemap-codec": "^1.5.5"
1799 }
1800 },
1801 "node_modules/marko": {
1802 "version": "5.38.33",
1803 "resolved": "https://registry.npmjs.org/marko/-/marko-5.38.33.tgz",
1804 "integrity": "sha512-e056TGqKjTE9CyO76eSlYLKk7P9z9uu0VGXt1Z3OrceCz728SCP/UhTas55ru9sNqihZEJ+vwv4ApwVwUsbtNg==",
1805 "license": "MIT",
1806 "dependencies": {
1807 "@marko/compiler": "^5.39.62",
1808 "@marko/runtime-tags": "^6.0.159",
1809 "app-module-path": "^2.2.0",
1810 "argly": "^1.2.0",
1811 "browser-refresh-client": "1.1.4",
1812 "complain": "^1.6.1",
1813 "csstype": "^3.2.3",
1814 "events-light": "^1.0.5",
1815 "listener-tracker": "^2.0.0",
1816 "magic-string": "^0.30.21",
1817 "minimatch": "^9.0.5",
1818 "raptor-util": "^3.2.0",
1819 "resolve-from": "^5.0.0",
1820 "self-closing-tags": "^1.0.1",
1821 "warp10": "^2.1.0"
1822 },
1823 "bin": {
1824 "markoc": "bin/markoc"
1825 },
1826 "engines": {
1827 "node": "18 || 20 || >=22"
1828 }
1829 },
1830 "node_modules/minimatch": {
1831 "version": "9.0.9",
1832 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
1833 "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
1834 "license": "ISC",
1835 "dependencies": {
1836 "brace-expansion": "^2.0.2"
1837 },
1838 "engines": {
1839 "node": ">=16 || 14 >=14.17"
1840 },
1841 "funding": {
1842 "url": "https://github.com/sponsors/isaacs"
1843 }
1844 },
1845 "node_modules/msgpackr": {
1846 "version": "1.11.5",
1847 "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz",
1848 "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==",
1849 "license": "MIT",
1850 "optionalDependencies": {
1851 "msgpackr-extract": "^3.0.2"
1852 }
1853 },
1854 "node_modules/msgpackr-extract": {
1855 "version": "3.0.3",
1856 "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
1857 "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
1858 "hasInstallScript": true,
1859 "license": "MIT",
1860 "optional": true,
1861 "dependencies": {
1862 "node-gyp-build-optional-packages": "5.2.2"
1863 },
1864 "bin": {
1865 "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
1866 },
1867 "optionalDependencies": {
1868 "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
1869 "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
1870 "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
1871 "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
1872 "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
1873 "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
1874 }
1875 },
1876 "node_modules/nanoid": {
1877 "version": "3.3.11",
1878 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1879 "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1880 "funding": [
1881 {
1882 "type": "github",
1883 "url": "https://github.com/sponsors/ai"
1884 }
1885 ],
1886 "license": "MIT",
1887 "bin": {
1888 "nanoid": "bin/nanoid.cjs"
1889 },
1890 "engines": {
1891 "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1892 }
1893 },
1894 "node_modules/node-gyp-build-optional-packages": {
1895 "version": "5.2.2",
1896 "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
1897 "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
1898 "license": "MIT",
1899 "optional": true,
1900 "dependencies": {
1901 "detect-libc": "^2.0.1"
1902 },
1903 "bin": {
1904 "node-gyp-build-optional-packages": "bin.js",
1905 "node-gyp-build-optional-packages-optional": "optional.js",
1906 "node-gyp-build-optional-packages-test": "build-test.js"
1907 }
1908 },
1909 "node_modules/obug": {
1910 "version": "2.1.1",
1911 "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
1912 "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
1913 "funding": [
1914 "https://github.com/sponsors/sxzz",
1915 "https://opencollective.com/debug"
1916 ],
1917 "license": "MIT"
1918 },
1919 "node_modules/path-browserify": {
1920 "version": "1.0.1",
1921 "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
1922 "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
1923 "license": "MIT"
1924 },
1925 "node_modules/pathe": {
1926 "version": "2.0.3",
1927 "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
1928 "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
1929 "license": "MIT"
1930 },
1931 "node_modules/picocolors": {
1932 "version": "1.1.1",
1933 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1934 "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1935 "license": "ISC"
1936 },
1937 "node_modules/picomatch": {
1938 "version": "4.0.3",
1939 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
1940 "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
1941 "license": "MIT",
1942 "peer": true,
1943 "engines": {
1944 "node": ">=12"
1945 },
1946 "funding": {
1947 "url": "https://github.com/sponsors/jonschlinkert"
1948 }
1949 },
1950 "node_modules/playwright": {
1951 "version": "1.58.2",
1952 "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz",
1953 "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==",
1954 "license": "Apache-2.0",
1955 "dependencies": {
1956 "playwright-core": "1.58.2"
1957 },
1958 "bin": {
1959 "playwright": "cli.js"
1960 },
1961 "engines": {
1962 "node": ">=18"
1963 },
1964 "optionalDependencies": {
1965 "fsevents": "2.3.2"
1966 }
1967 },
1968 "node_modules/playwright-core": {
1969 "version": "1.58.2",
1970 "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz",
1971 "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==",
1972 "license": "Apache-2.0",
1973 "bin": {
1974 "playwright-core": "cli.js"
1975 },
1976 "engines": {
1977 "node": ">=18"
1978 }
1979 },
1980 "node_modules/postcss": {
1981 "version": "8.5.8",
1982 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
1983 "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
1984 "funding": [
1985 {
1986 "type": "opencollective",
1987 "url": "https://opencollective.com/postcss/"
1988 },
1989 {
1990 "type": "tidelift",
1991 "url": "https://tidelift.com/funding/github/npm/postcss"
1992 },
1993 {
1994 "type": "github",
1995 "url": "https://github.com/sponsors/ai"
1996 }
1997 ],
1998 "license": "MIT",
1999 "dependencies": {
2000 "nanoid": "^3.3.11",
2001 "picocolors": "^1.1.1",
2002 "source-map-js": "^1.2.1"
2003 },
2004 "engines": {
2005 "node": "^10 || ^12 || >=14"
2006 }
2007 },
2008 "node_modules/raptor-async": {
2009 "version": "1.1.3",
2010 "resolved": "https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.3.tgz",
2011 "integrity": "sha512-VZCxygWMjW9lKqnApK9D2QbfyzRn7ehiTqnXWwMCLBXANSy+xbnYfbX/5f8YX3bZXu+g+JESmqWPchIQrZj2ig==",
2012 "license": "Apache License v2.0"
2013 },
2014 "node_modules/raptor-regexp": {
2015 "version": "1.0.1",
2016 "resolved": "https://registry.npmjs.org/raptor-regexp/-/raptor-regexp-1.0.1.tgz",
2017 "integrity": "sha512-DqC7ViHJUs3jLIxJI1/HVvCu3yPJaP8CM7PGsHvjimg7yJ3lLOdCBxlPE0G2Q8OJgUA8Pe7nvhm6lcQ3hZepow==",
2018 "license": "Apache License v2.0"
2019 },
2020 "node_modules/raptor-util": {
2021 "version": "3.2.0",
2022 "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-3.2.0.tgz",
2023 "integrity": "sha512-uEDMMkBCJvjTqYMBnJNxn+neiS6a0rhybQNA9RaexGor1uvKjwyHA5VcbZMZEuqXhKUWbL+WNS7PhuZVZNB7pw==",
2024 "license": "Apache-2.0"
2025 },
2026 "node_modules/relative-import-path": {
2027 "version": "1.0.0",
2028 "resolved": "https://registry.npmjs.org/relative-import-path/-/relative-import-path-1.0.0.tgz",
2029 "integrity": "sha512-ZvbtoduKQmD4PZeJPfH6Ql21qUWhaMxiHkIsH+FUnZqKDwNIXBtGg5zRZyHWomiGYk8n5+KMBPK7Mi4D0XWfNg==",
2030 "license": "MIT"
2031 },
2032 "node_modules/resolve-from": {
2033 "version": "5.0.0",
2034 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
2035 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
2036 "license": "MIT",
2037 "engines": {
2038 "node": ">=8"
2039 }
2040 },
2041 "node_modules/rolldown": {
2042 "version": "1.0.0-rc.10",
2043 "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.10.tgz",
2044 "integrity": "sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA==",
2045 "license": "MIT",
2046 "dependencies": {
2047 "@oxc-project/types": "=0.120.0",
2048 "@rolldown/pluginutils": "1.0.0-rc.10"
2049 },
2050 "bin": {
2051 "rolldown": "bin/cli.mjs"
2052 },
2053 "engines": {
2054 "node": "^20.19.0 || >=22.12.0"
2055 },
2056 "optionalDependencies": {
2057 "@rolldown/binding-android-arm64": "1.0.0-rc.10",
2058 "@rolldown/binding-darwin-arm64": "1.0.0-rc.10",
2059 "@rolldown/binding-darwin-x64": "1.0.0-rc.10",
2060 "@rolldown/binding-freebsd-x64": "1.0.0-rc.10",
2061 "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.10",
2062 "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.10",
2063 "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.10",
2064 "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.10",
2065 "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.10",
2066 "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.10",
2067 "@rolldown/binding-linux-x64-musl": "1.0.0-rc.10",
2068 "@rolldown/binding-openharmony-arm64": "1.0.0-rc.10",
2069 "@rolldown/binding-wasm32-wasi": "1.0.0-rc.10",
2070 "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.10",
2071 "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.10"
2072 }
2073 },
2074 "node_modules/sax": {
2075 "version": "1.2.1",
2076 "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
2077 "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==",
2078 "license": "ISC"
2079 },
2080 "node_modules/self-closing-tags": {
2081 "version": "1.0.1",
2082 "resolved": "https://registry.npmjs.org/self-closing-tags/-/self-closing-tags-1.0.1.tgz",
2083 "integrity": "sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA==",
2084 "license": "MIT",
2085 "engines": {
2086 "node": ">=0.12.0"
2087 }
2088 },
2089 "node_modules/siginfo": {
2090 "version": "2.0.0",
2091 "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
2092 "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
2093 "license": "ISC"
2094 },
2095 "node_modules/source-map": {
2096 "version": "0.6.1",
2097 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2098 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2099 "license": "BSD-3-Clause",
2100 "engines": {
2101 "node": ">=0.10.0"
2102 }
2103 },
2104 "node_modules/source-map-js": {
2105 "version": "1.2.1",
2106 "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2107 "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2108 "license": "BSD-3-Clause",
2109 "engines": {
2110 "node": ">=0.10.0"
2111 }
2112 },
2113 "node_modules/source-map-support": {
2114 "version": "0.5.21",
2115 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
2116 "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
2117 "license": "MIT",
2118 "dependencies": {
2119 "buffer-from": "^1.0.0",
2120 "source-map": "^0.6.0"
2121 }
2122 },
2123 "node_modules/stackback": {
2124 "version": "0.0.2",
2125 "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
2126 "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
2127 "license": "MIT"
2128 },
2129 "node_modules/stackframe": {
2130 "version": "1.3.4",
2131 "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
2132 "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
2133 "license": "MIT"
2134 },
2135 "node_modules/std-env": {
2136 "version": "4.0.0",
2137 "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz",
2138 "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==",
2139 "license": "MIT"
2140 },
2141 "node_modules/tinybench": {
2142 "version": "2.9.0",
2143 "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
2144 "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
2145 "license": "MIT"
2146 },
2147 "node_modules/tinyexec": {
2148 "version": "1.0.4",
2149 "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz",
2150 "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==",
2151 "license": "MIT",
2152 "engines": {
2153 "node": ">=18"
2154 }
2155 },
2156 "node_modules/tinyglobby": {
2157 "version": "0.2.15",
2158 "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
2159 "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
2160 "license": "MIT",
2161 "dependencies": {
2162 "fdir": "^6.5.0",
2163 "picomatch": "^4.0.3"
2164 },
1630 "engines": {2165 "engines": {
1631 "node": ">= 12.0.0"2166 "node": ">=12.0.0"
1632 },2167 },
1633 "funding": {2168 "funding": {
1634 "type": "opencollective",2169 "url": "https://github.com/sponsors/SuperchupuDev"
1635 "url": "https://opencollective.com/parcel"
1636 }2170 }
1637 },2171 },
1638 "node_modules/lightningcss-win32-x64-msvc": {2172 "node_modules/tinyrainbow": {
1639 "version": "1.32.0",2173 "version": "3.1.0",
1640 "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",2174 "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz",
1641 "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",2175 "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==",
1642 "cpu": [2176 "license": "MIT",
1643 "x64"
1644 ],
1645 "license": "MPL-2.0",
1646 "optional": true,
1647 "os": [
1648 "win32"
1649 ],
1650 "engines": {2177 "engines": {
1651 "node": ">= 12.0.0"2178 "node": ">=14.0.0"
1652 },
1653 "funding": {
1654 "type": "opencollective",
1655 "url": "https://opencollective.com/parcel"
1656 }2179 }
1657 },2180 },
1658 "node_modules/listener-tracker": {2181 "node_modules/tslib": {
1659 "version": "2.0.0",2182 "version": "2.8.1",
1660 "license": "Apache-2.0"2183 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
1661 },2184 "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
1662 "node_modules/localforage": {2185 "license": "0BSD",
1663 "version": "1.10.0",2186 "optional": true
1664 "license": "Apache-2.0",
1665 "dependencies": {
1666 "lie": "3.1.1"
1667 }
1668 },2187 },
1669 "node_modules/magic-string": {2188 "node_modules/type-detect": {
1670 "version": "0.30.21",2189 "version": "1.0.0",
2190 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
2191 "integrity": "sha512-f9Uv6ezcpvCQjJU0Zqbg+65qdcszv3qUQsZfjdRbWiZ7AMenrX1u0lNk9EoWWX6e1F+NULyg27mtdeZ5WhpljA==",
1671 "license": "MIT",2192 "license": "MIT",
1672 "dependencies": {2193 "engines": {
1673 "@jridgewell/sourcemap-codec": "^1.5.5"2194 "node": "*"
1674 }2195 }
1675 },2196 },
1676 "node_modules/marko": {2197 "node_modules/typescript": {
1677 "version": "5.38.24",2198 "version": "5.9.3",
1678 "license": "MIT",2199 "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
1679 "dependencies": {2200 "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
1680 "@marko/compiler": "^5.39.53",2201 "license": "Apache-2.0",
1681 "@marko/runtime-tags": "^6.0.145",
1682 "app-module-path": "^2.2.0",
1683 "argly": "^1.2.0",
1684 "browser-refresh-client": "1.1.4",
1685 "complain": "^1.6.1",
1686 "csstype": "^3.2.3",
1687 "events-light": "^1.0.5",
1688 "listener-tracker": "^2.0.0",
1689 "magic-string": "^0.30.21",
1690 "minimatch": "^9.0.5",
1691 "raptor-util": "^3.2.0",
1692 "resolve-from": "^5.0.0",
1693 "self-closing-tags": "^1.0.1",
1694 "warp10": "^2.1.0"
1695 },
1696 "bin": {2202 "bin": {
1697 "markoc": "bin/markoc"2203 "tsc": "bin/tsc",
2204 "tsserver": "bin/tsserver"
1698 },2205 },
1699 "engines": {2206 "engines": {
1700 "node": "18 || 20 || >=22"2207 "node": ">=14.17"
1701 }2208 }
1702 },2209 },
1703 "node_modules/minimatch": {2210 "node_modules/ua-parser-js": {
1704 "version": "9.0.5",2211 "version": "1.0.41",
1705 "license": "ISC",2212 "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz",
1706 "dependencies": {2213 "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==",
1707 "brace-expansion": "^2.0.1"2214 "funding": [
2215 {
2216 "type": "opencollective",
2217 "url": "https://opencollective.com/ua-parser-js"
2218 },
2219 {
2220 "type": "paypal",
2221 "url": "https://paypal.me/faisalman"
2222 },
2223 {
2224 "type": "github",
2225 "url": "https://github.com/sponsors/faisalman"
2226 }
2227 ],
2228 "license": "MIT",
2229 "bin": {
2230 "ua-parser-js": "script/cli.js"
1708 },2231 },
1709 "engines": {2232 "engines": {
1710 "node": ">=16 || 14 >=14.17"2233 "node": "*"
1711 },
1712 "funding": {
1713 "url": "https://github.com/sponsors/isaacs"
1714 }2234 }
1715 },2235 },
1716 "node_modules/msgpackr": {2236 "node_modules/undici-types": {
1717 "version": "1.11.5",2237 "version": "7.16.0",
2238 "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
2239 "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
2240 "license": "MIT"
2241 },
2242 "node_modules/unique-names-generator": {
2243 "version": "4.7.1",
2244 "resolved": "https://registry.npmjs.org/unique-names-generator/-/unique-names-generator-4.7.1.tgz",
2245 "integrity": "sha512-lMx9dX+KRmG8sq6gulYYpKWZc9RlGsgBR6aoO8Qsm3qvkSJ+3rAymr+TnV8EDMrIrwuFJ4kruzMWM/OpYzPoow==",
1718 "license": "MIT",2246 "license": "MIT",
1719 "optionalDependencies": {2247 "engines": {
1720 "msgpackr-extract": "^3.0.2"2248 "node": ">=8"
1721 }2249 }
1722 },2250 },
1723 "node_modules/msgpackr-extract": {2251 "node_modules/vitest": {
1724 "version": "3.0.3",2252 "version": "4.1.0",
1725 "hasInstallScript": true,2253 "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.0.tgz",
2254 "integrity": "sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==",
1726 "license": "MIT",2255 "license": "MIT",
1727 "optional": true,
1728 "dependencies": {2256 "dependencies": {
1729 "node-gyp-build-optional-packages": "5.2.2"2257 "@vitest/expect": "4.1.0",
2258 "@vitest/mocker": "4.1.0",
2259 "@vitest/pretty-format": "4.1.0",
2260 "@vitest/runner": "4.1.0",
2261 "@vitest/snapshot": "4.1.0",
2262 "@vitest/spy": "4.1.0",
2263 "@vitest/utils": "4.1.0",
2264 "es-module-lexer": "^2.0.0",
2265 "expect-type": "^1.3.0",
2266 "magic-string": "^0.30.21",
2267 "obug": "^2.1.1",
2268 "pathe": "^2.0.3",
2269 "picomatch": "^4.0.3",
2270 "std-env": "^4.0.0-rc.1",
2271 "tinybench": "^2.9.0",
2272 "tinyexec": "^1.0.2",
2273 "tinyglobby": "^0.2.15",
2274 "tinyrainbow": "^3.0.3",
2275 "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0",
2276 "why-is-node-running": "^2.3.0"
1730 },2277 },
1731 "bin": {2278 "bin": {
1732 "download-msgpackr-prebuilds": "bin/download-prebuilds.js"2279 "vitest": "vitest.mjs"
1733 },2280 },
1734 "optionalDependencies": {2281 "engines": {
1735 "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",2282 "node": "^20.0.0 || ^22.0.0 || >=24.0.0"
1736 "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",2283 },
1737 "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",2284 "funding": {
1738 "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",2285 "url": "https://opencollective.com/vitest"
1739 "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",2286 },
1740 "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"2287 "peerDependencies": {
2288 "@edge-runtime/vm": "*",
2289 "@opentelemetry/api": "^1.9.0",
2290 "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
2291 "@vitest/browser-playwright": "4.1.0",
2292 "@vitest/browser-preview": "4.1.0",
2293 "@vitest/browser-webdriverio": "4.1.0",
2294 "@vitest/ui": "4.1.0",
2295 "happy-dom": "*",
2296 "jsdom": "*",
2297 "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0"
2298 },
2299 "peerDependenciesMeta": {
2300 "@edge-runtime/vm": {
2301 "optional": true
2302 },
2303 "@opentelemetry/api": {
2304 "optional": true
2305 },
2306 "@types/node": {
2307 "optional": true
2308 },
2309 "@vitest/browser-playwright": {
2310 "optional": true
2311 },
2312 "@vitest/browser-preview": {
2313 "optional": true
2314 },
2315 "@vitest/browser-webdriverio": {
2316 "optional": true
2317 },
2318 "@vitest/ui": {
2319 "optional": true
2320 },
2321 "happy-dom": {
2322 "optional": true
2323 },
2324 "jsdom": {
2325 "optional": true
2326 },
2327 "vite": {
2328 "optional": false
2329 }
1741 }2330 }
1742 },2331 },
1743 "node_modules/nanoid": {2332 "node_modules/vitest/node_modules/@esbuild/aix-ppc64": {
1744 "version": "3.3.11",2333 "version": "0.27.4",
1745 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",2334 "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz",
1746 "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",2335 "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==",
1747 "funding": [2336 "cpu": [
1748 {2337 "ppc64"
1749 "type": "github",
1750 "url": "https://github.com/sponsors/ai"
1751 }
1752 ],2338 ],
1753 "license": "MIT",2339 "license": "MIT",
1754 "bin": {2340 "optional": true,
1755 "nanoid": "bin/nanoid.cjs"2341 "os": [
1756 },2342 "aix"
2343 ],
2344 "engines": {
2345 "node": ">=18"
2346 }
2347 },
2348 "node_modules/vitest/node_modules/@esbuild/android-arm": {
2349 "version": "0.27.4",
2350 "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz",
2351 "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==",
2352 "cpu": [
2353 "arm"
2354 ],
2355 "license": "MIT",
2356 "optional": true,
2357 "os": [
2358 "android"
2359 ],
1757 "engines": {2360 "engines": {
1758 "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"2361 "node": ">=18"
1759 }2362 }
1760 },2363 },
1761 "node_modules/node-gyp-build-optional-packages": {2364 "node_modules/vitest/node_modules/@esbuild/android-arm64": {
1762 "version": "5.2.2",2365 "version": "0.27.4",
2366 "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz",
2367 "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==",
2368 "cpu": [
2369 "arm64"
2370 ],
1763 "license": "MIT",2371 "license": "MIT",
1764 "optional": true,2372 "optional": true,
1765 "dependencies": {2373 "os": [
1766 "detect-libc": "^2.0.1"2374 "android"
1767 },2375 ],
1768 "bin": {2376 "engines": {
1769 "node-gyp-build-optional-packages": "bin.js",2377 "node": ">=18"
1770 "node-gyp-build-optional-packages-optional": "optional.js",
1771 "node-gyp-build-optional-packages-test": "build-test.js"
1772 }2378 }
1773 },2379 },
1774 "node_modules/node-releases": {2380 "node_modules/vitest/node_modules/@esbuild/android-x64": {
1775 "version": "2.0.27",2381 "version": "0.27.4",
1776 "license": "MIT"2382 "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz",
1777 },2383 "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==",
1778 "node_modules/obug": {2384 "cpu": [
1779 "version": "2.1.1",2385 "x64"
1780 "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
1781 "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
1782 "funding": [
1783 "https://github.com/sponsors/sxzz",
1784 "https://opencollective.com/debug"
1785 ],2386 ],
1786 "license": "MIT"
1787 },
1788 "node_modules/path-browserify": {
1789 "version": "1.0.1",
1790 "license": "MIT"
1791 },
1792 "node_modules/pathe": {
1793 "version": "2.0.3",
1794 "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
1795 "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
1796 "license": "MIT"
1797 },
1798 "node_modules/picocolors": {
1799 "version": "1.1.1",
1800 "license": "ISC"
1801 },
1802 "node_modules/picomatch": {
1803 "version": "4.0.3",
1804 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
1805 "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
1806 "license": "MIT",2387 "license": "MIT",
2388 "optional": true,
2389 "os": [
2390 "android"
2391 ],
1807 "engines": {2392 "engines": {
1808 "node": ">=12"2393 "node": ">=18"
1809 },
1810 "funding": {
1811 "url": "https://github.com/sponsors/jonschlinkert"
1812 }2394 }
1813 },2395 },
1814 "node_modules/playwright": {2396 "node_modules/vitest/node_modules/@esbuild/darwin-arm64": {
1815 "version": "1.58.2",2397 "version": "0.27.4",
1816 "license": "Apache-2.0",2398 "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz",
1817 "dependencies": {2399 "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==",
1818 "playwright-core": "1.58.2"2400 "cpu": [
1819 },2401 "arm64"
1820 "bin": {2402 ],
1821 "playwright": "cli.js"2403 "license": "MIT",
1822 },2404 "optional": true,
2405 "os": [
2406 "darwin"
2407 ],
1823 "engines": {2408 "engines": {
1824 "node": ">=18"2409 "node": ">=18"
1825 },
1826 "optionalDependencies": {
1827 "fsevents": "2.3.2"
1828 }2410 }
1829 },2411 },
1830 "node_modules/playwright-core": {2412 "node_modules/vitest/node_modules/@esbuild/darwin-x64": {
1831 "version": "1.58.2",2413 "version": "0.27.4",
1832 "license": "Apache-2.0",2414 "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz",
1833 "bin": {2415 "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==",
1834 "playwright-core": "cli.js"2416 "cpu": [
1835 },2417 "x64"
2418 ],
2419 "license": "MIT",
2420 "optional": true,
2421 "os": [
2422 "darwin"
2423 ],
1836 "engines": {2424 "engines": {
1837 "node": ">=18"2425 "node": ">=18"
1838 }2426 }
1839 },2427 },
1840 "node_modules/postcss": {2428 "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": {
1841 "version": "8.5.8",2429 "version": "0.27.4",
1842 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",2430 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz",
1843 "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",2431 "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==",
1844 "funding": [2432 "cpu": [
1845 {2433 "arm64"
1846 "type": "opencollective",
1847 "url": "https://opencollective.com/postcss/"
1848 },
1849 {
1850 "type": "tidelift",
1851 "url": "https://tidelift.com/funding/github/npm/postcss"
1852 },
1853 {
1854 "type": "github",
1855 "url": "https://github.com/sponsors/ai"
1856 }
1857 ],2434 ],
1858 "license": "MIT",2435 "license": "MIT",
1859 "dependencies": {2436 "optional": true,
1860 "nanoid": "^3.3.11",2437 "os": [
1861 "picocolors": "^1.1.1",2438 "freebsd"
1862 "source-map-js": "^1.2.1"2439 ],
1863 },
1864 "engines": {2440 "engines": {
1865 "node": "^10 || ^12 || >=14"2441 "node": ">=18"
1866 }2442 }
1867 },2443 },
1868 "node_modules/raptor-async": {2444 "node_modules/vitest/node_modules/@esbuild/freebsd-x64": {
1869 "version": "1.1.3",2445 "version": "0.27.4",
1870 "license": "Apache License v2.0"2446 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz",
1871 },2447 "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==",
1872 "node_modules/raptor-regexp": {2448 "cpu": [
1873 "version": "1.0.1",2449 "x64"
1874 "license": "Apache License v2.0"2450 ],
1875 },
1876 "node_modules/raptor-util": {
1877 "version": "3.2.0",
1878 "license": "Apache-2.0"
1879 },
1880 "node_modules/relative-import-path": {
1881 "version": "1.0.0",
1882 "license": "MIT"
1883 },
1884 "node_modules/resolve-from": {
1885 "version": "5.0.0",
1886 "license": "MIT",2451 "license": "MIT",
2452 "optional": true,
2453 "os": [
2454 "freebsd"
2455 ],
1887 "engines": {2456 "engines": {
1888 "node": ">=8"2457 "node": ">=18"
1889 }2458 }
1890 },2459 },
1891 "node_modules/rolldown": {2460 "node_modules/vitest/node_modules/@esbuild/linux-arm": {
1892 "version": "1.0.0-rc.9",2461 "version": "0.27.4",
1893 "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.9.tgz",2462 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz",
1894 "integrity": "sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==",2463 "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==",
2464 "cpu": [
2465 "arm"
2466 ],
1895 "license": "MIT",2467 "license": "MIT",
1896 "dependencies": {2468 "optional": true,
1897 "@oxc-project/types": "=0.115.0",2469 "os": [
1898 "@rolldown/pluginutils": "1.0.0-rc.9"2470 "linux"
1899 },2471 ],
1900 "bin": {
1901 "rolldown": "bin/cli.mjs"
1902 },
1903 "engines": {2472 "engines": {
1904 "node": "^20.19.0 || >=22.12.0"2473 "node": ">=18"
1905 },
1906 "optionalDependencies": {
1907 "@rolldown/binding-android-arm64": "1.0.0-rc.9",
1908 "@rolldown/binding-darwin-arm64": "1.0.0-rc.9",
1909 "@rolldown/binding-darwin-x64": "1.0.0-rc.9",
1910 "@rolldown/binding-freebsd-x64": "1.0.0-rc.9",
1911 "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.9",
1912 "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.9",
1913 "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.9",
1914 "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.9",
1915 "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.9",
1916 "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.9",
1917 "@rolldown/binding-linux-x64-musl": "1.0.0-rc.9",
1918 "@rolldown/binding-openharmony-arm64": "1.0.0-rc.9",
1919 "@rolldown/binding-wasm32-wasi": "1.0.0-rc.9",
1920 "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.9",
1921 "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.9"
1922 }2474 }
1923 },2475 },
1924 "node_modules/sax": {2476 "node_modules/vitest/node_modules/@esbuild/linux-arm64": {
1925 "version": "1.2.1",2477 "version": "0.27.4",
1926 "license": "ISC"2478 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz",
1927 },2479 "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==",
1928 "node_modules/self-closing-tags": {2480 "cpu": [
1929 "version": "1.0.1",2481 "arm64"
2482 ],
1930 "license": "MIT",2483 "license": "MIT",
2484 "optional": true,
2485 "os": [
2486 "linux"
2487 ],
1931 "engines": {2488 "engines": {
1932 "node": ">=0.12.0"2489 "node": ">=18"
1933 }2490 }
1934 },2491 },
1935 "node_modules/siginfo": {2492 "node_modules/vitest/node_modules/@esbuild/linux-ia32": {
1936 "version": "2.0.0",2493 "version": "0.27.4",
1937 "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",2494 "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz",
1938 "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",2495 "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==",
1939 "license": "ISC"2496 "cpu": [
1940 },2497 "ia32"
1941 "node_modules/source-map-js": {2498 ],
1942 "version": "1.2.1",2499 "license": "MIT",
1943 "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",2500 "optional": true,
1944 "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",2501 "os": [
1945 "license": "BSD-3-Clause",2502 "linux"
2503 ],
1946 "engines": {2504 "engines": {
1947 "node": ">=0.10.0"2505 "node": ">=18"
1948 }2506 }
1949 },2507 },
1950 "node_modules/source-map-support": {2508 "node_modules/vitest/node_modules/@esbuild/linux-loong64": {
1951 "version": "0.5.21",2509 "version": "0.27.4",
2510 "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz",
2511 "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==",
2512 "cpu": [
2513 "loong64"
2514 ],
1952 "license": "MIT",2515 "license": "MIT",
1953 "dependencies": {2516 "optional": true,
1954 "buffer-from": "^1.0.0",2517 "os": [
1955 "source-map": "^0.6.0"2518 "linux"
2519 ],
2520 "engines": {
2521 "node": ">=18"
1956 }2522 }
1957 },2523 },
1958 "node_modules/source-map-support/node_modules/source-map": {2524 "node_modules/vitest/node_modules/@esbuild/linux-mips64el": {
1959 "version": "0.6.1",2525 "version": "0.27.4",
1960 "license": "BSD-3-Clause",2526 "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz",
2527 "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==",
2528 "cpu": [
2529 "mips64el"
2530 ],
2531 "license": "MIT",
2532 "optional": true,
2533 "os": [
2534 "linux"
2535 ],
1961 "engines": {2536 "engines": {
1962 "node": ">=0.10.0"2537 "node": ">=18"
1963 }2538 }
1964 },2539 },
1965 "node_modules/stackback": {2540 "node_modules/vitest/node_modules/@esbuild/linux-ppc64": {
1966 "version": "0.0.2",2541 "version": "0.27.4",
1967 "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",2542 "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz",
1968 "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",2543 "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==",
1969 "license": "MIT"2544 "cpu": [
1970 },2545 "ppc64"
1971 "node_modules/stackframe": {2546 ],
1972 "version": "1.3.4",2547 "license": "MIT",
1973 "license": "MIT"2548 "optional": true,
1974 },2549 "os": [
1975 "node_modules/std-env": {2550 "linux"
1976 "version": "4.0.0",2551 ],
1977 "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz",2552 "engines": {
1978 "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==",2553 "node": ">=18"
1979 "license": "MIT"2554 }
1980 },
1981 "node_modules/tinybench": {
1982 "version": "2.9.0",
1983 "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
1984 "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
1985 "license": "MIT"
1986 },2555 },
1987 "node_modules/tinyexec": {2556 "node_modules/vitest/node_modules/@esbuild/linux-riscv64": {
1988 "version": "1.0.4",2557 "version": "0.27.4",
1989 "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz",2558 "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz",
1990 "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==",2559 "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==",
2560 "cpu": [
2561 "riscv64"
2562 ],
1991 "license": "MIT",2563 "license": "MIT",
2564 "optional": true,
2565 "os": [
2566 "linux"
2567 ],
1992 "engines": {2568 "engines": {
1993 "node": ">=18"2569 "node": ">=18"
1994 }2570 }
1995 },2571 },
1996 "node_modules/tinyglobby": {2572 "node_modules/vitest/node_modules/@esbuild/linux-s390x": {
1997 "version": "0.2.15",2573 "version": "0.27.4",
1998 "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",2574 "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz",
1999 "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",2575 "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==",
2576 "cpu": [
2577 "s390x"
2578 ],
2000 "license": "MIT",2579 "license": "MIT",
2001 "dependencies": {2580 "optional": true,
2002 "fdir": "^6.5.0",2581 "os": [
2003 "picomatch": "^4.0.3"2582 "linux"
2004 },2583 ],
2005 "engines": {2584 "engines": {
2006 "node": ">=12.0.0"2585 "node": ">=18"
2007 },
2008 "funding": {
2009 "url": "https://github.com/sponsors/SuperchupuDev"
2010 }2586 }
2011 },2587 },
2012 "node_modules/tinyrainbow": {2588 "node_modules/vitest/node_modules/@esbuild/linux-x64": {
2013 "version": "3.1.0",2589 "version": "0.27.4",
2014 "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz",2590 "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz",
2015 "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==",2591 "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==",
2592 "cpu": [
2593 "x64"
2594 ],
2016 "license": "MIT",2595 "license": "MIT",
2596 "optional": true,
2597 "os": [
2598 "linux"
2599 ],
2017 "engines": {2600 "engines": {
2018 "node": ">=14.0.0"2601 "node": ">=18"
2019 }2602 }
2020 },2603 },
2021 "node_modules/tslib": {2604 "node_modules/vitest/node_modules/@esbuild/netbsd-arm64": {
2022 "version": "2.8.1",2605 "version": "0.27.4",
2023 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",2606 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz",
2024 "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",2607 "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==",
2025 "license": "0BSD",2608 "cpu": [
2026 "optional": true2609 "arm64"
2610 ],
2611 "license": "MIT",
2612 "optional": true,
2613 "os": [
2614 "netbsd"
2615 ],
2616 "engines": {
2617 "node": ">=18"
2618 }
2027 },2619 },
2028 "node_modules/type-detect": {2620 "node_modules/vitest/node_modules/@esbuild/netbsd-x64": {
2029 "version": "1.0.0",2621 "version": "0.27.4",
2622 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz",
2623 "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==",
2624 "cpu": [
2625 "x64"
2626 ],
2030 "license": "MIT",2627 "license": "MIT",
2628 "optional": true,
2629 "os": [
2630 "netbsd"
2631 ],
2031 "engines": {2632 "engines": {
2032 "node": "*"2633 "node": ">=18"
2033 }2634 }
2034 },2635 },
2035 "node_modules/typescript": {2636 "node_modules/vitest/node_modules/@esbuild/openbsd-arm64": {
2036 "version": "5.9.3",2637 "version": "0.27.4",
2037 "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",2638 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz",
2038 "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",2639 "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==",
2039 "license": "Apache-2.0",2640 "cpu": [
2040 "bin": {2641 "arm64"
2041 "tsc": "bin/tsc",2642 ],
2042 "tsserver": "bin/tsserver"2643 "license": "MIT",
2043 },2644 "optional": true,
2645 "os": [
2646 "openbsd"
2647 ],
2044 "engines": {2648 "engines": {
2045 "node": ">=14.17"2649 "node": ">=18"
2046 }2650 }
2047 },2651 },
2048 "node_modules/ua-parser-js": {2652 "node_modules/vitest/node_modules/@esbuild/openbsd-x64": {
2049 "version": "1.0.41",2653 "version": "0.27.4",
2050 "funding": [2654 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz",
2051 {2655 "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==",
2052 "type": "opencollective",2656 "cpu": [
2053 "url": "https://opencollective.com/ua-parser-js"2657 "x64"
2054 },
2055 {
2056 "type": "paypal",
2057 "url": "https://paypal.me/faisalman"
2058 },
2059 {
2060 "type": "github",
2061 "url": "https://github.com/sponsors/faisalman"
2062 }
2063 ],2658 ],
2064 "license": "MIT",2659 "license": "MIT",
2065 "bin": {2660 "optional": true,
2066 "ua-parser-js": "script/cli.js"2661 "os": [
2067 },2662 "openbsd"
2663 ],
2068 "engines": {2664 "engines": {
2069 "node": "*"2665 "node": ">=18"
2070 }2666 }
2071 },2667 },
2072 "node_modules/undici-types": {2668 "node_modules/vitest/node_modules/@esbuild/sunos-x64": {
2073 "version": "7.8.0",2669 "version": "0.27.4",
2074 "license": "MIT"2670 "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz",
2671 "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==",
2672 "cpu": [
2673 "x64"
2674 ],
2675 "license": "MIT",
2676 "optional": true,
2677 "os": [
2678 "sunos"
2679 ],
2680 "engines": {
2681 "node": ">=18"
2682 }
2075 },2683 },
2076 "node_modules/unique-names-generator": {2684 "node_modules/vitest/node_modules/@esbuild/win32-arm64": {
2077 "version": "4.7.1",2685 "version": "0.27.4",
2686 "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz",
2687 "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==",
2688 "cpu": [
2689 "arm64"
2690 ],
2078 "license": "MIT",2691 "license": "MIT",
2692 "optional": true,
2693 "os": [
2694 "win32"
2695 ],
2079 "engines": {2696 "engines": {
2080 "node": ">=8"2697 "node": ">=18"
2081 }2698 }
2082 },2699 },
2083 "node_modules/update-browserslist-db": {2700 "node_modules/vitest/node_modules/@esbuild/win32-ia32": {
2084 "version": "1.2.3",2701 "version": "0.27.4",
2085 "funding": [2702 "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz",
2086 {2703 "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==",
2087 "type": "opencollective",2704 "cpu": [
2088 "url": "https://opencollective.com/browserslist"2705 "ia32"
2089 },
2090 {
2091 "type": "tidelift",
2092 "url": "https://tidelift.com/funding/github/npm/browserslist"
2093 },
2094 {
2095 "type": "github",
2096 "url": "https://github.com/sponsors/ai"
2097 }
2098 ],2706 ],
2099 "license": "MIT",2707 "license": "MIT",
2100 "dependencies": {2708 "optional": true,
2101 "escalade": "^3.2.0",2709 "os": [
2102 "picocolors": "^1.1.1"2710 "win32"
2103 },2711 ],
2104 "bin": {2712 "engines": {
2105 "update-browserslist-db": "cli.js"2713 "node": ">=18"
2106 },
2107 "peerDependencies": {
2108 "browserslist": ">= 4.21.0"
2109 }2714 }
2110 },2715 },
2111 "node_modules/vitest": {2716 "node_modules/vitest/node_modules/@esbuild/win32-x64": {
2112 "version": "4.1.0",2717 "version": "0.27.4",
2113 "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.0.tgz",2718 "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz",
2114 "integrity": "sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==",2719 "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==",
2720 "cpu": [
2721 "x64"
2722 ],
2115 "license": "MIT",2723 "license": "MIT",
2116 "dependencies": {2724 "optional": true,
2117 "@vitest/expect": "4.1.0",2725 "os": [
2118 "@vitest/mocker": "4.1.0",2726 "win32"
2119 "@vitest/pretty-format": "4.1.0",2727 ],
2120 "@vitest/runner": "4.1.0",
2121 "@vitest/snapshot": "4.1.0",
2122 "@vitest/spy": "4.1.0",
2123 "@vitest/utils": "4.1.0",
2124 "es-module-lexer": "^2.0.0",
2125 "expect-type": "^1.3.0",
2126 "magic-string": "^0.30.21",
2127 "obug": "^2.1.1",
2128 "pathe": "^2.0.3",
2129 "picomatch": "^4.0.3",
2130 "std-env": "^4.0.0-rc.1",
2131 "tinybench": "^2.9.0",
2132 "tinyexec": "^1.0.2",
2133 "tinyglobby": "^0.2.15",
2134 "tinyrainbow": "^3.0.3",
2135 "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0",
2136 "why-is-node-running": "^2.3.0"
2137 },
2138 "bin": {
2139 "vitest": "vitest.mjs"
2140 },
2141 "engines": {2728 "engines": {
2142 "node": "^20.0.0 || ^22.0.0 || >=24.0.0"2729 "node": ">=18"
2143 },
2144 "funding": {
2145 "url": "https://opencollective.com/vitest"
2146 },
2147 "peerDependencies": {
2148 "@edge-runtime/vm": "*",
2149 "@opentelemetry/api": "^1.9.0",
2150 "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
2151 "@vitest/browser-playwright": "4.1.0",
2152 "@vitest/browser-preview": "4.1.0",
2153 "@vitest/browser-webdriverio": "4.1.0",
2154 "@vitest/ui": "4.1.0",
2155 "happy-dom": "*",
2156 "jsdom": "*",
2157 "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0"
2158 },
2159 "peerDependenciesMeta": {
2160 "@edge-runtime/vm": {
2161 "optional": true
2162 },
2163 "@opentelemetry/api": {
2164 "optional": true
2165 },
2166 "@types/node": {
2167 "optional": true
2168 },
2169 "@vitest/browser-playwright": {
2170 "optional": true
2171 },
2172 "@vitest/browser-preview": {
2173 "optional": true
2174 },
2175 "@vitest/browser-webdriverio": {
2176 "optional": true
2177 },
2178 "@vitest/ui": {
2179 "optional": true
2180 },
2181 "happy-dom": {
2182 "optional": true
2183 },
2184 "jsdom": {
2185 "optional": true
2186 },
2187 "vite": {
2188 "optional": false
2189 }
2190 }2730 }
2191 },2731 },
2192 "node_modules/vitest/node_modules/@vitest/mocker": {2732 "node_modules/vitest/node_modules/@vitest/mocker": {
...@@ -2230,16 +2770,16 @@...@@ -2230,16 +2770,16 @@
2230 }2770 }
2231 },2771 },
2232 "node_modules/vitest/node_modules/vite": {2772 "node_modules/vitest/node_modules/vite": {
2233 "version": "8.0.0",2773 "version": "8.0.1",
2234 "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.0.tgz",2774 "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.1.tgz",
2235 "integrity": "sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==",2775 "integrity": "sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw==",
2236 "license": "MIT",2776 "license": "MIT",
2777 "peer": true,
2237 "dependencies": {2778 "dependencies": {
2238 "@oxc-project/runtime": "0.115.0",
2239 "lightningcss": "^1.32.0",2779 "lightningcss": "^1.32.0",
2240 "picomatch": "^4.0.3",2780 "picomatch": "^4.0.3",
2241 "postcss": "^8.5.8",2781 "postcss": "^8.5.8",
2242 "rolldown": "1.0.0-rc.9",2782 "rolldown": "1.0.0-rc.10",
2243 "tinyglobby": "^0.2.15"2783 "tinyglobby": "^0.2.15"
2244 },2784 },
2245 "bin": {2785 "bin": {
...@@ -2256,7 +2796,7 @@...@@ -2256,7 +2796,7 @@
2256 },2796 },
2257 "peerDependencies": {2797 "peerDependencies": {
2258 "@types/node": "^20.19.0 || >=22.12.0",2798 "@types/node": "^20.19.0 || >=22.12.0",
2259 "@vitejs/devtools": "^0.0.0-alpha.31",2799 "@vitejs/devtools": "^0.1.0",
2260 "esbuild": "^0.27.0",2800 "esbuild": "^0.27.0",
2261 "jiti": ">=1.21.0",2801 "jiti": ">=1.21.0",
2262 "less": "^4.0.0",2802 "less": "^4.0.0",
...@@ -2309,14 +2849,20 @@...@@ -2309,14 +2849,20 @@
2309 },2849 },
2310 "node_modules/vscode-oniguruma": {2850 "node_modules/vscode-oniguruma": {
2311 "version": "2.0.1",2851 "version": "2.0.1",
2852 "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-2.0.1.tgz",
2853 "integrity": "sha512-poJU8iHIWnC3vgphJnrLZyI3YdqRlR27xzqDmpPXYzA93R4Gk8z7T6oqDzDoHjoikA2aS82crdXFkjELCdJsjQ==",
2312 "license": "MIT"2854 "license": "MIT"
2313 },2855 },
2314 "node_modules/vscode-textmate": {2856 "node_modules/vscode-textmate": {
2315 "version": "9.2.0",2857 "version": "9.2.0",
2858 "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-9.2.0.tgz",
2859 "integrity": "sha512-rkvG4SraZQaPSN/5XjwKswdU0OP9MF28QjrYzUBbhb8QyG3ljB1Ky996m++jiI7KdiAP2CkBiQZd9pqEDTClqA==",
2316 "license": "MIT"2860 "license": "MIT"
2317 },2861 },
2318 "node_modules/warp10": {2862 "node_modules/warp10": {
2319 "version": "2.1.0",2863 "version": "2.1.0",
2864 "resolved": "https://registry.npmjs.org/warp10/-/warp10-2.1.0.tgz",
2865 "integrity": "sha512-krhkqzJdUxAZv2Cx0Gz6dN1r7TTrG9RDewkDHBbJQIqbNTCdB5ZUHVh7VkA4DgrKW4ZXPPUQKCwmI/3btDse9A==",
2320 "license": "MIT"2866 "license": "MIT"
2321 },2867 },
2322 "node_modules/why-is-node-running": {2868 "node_modules/why-is-node-running": {
package.json+6-7
...@@ -3,16 +3,15 @@...@@ -3,16 +3,15 @@
3 "dependencies": {3 "dependencies": {
4 "@clo/lib": "file:lib",4 "@clo/lib": "file:lib",
5 "@clo/markodown": "npm:@paperclover/markodown",5 "@clo/markodown": "npm:@paperclover/markodown",
6 "@hono/node-server": "1.14.3",6 "@hono/node-server": "1.19.11",
7 "@marko/compiler": "^5.39.55",7 "@marko/compiler": "5.39.62",
8 "@types/node": "24.0.10",8 "@types/node": "^24.12.0",
9 "browserslist": "4.28.1",
10 "dashjs": "5.0.3",9 "dashjs": "5.0.3",
11 "devalue": "5.6.2",10 "devalue": "5.6.4",
12 "esbuild": "0.25.5",11 "esbuild": "0.25.5",
13 "hls.js": "1.6.5",12 "hls.js": "1.6.5",
14 "hono": "4.11.9",13 "hono": "4.12.8",
15 "marko": "^5.38.24",14 "marko": "5.38.33",
16 "msgpackr": "1.11.5",15 "msgpackr": "1.11.5",
17 "playwright": "1.58.2",16 "playwright": "1.58.2",
18 "source-map-support": "0.5.21",17 "source-map-support": "0.5.21",
src/backend.ts+1-1
...@@ -64,4 +64,4 @@ import { logger } from "hono/logger";...@@ -64,4 +64,4 @@ import { logger } from "hono/logger";
64import { trimTrailingSlash } from "hono/trailing-slash";64import { trimTrailingSlash } from "hono/trailing-slash";
65import * as assets from "#sitegen/assets";65import * as assets from "#sitegen/assets";
66import * as admin from "./admin.ts";66import * as admin from "./admin.ts";
67import * as log from "@clo/lib/log.ts";67import * as log from "@clo/lib/log";
src/bin/deploy.ts+2-2
...@@ -55,7 +55,7 @@ export async function main() {...@@ -55,7 +55,7 @@ export async function main() {
5555
56import * as incr from "../../framework/incremental.ts";56import * as incr from "../../framework/incremental.ts";
57import { generate } from "../../framework/generate.ts";57import { generate } from "../../framework/generate.ts";
58import * as progress from "@clo/lib/progress.ts";58import * as progress from "@clo/lib/progress";
59import * as subprocess from "@clo/lib/subprocess.ts";59import * as subprocess from "@clo/lib/subprocess";
60import * as rsync from "../file-viewer/rsync.ts";60import * as rsync from "../file-viewer/rsync.ts";
61import { Path } from "#sitegen/path";61import { Path } from "#sitegen/path";
src/bin/download-db.ts+1-1
...@@ -21,6 +21,6 @@ export async function main() {...@@ -21,6 +21,6 @@ export async function main() {
21 });21 });
22}22}
2323
24import * as progress from "@clo/lib/progress.ts";24import * as progress from "@clo/lib/progress";
25import * as rsync from "../file-viewer/rsync.ts";25import * as rsync from "../file-viewer/rsync.ts";
26import { Path } from "#sitegen/path";26import { Path } from "#sitegen/path";
src/bin/package-lib.ts+4-4
...@@ -10,9 +10,9 @@ export async function updateJsrPackageExportsToAll(...@@ -10,9 +10,9 @@ export async function updateJsrPackageExportsToAll(
10 const newExports: Record<string, string> = {};10 const newExports: Record<string, string> = {};
11 for (const subPath of await fs.readdir(absPath, { recursive: true })) {11 for (const subPath of await fs.readdir(absPath, { recursive: true })) {
12 if (!subPath.match(/\.tsx?$/)) continue;12 if (!subPath.match(/\.tsx?$/)) continue;
13 if (subPath.match(/\.(test|sample)\.tsx?$/)) continue;13 if (subPath.startsWith('examples') || subPath.match(/\.(test|sample)\.tsx?$/)) continue;
14 if (subPath.startsWith("dist")) continue;14 if (subPath.startsWith("dist")) continue;
15 newExports["./" + subPath] = "./" + subPath;15 newExports["./" + subPath.replace(/\.tsx?$/, '')] = "./" + subPath;
16 }16 }
17 deno.exports = Object.fromEntries(17 deno.exports = Object.fromEntries(
18 Object.entries(newExports).sort(([a], [b]) => a.localeCompare(b)),18 Object.entries(newExports).sort(([a], [b]) => a.localeCompare(b)),
...@@ -21,10 +21,10 @@ export async function updateJsrPackageExportsToAll(...@@ -21,10 +21,10 @@ export async function updateJsrPackageExportsToAll(
21}21}
2222
23export async function main() {23export async function main() {
24 const main = path.resolve("@clo/lib");24 const main = path.resolve("./lib");
25 await updateJsrPackageExportsToAll(main, progress);25 await updateJsrPackageExportsToAll(main, progress);
26}26}
2727
28import * as progress from "@clo/lib/progress.ts";28import * as progress from "@clo/lib/progress";
29import * as path from "node:path";29import * as path from "node:path";
30import * as fs from "node:fs/promises";30import * as fs from "node:fs/promises";
src/blog/localization.tsx+1-1
...@@ -31,4 +31,4 @@ export const languages: LanguageMap = {...@@ -31,4 +31,4 @@ export const languages: LanguageMap = {
31 },31 },
32};32};
3333
34import * as render from "@clo/lib/render.ts";34import * as render from "@clo/lib/render";
src/blog/pages/webdev/one-year-next-app-router/en.mdo+1-1
...@@ -604,7 +604,7 @@ or simply copied into your project....@@ -604,7 +604,7 @@ or simply copied into your project.
604604
605```tsx605```tsx
606// once in your project606// once in your project
607import * as meta from "@clo/lib/meta.ts";607import * as meta from "@clo/lib/meta";
608608
609export const defineHead = meta.toTags.bind(null, {609export const defineHead = meta.toTags.bind(null, {
610 // site-wide options610 // site-wide options
src/blog/pages/webdev/one-year-next-app-router/es.mdo+1-1
...@@ -628,7 +628,7 @@ una API `meta.toTags` compatible con TanStack que puede instalarse desde...@@ -628,7 +628,7 @@ una API `meta.toTags` compatible con TanStack que puede instalarse desde
628628
629```tsx629```tsx
630// una vez en tu proyecto630// una vez en tu proyecto
631import * as meta from "@clo/lib/meta.ts";631import * as meta from "@clo/lib/meta";
632632
633export const defineHead = meta.toTags.bind(null, {633export const defineHead = meta.toTags.bind(null, {
634 // opciones para todo el sitio634 // opciones para todo el sitio
src/blog/pages/webdev/one-year-next-app-router/ko.mdo+1-1
...@@ -438,7 +438,7 @@ export default function LinkAdapter({ href, ...rest }: LinkProps) {...@@ -438,7 +438,7 @@ export default function LinkAdapter({ href, ...rest }: LinkProps) {
438438
439```tsx439```tsx
440// 프로젝트에 한 번만440// 프로젝트에 한 번만
441import * as meta from "@clo/lib/meta.ts";441import * as meta from "@clo/lib/meta";
442442
443export const defineHead = meta.toTags.bind(null, {443export const defineHead = meta.toTags.bind(null, {
444 // 사이트 전체 옵션444 // 사이트 전체 옵션
src/blog/tags/blog-layout.marko+1-1
...@@ -104,4 +104,4 @@ import * as markodown from "@clo/markodown";...@@ -104,4 +104,4 @@ import * as markodown from "@clo/markodown";
104import Heading from "./heading.marko";104import Heading from "./heading.marko";
105import CodeBlock from "./code-block.marko";105import CodeBlock from "./code-block.marko";
106import { Path } from "#sitegen/path";106import { Path } from "#sitegen/path";
107import { UNWRAP } from "@clo/lib/assert.ts";107import { UNWRAP } from "@clo/lib/assert";
src/file-viewer/backend.tsx+3-3
...@@ -313,10 +313,10 @@ function getPartialPage(c: Context, rawFilePath: string) {...@@ -313,10 +313,10 @@ function getPartialPage(c: Context, rawFilePath: string) {
313313
314import { type Context, Hono } from "hono";314import { type Context, Hono } from "hono";
315315
316import * as render from "@clo/lib/render.ts";316import * as render from "@clo/lib/render";
317import { etagMatches, serveAsset } from "#sitegen/assets";317import { etagMatches, serveAsset } from "#sitegen/assets";
318import * as view from "#sitegen/view";318import * as view from "#sitegen/view";
319import * as mime from "@clo/lib/mime.ts";319import * as mime from "@clo/lib/mime";
320320
321import { getForFile, requireFriendAuth } from "#src/friend-auth.ts";321import { getForFile, requireFriendAuth } from "#src/friend-auth.ts";
322import { MediaFile, MediaFileKind } from "#src/file-viewer/models/MediaFile.ts";322import { MediaFile, MediaFileKind } from "#src/file-viewer/models/MediaFile.ts";
...@@ -325,5 +325,5 @@ import { MediaPanel } from "#src/file-viewer/views/clofi.tsx";...@@ -325,5 +325,5 @@ import { MediaPanel } from "#src/file-viewer/views/clofi.tsx";
325import { Speedbump } from "#src/file-viewer/cotyledon.tsx";325import { Speedbump } from "#src/file-viewer/cotyledon.tsx";
326import * as cache from "#src/file-viewer/cache.ts";326import * as cache from "#src/file-viewer/cache.ts";
327import * as derived from "#src/file-viewer/models/derived.ts";327import * as derived from "#src/file-viewer/models/derived.ts";
328import { UNWRAP } from "@clo/lib/assert.ts";328import { UNWRAP } from "@clo/lib/assert";
329import { escapeUri } from "./format.ts";329import { escapeUri } from "./format.ts";
src/file-viewer/bin/file-scan.ts+11-11
...@@ -15,7 +15,7 @@ const sotToken = process.env.CLOVER_SOT_KEY;...@@ -15,7 +15,7 @@ const sotToken = process.env.CLOVER_SOT_KEY;
15export async function main() {15export async function main() {
16 const start = performance.now();16 const start = performance.now();
17 using _ = log.startWidget({17 using _ = log.startWidget({
18 format: (now) =>18 format: ({now}) =>
19 `paper clover's file scanner [${((now - start) / 1000).toFixed(1)}s]`,19 `paper clover's file scanner [${((now - start) / 1000).toFixed(1)}s]`,
20 });20 });
2121
...@@ -49,7 +49,7 @@ export async function main() {...@@ -49,7 +49,7 @@ export async function main() {
49 const items = (await path.readDir())49 const items = (await path.readDir())
50 .filter((child) => !skipBasename(child.base))50 .filter((child) => !skipBasename(child.base))
51 .map((child) => (promises.push(scanDirectory(child)), child.base));51 .map((child) => (promises.push(scanDirectory(child)), child.base));
52 dirsNode.estimate += items.length;52 dirsNode.total += items.length;
5353
54 for (const child of mediaFile?.getChildren() ?? []) {54 for (const child of mediaFile?.getChildren() ?? []) {
55 if (items.includes(child.basename)) continue;55 if (items.includes(child.basename)) continue;
...@@ -186,7 +186,7 @@ export async function main() {...@@ -186,7 +186,7 @@ export async function main() {
186 using errorHandler = new DisposableStack();186 using errorHandler = new DisposableStack();
187 errorHandler.use(node);187 errorHandler.use(node);
188188
189 node.showEstimate = false;189 node.showTotal = false;
190 node.passive = true;190 node.passive = true;
191191
192 const ext = mediaFile.extensionNonEmpty.toLowerCase();192 const ext = mediaFile.extensionNonEmpty.toLowerCase();
...@@ -1024,14 +1024,14 @@ async function scrubLocationMetadata(...@@ -1024,14 +1024,14 @@ async function scrubLocationMetadata(
10241024
1025const monthMilliseconds = 30 * 24 * 60 * 60 * 1000;1025const monthMilliseconds = 30 * 24 * 60 * 60 * 1000;
10261026
1027import * as async from "@clo/lib/async.ts";1027import * as async from "@clo/lib/async";
1028import * as fs from "#sitegen/fs";1028import * as fs from "#sitegen/fs";
1029import * as subprocess from "@clo/lib/subprocess.ts";1029import * as subprocess from "@clo/lib/subprocess";
1030import { Path } from "#sitegen/path";1030import { Path } from "#sitegen/path";
1031import * as queue from "../../../lib/queue.ts";1031import * as queue from "@clo/lib/queue";
1032import * as log from "../../../lib/log.ts";1032import * as log from "@clo/lib/log";
1033import * as progress from "@clo/lib/progress.ts";1033import * as progress from "@clo/lib/progress";
1034import * as ts from "../../../lib/ts.ts";1034import * as ts from "@clo/lib/ts";
10351035
1036import * as child_process from "node:child_process";1036import * as child_process from "node:child_process";
1037import * as crypto from "node:crypto";1037import * as crypto from "node:crypto";
...@@ -1049,10 +1049,10 @@ import {...@@ -1049,10 +1049,10 @@ import {
1049} from "#src/file-viewer/format.ts";1049} from "#src/file-viewer/format.ts";
1050import * as rules from "#src/file-viewer/rules.ts";1050import * as rules from "#src/file-viewer/rules.ts";
1051import * as highlight from "#src/file-viewer/highlight.ts";1051import * as highlight from "#src/file-viewer/highlight.ts";
1052import * as ffmpeg from "@clo/lib/subprocess/ffmpeg.ts";1052import * as ffmpeg from "@clo/lib/subprocess/ffmpeg";
1053import * as rsync from "#src/file-viewer/rsync.ts";1053import * as rsync from "#src/file-viewer/rsync.ts";
1054import * as derived from "#src/file-viewer/models/derived.ts";1054import * as derived from "#src/file-viewer/models/derived.ts";
1055import * as transcodeRules from "#src/file-viewer/transcode-rules.ts";1055import * as transcodeRules from "#src/file-viewer/transcode-rules.ts";
10561056
1057import { rawFileRoot as root } from "../paths.ts";1057import { rawFileRoot as root } from "../paths.ts";
1058import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";1058import { ASSERT, UNWRAP } from "@clo/lib/assert";
src/file-viewer/bin/file-trim.ts+1-1
...@@ -14,5 +14,5 @@ export async function main() {...@@ -14,5 +14,5 @@ export async function main() {
14 // TODO: delete unreferenced files14 // TODO: delete unreferenced files
15}15}
1616
17import * as log from "@clo/lib/log.ts";17import * as log from "@clo/lib/log";
18import * as derived from "../models/derived.ts";18import * as derived from "../models/derived.ts";
src/file-viewer/cache.ts+6-6
...@@ -600,17 +600,17 @@ async function writeStream(...@@ -600,17 +600,17 @@ async function writeStream(
600import * as util from "node:util";600import * as util from "node:util";
601import * as fsCallbacks from "node:fs";601import * as fsCallbacks from "node:fs";
602import * as fs from "#sitegen/fs";602import * as fs from "#sitegen/fs";
603import * as async from "@clo/lib/async.ts";603import * as async from "@clo/lib/async";
604import * as error from "@clo/lib/error.ts";604import * as error from "@clo/lib/error";
605import * as stream from "node:stream";605import * as stream from "node:stream";
606import * as crypto from "node:crypto";606import * as crypto from "node:crypto";
607import * as http from "node:http";607import * as http from "node:http";
608import * as https from "node:https";608import * as https from "node:https";
609import * as paths from "./paths.ts";609import * as paths from "./paths.ts";
610import * as log from "@clo/lib/log.ts";610import * as log from "@clo/lib/log";
611import { MediaFile } from "./models/MediaFile.ts";611import { MediaFile } from "./models/MediaFile.ts";
612import type { ReadableStream } from "node:stream/web";612import type { ReadableStream } from "node:stream/web";
613import { Lru } from "@clo/lib/Lru.ts";613import { Lru } from "@clo/lib/Lru";
614import { Path } from "#sitegen/path";614import { Path } from "#sitegen/path";
615import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";615import { ASSERT, UNWRAP } from "@clo/lib/assert";
616import * as ts from "@clo/lib/ts.ts";616import * as ts from "@clo/lib/ts";
src/file-viewer/format.ts+1-1
...@@ -288,4 +288,4 @@ export function formatDate(dateTime: Date) {...@@ -288,4 +288,4 @@ export function formatDate(dateTime: Date) {
288}288}
289289
290import type { MediaFile } from "#src/file-viewer/models/MediaFile.ts";290import type { MediaFile } from "#src/file-viewer/models/MediaFile.ts";
291import { escapeHtml } from "@clo/lib/render.ts";291import { escapeHtml } from "@clo/lib/render";
src/file-viewer/highlight.ts+2-2
...@@ -215,9 +215,9 @@ export async function highlightCode(code: string, language: Language) {...@@ -215,9 +215,9 @@ export async function highlightCode(code: string, language: Language) {
215// "tsx",215// "tsx",
216// );216// );
217//217//
218import * as async from "@clo/lib/async.ts";218import * as async from "@clo/lib/async";
219import * as fs from "#sitegen/fs";219import * as fs from "#sitegen/fs";
220import * as path from "node:path";220import * as path from "node:path";
221import * as oniguruma from "vscode-oniguruma";221import * as oniguruma from "vscode-oniguruma";
222import * as textmate from "vscode-textmate";222import * as textmate from "vscode-textmate";
223import * as render from "@clo/lib/render.ts";223import * as render from "@clo/lib/render";
src/file-viewer/models/MediaFile.ts+1-1
...@@ -464,4 +464,4 @@ const getDirectoriesToReindexQuery = db.prepare(`...@@ -464,4 +464,4 @@ const getDirectoriesToReindexQuery = db.prepare(`
464import { getDb } from "#sitegen/sqlite";464import { getDb } from "#sitegen/sqlite";
465import * as path from "node:path/posix";465import * as path from "node:path/posix";
466import { FilePermissions } from "./FilePermissions.ts";466import { FilePermissions } from "./FilePermissions.ts";
467import { ASSERT } from "@clo/lib/assert.ts";467import { ASSERT } from "@clo/lib/assert";
src/file-viewer/models/derived.ts+3-3
...@@ -217,6 +217,6 @@ import type { MediaFile } from "./MediaFile.ts";...@@ -217,6 +217,6 @@ import type { MediaFile } from "./MediaFile.ts";
217import { Path } from "#sitegen/path";217import { Path } from "#sitegen/path";
218import * as fs from "node:fs";218import * as fs from "node:fs";
219import * as crypto from "node:crypto";219import * as crypto from "node:crypto";
220import * as queue from "@clo/lib/queue.ts";220import * as queue from "@clo/lib/queue";
221import * as progress from "@clo/lib/progress.ts";221import * as progress from "@clo/lib/progress";
222import { ASSERT } from "@clo/lib/assert.ts";222import { ASSERT } from "@clo/lib/assert";
src/file-viewer/rsync.ts+2-2
...@@ -183,7 +183,7 @@ export class Parse {...@@ -183,7 +183,7 @@ export class Parse {
183import * as child_process from "node:child_process";183import * as child_process from "node:child_process";
184import * as readline from "node:readline";184import * as readline from "node:readline";
185import events from "node:events";185import events from "node:events";
186import * as progress from "@clo/lib/progress.ts";186import * as progress from "@clo/lib/progress";
187import { formatSize } from "#src/file-viewer/format.ts";187import { formatSize } from "#src/file-viewer/format.ts";
188import { UNWRAP } from "@clo/lib/assert.ts";188import { UNWRAP } from "@clo/lib/assert";
189import { Path } from "#sitegen/path";189import { Path } from "#sitegen/path";
src/file-viewer/transcode-rules.ts+1-1
...@@ -314,4 +314,4 @@ export function getH264HlsArgs(...@@ -314,4 +314,4 @@ export function getH264HlsArgs(
314}314}
315315
316import type { Path } from "#sitegen/path";316import type { Path } from "#sitegen/path";
317import * as ffmpeg from "@clo/lib/subprocess/ffmpeg.ts";317import * as ffmpeg from "@clo/lib/subprocess/ffmpeg";
src/file-viewer/views/clofi.tsx+3-3
...@@ -936,9 +936,9 @@ import {...@@ -936,9 +936,9 @@ import {
936 highlightLinksInTextView,936 highlightLinksInTextView,
937} from "#src/file-viewer/format.ts";937} from "#src/file-viewer/format.ts";
938import { ForEveryone } from "#src/file-viewer/cotyledon.tsx";938import { ForEveryone } from "#src/file-viewer/cotyledon.tsx";
939import * as mime from "@clo/lib/mime.ts";939import * as mime from "@clo/lib/mime";
940import * as sort from "../sort.ts";940import * as sort from "../sort.ts";
941import CloverVideo from "#src/tags/clover-video.marko";941import CloverVideo from "#src/tags/clover-video.marko";
942import Image from "#src/tags/image.tsx";942import Image from "#src/tags/image.tsx";
943import * as render from "@clo/lib/render.ts";943import * as render from "@clo/lib/render";
944import { UNWRAP } from "@clo/lib/assert.ts";944import { UNWRAP } from "@clo/lib/assert";
src/pages/log.mdo+2-2
...@@ -10,7 +10,7 @@ static const repo = "${repo}";...@@ -10,7 +10,7 @@ static const repo = "${repo}";
10[home infra]: https://git.paperclover.net/clo/home-infra10[home infra]: https://git.paperclover.net/clo/home-infra
11[name paint bot]: https://git.paperclover.net/clo/discord-name-painter11[name paint bot]: https://git.paperclover.net/clo/discord-name-painter
12[next.js blog post]: /blog/webdev/one-year-next-app-router12[next.js blog post]: /blog/webdev/one-year-next-app-router
13[progress.ts]: https://jsr.io/@clo/lib/doc/progress.ts13[progress.ts]: https://jsr.io/@clo/lib/doc/progress
14[this site]: https://paperclover.net/14[this site]: https://paperclover.net/
15[todo tracker]: https://git.paperclover.net/clo/todo-tracker15[todo tracker]: https://git.paperclover.net/clo/todo-tracker
16[ts lie detector]: https://git.paperclover.net/clo/ts-lie-detector16[ts lie detector]: https://git.paperclover.net/clo/ts-lie-detector
...@@ -543,7 +543,7 @@ doing worldbuilding in a song. the imagery is that good....@@ -543,7 +543,7 @@ doing worldbuilding in a song. the imagery is that good.
543543
544tags: [progress.ts], [todo tracker]544tags: [progress.ts], [todo tracker]
545545
546i finished streaming io on the @clo/lib/[progress.ts]. very proud of it. my git546i finished streaming io on [progress.ts]. very proud of it. my git
547commits describe the tech better than me reiterating.547commits describe the tech better than me reiterating.
548548
549> ## feat(lib/progress): implement streaming wire protocol549> ## feat(lib/progress): implement streaming wire protocol
src/q+a/image.tsx+1-1
...@@ -74,6 +74,6 @@ import * as crypto from "node:crypto";...@@ -74,6 +74,6 @@ import * as crypto from "node:crypto";
74import * as fs from "#sitegen/fs";74import * as fs from "#sitegen/fs";
75import * as path from "node:path";75import * as path from "node:path";
76import { Question } from "#src/q+a/models/Question.ts";76import { Question } from "#src/q+a/models/Question.ts";
77import { RefCountedExpirable } from "@clo/lib/async.ts";77import { RefCountedExpirable } from "@clo/lib/async";
78import * as view from "#sitegen/view";78import * as view from "#sitegen/view";
79import * as playwright from "playwright";79import * as playwright from "playwright";
src/q+a/markdown.tsx+1-1
...@@ -76,6 +76,6 @@ export function renderMarkdown(source: string) {...@@ -76,6 +76,6 @@ export function renderMarkdown(source: string) {
76}76}
7777
78import * as markodown from "@clo/markodown";78import * as markodown from "@clo/markodown";
79import * as render from "@clo/lib/render.ts";79import * as render from "@clo/lib/render";
80import { artifactMap } from "./artifacts.ts";80import { artifactMap } from "./artifacts.ts";
81import { formatQuestionTimestamp, questionIdToTimestamp } from "./format.ts";81import { formatQuestionTimestamp, questionIdToTimestamp } from "./format.ts";
src/q+a/tags/question-layout.marko+1-1
...@@ -19,4 +19,4 @@ export const theme = {...@@ -19,4 +19,4 @@ export const theme = {
19};19};
2020
21import { addScript } from "#sitegen";21import { addScript } from "#sitegen";
22import * as render from "@clo/lib/render.ts";22import * as render from "@clo/lib/render";
src/site.ts+1-1
...@@ -123,6 +123,6 @@ export const fonts: sg.Font[] = [...@@ -123,6 +123,6 @@ export const fonts: sg.Font[] = [
123];123];
124124
125import * as path from "node:path";125import * as path from "node:path";
126import type { Template as MetaTemplate } from "@clo/lib/render/meta.ts";126import type { Template as MetaTemplate } from "@clo/lib/render/meta";
127import type * as sg from "#sitegen";127import type * as sg from "#sitegen";
128import { nasRoot } from "./file-viewer/paths.ts";128import { nasRoot } from "./file-viewer/paths.ts";
src/source-of-truth.ts+2-2
...@@ -111,6 +111,6 @@ import * as fs from "#sitegen/fs";...@@ -111,6 +111,6 @@ import * as fs from "#sitegen/fs";
111import * as fsCallbacks from "node:fs";111import * as fsCallbacks from "node:fs";
112import * as util from "node:util";112import * as util from "node:util";
113import * as stream from "node:stream";113import * as stream from "node:stream";
114import * as mime from "@clo/lib/mime.ts";114import * as mime from "@clo/lib/mime";
115import { derivedFileRoot, rawFileRoot } from "./file-viewer/paths.ts";115import { derivedFileRoot, rawFileRoot } from "./file-viewer/paths.ts";
116import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";116import { ASSERT, UNWRAP } from "@clo/lib/assert";
src/tags/clover-video.marko+1-1
...@@ -70,4 +70,4 @@ export interface Input {...@@ -70,4 +70,4 @@ export interface Input {
70client import "./clover-video.client.ts";70client import "./clover-video.client.ts";
7171
72import { MediaFile } from "#src/file-viewer/models/MediaFile.ts";72import { MediaFile } from "#src/file-viewer/models/MediaFile.ts";
73import { UNWRAP, ASSERT } from "@clo/lib/assert.ts";73import { UNWRAP, ASSERT } from "@clo/lib/assert";
src/tags/image.tsx+1-1
...@@ -60,6 +60,6 @@ export default function Image(...@@ -60,6 +60,6 @@ export default function Image(
60import * as transcodeRules from "#src/file-viewer/transcode-rules.ts";60import * as transcodeRules from "#src/file-viewer/transcode-rules.ts";
61import { MediaFile } from "#src/file-viewer/models/MediaFile.ts";61import { MediaFile } from "#src/file-viewer/models/MediaFile.ts";
62import { escapeUri } from "#src/file-viewer/format.ts";62import { escapeUri } from "#src/file-viewer/format.ts";
63import { UNWRAP } from "@clo/lib/assert.ts";63import { UNWRAP } from "@clo/lib/assert";
64import { extsVideo } from "#src/file-viewer/rules.ts";64import { extsVideo } from "#src/file-viewer/rules.ts";
65import CloverVideo from "./clover-video.marko";65import CloverVideo from "./clover-video.marko";
src/tags/photo-grid.tsx+1-1
...@@ -139,4 +139,4 @@ import "./photo-grid.css";...@@ -139,4 +139,4 @@ import "./photo-grid.css";
139import { MediaFile } from "#src/file-viewer/models/MediaFile.ts";139import { MediaFile } from "#src/file-viewer/models/MediaFile.ts";
140import Image from "./image.tsx";140import Image from "./image.tsx";
141import * as path from "node:path";141import * as path from "node:path";
142import { ASSERT } from "@clo/lib/assert.ts";142import { ASSERT } from "@clo/lib/assert";
tsconfig.json+2-2
...@@ -5,7 +5,7 @@...@@ -5,7 +5,7 @@
5 "incremental": true,5 "incremental": true,
6 "jsx": "react-jsxdev",6 "jsx": "react-jsxdev",
7 "jsxImportSource": "#jsx",7 "jsxImportSource": "#jsx",
8 "@clo/lib": ["esnext", "es2024", "dom", "dom.iterable"],8 "lib": ["esnext", "es2024", "dom", "dom.iterable"],
9 "module": "nodenext",9 "module": "nodenext",
10 "noEmit": true,10 "noEmit": true,
11 "outDir": ".clover/ts",11 "outDir": ".clover/ts",
...@@ -18,5 +18,5 @@...@@ -18,5 +18,5 @@
18 "resolveJsonModule": true,18 "resolveJsonModule": true,
19 "types": ["marko"]19 "types": ["marko"]
20 },20 },
21 "include": ["@clo/lib/**/*", "src/**/*", "framework/**/*"]21 "include": ["./lib/**/*", "src/**/*", "framework/**/*"]
22}22}