From 0641887af878d2d59f70401465a6e5876fb386d2 Mon Sep 17 00:00:00 2001 From: Simon Cambier Date: Sun, 28 Dec 2025 14:09:34 +0100 Subject: [PATCH] update --- README.md | 4 +- _G.d.ts | 423 +++++++++++++++--- package.json | 13 +- pnpm-lock.yaml | 1114 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1483 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index a0ab583..16b52bd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # TypeScript for Picotron -This is a template project to mix-and-match TypeScript and Lua for your Picotron projects. +This is an experimental template project to mix-and-match TypeScript and Lua for your Picotron projects. + +Most of the _G.d.ts file has been AI-generated from the official documentation. ## Setup diff --git a/_G.d.ts b/_G.d.ts index 0c3f366..59e2928 100644 --- a/_G.d.ts +++ b/_G.d.ts @@ -2,17 +2,38 @@ // Userdata types type UserdataType = "u8" | "i16" | "i32" | "i64" | "f64"; +type UserdataDim = "1d" | "2d"; // Userdata interface -interface Userdata { +interface Userdata { // Dimension methods width(): number; height(): number | null; + /** + * Returns width, height, type, dimensionality + */ attribs(): LuaMultiReturn<[number, number, T, number]>; - // Element access - get(x: number, n?: number): LuaMultiReturn; - get(x: number, y: number, n?: number): LuaMultiReturn; + // Element access — 1D + get(x: number): D extends "1d" ? number : LuaMultiReturn; + get(x: number, n: number): D extends "1d" ? LuaMultiReturn : number; + + // Element access — 2D + // No n specified (defaults to 1, returns single number) + get(x: number, y: number): D extends "2d" ? number : LuaMultiReturn; + // n = 0 (fast path, returns single number) + get( + x: number, + y: number, + n: 0 + ): D extends "2d" ? number : LuaMultiReturn; + // n specified (returns multiple values) + get( + x: number, + y: number, + n: number + ): D extends "2d" ? LuaMultiReturn : number; + set(x: number, ...values: number[]): void; set(x: number, y: number, ...values: number[]): void; @@ -202,7 +223,13 @@ interface Userdata { convert(data_type: UserdataType, dest?: Userdata): Userdata; // Interpolation - lerp(offset?: number, len?: number, el_stride?: number, num_lerps?: number, lerp_stride?: number): Userdata; + lerp( + offset?: number, + len?: number, + el_stride?: number, + num_lerps?: number, + lerp_stride?: number + ): Userdata; // Sorting (2d only) sort(index?: number, descending?: boolean): void; @@ -212,8 +239,16 @@ interface Userdata { poke(addr: number, offset?: number, elements?: number): void; // Matrix/Vector operations (f64 only) - matmul(m: Userdata<"f64">, m_out?: Userdata<"f64">, batch_height?: number): Userdata<"f64">; - matmul3d(m: Userdata<"f64">, m_out?: Userdata<"f64">, batch_height?: number): Userdata<"f64">; + matmul( + m: Userdata<"f64">, + m_out?: Userdata<"f64">, + batch_height?: number + ): Userdata<"f64">; + matmul3d( + m: Userdata<"f64">, + m_out?: Userdata<"f64">, + batch_height?: number + ): Userdata<"f64">; transpose(m_out?: Userdata | true): Userdata; // Vector operations (f64 only) @@ -264,43 +299,179 @@ declare function fillp(pattern?: number): void; declare function pget(x: number, y: number): number; declare function pset(x: number, y: number, c?: number): void; declare function cursor(x?: number, y?: number, c?: number): void; -declare function print(text?: any, x?: number, y?: number, color?: number): number; -declare function line(x1: number, y1: number, x2?: number, y2?: number, color?: number): void; +declare function print( + text?: any, + x?: number, + y?: number, + color?: number +): number; +declare function line( + x1: number, + y1: number, + x2?: number, + y2?: number, + color?: number +): void; declare function line(userdata: Userdata): void; -declare function rect(x0: number, y0: number, x1: number, y1: number, c?: number): void; +declare function rect( + x0: number, + y0: number, + x1: number, + y1: number, + c?: number +): void; declare function rect(userdata: Userdata): void; -declare function rectfill(x0: number, y0: number, x1: number, y1: number, c?: number): void; +declare function rectfill( + x0: number, + y0: number, + x1: number, + y1: number, + c?: number +): void; declare function rectfill(userdata: Userdata): void; declare function circ(x: number, y: number, r: number, c?: number): void; declare function circfill(x: number, y: number, r: number, c?: number): void; declare function circfill(userdata: Userdata): void; -declare function oval(x: number, y: number, rx: number, ry: number, c?: number): void; -declare function ovalfill(x: number, y: number, rx: number, ry: number, c?: number): void; -declare function rrect(x: number, y: number, width: number, height: number, radius?: number, c?: number): void; -declare function rrectfill(x: number, y: number, width: number, height: number, radius?: number, c?: number): void; -declare function fget(n: number, f?: number): number | boolean; +declare function oval( + x: number, + y: number, + rx: number, + ry: number, + c?: number +): void; +declare function ovalfill( + x: number, + y: number, + rx: number, + ry: number, + c?: number +): void; +declare function rrect( + x: number, + y: number, + width: number, + height: number, + radius?: number, + c?: number +): void; +declare function rrectfill( + x: number, + y: number, + width: number, + height: number, + radius?: number, + c?: number +): void; +declare function fget(n: number): number; +declare function fget(n: number, f: number): boolean; declare function fset(n: number, f?: number, val?: boolean): void; declare function get_spr(index: number): Userdata<"u8">; declare function set_spr(index: number, ud: Userdata<"u8">): void; -declare function spr(sprite: number | Userdata, x: number, y: number, w?: number, h?: number, flip_x?: boolean, flip_y?: boolean): void; -declare function sspr(sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw?: number, dh?: number, flip_x?: boolean, flip_y?: boolean): void; +declare function spr( + sprite: number | Userdata, + x: number, + y: number, + flip_x?: boolean, + flip_y?: boolean +): void; +declare function sspr( + sx: number, + sy: number, + sw: number, + sh: number, + dx: number, + dy: number, + dw?: number, + dh?: number, + flip_x?: boolean, + flip_y?: boolean +): void; // ===================== // Map API // ===================== -declare function map(cel_x?: number, cel_y?: number, sx?: number, sy?: number, cel_w?: number, cel_h?: number, layer?: number): void; -declare function map(src: Userdata<"i16">, cel_x?: number, cel_y?: number, sx?: number, sy?: number, cel_w?: number, cel_h?: number, layer?: number, tile_w?: number, tile_h?: number): void; +declare function map( + cel_x?: number, + cel_y?: number, + sx?: number, + sy?: number, + cel_w?: number, + cel_h?: number, + layer?: number +): void; +declare function map( + src: Userdata<"i16">, + cel_x?: number, + cel_y?: number, + sx?: number, + sy?: number, + cel_w?: number, + cel_h?: number, + layer?: number, + tile_w?: number, + tile_h?: number +): void; declare function mget(cel_x: number, cel_y: number): number; -declare function mset(cel_x: number, cel_y: number, sprite_number: number): void; -declare function tline3d(src: number | Userdata<"u8"> | Userdata<"i16">, x0: number, y0: number, x1: number, y1: number, u0: number, v0: number, u1: number, v1: number, w0?: number, w1?: number, flags?: number): void; -declare function tline3d(x0: number, y0: number, x1: number, y1: number, u0: number, v0: number, u1: number, v1: number, w0?: number, w1?: number, flags?: number): void; +declare function mset( + cel_x: number, + cel_y: number, + sprite_number: number +): void; +declare function tline3d( + src: number | Userdata<"u8"> | Userdata<"i16">, + x0: number, + y0: number, + x1: number, + y1: number, + u0: number, + v0: number, + u1: number, + v1: number, + w0?: number, + w1?: number, + flags?: number +): void; +declare function tline3d( + x0: number, + y0: number, + x1: number, + y1: number, + u0: number, + v0: number, + u1: number, + v1: number, + w0?: number, + w1?: number, + flags?: number +): void; // ===================== // Audio API // ===================== -declare function sfx(id: number, channel?: number, offset?: number, length?: number, mix_volume?: number): void; -declare function music(id?: number, fade_len?: number, channel_mask?: number, base_addr?: number, tick_offset?: number): void; -declare function note(pitch?: number, inst?: number, vol?: number, effect?: number, effect_p?: number, channel?: number, retrig?: boolean, panning?: number): void; +declare function sfx( + id: number, + channel?: number, + offset?: number, + length?: number, + mix_volume?: number +): void; +declare function music( + id?: number, + fade_len?: number, + channel_mask?: number, + base_addr?: number, + tick_offset?: number +): void; +declare function note( + pitch?: number, + inst?: number, + vol?: number, + effect?: number, + effect_p?: number, + channel?: number, + retrig?: boolean, + panning?: number +): void; // ===================== // Input API @@ -311,17 +482,35 @@ declare function key(k?: string, raw?: boolean): boolean; declare function keyp(k?: string, raw?: boolean): boolean; declare function peektext(): boolean; declare function readtext(clear?: boolean): string; -declare function mouse(): LuaMultiReturn<[number, number, number, number, number]>; -declare function mouselock(lock: boolean, event_sensitivity?: number, move_sensitivity?: number): LuaMultiReturn<[number, number]>; +declare function mouse(): LuaMultiReturn< + [number, number, number, number, number] +>; +declare function mouselock( + lock: boolean, + event_sensitivity?: number, + move_sensitivity?: number +): LuaMultiReturn<[number, number]>; declare function input(prompt?: string, flags?: number): string | null; // ===================== // String API // ===================== declare function chr(...values: number[]): string; -declare function ord(str: string, index?: number, num_results?: number): number | LuaMultiReturn; -declare function sub(str: string, pos0: number, pos1?: number | boolean): string; -declare function split(str: string, delimiter?: string | number, convert_numbers?: boolean): string[]; +declare function ord( + str: string, + index?: number, + num_results?: number +): number | LuaMultiReturn; +declare function sub( + str: string, + pos0: number, + pos1?: number | boolean +): string; +declare function split( + str: string, + delimiter?: string | number, + convert_numbers?: boolean +): string[]; declare function type(val: any): string; declare function tostr(val: any, format?: string): string; declare function tonum(str: string): number | null; @@ -337,7 +526,9 @@ declare function deli(t: any[], index: number): any; declare function count(t: any[]): number; declare function all(t: any[]): () => any | undefined; declare function foreach(t: any[], fn: (item: any) => void): void; -declare function pairs(t: any): LuaMultiReturn<[(t: any, k?: any) => LuaMultiReturn<[any, any]>, any, any]>; +declare function pairs( + t: any +): LuaMultiReturn<[(t: any, k?: any) => LuaMultiReturn<[any, any]>, any, any]>; declare function next(t: any, k?: any): LuaMultiReturn<[any, any]>; // ===================== @@ -352,7 +543,10 @@ declare function fetch(path: string): any; // Files API // ===================== declare function store(filename: string, obj: any, metadata?: any): void; -declare function fetch(filename: string, options?: any): LuaMultiReturn<[any, any]>; +declare function fetch( + filename: string, + options?: any +): LuaMultiReturn<[any, any]>; declare function store_metadata(filename: string, metadata: any): void; declare function fetch_metadata(filename: string): any; declare function include(path: string): void; @@ -379,9 +573,18 @@ declare function stat(v: number, ...args: any[]): any; declare function env(): any; declare function time(): number; declare function t(): number; -declare function date(format?: string, t?: string | number, delta?: number): string; +declare function date( + format?: string, + t?: string | number, + delta?: number +): string; declare function exit(): void; -declare function printh(text: any, file_path?: string, overwrite?: boolean, terminal?: boolean): void; +declare function printh( + text: any, + file_path?: string, + overwrite?: boolean, + terminal?: boolean +): void; declare function error(description?: string): void; declare function assert(condition: any, message?: string): void; declare function get_clipboard(): string; @@ -389,13 +592,23 @@ declare function set_clipboard(text: string): void; declare function create_process(filename: string, ...args: any[]): number; declare function pid(): number; declare function signal(proc_id: number, signal: string): void; -declare function send_message(proc_id: number, msg: any, reply?: boolean | ((msg: any) => void)): any; -declare function on_event(event: string, func: (msg: any) => boolean | void): void; +declare function send_message( + proc_id: number, + msg: any, + reply?: boolean | ((msg: any) => void) +): any; +declare function on_event( + event: string, + func: (msg: any) => boolean | void +): void; // ===================== // Memory API // ===================== -declare function peek(addr: number, count?: number): number | LuaMultiReturn; +declare function peek( + addr: number, + count?: number +): number | LuaMultiReturn; declare function poke(addr: number, ...values: number[]): void; declare function peek2(addr: number): number; declare function poke2(addr: number, val: number): void; @@ -403,44 +616,108 @@ declare function peek4(addr: number): number; declare function poke4(addr: number, val: number): void; declare function peek8(addr: number): number; declare function poke8(addr: number, val: number): void; -declare function memcpy(dest_addr: number, src_addr: number, count: number): void; +declare function memcpy( + dest_addr: number, + src_addr: number, + count: number +): void; declare function memset(addr: number, value: number, count: number): void; -declare function reload(dest_addr: number, src_addr: number, count: number, filename?: string): void; +declare function reload( + dest_addr: number, + src_addr: number, + count: number, + filename?: string +): void; declare function memmap(ud: Userdata, addr: number): void; // ===================== // Userdata API // ===================== -declare function userdata(data_type: UserdataType, width: number, height?: number, data?: string): Userdata; -declare function userdata(gfx_string: string): Userdata<"u8">; -declare function vec(...values: number[]): Userdata<"f64">; -declare function get(u: Userdata | null | undefined, x: number, n?: number): LuaMultiReturn; -declare function get(u: Userdata | null | undefined, x: number, y: number, n?: number): LuaMultiReturn; -declare function set(u: Userdata | null | undefined, x: number, ...values: number[]): void; -declare function set(u: Userdata | null | undefined, x: number, y: number, ...values: number[]): void; -declare function blit(src?: Userdata, dest?: Userdata, src_x?: number, src_y?: number, dest_x?: number, dest_y?: number, width?: number, height?: number): void; -declare function matmul(m0: Userdata<"f64">, m1: Userdata<"f64">, m_out?: Userdata<"f64">, batch_height?: number): Userdata<"f64">; -declare function matmul3d(m0: Userdata<"f64">, m1: Userdata<"f64">, m_out?: Userdata<"f64">, batch_height?: number): Userdata<"f64">; +// 1D creation (width only) — allow specifying only D; T is inferred from first argument +declare function userdata< + D extends "1d" = "1d", + T extends UserdataType = UserdataType, +>(data_type: T, width: number, ...data: number[]): Userdata; +// 2D creation (width + height) — allow specifying only D; T is inferred from first argument +declare function userdata< + D extends "2d" = "2d", + T extends UserdataType = UserdataType, +>( + data_type: T, + width: number, + height: number, + ...data: number[] +): Userdata; +// GFX string always yields 2D u8 +declare function userdata(gfx_string: string): Userdata<"u8", "2d">; +// Vector helper produces 1D f64 +declare function vec(...values: number[]): Userdata<"f64", "1d">; +declare function get( + u: Userdata | null | undefined, + x: number, + n?: number +): LuaMultiReturn; +declare function get( + u: Userdata | null | undefined, + x: number, + y: number, + n?: number +): LuaMultiReturn; +declare function set( + u: Userdata | null | undefined, + x: number, + ...values: number[] +): void; +declare function set( + u: Userdata | null | undefined, + x: number, + y: number, + ...values: number[] +): void; +declare function blit( + src?: Userdata, + dest?: Userdata, + src_x?: number, + src_y?: number, + dest_x?: number, + dest_y?: number, + width?: number, + height?: number +): void; +declare function matmul( + m0: Userdata<"f64">, + m1: Userdata<"f64">, + m_out?: Userdata<"f64">, + batch_height?: number +): Userdata<"f64">; +declare function matmul3d( + m0: Userdata<"f64">, + m1: Userdata<"f64">, + m_out?: Userdata<"f64">, + batch_height?: number +): Userdata<"f64">; // ===================== // Window API // ===================== -declare function window(attributes?: Partial<{ - width: number - height: number - title: string - pauseable: boolean - tabbled: boolean - has_frame: boolean - resizeable: boolean - wallpapier: boolean - autoclose: boolean - z: number - cursor: 0 | 1 | Userdata - squashable: boolean - background_updates: boolean - background_draws: boolean -}>): any; +declare function window( + attributes?: Partial<{ + width: number; + height: number; + title: string; + pauseable: boolean; + tabbled: boolean; + has_frame: boolean; + resizeable: boolean; + wallpapier: boolean; + autoclose: boolean; + z: number; + cursor: 0 | 1 | Userdata; + squashable: boolean; + background_updates: boolean; + background_draws: boolean; + }> +): any; declare function window(width: number, height: number): any; declare function get_display(): Userdata<"u8">; declare function set_draw_target(ud?: Userdata<"u8">): void; @@ -455,7 +732,12 @@ interface UndoStack { undo(peek?: boolean): any; redo(peek?: boolean): any; } -declare function create_undo_stack(save: (item?: any) => any, load: (dat: any, item?: any) => void, pod_flags?: number, item?: any): UndoStack; +declare function create_undo_stack( + save: (item?: any) => any, + load: (dat: any, item?: any) => void, + pod_flags?: number, + item?: any +): UndoStack; // ===================== // Sockets @@ -464,7 +746,12 @@ interface Socket { read(): string | LuaMultiReturn<[null, string]>; write(str: string): number | LuaMultiReturn<[null, string]>; close(): void; - status(): "ready" | "listening" | "closed" | "closed by peer" | "disconnected"; + status(): + | "ready" + | "listening" + | "closed" + | "closed by peer" + | "disconnected"; accept(): Socket | null; } declare function socket(addr: string): Socket | null; diff --git a/package.json b/package.json index 56f3253..6e789ff 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,21 @@ { "scripts": { - "build": "tstl", - "dev": "tstl --watch" + "check": "tsc -noEmit -skipLibCheck && madge -c src/main.ts", + "build": "pnpm check && tstl", + "dev": "pnpm check && tstl --watch" }, "devDependencies": { "@typescript-to-lua/language-extensions": "^1.19.0", + "madge": "^8.0.0", "prettier": "^3.7.0", "typescript": "^5.9.3", "typescript-to-lua": "^1.33.0" + }, + "madge": { + "detectiveOptions": { + "ts": { + "skipTypeImports": true + } + } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 181b592..58f8951 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@typescript-to-lua/language-extensions': specifier: ^1.19.0 version: 1.19.0 + madge: + specifier: ^8.0.0 + version: 8.0.0(typescript@5.9.3) prettier: specifier: ^3.7.0 version: 3.7.4 @@ -23,48 +26,562 @@ importers: packages: + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@dependents/detective-less@5.0.1': + resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==} + engines: {node: '>=18'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@ts-graphviz/adapter@2.0.6': + resolution: {integrity: sha512-kJ10lIMSWMJkLkkCG5gt927SnGZcBuG0s0HHswGzcHTgvtUe7yk5/3zTEr0bafzsodsOq5Gi6FhQeV775nC35Q==} + engines: {node: '>=18'} + + '@ts-graphviz/ast@2.0.7': + resolution: {integrity: sha512-e6+2qtNV99UT6DJSoLbHfkzfyqY84aIuoV8Xlb9+hZAjgpum8iVHprGeAMQ4rF6sKUAxrmY8rfF/vgAwoPc3gw==} + engines: {node: '>=18'} + + '@ts-graphviz/common@2.1.5': + resolution: {integrity: sha512-S6/9+T6x8j6cr/gNhp+U2olwo1n0jKj/682QVqsh7yXWV6ednHYqxFw0ZsY3LyzT0N8jaZ6jQY9YD99le3cmvg==} + engines: {node: '>=18'} + + '@ts-graphviz/core@2.0.7': + resolution: {integrity: sha512-w071DSzP94YfN6XiWhOxnLpYT3uqtxJBDYdh6Jdjzt+Ce6DNspJsPQgpC7rbts/B8tEkq0LHoYuIF/O5Jh5rPg==} + engines: {node: '>=18'} + + '@typescript-eslint/project-service@8.50.1': + resolution: {integrity: sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/tsconfig-utils@8.50.1': + resolution: {integrity: sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.50.1': + resolution: {integrity: sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.50.1': + resolution: {integrity: sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.50.1': + resolution: {integrity: sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-to-lua/language-extensions@1.19.0': resolution: {integrity: sha512-Os5wOKwviTD4LeqI29N0btYOjokSJ97iCf45EOjIABlb5IwNQy7AE/AqZJobRw3ywHH8+KzJUMkEirWPzh2tUA==} + '@vue/compiler-core@3.5.26': + resolution: {integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==} + + '@vue/compiler-dom@3.5.26': + resolution: {integrity: sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==} + + '@vue/compiler-sfc@3.5.26': + resolution: {integrity: sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==} + + '@vue/compiler-ssr@3.5.26': + resolution: {integrity: sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==} + + '@vue/shared@3.5.26': + resolution: {integrity: sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + app-module-path@2.2.0: + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + + ast-module-types@6.0.1: + resolution: {integrity: sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==} + engines: {node: '>=18'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + dependency-tree@11.2.0: + resolution: {integrity: sha512-+C1H3mXhcvMCeu5i2Jpg9dc0N29TWTuT6vJD7mHLAfVmAbo9zW8NlkvQ1tYd3PDMab0IRQM0ccoyX68EZtx9xw==} + engines: {node: '>=18'} + hasBin: true + + detective-amd@6.0.1: + resolution: {integrity: sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==} + engines: {node: '>=18'} + hasBin: true + + detective-cjs@6.0.1: + resolution: {integrity: sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==} + engines: {node: '>=18'} + + detective-es6@5.0.1: + resolution: {integrity: sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==} + engines: {node: '>=18'} + + detective-postcss@7.0.1: + resolution: {integrity: sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==} + engines: {node: ^14.0.0 || >=16.0.0} + peerDependencies: + postcss: ^8.4.47 + + detective-sass@6.0.1: + resolution: {integrity: sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==} + engines: {node: '>=18'} + + detective-scss@5.0.1: + resolution: {integrity: sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==} + engines: {node: '>=18'} + + detective-stylus@5.0.1: + resolution: {integrity: sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==} + engines: {node: '>=18'} + + detective-typescript@14.0.0: + resolution: {integrity: sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==} + engines: {node: '>=18'} + peerDependencies: + typescript: ^5.4.4 + + detective-vue2@2.2.0: + resolution: {integrity: sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==} + engines: {node: '>=18'} + peerDependencies: + typescript: ^5.4.4 + + enhanced-resolve@5.18.4: + resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} + engines: {node: '>=10.13.0'} + enhanced-resolve@5.8.2: resolution: {integrity: sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==} engines: {node: '>=10.13.0'} + entities@7.0.0: + resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} + engines: {node: '>=0.12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + filing-cabinet@5.0.3: + resolution: {integrity: sha512-PlPcMwVWg60NQkhvfoxZs4wEHjhlOO/y7OAm4sKM60o1Z9nttRY4mcdQxp/iZ+kg/Vv6Hw1OAaTbYVM9DA9pYg==} + engines: {node: '>=18'} + hasBin: true + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + get-amd-module-type@6.0.1: + resolution: {integrity: sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==} + engines: {node: '>=18'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-url-superb@4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + madge@8.0.0: + resolution: {integrity: sha512-9sSsi3TBPhmkTCIpVQF0SPiChj1L7Rq9kU2KDG1o6v2XH9cCw086MopjVCD+vuoL5v8S77DTbVopTO8OUiQpIw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + typescript: ^5.4.4 + peerDependenciesMeta: + typescript: + optional: true + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + module-definition@6.0.1: + resolution: {integrity: sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==} + engines: {node: '>=18'} + hasBin: true + + module-lookup-amd@9.0.5: + resolution: {integrity: sha512-Rs5FVpVcBYRHPLuhHOjgbRhosaQYLtEo3JIeDIbmNo7mSssi1CTzwMh8v36gAzpbzLGXI9wB/yHh+5+3fY1QVw==} + engines: {node: '>=18'} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + node-source-walk@7.0.1: + resolution: {integrity: sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==} + engines: {node: '>=18'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postcss-values-parser@6.0.2: + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.2.9 + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + precinct@12.2.0: + resolution: {integrity: sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==} + engines: {node: '>=18'} + hasBin: true + prettier@3.7.4: resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} engines: {node: '>=14'} hasBin: true + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + + quote-unquote@1.0.0: + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + requirejs-config-file@4.0.0: + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} + + requirejs@2.3.8: + resolution: {integrity: sha512-7/cTSLOdYkNBNJcDMWf+luFvMriVm7eYxp4BcFCsAX0wF421Vyce5SXP17c+Jd5otXKGNehIonFlyQXSowL6Mw==} + engines: {node: '>=0.4.0'} + hasBin: true + + resolve-dependency-path@4.0.1: + resolution: {integrity: sha512-YQftIIC4vzO9UMhO/sCgXukNyiwVRCVaxiWskCBy7Zpqkplm8kTAISZ8O1MoKW1ca6xzgLUBjZTcDgypXvXxiQ==} + engines: {node: '>=18'} + resolve@1.22.11: resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} hasBin: true + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + sass-lookup@6.1.0: + resolution: {integrity: sha512-Zx+lVyoWqXZxHuYWlTA17Z5sczJ6braNT2C7rmClw+c4E7r/n911Zwss3h1uHI9reR5AgHZyNHF7c2+VIp5AUA==} + engines: {node: '>=18'} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + source-map@0.7.6: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} + stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + stylus-lookup@6.1.0: + resolution: {integrity: sha512-5QSwgxAzXPMN+yugy61C60PhoANdItfdjSEZR8siFwz7yL9jTmV0UBKDCfn3K8GkGB4g0Y9py7vTCX8rFu4/pQ==} + engines: {node: '>=18'} + hasBin: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -73,6 +590,24 @@ packages: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + ts-api-utils@2.2.0: + resolution: {integrity: sha512-L6f5oQRAoLU1RwXz0Ab9mxsE7LtxeVB6AIR1lpkZMsOyg/JXeaxBaXa/FVCBZyNr9S9I4wkHrlZTklX+im+WMw==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-graphviz@2.1.6: + resolution: {integrity: sha512-XyLVuhBVvdJTJr2FJJV2L1pc4MwSjMhcunRVgDE9k4wbb2ee7ORYnPewxMWUav12vxyfUM686MSGsqnVRIInuw==} + engines: {node: '>=18'} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + typescript-to-lua@1.33.0: resolution: {integrity: sha512-fFJjP2iJ3NFOSQzAvmFOf8MCsaev531YWYAA9N+RJO/XRV0Moewq+zY7Rg5hFlMFxAJpqrk7E8nb7QcwxCy3XQ==} engines: {node: '>=16.10.0'} @@ -85,45 +620,614 @@ packages: engines: {node: '>=14.17'} hasBin: true + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + walkdir@0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + snapshots: + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@dependents/detective-less@5.0.1': + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 7.0.1 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@ts-graphviz/adapter@2.0.6': + dependencies: + '@ts-graphviz/common': 2.1.5 + + '@ts-graphviz/ast@2.0.7': + dependencies: + '@ts-graphviz/common': 2.1.5 + + '@ts-graphviz/common@2.1.5': {} + + '@ts-graphviz/core@2.0.7': + dependencies: + '@ts-graphviz/ast': 2.0.7 + '@ts-graphviz/common': 2.1.5 + + '@typescript-eslint/project-service@8.50.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.50.1(typescript@5.9.3) + '@typescript-eslint/types': 8.50.1 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/tsconfig-utils@8.50.1(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/types@8.50.1': {} + + '@typescript-eslint/typescript-estree@8.50.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.50.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.50.1(typescript@5.9.3) + '@typescript-eslint/types': 8.50.1 + '@typescript-eslint/visitor-keys': 8.50.1 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.2.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.50.1': + dependencies: + '@typescript-eslint/types': 8.50.1 + eslint-visitor-keys: 4.2.1 + '@typescript-to-lua/language-extensions@1.19.0': {} + '@vue/compiler-core@3.5.26': + dependencies: + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.26 + entities: 7.0.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.26': + dependencies: + '@vue/compiler-core': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/compiler-sfc@3.5.26': + dependencies: + '@babel/parser': 7.28.5 + '@vue/compiler-core': 3.5.26 + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.26': + dependencies: + '@vue/compiler-dom': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/shared@3.5.26': {} + + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + any-promise@1.3.0: {} + + app-module-path@2.2.0: {} + + ast-module-types@6.0.1: {} + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + clone@1.0.4: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@12.1.0: {} + + commander@7.2.0: {} + + commondir@1.0.1: {} + + concat-map@0.0.1: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-extend@0.6.0: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + dependency-tree@11.2.0: + dependencies: + commander: 12.1.0 + filing-cabinet: 5.0.3 + precinct: 12.2.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + detective-amd@6.0.1: + dependencies: + ast-module-types: 6.0.1 + escodegen: 2.1.0 + get-amd-module-type: 6.0.1 + node-source-walk: 7.0.1 + + detective-cjs@6.0.1: + dependencies: + ast-module-types: 6.0.1 + node-source-walk: 7.0.1 + + detective-es6@5.0.1: + dependencies: + node-source-walk: 7.0.1 + + detective-postcss@7.0.1(postcss@8.5.6): + dependencies: + is-url: 1.2.4 + postcss: 8.5.6 + postcss-values-parser: 6.0.2(postcss@8.5.6) + + detective-sass@6.0.1: + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 7.0.1 + + detective-scss@5.0.1: + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 7.0.1 + + detective-stylus@5.0.1: {} + + detective-typescript@14.0.0(typescript@5.9.3): + dependencies: + '@typescript-eslint/typescript-estree': 8.50.1(typescript@5.9.3) + ast-module-types: 6.0.1 + node-source-walk: 7.0.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + detective-vue2@2.2.0(typescript@5.9.3): + dependencies: + '@dependents/detective-less': 5.0.1 + '@vue/compiler-sfc': 3.5.26 + detective-es6: 5.0.1 + detective-sass: 6.0.1 + detective-scss: 5.0.1 + detective-stylus: 5.0.1 + detective-typescript: 14.0.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + enhanced-resolve@5.18.4: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + enhanced-resolve@5.8.2: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 + entities@7.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-visitor-keys@4.2.1: {} + + esprima@4.0.1: {} + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + filing-cabinet@5.0.3: + dependencies: + app-module-path: 2.2.0 + commander: 12.1.0 + enhanced-resolve: 5.18.4 + module-definition: 6.0.1 + module-lookup-amd: 9.0.5 + resolve: 1.22.11 + resolve-dependency-path: 4.0.1 + sass-lookup: 6.1.0 + stylus-lookup: 6.1.0 + tsconfig-paths: 4.2.0 + typescript: 5.9.3 + + fs.realpath@1.0.0: {} + function-bind@1.1.2: {} + get-amd-module-type@6.0.1: + dependencies: + ast-module-types: 6.0.1 + node-source-walk: 7.0.1 + + get-own-enumerable-property-symbols@3.0.2: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + gonzales-pe@4.3.0: + dependencies: + minimist: 1.2.8 + graceful-fs@4.2.11: {} + has-flag@4.0.0: {} + hasown@2.0.2: dependencies: function-bind: 1.1.2 + ieee754@1.2.1: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + is-core-module@2.16.1: dependencies: hasown: 2.0.2 + is-interactive@1.0.0: {} + + is-obj@1.0.1: {} + + is-regexp@1.0.0: {} + + is-unicode-supported@0.1.0: {} + + is-url-superb@4.0.0: {} + + is-url@1.2.4: {} + + json5@2.2.3: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + madge@8.0.0(typescript@5.9.3): + dependencies: + chalk: 4.1.2 + commander: 7.2.0 + commondir: 1.0.1 + debug: 4.4.3 + dependency-tree: 11.2.0 + ora: 5.4.1 + pluralize: 8.0.0 + pretty-ms: 7.0.1 + rc: 1.2.8 + stream-to-array: 2.3.0 + ts-graphviz: 2.1.6 + walkdir: 0.4.1 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + module-definition@6.0.1: + dependencies: + ast-module-types: 6.0.1 + node-source-walk: 7.0.1 + + module-lookup-amd@9.0.5: + dependencies: + commander: 12.1.0 + glob: 7.2.3 + requirejs: 2.3.8 + requirejs-config-file: 4.0.0 + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + node-source-walk@7.0.1: + dependencies: + '@babel/parser': 7.28.5 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + parse-ms@2.1.0: {} + + path-is-absolute@1.0.1: {} + path-parse@1.0.7: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} + picomatch@4.0.3: {} + + pluralize@8.0.0: {} + + postcss-values-parser@6.0.2(postcss@8.5.6): + dependencies: + color-name: 1.1.4 + is-url-superb: 4.0.0 + postcss: 8.5.6 + quote-unquote: 1.0.0 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + precinct@12.2.0: + dependencies: + '@dependents/detective-less': 5.0.1 + commander: 12.1.0 + detective-amd: 6.0.1 + detective-cjs: 6.0.1 + detective-es6: 5.0.1 + detective-postcss: 7.0.1(postcss@8.5.6) + detective-sass: 6.0.1 + detective-scss: 5.0.1 + detective-stylus: 5.0.1 + detective-typescript: 14.0.0(typescript@5.9.3) + detective-vue2: 2.2.0(typescript@5.9.3) + module-definition: 6.0.1 + node-source-walk: 7.0.1 + postcss: 8.5.6 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + prettier@3.7.4: {} + pretty-ms@7.0.1: + dependencies: + parse-ms: 2.1.0 + + quote-unquote@1.0.0: {} + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + requirejs-config-file@4.0.0: + dependencies: + esprima: 4.0.1 + stringify-object: 3.3.0 + + requirejs@2.3.8: {} + + resolve-dependency-path@4.0.1: {} + resolve@1.22.11: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + safe-buffer@5.2.1: {} + + sass-lookup@6.1.0: + dependencies: + commander: 12.1.0 + enhanced-resolve: 5.18.4 + + semver@7.7.3: {} + + signal-exit@3.0.7: {} + + source-map-js@1.2.1: {} + + source-map@0.6.1: + optional: true + source-map@0.7.6: {} + stream-to-array@2.3.0: + dependencies: + any-promise: 1.3.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-bom@3.0.0: {} + + strip-json-comments@2.0.1: {} + + stylus-lookup@6.1.0: + dependencies: + commander: 12.1.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} tapable@2.3.0: {} + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + ts-api-utils@2.2.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-graphviz@2.1.6: + dependencies: + '@ts-graphviz/adapter': 2.0.6 + '@ts-graphviz/ast': 2.0.7 + '@ts-graphviz/common': 2.1.5 + '@ts-graphviz/core': 2.0.7 + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + typescript-to-lua@1.33.0(typescript@5.9.3): dependencies: '@typescript-to-lua/language-extensions': 1.19.0 @@ -134,3 +1238,13 @@ snapshots: typescript: 5.9.3 typescript@5.9.3: {} + + util-deprecate@1.0.2: {} + + walkdir@0.4.1: {} + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + wrappy@1.0.2: {}