├── bans.json ├── .npmrc ├── samp-node.json ├── .vscode ├── extensions.json ├── settings.json ├── i18n-ally-custom-framework.yml └── launch.json ├── .husky └── pre-commit ├── .editorconfig ├── gamemodes ├── polyfill.amx ├── polyfill_cef.amx ├── .gitignore ├── polyfill_raknet.amx ├── polyfill_raknet_cef.amx ├── polyfill.pwn ├── polyfill │ ├── common.inc │ ├── gps.inc │ ├── i18n.inc │ ├── cef.inc │ └── raknet.inc ├── polyfill_cef.pwn ├── polyfill_raknet.pwn └── polyfill_raknet_cef.pwn ├── src ├── commands │ ├── index.ts │ ├── race.ts │ ├── login.ts │ ├── help.ts │ └── settings.ts ├── enums │ ├── language.ts │ └── color.ts ├── controller │ ├── pickup │ │ └── index.ts │ └── player │ │ └── index.ts ├── i18n │ ├── index.ts │ └── locales │ │ ├── zh-CN.json │ │ └── en-US.json ├── main.ts ├── logger │ └── index.ts └── dialogs │ └── language.ts ├── infernus.json ├── .gitignore ├── infernus-lock.json ├── eslint.config.mjs ├── tsconfig.json ├── rslib.config.ts ├── readme.md ├── LICENSE ├── package.json ├── config.json └── pnpm-lock.yaml /bans.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | arch=ia32 2 | target_arch=ia32 -------------------------------------------------------------------------------- /samp-node.json: -------------------------------------------------------------------------------- 1 | { 2 | "entry_file": "dist/bundle.js" 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["lokalise.i18n-ally"] 3 | } 4 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | pnpm lint -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset = utf-8 3 | end_of_line = lf 4 | indent_style = space 5 | indent_size = 2 6 | -------------------------------------------------------------------------------- /gamemodes/polyfill.amx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockfries/infernus-starter/HEAD/gamemodes/polyfill.amx -------------------------------------------------------------------------------- /gamemodes/polyfill_cef.amx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockfries/infernus-starter/HEAD/gamemodes/polyfill_cef.amx -------------------------------------------------------------------------------- /gamemodes/.gitignore: -------------------------------------------------------------------------------- 1 | *.xml 2 | derby.amx 3 | derby.pwn 4 | gungame.amx 5 | gungame.pwn 6 | simpletdm.amx 7 | simpletdm.pwn -------------------------------------------------------------------------------- /gamemodes/polyfill_raknet.amx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockfries/infernus-starter/HEAD/gamemodes/polyfill_raknet.amx -------------------------------------------------------------------------------- /gamemodes/polyfill_raknet_cef.amx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dockfries/infernus-starter/HEAD/gamemodes/polyfill_raknet_cef.amx -------------------------------------------------------------------------------- /src/commands/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./help"; 2 | export * from "./login"; 3 | export * from "./race"; 4 | export * from "./settings"; 5 | -------------------------------------------------------------------------------- /gamemodes/polyfill.pwn: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include 5 | 6 | #include 7 | 8 | main(){} -------------------------------------------------------------------------------- /gamemodes/polyfill/common.inc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | public bool:_polyfill_is_gamemode = true; 4 | #pragma unused _polyfill_is_gamemode -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "i18n-ally.localesPaths": ["src/i18n/locales"], 3 | "i18n-ally.extract.autoDetect": false, 4 | "i18n-ally.keystyle": "nested" 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/i18n-ally-custom-framework.yml: -------------------------------------------------------------------------------- 1 | languageIds: 2 | - javascript 3 | - typescript 4 | 5 | usageMatchRegex: 6 | - '[^\w\d]\$t\([''"`]({key})[''"`]' 7 | 8 | monopoly: true 9 | -------------------------------------------------------------------------------- /infernus.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "dockfries/samp-node": "^2.6.1", 4 | "samp-incognito/samp-streamer-plugin": "^2.9.6", 5 | "openmultiplayer/open.mp": "^1.5.8" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /gamemodes/polyfill_cef.pwn: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | main(){} -------------------------------------------------------------------------------- /src/enums/language.ts: -------------------------------------------------------------------------------- 1 | export enum LanguageEnum { 2 | Chinese = "zh_CN", 3 | English = "en_US", 4 | } 5 | 6 | export enum CharsetEnum { 7 | Chinese = "gbk", 8 | English = "ISO-8859-1", 9 | } 10 | -------------------------------------------------------------------------------- /gamemodes/polyfill_raknet.pwn: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | main(){} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist 4 | components 5 | npcmodes 6 | filterscripts 7 | plugins 8 | qawno 9 | include 10 | logs 11 | .rslib 12 | log.txt 13 | *.exe 14 | *.dll 15 | *.log 16 | *.dmp 17 | *.pdb 18 | *.so 19 | -------------------------------------------------------------------------------- /src/enums/color.ts: -------------------------------------------------------------------------------- 1 | export enum ColorEnum { 2 | PrimaryBlue = "(11, 162, 255, 1)", // rgba 3 | Warn = "(255, 255, 0)", // rgb 4 | Danger = "#f00", // hex hash 5 | White = "0xffffffff", // hex number 6 | WhiteNumber = 0xffffffff, // ditto 7 | } 8 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "Debugger", 5 | "port": 9229, 6 | "request": "attach", 7 | "skipFiles": [ 8 | "/**" 9 | ], 10 | "type": "node" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /gamemodes/polyfill_raknet_cef.pwn: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | 14 | main(){} -------------------------------------------------------------------------------- /infernus-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "lockfileVersion": 1, 3 | "dependencies": { 4 | "openmultiplayer/open.mp": { 5 | "version": "v1.5.8.3079" 6 | }, 7 | "dockfries/samp-node": { 8 | "version": "2.6.1", 9 | "component": false 10 | }, 11 | "samp-incognito/samp-streamer-plugin": { 12 | "version": "v2.9.6", 13 | "component": false 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /gamemodes/polyfill/gps.inc: -------------------------------------------------------------------------------- 1 | forward OnFindPathAsync(Path: path, task); 2 | public OnFindPathAsync(Path: path, task) 3 | { 4 | return SAMPNode_CallEvent("OnFindPathResponse", _:path, task); 5 | } 6 | 7 | forward FindPathAsync(MapNode: start, MapNode: target, task); 8 | public FindPathAsync(MapNode: start, MapNode: target, task) 9 | { 10 | return FindPathThreaded(start, target, "OnFindPathAsync", "i", task); 11 | } -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import globals from "globals"; 2 | import pluginJs from "@eslint/js"; 3 | import tseslint from "typescript-eslint"; 4 | 5 | /** @type {import('eslint').Linter.Config[]} */ 6 | export default [ 7 | { files: ["**/*.{js,mjs,cjs,ts}"] }, 8 | { 9 | ignores: ["dist"], 10 | }, 11 | { languageOptions: { globals: globals.node } }, 12 | pluginJs.configs.recommended, 13 | ...tseslint.configs.recommended, 14 | ]; 15 | -------------------------------------------------------------------------------- /src/commands/race.ts: -------------------------------------------------------------------------------- 1 | import { ColorEnum } from "@/enums/color"; 2 | import { $t } from "@/i18n"; 3 | import { PlayerEvent } from "@infernus/core"; 4 | 5 | PlayerEvent.onCommandText("race", ({ player, subcommand, next }) => { 6 | // subcommand command, means like /race s 7 | if (subcommand[0] === "s") { 8 | player.sendClientMessage( 9 | ColorEnum.White, 10 | $t("command.next", [subcommand.toString()], player.locale) 11 | ); 12 | return next(); 13 | } 14 | return false; 15 | }); 16 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./", 4 | "esModuleInterop": true, 5 | "forceConsistentCasingInFileNames": true, 6 | "module": "esnext", 7 | "moduleResolution": "node", 8 | "outDir": "dist", 9 | "paths": { 10 | "@/*": ["src/*"] 11 | }, 12 | "resolveJsonModule": true, 13 | "skipLibCheck": true, 14 | "strict": true, 15 | "target": "esnext", 16 | "types": ["@infernus/types", "@types/node"] 17 | }, 18 | "exclude": ["node_modules"], 19 | "include": ["src/**/*.ts"] 20 | } 21 | -------------------------------------------------------------------------------- /src/controller/pickup/index.ts: -------------------------------------------------------------------------------- 1 | import { ColorEnum } from "@/enums/color"; 2 | import { DynamicPickup, DynamicPickupEvent } from "@infernus/core"; 3 | 4 | const cone = new DynamicPickup({ 5 | modelId: 19135, 6 | type: 1, 7 | x: 1536.8569, 8 | y: -1688.5819, 9 | z: 13.5469, 10 | streamDistance: 20, 11 | worldId: 0, 12 | interiorId: 0, 13 | }); 14 | 15 | DynamicPickupEvent.onPlayerPickUp(({ player, pickup }) => { 16 | if (pickup.id === cone.id) { 17 | player.sendClientMessage( 18 | ColorEnum.WhiteNumber, 19 | `You touched a cone, id: ${pickup.id}` 20 | ); 21 | } 22 | return true; 23 | }); 24 | 25 | export { cone }; 26 | -------------------------------------------------------------------------------- /src/commands/login.ts: -------------------------------------------------------------------------------- 1 | import { ColorEnum } from "@/enums/color"; 2 | import { $t } from "@/i18n"; 3 | import { PlayerEvent } from "@infernus/core"; 4 | 5 | PlayerEvent.onCommandText( 6 | ["r", "reg", "register"], 7 | ({ player, subcommand, next }) => { 8 | player.sendClientMessage( 9 | ColorEnum.White, 10 | $t("command.reg", [subcommand], player.locale) 11 | ); 12 | return next(); 13 | } 14 | ); 15 | 16 | PlayerEvent.onCommandText(["l", "login"], ({ player, subcommand, next }) => { 17 | player.sendClientMessage( 18 | ColorEnum.White, 19 | $t("command.login", [subcommand], player.locale) 20 | ); 21 | return next(); 22 | }); 23 | -------------------------------------------------------------------------------- /src/commands/help.ts: -------------------------------------------------------------------------------- 1 | import { $t } from "@/i18n"; 2 | import { logger } from "@/logger"; 3 | import { Dialog, DialogStylesEnum, PlayerEvent } from "@infernus/core"; 4 | 5 | // middleware supports async callbacks, but it doesn't care about the return value, whether you return true/false/next () 6 | PlayerEvent.onCommandText("help", async ({ player, next }) => { 7 | const res = await new Dialog({ 8 | style: DialogStylesEnum.MSGBOX, 9 | caption: $t("dialog.help.caption", null, player.locale), 10 | info: $t("dialog.help.info", null, player.locale), 11 | button1: $t("dialog.help.button1", null, player.locale), 12 | }).show(player); 13 | 14 | logger.info(res); 15 | return next(); 16 | }); 17 | -------------------------------------------------------------------------------- /src/commands/settings.ts: -------------------------------------------------------------------------------- 1 | import { chooseLanguage } from "@/dialogs/language"; 2 | import { ColorEnum } from "@/enums/color"; 3 | import { $t } from "@/i18n"; 4 | import { PlayerEvent } from "@infernus/core"; 5 | 6 | PlayerEvent.onCommandText(["language", "lang"], ({ player, next }) => { 7 | chooseLanguage(player); 8 | return next(); 9 | }); 10 | 11 | PlayerEvent.onCommandText("isOfficial", ({ player, next }) => { 12 | const isOfficial = player.isUsingOfficialClient(); 13 | player.sendClientMessage( 14 | ColorEnum.White, 15 | $t( 16 | isOfficial ? "command.official.yes" : "command.official.no", 17 | null, 18 | player.locale 19 | ) 20 | ); 21 | return next(); 22 | }); 23 | -------------------------------------------------------------------------------- /rslib.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "@rslib/core"; 2 | 3 | const isDev = process.env.NODE_ENV === "development"; 4 | 5 | export default defineConfig({ 6 | lib: [ 7 | { 8 | source: { 9 | entry: { 10 | bundle: "./src/main.ts", 11 | }, 12 | }, 13 | banner: { 14 | js: isDev ? `import "source-map-support/register.js"` : "", 15 | }, 16 | }, 17 | ], 18 | output: { 19 | cleanDistPath: !isDev, 20 | target: "node", 21 | sourceMap: isDev, 22 | minify: !isDev, 23 | }, 24 | tools: { 25 | rspack: { 26 | output: { 27 | devtoolModuleFilenameTemplate: "[absolute-resource-path]", 28 | }, 29 | }, 30 | }, 31 | }); 32 | -------------------------------------------------------------------------------- /src/i18n/index.ts: -------------------------------------------------------------------------------- 1 | import { LanguageEnum } from "@/enums/language"; 2 | import { I18n, TLocales } from "@infernus/core"; 3 | import zh_cn from "./locales/zh-CN.json"; 4 | import en_us from "./locales/en-US.json"; 5 | 6 | export const locales: TLocales = { 7 | [LanguageEnum.Chinese]: zh_cn, 8 | [LanguageEnum.English]: en_us, 9 | }; 10 | 11 | export const localesTitle = { 12 | [LanguageEnum.Chinese]: { 13 | [LanguageEnum.Chinese]: "简体中文(中国)", 14 | [LanguageEnum.English]: "Simplified Chinese(China)", 15 | }, 16 | [LanguageEnum.English]: { 17 | [LanguageEnum.Chinese]: "英文(美国)", 18 | [LanguageEnum.English]: "English(United States)", 19 | }, 20 | }; 21 | export const { $t } = new I18n(LanguageEnum.English, locales); 22 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | A very simple [omp server](https://github.com/openmultiplayer/open.mp/releases) template that based on [samp-node](https://github.com/dockfries/samp-node) and uses the library [@infernus/core](https://github.com/dockfries/infernus) 4 | 5 | [📚 **Documentation**](https://dockfries.github.io/infernus/quick-start.html) 6 | 7 | ## Notice 8 | 9 | - [Why does crash the first time you run it?](https://github.com/dockfries/infernus-starter/issues/12) 10 | - `samp-node` plugin should be executed after other plugins, see `config.json -> pawn.legacy_plugins` 11 | 12 | ## Credits 13 | 14 | - [openmultiplayer](https://github.com/openmultiplayer/open.mp) 15 | - [samp-node](https://github.com/AmyrAhmady/samp-node) 16 | - [samp-node-lib](https://github.com/peterszombati/samp-node-lib) 17 | - [@sa-mp/node](https://github.com/samp-dev/node) 18 | 19 | ## License 20 | 21 | [MIT](./LICENSE) License © 2022-PRESENT Carl You 22 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { logger } from "./logger"; 2 | 3 | import { GameMode } from "@infernus/core"; 4 | import { $t } from "./i18n"; 5 | import { cone } from "./controller/pickup"; 6 | import "./controller/player"; 7 | import "./commands"; 8 | 9 | GameMode.onInit(({ next }) => { 10 | cone.create(); 11 | logger.info($t("server.running")); 12 | return next(); 13 | }); 14 | 15 | GameMode.onExit(({ next }) => { 16 | logger.info($t("server.exit")); 17 | return next(); 18 | }); 19 | 20 | GameMode.onIncomingConnection(({ next, playerId, ipAddress, port }) => { 21 | logger.info($t("server.incoming", [playerId, ipAddress, port])); 22 | return next(); 23 | }); 24 | 25 | GameMode.onRconCommand(({ cmd, next }) => { 26 | logger.info($t("server.rcon.command", [cmd])); 27 | return next(); 28 | }); 29 | 30 | GameMode.onRconLoginAttempt(({ ip, password, success, next }) => { 31 | logger.info($t("server.rcon.attempt", [ip, password, success])); 32 | return next(); 33 | }); 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022-PRESENT Carl You 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/i18n/locales/zh-CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": { 3 | "running": "成功运行由 node.js 强力驱动的 omp 服务器", 4 | "exit": "游戏模式 退出", 5 | "incoming": "传入连接: %s - %s : %s", 6 | "rcon": { 7 | "command": "远程控制台: 使用了命令 %s", 8 | "attempt": "远程控制台: 登录尝试 - %s %s %s" 9 | } 10 | }, 11 | "command": { 12 | "next": "你输入的下一个参数是 %s", 13 | "official": { 14 | "yes": "服务器: 你正在使用官方客户端", 15 | "no": "服务器: 你使用的是非官方客户端" 16 | }, 17 | "reg": "服务器: 这是一个注册案例 %s", 18 | "login": "服务器: 这是一个登录案例 %s", 19 | "error": "服务器: 无效的命令 %s, 错误码: %s, 信息: %s" 20 | }, 21 | "dialog": { 22 | "help": { 23 | "caption": "帮助", 24 | "info": "你可以使用以下命令:xxx", 25 | "button1": "关闭" 26 | }, 27 | "lang": { 28 | "change": "您将语言更换为 %s,可以通过 /language 再次修改语言。" 29 | } 30 | }, 31 | "player": { 32 | "hello": "服务器: 你好 %s", 33 | "version": "服务器: 你的版本是 %s", 34 | "ip": "服务器: 你的ip是 %s", 35 | "ping": "服务器: 你的ping值 %s", 36 | "rawIp": "服务器: 你的网络字节序是 %s", 37 | "disconnect": "服务器: 玩家 %s 与服务器断开连接,因为: %s", 38 | "keyStateChange": "%s 按键状态改变 %s %s - %s", 39 | "pause": "%s 暂停了游戏 %s", 40 | "resume": "%s 暂停了 %s 毫秒" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/logger/index.ts: -------------------------------------------------------------------------------- 1 | import process from "node:process"; 2 | import winston from "winston"; 3 | 4 | export const logger = winston.createLogger({ 5 | format: winston.format.combine( 6 | winston.format.timestamp({ 7 | format: "YYYY-MM-DD HH:mm:ss", 8 | }), 9 | winston.format.errors({ stack: true }), 10 | winston.format.json() 11 | ), 12 | transports: [ 13 | new winston.transports.File({ 14 | dirname: "logs", 15 | filename: "log.txt", 16 | maxsize: 1024 * 1024 * 5, 17 | }), 18 | ], 19 | }); 20 | 21 | if (process.env.NODE_ENV !== "production") { 22 | logger.add( 23 | new winston.transports.Console({ 24 | format: winston.format.combine( 25 | winston.format((info) => { 26 | info.level = info.level.toUpperCase(); 27 | return info; 28 | })(), 29 | winston.format.colorize(), 30 | winston.format.printf(({ timestamp, level, message, stack }) => { 31 | const text = `[${timestamp}] ${level}: ${message}`; 32 | return stack ? text + "\n" + stack : text; 33 | }) 34 | ), 35 | }) 36 | ); 37 | } 38 | 39 | process.on("uncaughtException", (err) => { 40 | logger.error(err); 41 | }); 42 | -------------------------------------------------------------------------------- /gamemodes/polyfill/i18n.inc: -------------------------------------------------------------------------------- 1 | /* 2 | This is a polyfill that enables samp-node to support i18n, 3 | returning string parameters from existing omp callbacks as decimal byte arrays. 4 | */ 5 | 6 | forward OnClientMessage(color, text[]); 7 | public OnClientMessage(color, text[]) 8 | { 9 | return SAMPNode_CallEvent("OnClientMessageI18n", color, text, strlen(text)); 10 | } 11 | 12 | forward OnNPCDisconnect(reason[]); 13 | public OnNPCDisconnect(reason[]) 14 | { 15 | return SAMPNode_CallEvent("OnNPCDisconnectI18n", reason, strlen(reason)); 16 | } 17 | 18 | public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 19 | { 20 | return SAMPNode_CallEvent("OnDialogResponseI18n", playerid, dialogid, response, listitem, inputtext, strlen(inputtext)); 21 | } 22 | 23 | public OnPlayerCommandText(playerid, cmdtext[]) 24 | { 25 | return SAMPNode_CallEvent("OnPlayerCommandTextI18n", playerid, cmdtext, strlen(cmdtext)); 26 | } 27 | 28 | public OnPlayerText(playerid, text[]) 29 | { 30 | return SAMPNode_CallEvent("OnPlayerTextI18n", playerid, text, strlen(text)); 31 | } 32 | 33 | public OnRconCommand(cmd[]) 34 | { 35 | return SAMPNode_CallEvent("OnRconCommandI18n", cmd, strlen(cmd)); 36 | } 37 | 38 | public OnRconLoginAttempt(ip[], password[], success) 39 | { 40 | return SAMPNode_CallEvent("OnRconLoginAttemptI18n", ip, strlen(ip), password, strlen(password), success); 41 | } -------------------------------------------------------------------------------- /src/i18n/locales/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": { 3 | "running": "Successfully running an omp server powered by node.js", 4 | "exit": "GameMode exit", 5 | "incoming": "Incoming connection: %s - %s : %s", 6 | "rcon": { 7 | "command": "rcon: use command %s", 8 | "attempt": "rcon: login attempt - %s %s %s" 9 | } 10 | }, 11 | "command": { 12 | "next": "The next parameter that you enter is %s", 13 | "official": { 14 | "yes": "Server: You are using the official client", 15 | "no": "Server: You are using an unofficial client" 16 | }, 17 | "reg": "Server: this is a reg example %s", 18 | "login": "Server: this is a login example %s", 19 | "error": "Server: error command %s, code: %s, err: %s" 20 | }, 21 | "dialog": { 22 | "help": { 23 | "caption": "Help", 24 | "info": "You can use the following commands: foo", 25 | "button1": "Close" 26 | }, 27 | "lang": { 28 | "change": "You are using %s, and you can modify the language again through /language." 29 | } 30 | }, 31 | "player": { 32 | "hello": "Server: hello %s", 33 | "version": "Server: your version %s", 34 | "ip": "Server: your ip %s", 35 | "ping": "Server: your ping %s", 36 | "rawIp": "Server: your raw ip %s", 37 | "disconnect": "Server: player %s disconnect because reason: %s", 38 | "keyStateChange": "%s key state change %s %s - %s", 39 | "pause": "%s pause game %s", 40 | "resume": "%s paused for %s milliseconds" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/dialogs/language.ts: -------------------------------------------------------------------------------- 1 | import { ColorEnum } from "@/enums/color"; 2 | import { CharsetEnum, LanguageEnum } from "@/enums/language"; 3 | import { $t, locales, localesTitle } from "@/i18n"; 4 | import { Dialog, DialogStylesEnum, Player } from "@infernus/core"; 5 | 6 | export const chooseLanguage = async (p: Player) => { 7 | const currLocale = p.locale as LanguageEnum; 8 | 9 | const info = Object.values(localesTitle).reduce( 10 | (prev, curr, idx: number): string => { 11 | return `${prev}${idx + 1}.${curr[currLocale]}\n`; 12 | }, 13 | "" 14 | ); 15 | 16 | const { listItem: localeIdx } = await new Dialog({ 17 | style: DialogStylesEnum.LIST, 18 | caption: "Please select the interface language", 19 | info, 20 | button1: "ok", 21 | }).show(p); 22 | 23 | // windows system use ansi 24 | const charsets = Object.values(CharsetEnum); 25 | const { listItem: charsetIdx } = await new Dialog({ 26 | style: DialogStylesEnum.LIST, 27 | caption: "Please select your system's charset", 28 | info: charsets.reduce( 29 | (prev: string, curr: CharsetEnum, idx: number): string => { 30 | return `${prev}${idx + 1}.${curr}\n`; 31 | }, 32 | "" 33 | ), 34 | button1: "ok", 35 | }).show(p); 36 | 37 | const locale = Object.keys(locales)[localeIdx] as LanguageEnum; 38 | p.locale = locale; 39 | p.charset = charsets[charsetIdx]; 40 | p.sendClientMessage( 41 | ColorEnum.White, 42 | $t("dialog.lang.change", [localesTitle[locale][locale]], p.locale) 43 | ); 44 | }; 45 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "omp-server", 3 | "version": "1.0.0", 4 | "private": true, 5 | "description": "A very simple omp server template that uses the samp-node plugin and the @infernus/core library.", 6 | "keywords": [ 7 | "sa-mp", 8 | "sa:mp", 9 | "open.mp", 10 | "omp", 11 | "gamemode", 12 | "samp-node" 13 | ], 14 | "homepage": "https://github.com/dockfries/infernus-starter#readme", 15 | "bugs": { 16 | "url": "https://github.com/dockfries/infernus-starter/issues" 17 | }, 18 | "license": "MIT", 19 | "author": "dockfries", 20 | "type": "module", 21 | "scripts": { 22 | "serve": "cross-env NODE_ENV=production pnpm exec ./omp-server", 23 | "dev": "cross-env NODE_ENV=development npm-run-all -p -r -l dev:server dev:watch", 24 | "dev:watch": "rslib build -w", 25 | "dev:server": "nodemon -x \"pnpm exec ./omp-server\" -I -w dist/bundle.js", 26 | "build": "cross-env NODE_ENV=production rslib build", 27 | "lint": "eslint --fix", 28 | "prepare": "husky" 29 | }, 30 | "dependencies": { 31 | "@infernus/core": "^0.14.0", 32 | "winston": "^3.19.0" 33 | }, 34 | "devDependencies": { 35 | "@eslint/js": "^9.39.2", 36 | "@infernus/types": "^0.1.0", 37 | "@rslib/core": "^0.18.4", 38 | "@types/node": "^24.10.4", 39 | "cross-env": "^10.1.0", 40 | "eslint": "^9.39.2", 41 | "globals": "^16.5.0", 42 | "husky": "^9.1.7", 43 | "node-gyp": "^12.1.0", 44 | "nodemon": "^3.1.11", 45 | "npm-run-all": "^4.1.5", 46 | "source-map-support": "^0.5.21", 47 | "typescript": "^5.9.3", 48 | "typescript-eslint": "^8.50.0" 49 | }, 50 | "pnpm": { 51 | "neverBuiltDependencies": [] 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/controller/player/index.ts: -------------------------------------------------------------------------------- 1 | import { chooseLanguage } from "@/dialogs/language"; 2 | import { ColorEnum } from "@/enums/color"; 3 | import { $t } from "@/i18n"; 4 | import { logger } from "@/logger"; 5 | import { Player, PlayerEvent } from "@infernus/core"; 6 | 7 | PlayerEvent.onConnect(async ({ player, next }) => { 8 | await chooseLanguage(player); 9 | player.sendClientMessage( 10 | ColorEnum.PrimaryBlue, 11 | $t("player.hello", [player.getName().name], player.locale) 12 | ); 13 | player.sendClientMessage( 14 | ColorEnum.Warn, 15 | $t("player.version", [player.getVersion().version], player.locale) 16 | ); 17 | player.sendClientMessage( 18 | ColorEnum.White, 19 | $t("player.ip", [player.getIp().ip], player.locale) 20 | ); 21 | player.sendClientMessage( 22 | ColorEnum.White, 23 | $t("player.ping", [player.getPing()], player.locale) 24 | ); 25 | player.sendClientMessage( 26 | ColorEnum.White, 27 | $t("player.rawIp", [player.getRawIp()], player.locale) 28 | ); 29 | return next(); 30 | }); 31 | 32 | PlayerEvent.onSpawn(({ player, next }) => { 33 | player.setPos(1536.8569, -1688.5819, 13.5469); 34 | return next(); 35 | }); 36 | 37 | PlayerEvent.onDisconnect(({ player, reason, next }) => { 38 | Player.getInstances().forEach((p) => { 39 | p.sendClientMessage( 40 | ColorEnum.White, 41 | $t("player.disconnect", [player.getName().name, reason], player.locale) 42 | ); 43 | }); 44 | return next(); 45 | }); 46 | 47 | PlayerEvent.onCommandError(({ player, command, error, next }) => { 48 | player.sendClientMessage( 49 | ColorEnum.Danger, 50 | $t("command.error", [command, error.code, error.msg], player.locale) 51 | ); 52 | next(); 53 | return true; 54 | }); 55 | 56 | PlayerEvent.onKeyStateChange(({ player, newKeys, oldKeys, next }) => { 57 | player.sendClientMessage( 58 | ColorEnum.White, 59 | $t( 60 | "player.keyStateChange", 61 | [player.getName().name, Date.now(), newKeys, oldKeys], 62 | player.locale 63 | ) 64 | ); 65 | return next(); 66 | }); 67 | 68 | PlayerEvent.onPause(({ player, pausedAt, next }) => { 69 | logger.info($t("player.pause", [player.getName().name, pausedAt], player.locale)); 70 | return next(); 71 | }); 72 | 73 | PlayerEvent.onResume(({ player, diff, next }) => { 74 | const msg = $t("player.resume", [player.getName().name, diff], player.locale); 75 | logger.info(msg); 76 | player.sendClientMessage(ColorEnum.White, msg); 77 | return next(); 78 | }); 79 | -------------------------------------------------------------------------------- /gamemodes/polyfill/cef.inc: -------------------------------------------------------------------------------- 1 | /* 2 | This is a polyfill that is complex to write to make samp-node compatible to call samp-cef. 3 | */ 4 | 5 | enum E_CefNatives 6 | { 7 | DESTROY_BROWSER = 0, 8 | HIDE_BROWSER = 1, 9 | APPEND_TO_OBJECT = 2, 10 | REMOVE_FROM_OBJECT = 3, 11 | PLAYER_HAS_PLUGIN = 4, 12 | TOGGLE_DEV_TOOLS = 5, 13 | FOCUS_BROWSER = 6, 14 | ALWAYS_LISTEN_KEYS = 7, 15 | }; 16 | 17 | forward CefNatives(...); 18 | public CefNatives(...) 19 | { 20 | new E_CefNatives:function_id = E_CefNatives:getarg(0); 21 | switch (function_id) 22 | { 23 | case DESTROY_BROWSER: return cef_destroy_browser(getarg(0, 1), getarg(0, 2)); 24 | case HIDE_BROWSER: return cef_hide_browser(getarg(0, 1), getarg(0, 2), bool:getarg(0, 3)); 25 | case APPEND_TO_OBJECT: return cef_append_to_object(getarg(0, 1), getarg(0, 2), getarg(0, 3)); 26 | case REMOVE_FROM_OBJECT: return cef_remove_from_object(getarg(0, 1), getarg(0, 2), getarg(0, 3)); 27 | case PLAYER_HAS_PLUGIN: return cef_player_has_plugin(getarg(0, 1)); 28 | case TOGGLE_DEV_TOOLS: return cef_toggle_dev_tools(getarg(0, 1), getarg(0, 2), bool:getarg(0, 3)); 29 | case FOCUS_BROWSER: return cef_focus_browser(getarg(0, 1), getarg(0, 2), bool:getarg(0, 3)); 30 | case ALWAYS_LISTEN_KEYS: return cef_always_listen_keys(getarg(0, 1), getarg(0, 2), bool:getarg(0, 3)); 31 | } 32 | return false; 33 | } 34 | 35 | forward PatchCefCreateBrowser(p, b, const u[], bool:h, bool:f); 36 | public PatchCefCreateBrowser(p, b, const u[], bool:h, bool:f) 37 | { 38 | return cef_create_browser(p, b, u, h, f); 39 | } 40 | 41 | forward PatchCefSubscribe(const e[], const c[]); 42 | public PatchCefSubscribe(const e[], const c[]) 43 | { 44 | return cef_subscribe(e, c); 45 | } 46 | 47 | forward PatchCefCreateExtBrowser(p, b, const t[], const u[], s); 48 | public PatchCefCreateExtBrowser(p, b, const t[], const u[], s) 49 | { 50 | return cef_create_ext_browser(p, b, t, u, s); 51 | } 52 | 53 | forward PatchCefSetAudioSettings(p, b, Float:m, Float:r); 54 | public PatchCefSetAudioSettings(p, b, Float:m, Float:r) 55 | { 56 | return cef_set_audio_settings(p, b, m, r); 57 | } 58 | 59 | forward PatchCefLoadUrl(p, b, const u[]); 60 | public PatchCefLoadUrl(p, b, const u[]) 61 | { 62 | return cef_load_url(p, b, u); 63 | } 64 | 65 | forward PatchCefEmitEvent(p, const e[], const arg [], s); 66 | public PatchCefEmitEvent(p, const e[], const arg [], s) 67 | { 68 | if (s == 0) return cef_emit_event(p, e); 69 | if (s == 1) return cef_emit_event(p, e, arg[0], arg[1]); 70 | if (s == 2) return cef_emit_event(p, e, arg[0], arg[1], arg[2], arg[3]); 71 | if (s == 3) return cef_emit_event(p, e, arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); 72 | if (s == 4) return cef_emit_event(p, e, arg[0], arg[1], arg[2], arg[3], arg[4], arg[5], arg[6], arg[7]); 73 | if (s == 5) return cef_emit_event(p, e, arg[0], arg[1], arg[2], arg[3], arg[4], arg[5], arg[6], arg[7], arg[8], arg[9]); 74 | return 0; 75 | } 76 | 77 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "announce": true, 3 | "artwork": { 4 | "cdn": "", 5 | "enable": true, 6 | "models_path": "models", 7 | "port": 7777, 8 | "web_server_bind": "" 9 | }, 10 | "banners": { 11 | "dark": "", 12 | "light": "" 13 | }, 14 | "chat_input_filter": true, 15 | "discord": { 16 | "invite": "" 17 | }, 18 | "enable_query": true, 19 | "game": { 20 | "allow_interior_weapons": true, 21 | "chat_radius": 200.0, 22 | "death_drop_amount": 0, 23 | "gravity": 0.00800000037997961, 24 | "group_player_objects": false, 25 | "lag_compensation_mode": 1, 26 | "map": "", 27 | "mode": "", 28 | "nametag_draw_radius": 70.0, 29 | "player_marker_draw_radius": 250.0, 30 | "player_marker_mode": 1, 31 | "time": 12, 32 | "use_all_animations": true, 33 | "use_chat_radius": false, 34 | "use_entry_exit_markers": true, 35 | "use_instagib": false, 36 | "use_manual_engine_and_lights": false, 37 | "use_nametag_los": true, 38 | "use_nametags": true, 39 | "use_player_marker_draw_radius": false, 40 | "use_player_ped_anims": false, 41 | "use_stunt_bonuses": true, 42 | "use_vehicle_friendly_fire": false, 43 | "use_zone_names": false, 44 | "validate_animations": true, 45 | "vehicle_respawn_time": 10000, 46 | "weather": 10 47 | }, 48 | "language": "", 49 | "logging": { 50 | "enable": true, 51 | "file": "log.txt", 52 | "log_chat": true, 53 | "log_connection_messages": true, 54 | "log_cookies": false, 55 | "log_deaths": true, 56 | "log_queries": false, 57 | "log_sqlite": false, 58 | "log_sqlite_queries": false, 59 | "timestamp_format": "[%Y-%m-%dT%H:%M:%S%z]", 60 | "use_prefix": true, 61 | "use_timestamp": true 62 | }, 63 | "logo": "", 64 | "max_bots": 0, 65 | "max_players": 50, 66 | "name": "open.mp server", 67 | "network": { 68 | "acks_limit": 3000, 69 | "aiming_sync_rate": 30, 70 | "allow_037_clients": true, 71 | "bind": "", 72 | "cookie_reseed_time": 300000, 73 | "grace_period": 5000, 74 | "http_threads": 50, 75 | "in_vehicle_sync_rate": 30, 76 | "limits_ban_time": 60000, 77 | "message_hole_limit": 3000, 78 | "messages_limit": 500, 79 | "minimum_connection_time": 0, 80 | "mtu": 576, 81 | "multiplier": 10, 82 | "on_foot_sync_rate": 30, 83 | "player_marker_sync_rate": 2500, 84 | "player_timeout": 10000, 85 | "port": 7777, 86 | "public_addr": "", 87 | "stream_radius": 200.0, 88 | "stream_rate": 1000, 89 | "time_sync_rate": 30000, 90 | "use_lan_mode": false, 91 | "use_omp_encryption": false 92 | }, 93 | "password": "", 94 | "pawn": { 95 | "legacy_plugins": ["streamer", "samp-node"], 96 | "main_scripts": ["polyfill 1"], 97 | "side_scripts": [] 98 | }, 99 | "rcon": { 100 | "allow_teleport": false, 101 | "enable": false, 102 | "password": "changeme" 103 | }, 104 | "sleep": 5.0, 105 | "use_dyn_ticks": true, 106 | "website": "open.mp" 107 | } 108 | -------------------------------------------------------------------------------- /gamemodes/polyfill/raknet.inc: -------------------------------------------------------------------------------- 1 | /* 2 | https://github.com/katursis/Pawn.RakNet/issues/53 3 | This is a polyfill that is complex to write to make samp-node compatible to call raknet. 4 | */ 5 | 6 | new Float:float3[3]; 7 | new Float:float4[4]; 8 | new string[4096]; 9 | new string8[8]; 10 | new string32[32]; 11 | 12 | enum E_RakNetNatives 13 | { 14 | SEND_PACKET = 0, 15 | SEND_RPC = 1, 16 | EMULATE_INCOMING_PACKET = 2, 17 | EMULATE_INCOMING_RPC = 3, 18 | NEW = 4, 19 | NEW_COPY = 5, 20 | DELETE = 6, 21 | RESET = 7, 22 | RESET_READ_POINTER = 8, 23 | RESET_WRITE_POINTER = 9, 24 | IGNORE_BITS = 10, 25 | SET_WRITE_OFFSET = 11, 26 | GET_WRITE_OFFSET = 12, 27 | SET_READ_OFFSET = 13, 28 | GET_READ_OFFSET = 14, 29 | GET_NUMBER_OF_BITS_USED = 15, 30 | GET_NUMBER_OF_BYTES_USED = 16, 31 | GET_NUMBER_OF_UNREAD_BITS = 17, 32 | GET_NUMBER_OF_BITS_ALLOCATED = 18 33 | }; 34 | 35 | forward RakNetReadStringArray(index); 36 | public RakNetReadStringArray(index) 37 | { 38 | return string[index]; 39 | } 40 | 41 | forward RakNetReadString8Array(index); 42 | public RakNetReadString8Array(index) 43 | { 44 | return string8[index]; 45 | } 46 | 47 | forward RakNetReadString32Array(index); 48 | public RakNetReadString32Array(index) 49 | { 50 | return string32[index]; 51 | } 52 | 53 | forward Float:RakNetReadFloat3Array(index); 54 | public Float:RakNetReadFloat3Array(index) 55 | { 56 | return float3[index]; 57 | } 58 | 59 | forward Float:RakNetReadFloat4Array(index); 60 | public Float:RakNetReadFloat4Array(index) 61 | { 62 | return float4[index]; 63 | } 64 | 65 | 66 | forward RakNetReadInt(BitStream:bs, type); 67 | public RakNetReadInt(BitStream:bs, type) 68 | { 69 | new ret; 70 | BS_ReadValue(bs, type, ret); 71 | return ret; 72 | } 73 | 74 | forward RakNetReadBits(BitStream:bs, len); 75 | public RakNetReadBits(BitStream:bs, len) 76 | { 77 | new ret; 78 | BS_ReadBits(bs, ret, len); 79 | return ret; 80 | } 81 | 82 | forward Float:RakNetReadFloat(BitStream:bs); 83 | public Float:RakNetReadFloat(BitStream:bs) 84 | { 85 | new Float:ret; 86 | BS_ReadFloat(bs, ret); 87 | return ret; 88 | } 89 | 90 | 91 | forward Float:RakNetReadCompressedFloat(BitStream:bs); 92 | public Float:RakNetReadCompressedFloat(BitStream:bs) 93 | { 94 | new Float:ret; 95 | BS_ReadCompressedFloat(bs, ret); 96 | return ret; 97 | } 98 | 99 | forward RakNetReadFloat3(BitStream:bs); 100 | public RakNetReadFloat3(BitStream:bs) 101 | { 102 | BS_ReadFloat3(bs, float3); 103 | } 104 | 105 | forward RakNetReadFloat4(BitStream:bs); 106 | public RakNetReadFloat4(BitStream:bs) 107 | { 108 | BS_ReadFloat4(bs, float4); 109 | } 110 | 111 | forward RakNetReadVector(BitStream:bs); 112 | public RakNetReadVector(BitStream:bs) 113 | { 114 | BS_ReadVector(bs, float3); 115 | } 116 | 117 | forward RakNetReadNormQuat(BitStream:bs); 118 | public RakNetReadNormQuat(BitStream:bs) 119 | { 120 | BS_ReadNormQuat(bs, float4); 121 | } 122 | 123 | forward RakNetReadString8(BitStream:bs); 124 | public RakNetReadString8(BitStream:bs) 125 | { 126 | for (new i = 0; i < sizeof string8; i++) 127 | { 128 | if (string8[i] == 0) break; 129 | string8[i] = 0; 130 | } 131 | BS_ReadString8(bs, string8); 132 | } 133 | 134 | forward RakNetReadString32(BitStream:bs); 135 | public RakNetReadString32(BitStream:bs) 136 | { 137 | for (new i = 0; i < sizeof string32; i++) 138 | { 139 | if (string32[i] == 0) break; 140 | string32[i] = 0; 141 | } 142 | BS_ReadString32(bs, string32); 143 | } 144 | 145 | forward RakNetReadString(BitStream:bs, length); 146 | public RakNetReadString(BitStream:bs, length) 147 | { 148 | for (new i = 0; i < sizeof string; i++) 149 | { 150 | if (string[i] == 0) break; 151 | string[i] = 0; 152 | } 153 | BS_ReadString(bs, string, length); 154 | } 155 | 156 | forward RakNetReadCompressedString(BitStream:bs, length); 157 | public RakNetReadCompressedString(BitStream:bs, length) 158 | { 159 | for (new i = 0; i < sizeof string; i++) 160 | { 161 | if (string[i] == 0) break; 162 | string[i] = 0; 163 | } 164 | BS_ReadCompressedString(bs, string, length); 165 | } 166 | 167 | // write 168 | 169 | forward RakNetWriteInt(BitStream:bs, type, value); 170 | public RakNetWriteInt(BitStream:bs, type, value) 171 | { 172 | return BS_WriteValue(bs, type, value); 173 | } 174 | 175 | forward RakNetWriteFloat(BitStream:bs, Float:value); 176 | public RakNetWriteFloat(BitStream:bs, Float:value) 177 | { 178 | return BS_WriteFloat(bs, value); 179 | } 180 | 181 | forward RakNetWriteCompressedFloat(BitStream:bs, Float:value); 182 | public RakNetWriteCompressedFloat(BitStream:bs, Float:value) 183 | { 184 | return BS_WriteCompressedFloat(bs, value); 185 | } 186 | 187 | forward RakNetWriteBits(BitStream:bs, value, len); 188 | public RakNetWriteBits(BitStream:bs, value, len) 189 | { 190 | return BS_WriteBits(bs, value, len); 191 | } 192 | 193 | forward RakNetWriteFloat3(BitStream:bs, Float:array[3]); 194 | public RakNetWriteFloat3(BitStream:bs, Float:array[3]) 195 | { 196 | return BS_WriteFloat3(bs, array); 197 | } 198 | 199 | forward RakNetWriteVector(BitStream:bs, Float:array[3]); 200 | public RakNetWriteVector(BitStream:bs, Float:array[3]) 201 | { 202 | return BS_WriteVector(bs, array); 203 | } 204 | 205 | forward RakNetWriteFloat4(BitStream:bs, Float:array[4]); 206 | public RakNetWriteFloat4(BitStream:bs, Float:array[4]) 207 | { 208 | return BS_WriteFloat4(bs, array); 209 | } 210 | 211 | forward RakNetWriteNormQuat(BitStream:bs, Float:array[4]); 212 | public RakNetWriteNormQuat(BitStream:bs, Float:array[4]) 213 | { 214 | return BS_WriteNormQuat(bs, array); 215 | } 216 | 217 | forward RakNetWriteString8(BitStream:bs, array[8]); 218 | public RakNetWriteString8(BitStream:bs, array[8]) 219 | { 220 | return BS_WriteString8(bs, array); 221 | } 222 | 223 | forward RakNetWriteString32(BitStream:bs, array[32]); 224 | public RakNetWriteString32(BitStream:bs, array[32]) 225 | { 226 | return BS_WriteString32(bs, array); 227 | } 228 | 229 | forward RakNetWriteString(BitStream:bs, array[]); 230 | public RakNetWriteString(BitStream:bs, array[]) 231 | { 232 | return BS_WriteString(bs, array); 233 | } 234 | 235 | forward RakNetWriteCompressedString(BitStream:bs, array[]); 236 | public RakNetWriteCompressedString(BitStream:bs, array[]) 237 | { 238 | return BS_WriteCompressedString(bs, array); 239 | } 240 | 241 | forward RakNetNatives(...); 242 | public RakNetNatives(...) 243 | { 244 | new E_RakNetNatives:function_id = E_RakNetNatives:getarg(0); 245 | new BitStream:bs = BitStream:getarg(0, 1); 246 | 247 | switch (function_id) 248 | { 249 | case SEND_PACKET: return PR_SendPacket(bs, getarg(0, 2), PR_PacketPriority:getarg(0, 3), PR_PacketReliability:getarg(0, 4), getarg(0, 5)); 250 | case SEND_RPC: return PR_SendRPC(bs, getarg(0, 2), getarg(0, 3), PR_PacketPriority:getarg(0, 4), PR_PacketReliability:getarg(0, 5), getarg(0, 6)); 251 | case EMULATE_INCOMING_PACKET: return PR_EmulateIncomingPacket(bs, getarg(0, 2)); 252 | case EMULATE_INCOMING_RPC: return PR_EmulateIncomingRPC(bs, getarg(0, 2), getarg(0, 3)); 253 | case NEW: return _:BS_New(); 254 | case NEW_COPY: return _:BS_NewCopy(bs); 255 | case DELETE: return BS_Delete(bs); 256 | case RESET: return BS_Reset(bs); 257 | case RESET_READ_POINTER: return BS_ResetReadPointer(bs); 258 | case RESET_WRITE_POINTER: return BS_ResetWritePointer(bs); 259 | case IGNORE_BITS: return BS_IgnoreBits(bs, getarg(0, 2)); 260 | case SET_WRITE_OFFSET: return BS_SetWriteOffset(bs, getarg(0, 2)); 261 | case GET_WRITE_OFFSET: 262 | { 263 | new offset; 264 | BS_GetWriteOffset(bs, offset); 265 | return offset; 266 | } 267 | case SET_READ_OFFSET: return BS_SetReadOffset(bs, getarg(0, 2)); 268 | case GET_READ_OFFSET: 269 | { 270 | new offset; 271 | BS_GetReadOffset(bs, offset); 272 | return offset; 273 | } 274 | case GET_NUMBER_OF_BITS_USED: 275 | { 276 | new count; 277 | BS_GetNumberOfBitsUsed(bs, count); 278 | return count; 279 | } 280 | case GET_NUMBER_OF_BYTES_USED: 281 | { 282 | new count; 283 | BS_GetNumberOfBytesUsed(bs, count); 284 | return count; 285 | } 286 | case GET_NUMBER_OF_UNREAD_BITS: 287 | { 288 | new count; 289 | BS_GetNumberOfUnreadBits(bs, count); 290 | return count; 291 | } 292 | case GET_NUMBER_OF_BITS_ALLOCATED: 293 | { 294 | new count; 295 | BS_GetNumberOfBitsAllocated(bs, count); 296 | return count; 297 | } 298 | } 299 | return false; 300 | } 301 | 302 | public OnIncomingPacket(playerid, packetid, BitStream:bs) 303 | { 304 | return SAMPNode_CallEvent("OnIncomingPacket", playerid, packetid, _:bs); 305 | } 306 | 307 | public OnIncomingRPC(playerid, rpcid, BitStream:bs) 308 | { 309 | return SAMPNode_CallEvent("OnIncomingRPC", playerid, rpcid, _:bs); 310 | } 311 | 312 | public OnOutgoingPacket(playerid, packetid, BitStream:bs) 313 | { 314 | return SAMPNode_CallEvent("OnOutgoingPacket", playerid, packetid, _:bs); 315 | } 316 | 317 | public OnOutgoingRPC(playerid, rpcid, BitStream:bs) 318 | { 319 | return SAMPNode_CallEvent("OnOutgoingRPC", playerid, rpcid, _:bs); 320 | } 321 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@infernus/core': 12 | specifier: ^0.14.0 13 | version: 0.14.0 14 | winston: 15 | specifier: ^3.19.0 16 | version: 3.19.0 17 | devDependencies: 18 | '@eslint/js': 19 | specifier: ^9.39.2 20 | version: 9.39.2 21 | '@infernus/types': 22 | specifier: ^0.1.0 23 | version: 0.1.0 24 | '@rslib/core': 25 | specifier: ^0.18.4 26 | version: 0.18.4(typescript@5.9.3) 27 | '@types/node': 28 | specifier: ^24.10.4 29 | version: 24.10.4 30 | cross-env: 31 | specifier: ^10.1.0 32 | version: 10.1.0 33 | eslint: 34 | specifier: ^9.39.2 35 | version: 9.39.2(jiti@2.6.1) 36 | globals: 37 | specifier: ^16.5.0 38 | version: 16.5.0 39 | husky: 40 | specifier: ^9.1.7 41 | version: 9.1.7 42 | node-gyp: 43 | specifier: ^12.1.0 44 | version: 12.1.0 45 | nodemon: 46 | specifier: ^3.1.11 47 | version: 3.1.11 48 | npm-run-all: 49 | specifier: ^4.1.5 50 | version: 4.1.5 51 | source-map-support: 52 | specifier: ^0.5.21 53 | version: 0.5.21 54 | typescript: 55 | specifier: ^5.9.3 56 | version: 5.9.3 57 | typescript-eslint: 58 | specifier: ^8.50.0 59 | version: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 60 | 61 | packages: 62 | 63 | '@aashutoshrathi/word-wrap@1.2.6': 64 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 65 | engines: {node: '>=0.10.0'} 66 | 67 | '@ast-grep/napi-darwin-arm64@0.37.0': 68 | resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} 69 | engines: {node: '>= 10'} 70 | cpu: [arm64] 71 | os: [darwin] 72 | 73 | '@ast-grep/napi-darwin-x64@0.37.0': 74 | resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} 75 | engines: {node: '>= 10'} 76 | cpu: [x64] 77 | os: [darwin] 78 | 79 | '@ast-grep/napi-linux-arm64-gnu@0.37.0': 80 | resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} 81 | engines: {node: '>= 10'} 82 | cpu: [arm64] 83 | os: [linux] 84 | 85 | '@ast-grep/napi-linux-arm64-musl@0.37.0': 86 | resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} 87 | engines: {node: '>= 10'} 88 | cpu: [arm64] 89 | os: [linux] 90 | 91 | '@ast-grep/napi-linux-x64-gnu@0.37.0': 92 | resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} 93 | engines: {node: '>= 10'} 94 | cpu: [x64] 95 | os: [linux] 96 | 97 | '@ast-grep/napi-linux-x64-musl@0.37.0': 98 | resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} 99 | engines: {node: '>= 10'} 100 | cpu: [x64] 101 | os: [linux] 102 | 103 | '@ast-grep/napi-win32-arm64-msvc@0.37.0': 104 | resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} 105 | engines: {node: '>= 10'} 106 | cpu: [arm64] 107 | os: [win32] 108 | 109 | '@ast-grep/napi-win32-ia32-msvc@0.37.0': 110 | resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} 111 | engines: {node: '>= 10'} 112 | cpu: [ia32] 113 | os: [win32] 114 | 115 | '@ast-grep/napi-win32-x64-msvc@0.37.0': 116 | resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} 117 | engines: {node: '>= 10'} 118 | cpu: [x64] 119 | os: [win32] 120 | 121 | '@ast-grep/napi@0.37.0': 122 | resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} 123 | engines: {node: '>= 10'} 124 | 125 | '@colors/colors@1.6.0': 126 | resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} 127 | engines: {node: '>=0.1.90'} 128 | 129 | '@dabh/diagnostics@2.0.8': 130 | resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} 131 | 132 | '@emnapi/core@1.5.0': 133 | resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} 134 | 135 | '@emnapi/runtime@1.5.0': 136 | resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} 137 | 138 | '@emnapi/wasi-threads@1.1.0': 139 | resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} 140 | 141 | '@epic-web/invariant@1.0.0': 142 | resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} 143 | 144 | '@eslint-community/eslint-utils@4.9.0': 145 | resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} 146 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 147 | peerDependencies: 148 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 149 | 150 | '@eslint-community/regexpp@4.12.1': 151 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 152 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 153 | 154 | '@eslint/config-array@0.21.1': 155 | resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} 156 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 157 | 158 | '@eslint/config-helpers@0.4.2': 159 | resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} 160 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 161 | 162 | '@eslint/core@0.17.0': 163 | resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} 164 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 165 | 166 | '@eslint/eslintrc@3.3.1': 167 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 168 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 169 | 170 | '@eslint/js@9.39.2': 171 | resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} 172 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 173 | 174 | '@eslint/object-schema@2.1.7': 175 | resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} 176 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 177 | 178 | '@eslint/plugin-kit@0.4.1': 179 | resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} 180 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 181 | 182 | '@humanfs/core@0.19.1': 183 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 184 | engines: {node: '>=18.18.0'} 185 | 186 | '@humanfs/node@0.16.6': 187 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 188 | engines: {node: '>=18.18.0'} 189 | 190 | '@humanwhocodes/module-importer@1.0.1': 191 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 192 | engines: {node: '>=12.22'} 193 | 194 | '@humanwhocodes/retry@0.3.1': 195 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 196 | engines: {node: '>=18.18'} 197 | 198 | '@humanwhocodes/retry@0.4.2': 199 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} 200 | engines: {node: '>=18.18'} 201 | 202 | '@infernus/core@0.14.0': 203 | resolution: {integrity: sha512-hQfOes70UgLECU/Zuejjcxbm+MlK3kNYaKPsPoUF2eRyPwWyUKuFpoEtkFV4jb1xGnB88LCrKOBnbCHVZI34PQ==} 204 | 205 | '@infernus/types@0.1.0': 206 | resolution: {integrity: sha512-+TTq9TTGrZJZfln0bEhEKaO6ZZxk23deP+LxIT3822eMa6l1U1rNUApxBC95cICbz8hDqzQRYTv6/sX2mgCLPg==} 207 | 208 | '@isaacs/balanced-match@4.0.1': 209 | resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} 210 | engines: {node: 20 || >=22} 211 | 212 | '@isaacs/brace-expansion@5.0.0': 213 | resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} 214 | engines: {node: 20 || >=22} 215 | 216 | '@isaacs/fs-minipass@4.0.1': 217 | resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} 218 | engines: {node: '>=18.0.0'} 219 | 220 | '@module-federation/error-codes@0.21.6': 221 | resolution: {integrity: sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==} 222 | 223 | '@module-federation/runtime-core@0.21.6': 224 | resolution: {integrity: sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw==} 225 | 226 | '@module-federation/runtime-tools@0.21.6': 227 | resolution: {integrity: sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==} 228 | 229 | '@module-federation/runtime@0.21.6': 230 | resolution: {integrity: sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ==} 231 | 232 | '@module-federation/sdk@0.21.6': 233 | resolution: {integrity: sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==} 234 | 235 | '@module-federation/webpack-bundler-runtime@0.21.6': 236 | resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==} 237 | 238 | '@napi-rs/wasm-runtime@1.0.7': 239 | resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} 240 | 241 | '@npmcli/agent@4.0.0': 242 | resolution: {integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==} 243 | engines: {node: ^20.17.0 || >=22.9.0} 244 | 245 | '@npmcli/fs@5.0.0': 246 | resolution: {integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==} 247 | engines: {node: ^20.17.0 || >=22.9.0} 248 | 249 | '@rsbuild/core@1.6.15': 250 | resolution: {integrity: sha512-LvoOF53PL6zXgdzEhgnnP51S4FseDFH1bHrobK4EK6zZX/tN8qgf5tdlmN7h4OkMv/Qs1oUfvj0QcLWSstnnvA==} 251 | engines: {node: '>=18.12.0'} 252 | hasBin: true 253 | 254 | '@rslib/core@0.18.4': 255 | resolution: {integrity: sha512-clS7XmsO5OTrg2bJ5ahpOPNEJx7Ew/3tZ1054VPrtRgE/RuVx3umsJUKbo2U5Yugh6E023vzqD3ry0kSJqgJ7A==} 256 | engines: {node: '>=18.12.0'} 257 | hasBin: true 258 | peerDependencies: 259 | '@microsoft/api-extractor': ^7 260 | typescript: ^5 261 | peerDependenciesMeta: 262 | '@microsoft/api-extractor': 263 | optional: true 264 | typescript: 265 | optional: true 266 | 267 | '@rspack/binding-darwin-arm64@1.6.8': 268 | resolution: {integrity: sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A==} 269 | cpu: [arm64] 270 | os: [darwin] 271 | 272 | '@rspack/binding-darwin-x64@1.6.8': 273 | resolution: {integrity: sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg==} 274 | cpu: [x64] 275 | os: [darwin] 276 | 277 | '@rspack/binding-linux-arm64-gnu@1.6.8': 278 | resolution: {integrity: sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==} 279 | cpu: [arm64] 280 | os: [linux] 281 | 282 | '@rspack/binding-linux-arm64-musl@1.6.8': 283 | resolution: {integrity: sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==} 284 | cpu: [arm64] 285 | os: [linux] 286 | 287 | '@rspack/binding-linux-x64-gnu@1.6.8': 288 | resolution: {integrity: sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==} 289 | cpu: [x64] 290 | os: [linux] 291 | 292 | '@rspack/binding-linux-x64-musl@1.6.8': 293 | resolution: {integrity: sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==} 294 | cpu: [x64] 295 | os: [linux] 296 | 297 | '@rspack/binding-wasm32-wasi@1.6.8': 298 | resolution: {integrity: sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==} 299 | cpu: [wasm32] 300 | 301 | '@rspack/binding-win32-arm64-msvc@1.6.8': 302 | resolution: {integrity: sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ==} 303 | cpu: [arm64] 304 | os: [win32] 305 | 306 | '@rspack/binding-win32-ia32-msvc@1.6.8': 307 | resolution: {integrity: sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg==} 308 | cpu: [ia32] 309 | os: [win32] 310 | 311 | '@rspack/binding-win32-x64-msvc@1.6.8': 312 | resolution: {integrity: sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g==} 313 | cpu: [x64] 314 | os: [win32] 315 | 316 | '@rspack/binding@1.6.8': 317 | resolution: {integrity: sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ==} 318 | 319 | '@rspack/core@1.6.8': 320 | resolution: {integrity: sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==} 321 | engines: {node: '>=18.12.0'} 322 | peerDependencies: 323 | '@swc/helpers': '>=0.5.1' 324 | peerDependenciesMeta: 325 | '@swc/helpers': 326 | optional: true 327 | 328 | '@rspack/lite-tapable@1.1.0': 329 | resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} 330 | 331 | '@so-ric/colorspace@1.1.6': 332 | resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} 333 | 334 | '@swc/helpers@0.5.17': 335 | resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} 336 | 337 | '@tybys/wasm-util@0.10.1': 338 | resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} 339 | 340 | '@types/estree@1.0.6': 341 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 342 | 343 | '@types/json-schema@7.0.15': 344 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 345 | 346 | '@types/node@24.10.4': 347 | resolution: {integrity: sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==} 348 | 349 | '@types/triple-beam@1.3.5': 350 | resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} 351 | 352 | '@typescript-eslint/eslint-plugin@8.50.0': 353 | resolution: {integrity: sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==} 354 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 355 | peerDependencies: 356 | '@typescript-eslint/parser': ^8.50.0 357 | eslint: ^8.57.0 || ^9.0.0 358 | typescript: '>=4.8.4 <6.0.0' 359 | 360 | '@typescript-eslint/parser@8.50.0': 361 | resolution: {integrity: sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==} 362 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 363 | peerDependencies: 364 | eslint: ^8.57.0 || ^9.0.0 365 | typescript: '>=4.8.4 <6.0.0' 366 | 367 | '@typescript-eslint/project-service@8.50.0': 368 | resolution: {integrity: sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==} 369 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 370 | peerDependencies: 371 | typescript: '>=4.8.4 <6.0.0' 372 | 373 | '@typescript-eslint/scope-manager@8.50.0': 374 | resolution: {integrity: sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==} 375 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 376 | 377 | '@typescript-eslint/tsconfig-utils@8.50.0': 378 | resolution: {integrity: sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==} 379 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 380 | peerDependencies: 381 | typescript: '>=4.8.4 <6.0.0' 382 | 383 | '@typescript-eslint/type-utils@8.50.0': 384 | resolution: {integrity: sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==} 385 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 386 | peerDependencies: 387 | eslint: ^8.57.0 || ^9.0.0 388 | typescript: '>=4.8.4 <6.0.0' 389 | 390 | '@typescript-eslint/types@8.50.0': 391 | resolution: {integrity: sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==} 392 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 393 | 394 | '@typescript-eslint/typescript-estree@8.50.0': 395 | resolution: {integrity: sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==} 396 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 397 | peerDependencies: 398 | typescript: '>=4.8.4 <6.0.0' 399 | 400 | '@typescript-eslint/utils@8.50.0': 401 | resolution: {integrity: sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==} 402 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 403 | peerDependencies: 404 | eslint: ^8.57.0 || ^9.0.0 405 | typescript: '>=4.8.4 <6.0.0' 406 | 407 | '@typescript-eslint/visitor-keys@8.50.0': 408 | resolution: {integrity: sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==} 409 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 410 | 411 | abbrev@1.1.1: 412 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 413 | 414 | abbrev@4.0.0: 415 | resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} 416 | engines: {node: ^20.17.0 || >=22.9.0} 417 | 418 | acorn-jsx@5.3.2: 419 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 420 | peerDependencies: 421 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 422 | 423 | acorn@8.15.0: 424 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 425 | engines: {node: '>=0.4.0'} 426 | hasBin: true 427 | 428 | agent-base@7.1.4: 429 | resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} 430 | engines: {node: '>= 14'} 431 | 432 | ajv@6.12.6: 433 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 434 | 435 | ansi-styles@3.2.1: 436 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 437 | engines: {node: '>=4'} 438 | 439 | ansi-styles@4.3.0: 440 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 441 | engines: {node: '>=8'} 442 | 443 | anymatch@3.1.3: 444 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 445 | engines: {node: '>= 8'} 446 | 447 | argparse@2.0.1: 448 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 449 | 450 | array-buffer-byte-length@1.0.0: 451 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 452 | 453 | async@3.2.6: 454 | resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} 455 | 456 | available-typed-arrays@1.0.5: 457 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 458 | engines: {node: '>= 0.4'} 459 | 460 | balanced-match@1.0.2: 461 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 462 | 463 | binary-extensions@2.2.0: 464 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 465 | engines: {node: '>=8'} 466 | 467 | brace-expansion@1.1.11: 468 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 469 | 470 | brace-expansion@2.0.1: 471 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 472 | 473 | braces@3.0.2: 474 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 475 | engines: {node: '>=8'} 476 | 477 | buffer-from@1.1.2: 478 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 479 | 480 | cacache@20.0.3: 481 | resolution: {integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==} 482 | engines: {node: ^20.17.0 || >=22.9.0} 483 | 484 | call-bind@1.0.2: 485 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 486 | 487 | callsites@3.1.0: 488 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 489 | engines: {node: '>=6'} 490 | 491 | chalk@2.4.2: 492 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 493 | engines: {node: '>=4'} 494 | 495 | chalk@4.1.2: 496 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 497 | engines: {node: '>=10'} 498 | 499 | chokidar@3.5.3: 500 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 501 | engines: {node: '>= 8.10.0'} 502 | 503 | chownr@3.0.0: 504 | resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} 505 | engines: {node: '>=18'} 506 | 507 | color-convert@1.9.3: 508 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 509 | 510 | color-convert@2.0.1: 511 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 512 | engines: {node: '>=7.0.0'} 513 | 514 | color-convert@3.1.2: 515 | resolution: {integrity: sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==} 516 | engines: {node: '>=14.6'} 517 | 518 | color-name@1.1.3: 519 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 520 | 521 | color-name@1.1.4: 522 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 523 | 524 | color-name@2.0.2: 525 | resolution: {integrity: sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==} 526 | engines: {node: '>=12.20'} 527 | 528 | color-string@2.1.2: 529 | resolution: {integrity: sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==} 530 | engines: {node: '>=18'} 531 | 532 | color@5.0.2: 533 | resolution: {integrity: sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==} 534 | engines: {node: '>=18'} 535 | 536 | concat-map@0.0.1: 537 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 538 | 539 | core-js@3.47.0: 540 | resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} 541 | 542 | cross-env@10.1.0: 543 | resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} 544 | engines: {node: '>=20'} 545 | hasBin: true 546 | 547 | cross-spawn@6.0.5: 548 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} 549 | engines: {node: '>=4.8'} 550 | 551 | cross-spawn@7.0.6: 552 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 553 | engines: {node: '>= 8'} 554 | 555 | debug@4.4.0: 556 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 557 | engines: {node: '>=6.0'} 558 | peerDependencies: 559 | supports-color: '*' 560 | peerDependenciesMeta: 561 | supports-color: 562 | optional: true 563 | 564 | deep-is@0.1.4: 565 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 566 | 567 | define-properties@1.2.0: 568 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} 569 | engines: {node: '>= 0.4'} 570 | 571 | enabled@2.0.0: 572 | resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} 573 | 574 | encoding@0.1.13: 575 | resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} 576 | 577 | env-paths@2.2.1: 578 | resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 579 | engines: {node: '>=6'} 580 | 581 | err-code@2.0.3: 582 | resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 583 | 584 | error-ex@1.3.2: 585 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 586 | 587 | es-abstract@1.21.2: 588 | resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} 589 | engines: {node: '>= 0.4'} 590 | 591 | es-set-tostringtag@2.0.1: 592 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 593 | engines: {node: '>= 0.4'} 594 | 595 | es-to-primitive@1.2.1: 596 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 597 | engines: {node: '>= 0.4'} 598 | 599 | escape-string-regexp@1.0.5: 600 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 601 | engines: {node: '>=0.8.0'} 602 | 603 | escape-string-regexp@4.0.0: 604 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 605 | engines: {node: '>=10'} 606 | 607 | eslint-scope@8.4.0: 608 | resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} 609 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 610 | 611 | eslint-visitor-keys@3.4.3: 612 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 613 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 614 | 615 | eslint-visitor-keys@4.2.1: 616 | resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 617 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 618 | 619 | eslint@9.39.2: 620 | resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} 621 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 622 | hasBin: true 623 | peerDependencies: 624 | jiti: '*' 625 | peerDependenciesMeta: 626 | jiti: 627 | optional: true 628 | 629 | espree@10.4.0: 630 | resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 631 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 632 | 633 | esquery@1.5.0: 634 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 635 | engines: {node: '>=0.10'} 636 | 637 | esrecurse@4.3.0: 638 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 639 | engines: {node: '>=4.0'} 640 | 641 | estraverse@5.3.0: 642 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 643 | engines: {node: '>=4.0'} 644 | 645 | esutils@2.0.3: 646 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 647 | engines: {node: '>=0.10.0'} 648 | 649 | exponential-backoff@3.1.2: 650 | resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} 651 | 652 | fast-deep-equal@3.1.3: 653 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 654 | 655 | fast-json-stable-stringify@2.1.0: 656 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 657 | 658 | fast-levenshtein@2.0.6: 659 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 660 | 661 | fdir@6.4.5: 662 | resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} 663 | peerDependencies: 664 | picomatch: ^3 || ^4 665 | peerDependenciesMeta: 666 | picomatch: 667 | optional: true 668 | 669 | fdir@6.5.0: 670 | resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 671 | engines: {node: '>=12.0.0'} 672 | peerDependencies: 673 | picomatch: ^3 || ^4 674 | peerDependenciesMeta: 675 | picomatch: 676 | optional: true 677 | 678 | fecha@4.2.3: 679 | resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} 680 | 681 | file-entry-cache@8.0.0: 682 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 683 | engines: {node: '>=16.0.0'} 684 | 685 | fill-range@7.0.1: 686 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 687 | engines: {node: '>=8'} 688 | 689 | find-up@5.0.0: 690 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 691 | engines: {node: '>=10'} 692 | 693 | flat-cache@4.0.1: 694 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 695 | engines: {node: '>=16'} 696 | 697 | flatted@3.3.1: 698 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 699 | 700 | fn.name@1.1.0: 701 | resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} 702 | 703 | for-each@0.3.3: 704 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 705 | 706 | fs-minipass@3.0.3: 707 | resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} 708 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 709 | 710 | fsevents@2.3.3: 711 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 712 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 713 | os: [darwin] 714 | 715 | function-bind@1.1.1: 716 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 717 | 718 | function.prototype.name@1.1.5: 719 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 720 | engines: {node: '>= 0.4'} 721 | 722 | functions-have-names@1.2.3: 723 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 724 | 725 | get-intrinsic@1.2.1: 726 | resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} 727 | 728 | get-symbol-description@1.0.0: 729 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 730 | engines: {node: '>= 0.4'} 731 | 732 | glob-parent@5.1.2: 733 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 734 | engines: {node: '>= 6'} 735 | 736 | glob-parent@6.0.2: 737 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 738 | engines: {node: '>=10.13.0'} 739 | 740 | glob@13.0.0: 741 | resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} 742 | engines: {node: 20 || >=22} 743 | 744 | globals@14.0.0: 745 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 746 | engines: {node: '>=18'} 747 | 748 | globals@16.5.0: 749 | resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} 750 | engines: {node: '>=18'} 751 | 752 | globalthis@1.0.3: 753 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 754 | engines: {node: '>= 0.4'} 755 | 756 | gopd@1.0.1: 757 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 758 | 759 | graceful-fs@4.2.11: 760 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 761 | 762 | has-bigints@1.0.2: 763 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 764 | 765 | has-flag@3.0.0: 766 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 767 | engines: {node: '>=4'} 768 | 769 | has-flag@4.0.0: 770 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 771 | engines: {node: '>=8'} 772 | 773 | has-property-descriptors@1.0.0: 774 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 775 | 776 | has-proto@1.0.1: 777 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 778 | engines: {node: '>= 0.4'} 779 | 780 | has-symbols@1.0.3: 781 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 782 | engines: {node: '>= 0.4'} 783 | 784 | has-tostringtag@1.0.0: 785 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 786 | engines: {node: '>= 0.4'} 787 | 788 | has@1.0.3: 789 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 790 | engines: {node: '>= 0.4.0'} 791 | 792 | hosted-git-info@2.8.9: 793 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 794 | 795 | http-cache-semantics@4.2.0: 796 | resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} 797 | 798 | http-proxy-agent@7.0.2: 799 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 800 | engines: {node: '>= 14'} 801 | 802 | https-proxy-agent@7.0.6: 803 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} 804 | engines: {node: '>= 14'} 805 | 806 | husky@9.1.7: 807 | resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} 808 | engines: {node: '>=18'} 809 | hasBin: true 810 | 811 | iconv-lite@0.6.3: 812 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 813 | engines: {node: '>=0.10.0'} 814 | 815 | ignore-by-default@1.0.1: 816 | resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} 817 | 818 | ignore@5.3.2: 819 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 820 | engines: {node: '>= 4'} 821 | 822 | ignore@7.0.5: 823 | resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 824 | engines: {node: '>= 4'} 825 | 826 | import-fresh@3.3.0: 827 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 828 | engines: {node: '>=6'} 829 | 830 | imurmurhash@0.1.4: 831 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 832 | engines: {node: '>=0.8.19'} 833 | 834 | inherits@2.0.4: 835 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 836 | 837 | internal-slot@1.0.5: 838 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} 839 | engines: {node: '>= 0.4'} 840 | 841 | ip-address@9.0.5: 842 | resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} 843 | engines: {node: '>= 12'} 844 | 845 | is-array-buffer@3.0.2: 846 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 847 | 848 | is-arrayish@0.2.1: 849 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 850 | 851 | is-bigint@1.0.4: 852 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 853 | 854 | is-binary-path@2.1.0: 855 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 856 | engines: {node: '>=8'} 857 | 858 | is-boolean-object@1.1.2: 859 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 860 | engines: {node: '>= 0.4'} 861 | 862 | is-callable@1.2.7: 863 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 864 | engines: {node: '>= 0.4'} 865 | 866 | is-core-module@2.12.1: 867 | resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} 868 | 869 | is-date-object@1.0.5: 870 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 871 | engines: {node: '>= 0.4'} 872 | 873 | is-extglob@2.1.1: 874 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 875 | engines: {node: '>=0.10.0'} 876 | 877 | is-glob@4.0.3: 878 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 879 | engines: {node: '>=0.10.0'} 880 | 881 | is-negative-zero@2.0.2: 882 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 883 | engines: {node: '>= 0.4'} 884 | 885 | is-number-object@1.0.7: 886 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 887 | engines: {node: '>= 0.4'} 888 | 889 | is-number@7.0.0: 890 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 891 | engines: {node: '>=0.12.0'} 892 | 893 | is-regex@1.1.4: 894 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 895 | engines: {node: '>= 0.4'} 896 | 897 | is-shared-array-buffer@1.0.2: 898 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 899 | 900 | is-stream@2.0.1: 901 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 902 | engines: {node: '>=8'} 903 | 904 | is-string@1.0.7: 905 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 906 | engines: {node: '>= 0.4'} 907 | 908 | is-symbol@1.0.4: 909 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 910 | engines: {node: '>= 0.4'} 911 | 912 | is-typed-array@1.1.10: 913 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} 914 | engines: {node: '>= 0.4'} 915 | 916 | is-weakref@1.0.2: 917 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 918 | 919 | isexe@2.0.0: 920 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 921 | 922 | isexe@3.1.1: 923 | resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} 924 | engines: {node: '>=16'} 925 | 926 | jiti@2.6.1: 927 | resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} 928 | hasBin: true 929 | 930 | js-yaml@4.1.0: 931 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 932 | hasBin: true 933 | 934 | jsbn@1.1.0: 935 | resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} 936 | 937 | json-buffer@3.0.1: 938 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 939 | 940 | json-parse-better-errors@1.0.2: 941 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 942 | 943 | json-schema-traverse@0.4.1: 944 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 945 | 946 | json-stable-stringify-without-jsonify@1.0.1: 947 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 948 | 949 | keyv@4.5.4: 950 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 951 | 952 | kuler@2.0.0: 953 | resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} 954 | 955 | levn@0.4.1: 956 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 957 | engines: {node: '>= 0.8.0'} 958 | 959 | load-json-file@4.0.0: 960 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 961 | engines: {node: '>=4'} 962 | 963 | locate-path@6.0.0: 964 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 965 | engines: {node: '>=10'} 966 | 967 | lodash.merge@4.6.2: 968 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 969 | 970 | logform@2.7.0: 971 | resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} 972 | engines: {node: '>= 12.0.0'} 973 | 974 | lru-cache@11.2.4: 975 | resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} 976 | engines: {node: 20 || >=22} 977 | 978 | make-fetch-happen@15.0.3: 979 | resolution: {integrity: sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==} 980 | engines: {node: ^20.17.0 || >=22.9.0} 981 | 982 | memorystream@0.3.1: 983 | resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 984 | engines: {node: '>= 0.10.0'} 985 | 986 | minimatch@10.1.1: 987 | resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} 988 | engines: {node: 20 || >=22} 989 | 990 | minimatch@3.1.2: 991 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 992 | 993 | minimatch@9.0.5: 994 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 995 | engines: {node: '>=16 || 14 >=14.17'} 996 | 997 | minipass-collect@2.0.1: 998 | resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} 999 | engines: {node: '>=16 || 14 >=14.17'} 1000 | 1001 | minipass-fetch@5.0.0: 1002 | resolution: {integrity: sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==} 1003 | engines: {node: ^20.17.0 || >=22.9.0} 1004 | 1005 | minipass-flush@1.0.5: 1006 | resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} 1007 | engines: {node: '>= 8'} 1008 | 1009 | minipass-pipeline@1.2.4: 1010 | resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} 1011 | engines: {node: '>=8'} 1012 | 1013 | minipass-sized@1.0.3: 1014 | resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} 1015 | engines: {node: '>=8'} 1016 | 1017 | minipass@3.3.6: 1018 | resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} 1019 | engines: {node: '>=8'} 1020 | 1021 | minipass@7.1.2: 1022 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1023 | engines: {node: '>=16 || 14 >=14.17'} 1024 | 1025 | minizlib@3.0.2: 1026 | resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} 1027 | engines: {node: '>= 18'} 1028 | 1029 | minizlib@3.1.0: 1030 | resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} 1031 | engines: {node: '>= 18'} 1032 | 1033 | ms@2.1.3: 1034 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1035 | 1036 | natural-compare@1.4.0: 1037 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1038 | 1039 | negotiator@1.0.0: 1040 | resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} 1041 | engines: {node: '>= 0.6'} 1042 | 1043 | nice-try@1.0.5: 1044 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1045 | 1046 | node-gyp@12.1.0: 1047 | resolution: {integrity: sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g==} 1048 | engines: {node: ^20.17.0 || >=22.9.0} 1049 | hasBin: true 1050 | 1051 | nodemon@3.1.11: 1052 | resolution: {integrity: sha512-is96t8F/1//UHAjNPHpbsNY46ELPpftGUoSVNXwUfMk/qdjSylYrWSu1XavVTBOn526kFiOR733ATgNBCQyH0g==} 1053 | engines: {node: '>=10'} 1054 | hasBin: true 1055 | 1056 | nopt@1.0.10: 1057 | resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} 1058 | hasBin: true 1059 | 1060 | nopt@9.0.0: 1061 | resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} 1062 | engines: {node: ^20.17.0 || >=22.9.0} 1063 | hasBin: true 1064 | 1065 | normalize-package-data@2.5.0: 1066 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1067 | 1068 | normalize-path@3.0.0: 1069 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1070 | engines: {node: '>=0.10.0'} 1071 | 1072 | npm-run-all@4.1.5: 1073 | resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} 1074 | engines: {node: '>= 4'} 1075 | hasBin: true 1076 | 1077 | object-inspect@1.12.3: 1078 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 1079 | 1080 | object-keys@1.1.1: 1081 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1082 | engines: {node: '>= 0.4'} 1083 | 1084 | object.assign@4.1.4: 1085 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 1086 | engines: {node: '>= 0.4'} 1087 | 1088 | one-time@1.0.0: 1089 | resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} 1090 | 1091 | optionator@0.9.3: 1092 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 1093 | engines: {node: '>= 0.8.0'} 1094 | 1095 | p-limit@3.1.0: 1096 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1097 | engines: {node: '>=10'} 1098 | 1099 | p-locate@5.0.0: 1100 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1101 | engines: {node: '>=10'} 1102 | 1103 | p-map@7.0.3: 1104 | resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} 1105 | engines: {node: '>=18'} 1106 | 1107 | parent-module@1.0.1: 1108 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1109 | engines: {node: '>=6'} 1110 | 1111 | parse-json@4.0.0: 1112 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1113 | engines: {node: '>=4'} 1114 | 1115 | path-exists@4.0.0: 1116 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1117 | engines: {node: '>=8'} 1118 | 1119 | path-key@2.0.1: 1120 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 1121 | engines: {node: '>=4'} 1122 | 1123 | path-key@3.1.1: 1124 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1125 | engines: {node: '>=8'} 1126 | 1127 | path-parse@1.0.7: 1128 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1129 | 1130 | path-scurry@2.0.1: 1131 | resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} 1132 | engines: {node: 20 || >=22} 1133 | 1134 | path-type@3.0.0: 1135 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 1136 | engines: {node: '>=4'} 1137 | 1138 | picomatch@2.3.1: 1139 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1140 | engines: {node: '>=8.6'} 1141 | 1142 | picomatch@4.0.2: 1143 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1144 | engines: {node: '>=12'} 1145 | 1146 | picomatch@4.0.3: 1147 | resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 1148 | engines: {node: '>=12'} 1149 | 1150 | pidtree@0.3.1: 1151 | resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} 1152 | engines: {node: '>=0.10'} 1153 | hasBin: true 1154 | 1155 | pify@3.0.0: 1156 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1157 | engines: {node: '>=4'} 1158 | 1159 | prelude-ls@1.2.1: 1160 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1161 | engines: {node: '>= 0.8.0'} 1162 | 1163 | proc-log@6.1.0: 1164 | resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} 1165 | engines: {node: ^20.17.0 || >=22.9.0} 1166 | 1167 | promise-retry@2.0.1: 1168 | resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} 1169 | engines: {node: '>=10'} 1170 | 1171 | pstree.remy@1.1.8: 1172 | resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} 1173 | 1174 | punycode@2.3.0: 1175 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 1176 | engines: {node: '>=6'} 1177 | 1178 | read-pkg@3.0.0: 1179 | resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} 1180 | engines: {node: '>=4'} 1181 | 1182 | readable-stream@3.6.2: 1183 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1184 | engines: {node: '>= 6'} 1185 | 1186 | readdirp@3.6.0: 1187 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1188 | engines: {node: '>=8.10.0'} 1189 | 1190 | regexp.prototype.flags@1.5.0: 1191 | resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} 1192 | engines: {node: '>= 0.4'} 1193 | 1194 | resolve-from@4.0.0: 1195 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1196 | engines: {node: '>=4'} 1197 | 1198 | resolve@1.22.2: 1199 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} 1200 | hasBin: true 1201 | 1202 | retry@0.12.0: 1203 | resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} 1204 | engines: {node: '>= 4'} 1205 | 1206 | rsbuild-plugin-dts@0.18.4: 1207 | resolution: {integrity: sha512-ZVG3WS0VLXQD6oWDZKN2AEKbOVblFTHpYk0cisS/DpOhIODFxSxpnlYIWvc+8qOcrKOuToVqsGvK8VfJ4n+UqQ==} 1208 | engines: {node: '>=18.12.0'} 1209 | peerDependencies: 1210 | '@microsoft/api-extractor': ^7 1211 | '@rsbuild/core': 1.x 1212 | '@typescript/native-preview': 7.x 1213 | typescript: ^5 1214 | peerDependenciesMeta: 1215 | '@microsoft/api-extractor': 1216 | optional: true 1217 | '@typescript/native-preview': 1218 | optional: true 1219 | typescript: 1220 | optional: true 1221 | 1222 | safe-buffer@5.2.1: 1223 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1224 | 1225 | safe-regex-test@1.0.0: 1226 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 1227 | 1228 | safe-stable-stringify@2.5.0: 1229 | resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} 1230 | engines: {node: '>=10'} 1231 | 1232 | safer-buffer@2.1.2: 1233 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1234 | 1235 | semver@5.7.1: 1236 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 1237 | hasBin: true 1238 | 1239 | semver@7.6.3: 1240 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1241 | engines: {node: '>=10'} 1242 | hasBin: true 1243 | 1244 | shebang-command@1.2.0: 1245 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 1246 | engines: {node: '>=0.10.0'} 1247 | 1248 | shebang-command@2.0.0: 1249 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1250 | engines: {node: '>=8'} 1251 | 1252 | shebang-regex@1.0.0: 1253 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 1254 | engines: {node: '>=0.10.0'} 1255 | 1256 | shebang-regex@3.0.0: 1257 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1258 | engines: {node: '>=8'} 1259 | 1260 | shell-quote@1.8.1: 1261 | resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 1262 | 1263 | side-channel@1.0.4: 1264 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 1265 | 1266 | simple-update-notifier@2.0.0: 1267 | resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} 1268 | engines: {node: '>=10'} 1269 | 1270 | smart-buffer@4.2.0: 1271 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 1272 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 1273 | 1274 | socks-proxy-agent@8.0.5: 1275 | resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} 1276 | engines: {node: '>= 14'} 1277 | 1278 | socks@2.8.6: 1279 | resolution: {integrity: sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==} 1280 | engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} 1281 | 1282 | source-map-support@0.5.21: 1283 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1284 | 1285 | source-map@0.6.1: 1286 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1287 | engines: {node: '>=0.10.0'} 1288 | 1289 | spdx-correct@3.2.0: 1290 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1291 | 1292 | spdx-exceptions@2.3.0: 1293 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 1294 | 1295 | spdx-expression-parse@3.0.1: 1296 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1297 | 1298 | spdx-license-ids@3.0.13: 1299 | resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} 1300 | 1301 | sprintf-js@1.1.3: 1302 | resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} 1303 | 1304 | ssri@13.0.0: 1305 | resolution: {integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==} 1306 | engines: {node: ^20.17.0 || >=22.9.0} 1307 | 1308 | stack-trace@0.0.10: 1309 | resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} 1310 | 1311 | string.prototype.padend@3.1.4: 1312 | resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} 1313 | engines: {node: '>= 0.4'} 1314 | 1315 | string.prototype.trim@1.2.7: 1316 | resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} 1317 | engines: {node: '>= 0.4'} 1318 | 1319 | string.prototype.trimend@1.0.6: 1320 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 1321 | 1322 | string.prototype.trimstart@1.0.6: 1323 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 1324 | 1325 | string_decoder@1.3.0: 1326 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1327 | 1328 | strip-bom@3.0.0: 1329 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1330 | engines: {node: '>=4'} 1331 | 1332 | strip-json-comments@3.1.1: 1333 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1334 | engines: {node: '>=8'} 1335 | 1336 | supports-color@5.5.0: 1337 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1338 | engines: {node: '>=4'} 1339 | 1340 | supports-color@7.2.0: 1341 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1342 | engines: {node: '>=8'} 1343 | 1344 | supports-preserve-symlinks-flag@1.0.0: 1345 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1346 | engines: {node: '>= 0.4'} 1347 | 1348 | tar@7.5.2: 1349 | resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} 1350 | engines: {node: '>=18'} 1351 | 1352 | text-hex@1.0.0: 1353 | resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} 1354 | 1355 | tinyglobby@0.2.14: 1356 | resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} 1357 | engines: {node: '>=12.0.0'} 1358 | 1359 | tinyglobby@0.2.15: 1360 | resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 1361 | engines: {node: '>=12.0.0'} 1362 | 1363 | to-regex-range@5.0.1: 1364 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1365 | engines: {node: '>=8.0'} 1366 | 1367 | touch@3.1.0: 1368 | resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} 1369 | hasBin: true 1370 | 1371 | triple-beam@1.4.1: 1372 | resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} 1373 | engines: {node: '>= 14.0.0'} 1374 | 1375 | ts-api-utils@2.1.0: 1376 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1377 | engines: {node: '>=18.12'} 1378 | peerDependencies: 1379 | typescript: '>=4.8.4' 1380 | 1381 | tslib@2.8.1: 1382 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1383 | 1384 | type-check@0.4.0: 1385 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1386 | engines: {node: '>= 0.8.0'} 1387 | 1388 | typed-array-length@1.0.4: 1389 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 1390 | 1391 | typescript-eslint@8.50.0: 1392 | resolution: {integrity: sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==} 1393 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1394 | peerDependencies: 1395 | eslint: ^8.57.0 || ^9.0.0 1396 | typescript: '>=4.8.4 <6.0.0' 1397 | 1398 | typescript@5.9.3: 1399 | resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 1400 | engines: {node: '>=14.17'} 1401 | hasBin: true 1402 | 1403 | unbox-primitive@1.0.2: 1404 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1405 | 1406 | undefsafe@2.0.5: 1407 | resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} 1408 | 1409 | undici-types@7.16.0: 1410 | resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 1411 | 1412 | unique-filename@5.0.0: 1413 | resolution: {integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==} 1414 | engines: {node: ^20.17.0 || >=22.9.0} 1415 | 1416 | unique-slug@6.0.0: 1417 | resolution: {integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==} 1418 | engines: {node: ^20.17.0 || >=22.9.0} 1419 | 1420 | uri-js@4.4.1: 1421 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1422 | 1423 | util-deprecate@1.0.2: 1424 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1425 | 1426 | validate-npm-package-license@3.0.4: 1427 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 1428 | 1429 | which-boxed-primitive@1.0.2: 1430 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 1431 | 1432 | which-typed-array@1.1.9: 1433 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} 1434 | engines: {node: '>= 0.4'} 1435 | 1436 | which@1.3.1: 1437 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 1438 | hasBin: true 1439 | 1440 | which@2.0.2: 1441 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1442 | engines: {node: '>= 8'} 1443 | hasBin: true 1444 | 1445 | which@6.0.0: 1446 | resolution: {integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==} 1447 | engines: {node: ^20.17.0 || >=22.9.0} 1448 | hasBin: true 1449 | 1450 | winston-transport@4.9.0: 1451 | resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} 1452 | engines: {node: '>= 12.0.0'} 1453 | 1454 | winston@3.19.0: 1455 | resolution: {integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==} 1456 | engines: {node: '>= 12.0.0'} 1457 | 1458 | yallist@4.0.0: 1459 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1460 | 1461 | yallist@5.0.0: 1462 | resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} 1463 | engines: {node: '>=18'} 1464 | 1465 | yocto-queue@0.1.0: 1466 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1467 | engines: {node: '>=10'} 1468 | 1469 | snapshots: 1470 | 1471 | '@aashutoshrathi/word-wrap@1.2.6': {} 1472 | 1473 | '@ast-grep/napi-darwin-arm64@0.37.0': 1474 | optional: true 1475 | 1476 | '@ast-grep/napi-darwin-x64@0.37.0': 1477 | optional: true 1478 | 1479 | '@ast-grep/napi-linux-arm64-gnu@0.37.0': 1480 | optional: true 1481 | 1482 | '@ast-grep/napi-linux-arm64-musl@0.37.0': 1483 | optional: true 1484 | 1485 | '@ast-grep/napi-linux-x64-gnu@0.37.0': 1486 | optional: true 1487 | 1488 | '@ast-grep/napi-linux-x64-musl@0.37.0': 1489 | optional: true 1490 | 1491 | '@ast-grep/napi-win32-arm64-msvc@0.37.0': 1492 | optional: true 1493 | 1494 | '@ast-grep/napi-win32-ia32-msvc@0.37.0': 1495 | optional: true 1496 | 1497 | '@ast-grep/napi-win32-x64-msvc@0.37.0': 1498 | optional: true 1499 | 1500 | '@ast-grep/napi@0.37.0': 1501 | optionalDependencies: 1502 | '@ast-grep/napi-darwin-arm64': 0.37.0 1503 | '@ast-grep/napi-darwin-x64': 0.37.0 1504 | '@ast-grep/napi-linux-arm64-gnu': 0.37.0 1505 | '@ast-grep/napi-linux-arm64-musl': 0.37.0 1506 | '@ast-grep/napi-linux-x64-gnu': 0.37.0 1507 | '@ast-grep/napi-linux-x64-musl': 0.37.0 1508 | '@ast-grep/napi-win32-arm64-msvc': 0.37.0 1509 | '@ast-grep/napi-win32-ia32-msvc': 0.37.0 1510 | '@ast-grep/napi-win32-x64-msvc': 0.37.0 1511 | 1512 | '@colors/colors@1.6.0': {} 1513 | 1514 | '@dabh/diagnostics@2.0.8': 1515 | dependencies: 1516 | '@so-ric/colorspace': 1.1.6 1517 | enabled: 2.0.0 1518 | kuler: 2.0.0 1519 | 1520 | '@emnapi/core@1.5.0': 1521 | dependencies: 1522 | '@emnapi/wasi-threads': 1.1.0 1523 | tslib: 2.8.1 1524 | optional: true 1525 | 1526 | '@emnapi/runtime@1.5.0': 1527 | dependencies: 1528 | tslib: 2.8.1 1529 | optional: true 1530 | 1531 | '@emnapi/wasi-threads@1.1.0': 1532 | dependencies: 1533 | tslib: 2.8.1 1534 | optional: true 1535 | 1536 | '@epic-web/invariant@1.0.0': {} 1537 | 1538 | '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@2.6.1))': 1539 | dependencies: 1540 | eslint: 9.39.2(jiti@2.6.1) 1541 | eslint-visitor-keys: 3.4.3 1542 | 1543 | '@eslint-community/regexpp@4.12.1': {} 1544 | 1545 | '@eslint/config-array@0.21.1': 1546 | dependencies: 1547 | '@eslint/object-schema': 2.1.7 1548 | debug: 4.4.0(supports-color@5.5.0) 1549 | minimatch: 3.1.2 1550 | transitivePeerDependencies: 1551 | - supports-color 1552 | 1553 | '@eslint/config-helpers@0.4.2': 1554 | dependencies: 1555 | '@eslint/core': 0.17.0 1556 | 1557 | '@eslint/core@0.17.0': 1558 | dependencies: 1559 | '@types/json-schema': 7.0.15 1560 | 1561 | '@eslint/eslintrc@3.3.1': 1562 | dependencies: 1563 | ajv: 6.12.6 1564 | debug: 4.4.0(supports-color@5.5.0) 1565 | espree: 10.4.0 1566 | globals: 14.0.0 1567 | ignore: 5.3.2 1568 | import-fresh: 3.3.0 1569 | js-yaml: 4.1.0 1570 | minimatch: 3.1.2 1571 | strip-json-comments: 3.1.1 1572 | transitivePeerDependencies: 1573 | - supports-color 1574 | 1575 | '@eslint/js@9.39.2': {} 1576 | 1577 | '@eslint/object-schema@2.1.7': {} 1578 | 1579 | '@eslint/plugin-kit@0.4.1': 1580 | dependencies: 1581 | '@eslint/core': 0.17.0 1582 | levn: 0.4.1 1583 | 1584 | '@humanfs/core@0.19.1': {} 1585 | 1586 | '@humanfs/node@0.16.6': 1587 | dependencies: 1588 | '@humanfs/core': 0.19.1 1589 | '@humanwhocodes/retry': 0.3.1 1590 | 1591 | '@humanwhocodes/module-importer@1.0.1': {} 1592 | 1593 | '@humanwhocodes/retry@0.3.1': {} 1594 | 1595 | '@humanwhocodes/retry@0.4.2': {} 1596 | 1597 | '@infernus/core@0.14.0': 1598 | dependencies: 1599 | iconv-lite: 0.6.3 1600 | 1601 | '@infernus/types@0.1.0': {} 1602 | 1603 | '@isaacs/balanced-match@4.0.1': {} 1604 | 1605 | '@isaacs/brace-expansion@5.0.0': 1606 | dependencies: 1607 | '@isaacs/balanced-match': 4.0.1 1608 | 1609 | '@isaacs/fs-minipass@4.0.1': 1610 | dependencies: 1611 | minipass: 7.1.2 1612 | 1613 | '@module-federation/error-codes@0.21.6': {} 1614 | 1615 | '@module-federation/runtime-core@0.21.6': 1616 | dependencies: 1617 | '@module-federation/error-codes': 0.21.6 1618 | '@module-federation/sdk': 0.21.6 1619 | 1620 | '@module-federation/runtime-tools@0.21.6': 1621 | dependencies: 1622 | '@module-federation/runtime': 0.21.6 1623 | '@module-federation/webpack-bundler-runtime': 0.21.6 1624 | 1625 | '@module-federation/runtime@0.21.6': 1626 | dependencies: 1627 | '@module-federation/error-codes': 0.21.6 1628 | '@module-federation/runtime-core': 0.21.6 1629 | '@module-federation/sdk': 0.21.6 1630 | 1631 | '@module-federation/sdk@0.21.6': {} 1632 | 1633 | '@module-federation/webpack-bundler-runtime@0.21.6': 1634 | dependencies: 1635 | '@module-federation/runtime': 0.21.6 1636 | '@module-federation/sdk': 0.21.6 1637 | 1638 | '@napi-rs/wasm-runtime@1.0.7': 1639 | dependencies: 1640 | '@emnapi/core': 1.5.0 1641 | '@emnapi/runtime': 1.5.0 1642 | '@tybys/wasm-util': 0.10.1 1643 | optional: true 1644 | 1645 | '@npmcli/agent@4.0.0': 1646 | dependencies: 1647 | agent-base: 7.1.4 1648 | http-proxy-agent: 7.0.2 1649 | https-proxy-agent: 7.0.6 1650 | lru-cache: 11.2.4 1651 | socks-proxy-agent: 8.0.5 1652 | transitivePeerDependencies: 1653 | - supports-color 1654 | 1655 | '@npmcli/fs@5.0.0': 1656 | dependencies: 1657 | semver: 7.6.3 1658 | 1659 | '@rsbuild/core@1.6.15': 1660 | dependencies: 1661 | '@rspack/core': 1.6.8(@swc/helpers@0.5.17) 1662 | '@rspack/lite-tapable': 1.1.0 1663 | '@swc/helpers': 0.5.17 1664 | core-js: 3.47.0 1665 | jiti: 2.6.1 1666 | 1667 | '@rslib/core@0.18.4(typescript@5.9.3)': 1668 | dependencies: 1669 | '@rsbuild/core': 1.6.15 1670 | rsbuild-plugin-dts: 0.18.4(@rsbuild/core@1.6.15)(typescript@5.9.3) 1671 | optionalDependencies: 1672 | typescript: 5.9.3 1673 | transitivePeerDependencies: 1674 | - '@typescript/native-preview' 1675 | 1676 | '@rspack/binding-darwin-arm64@1.6.8': 1677 | optional: true 1678 | 1679 | '@rspack/binding-darwin-x64@1.6.8': 1680 | optional: true 1681 | 1682 | '@rspack/binding-linux-arm64-gnu@1.6.8': 1683 | optional: true 1684 | 1685 | '@rspack/binding-linux-arm64-musl@1.6.8': 1686 | optional: true 1687 | 1688 | '@rspack/binding-linux-x64-gnu@1.6.8': 1689 | optional: true 1690 | 1691 | '@rspack/binding-linux-x64-musl@1.6.8': 1692 | optional: true 1693 | 1694 | '@rspack/binding-wasm32-wasi@1.6.8': 1695 | dependencies: 1696 | '@napi-rs/wasm-runtime': 1.0.7 1697 | optional: true 1698 | 1699 | '@rspack/binding-win32-arm64-msvc@1.6.8': 1700 | optional: true 1701 | 1702 | '@rspack/binding-win32-ia32-msvc@1.6.8': 1703 | optional: true 1704 | 1705 | '@rspack/binding-win32-x64-msvc@1.6.8': 1706 | optional: true 1707 | 1708 | '@rspack/binding@1.6.8': 1709 | optionalDependencies: 1710 | '@rspack/binding-darwin-arm64': 1.6.8 1711 | '@rspack/binding-darwin-x64': 1.6.8 1712 | '@rspack/binding-linux-arm64-gnu': 1.6.8 1713 | '@rspack/binding-linux-arm64-musl': 1.6.8 1714 | '@rspack/binding-linux-x64-gnu': 1.6.8 1715 | '@rspack/binding-linux-x64-musl': 1.6.8 1716 | '@rspack/binding-wasm32-wasi': 1.6.8 1717 | '@rspack/binding-win32-arm64-msvc': 1.6.8 1718 | '@rspack/binding-win32-ia32-msvc': 1.6.8 1719 | '@rspack/binding-win32-x64-msvc': 1.6.8 1720 | 1721 | '@rspack/core@1.6.8(@swc/helpers@0.5.17)': 1722 | dependencies: 1723 | '@module-federation/runtime-tools': 0.21.6 1724 | '@rspack/binding': 1.6.8 1725 | '@rspack/lite-tapable': 1.1.0 1726 | optionalDependencies: 1727 | '@swc/helpers': 0.5.17 1728 | 1729 | '@rspack/lite-tapable@1.1.0': {} 1730 | 1731 | '@so-ric/colorspace@1.1.6': 1732 | dependencies: 1733 | color: 5.0.2 1734 | text-hex: 1.0.0 1735 | 1736 | '@swc/helpers@0.5.17': 1737 | dependencies: 1738 | tslib: 2.8.1 1739 | 1740 | '@tybys/wasm-util@0.10.1': 1741 | dependencies: 1742 | tslib: 2.8.1 1743 | optional: true 1744 | 1745 | '@types/estree@1.0.6': {} 1746 | 1747 | '@types/json-schema@7.0.15': {} 1748 | 1749 | '@types/node@24.10.4': 1750 | dependencies: 1751 | undici-types: 7.16.0 1752 | 1753 | '@types/triple-beam@1.3.5': {} 1754 | 1755 | '@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': 1756 | dependencies: 1757 | '@eslint-community/regexpp': 4.12.1 1758 | '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 1759 | '@typescript-eslint/scope-manager': 8.50.0 1760 | '@typescript-eslint/type-utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 1761 | '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 1762 | '@typescript-eslint/visitor-keys': 8.50.0 1763 | eslint: 9.39.2(jiti@2.6.1) 1764 | ignore: 7.0.5 1765 | natural-compare: 1.4.0 1766 | ts-api-utils: 2.1.0(typescript@5.9.3) 1767 | typescript: 5.9.3 1768 | transitivePeerDependencies: 1769 | - supports-color 1770 | 1771 | '@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': 1772 | dependencies: 1773 | '@typescript-eslint/scope-manager': 8.50.0 1774 | '@typescript-eslint/types': 8.50.0 1775 | '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) 1776 | '@typescript-eslint/visitor-keys': 8.50.0 1777 | debug: 4.4.0(supports-color@5.5.0) 1778 | eslint: 9.39.2(jiti@2.6.1) 1779 | typescript: 5.9.3 1780 | transitivePeerDependencies: 1781 | - supports-color 1782 | 1783 | '@typescript-eslint/project-service@8.50.0(typescript@5.9.3)': 1784 | dependencies: 1785 | '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3) 1786 | '@typescript-eslint/types': 8.50.0 1787 | debug: 4.4.0(supports-color@5.5.0) 1788 | typescript: 5.9.3 1789 | transitivePeerDependencies: 1790 | - supports-color 1791 | 1792 | '@typescript-eslint/scope-manager@8.50.0': 1793 | dependencies: 1794 | '@typescript-eslint/types': 8.50.0 1795 | '@typescript-eslint/visitor-keys': 8.50.0 1796 | 1797 | '@typescript-eslint/tsconfig-utils@8.50.0(typescript@5.9.3)': 1798 | dependencies: 1799 | typescript: 5.9.3 1800 | 1801 | '@typescript-eslint/type-utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': 1802 | dependencies: 1803 | '@typescript-eslint/types': 8.50.0 1804 | '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) 1805 | '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 1806 | debug: 4.4.0(supports-color@5.5.0) 1807 | eslint: 9.39.2(jiti@2.6.1) 1808 | ts-api-utils: 2.1.0(typescript@5.9.3) 1809 | typescript: 5.9.3 1810 | transitivePeerDependencies: 1811 | - supports-color 1812 | 1813 | '@typescript-eslint/types@8.50.0': {} 1814 | 1815 | '@typescript-eslint/typescript-estree@8.50.0(typescript@5.9.3)': 1816 | dependencies: 1817 | '@typescript-eslint/project-service': 8.50.0(typescript@5.9.3) 1818 | '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3) 1819 | '@typescript-eslint/types': 8.50.0 1820 | '@typescript-eslint/visitor-keys': 8.50.0 1821 | debug: 4.4.0(supports-color@5.5.0) 1822 | minimatch: 9.0.5 1823 | semver: 7.6.3 1824 | tinyglobby: 0.2.15 1825 | ts-api-utils: 2.1.0(typescript@5.9.3) 1826 | typescript: 5.9.3 1827 | transitivePeerDependencies: 1828 | - supports-color 1829 | 1830 | '@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': 1831 | dependencies: 1832 | '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) 1833 | '@typescript-eslint/scope-manager': 8.50.0 1834 | '@typescript-eslint/types': 8.50.0 1835 | '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) 1836 | eslint: 9.39.2(jiti@2.6.1) 1837 | typescript: 5.9.3 1838 | transitivePeerDependencies: 1839 | - supports-color 1840 | 1841 | '@typescript-eslint/visitor-keys@8.50.0': 1842 | dependencies: 1843 | '@typescript-eslint/types': 8.50.0 1844 | eslint-visitor-keys: 4.2.1 1845 | 1846 | abbrev@1.1.1: {} 1847 | 1848 | abbrev@4.0.0: {} 1849 | 1850 | acorn-jsx@5.3.2(acorn@8.15.0): 1851 | dependencies: 1852 | acorn: 8.15.0 1853 | 1854 | acorn@8.15.0: {} 1855 | 1856 | agent-base@7.1.4: {} 1857 | 1858 | ajv@6.12.6: 1859 | dependencies: 1860 | fast-deep-equal: 3.1.3 1861 | fast-json-stable-stringify: 2.1.0 1862 | json-schema-traverse: 0.4.1 1863 | uri-js: 4.4.1 1864 | 1865 | ansi-styles@3.2.1: 1866 | dependencies: 1867 | color-convert: 1.9.3 1868 | 1869 | ansi-styles@4.3.0: 1870 | dependencies: 1871 | color-convert: 2.0.1 1872 | 1873 | anymatch@3.1.3: 1874 | dependencies: 1875 | normalize-path: 3.0.0 1876 | picomatch: 2.3.1 1877 | 1878 | argparse@2.0.1: {} 1879 | 1880 | array-buffer-byte-length@1.0.0: 1881 | dependencies: 1882 | call-bind: 1.0.2 1883 | is-array-buffer: 3.0.2 1884 | 1885 | async@3.2.6: {} 1886 | 1887 | available-typed-arrays@1.0.5: {} 1888 | 1889 | balanced-match@1.0.2: {} 1890 | 1891 | binary-extensions@2.2.0: {} 1892 | 1893 | brace-expansion@1.1.11: 1894 | dependencies: 1895 | balanced-match: 1.0.2 1896 | concat-map: 0.0.1 1897 | 1898 | brace-expansion@2.0.1: 1899 | dependencies: 1900 | balanced-match: 1.0.2 1901 | 1902 | braces@3.0.2: 1903 | dependencies: 1904 | fill-range: 7.0.1 1905 | 1906 | buffer-from@1.1.2: {} 1907 | 1908 | cacache@20.0.3: 1909 | dependencies: 1910 | '@npmcli/fs': 5.0.0 1911 | fs-minipass: 3.0.3 1912 | glob: 13.0.0 1913 | lru-cache: 11.2.4 1914 | minipass: 7.1.2 1915 | minipass-collect: 2.0.1 1916 | minipass-flush: 1.0.5 1917 | minipass-pipeline: 1.2.4 1918 | p-map: 7.0.3 1919 | ssri: 13.0.0 1920 | unique-filename: 5.0.0 1921 | 1922 | call-bind@1.0.2: 1923 | dependencies: 1924 | function-bind: 1.1.1 1925 | get-intrinsic: 1.2.1 1926 | 1927 | callsites@3.1.0: {} 1928 | 1929 | chalk@2.4.2: 1930 | dependencies: 1931 | ansi-styles: 3.2.1 1932 | escape-string-regexp: 1.0.5 1933 | supports-color: 5.5.0 1934 | 1935 | chalk@4.1.2: 1936 | dependencies: 1937 | ansi-styles: 4.3.0 1938 | supports-color: 7.2.0 1939 | 1940 | chokidar@3.5.3: 1941 | dependencies: 1942 | anymatch: 3.1.3 1943 | braces: 3.0.2 1944 | glob-parent: 5.1.2 1945 | is-binary-path: 2.1.0 1946 | is-glob: 4.0.3 1947 | normalize-path: 3.0.0 1948 | readdirp: 3.6.0 1949 | optionalDependencies: 1950 | fsevents: 2.3.3 1951 | 1952 | chownr@3.0.0: {} 1953 | 1954 | color-convert@1.9.3: 1955 | dependencies: 1956 | color-name: 1.1.3 1957 | 1958 | color-convert@2.0.1: 1959 | dependencies: 1960 | color-name: 1.1.4 1961 | 1962 | color-convert@3.1.2: 1963 | dependencies: 1964 | color-name: 2.0.2 1965 | 1966 | color-name@1.1.3: {} 1967 | 1968 | color-name@1.1.4: {} 1969 | 1970 | color-name@2.0.2: {} 1971 | 1972 | color-string@2.1.2: 1973 | dependencies: 1974 | color-name: 2.0.2 1975 | 1976 | color@5.0.2: 1977 | dependencies: 1978 | color-convert: 3.1.2 1979 | color-string: 2.1.2 1980 | 1981 | concat-map@0.0.1: {} 1982 | 1983 | core-js@3.47.0: {} 1984 | 1985 | cross-env@10.1.0: 1986 | dependencies: 1987 | '@epic-web/invariant': 1.0.0 1988 | cross-spawn: 7.0.6 1989 | 1990 | cross-spawn@6.0.5: 1991 | dependencies: 1992 | nice-try: 1.0.5 1993 | path-key: 2.0.1 1994 | semver: 5.7.1 1995 | shebang-command: 1.2.0 1996 | which: 1.3.1 1997 | 1998 | cross-spawn@7.0.6: 1999 | dependencies: 2000 | path-key: 3.1.1 2001 | shebang-command: 2.0.0 2002 | which: 2.0.2 2003 | 2004 | debug@4.4.0(supports-color@5.5.0): 2005 | dependencies: 2006 | ms: 2.1.3 2007 | optionalDependencies: 2008 | supports-color: 5.5.0 2009 | 2010 | deep-is@0.1.4: {} 2011 | 2012 | define-properties@1.2.0: 2013 | dependencies: 2014 | has-property-descriptors: 1.0.0 2015 | object-keys: 1.1.1 2016 | 2017 | enabled@2.0.0: {} 2018 | 2019 | encoding@0.1.13: 2020 | dependencies: 2021 | iconv-lite: 0.6.3 2022 | optional: true 2023 | 2024 | env-paths@2.2.1: {} 2025 | 2026 | err-code@2.0.3: {} 2027 | 2028 | error-ex@1.3.2: 2029 | dependencies: 2030 | is-arrayish: 0.2.1 2031 | 2032 | es-abstract@1.21.2: 2033 | dependencies: 2034 | array-buffer-byte-length: 1.0.0 2035 | available-typed-arrays: 1.0.5 2036 | call-bind: 1.0.2 2037 | es-set-tostringtag: 2.0.1 2038 | es-to-primitive: 1.2.1 2039 | function.prototype.name: 1.1.5 2040 | get-intrinsic: 1.2.1 2041 | get-symbol-description: 1.0.0 2042 | globalthis: 1.0.3 2043 | gopd: 1.0.1 2044 | has: 1.0.3 2045 | has-property-descriptors: 1.0.0 2046 | has-proto: 1.0.1 2047 | has-symbols: 1.0.3 2048 | internal-slot: 1.0.5 2049 | is-array-buffer: 3.0.2 2050 | is-callable: 1.2.7 2051 | is-negative-zero: 2.0.2 2052 | is-regex: 1.1.4 2053 | is-shared-array-buffer: 1.0.2 2054 | is-string: 1.0.7 2055 | is-typed-array: 1.1.10 2056 | is-weakref: 1.0.2 2057 | object-inspect: 1.12.3 2058 | object-keys: 1.1.1 2059 | object.assign: 4.1.4 2060 | regexp.prototype.flags: 1.5.0 2061 | safe-regex-test: 1.0.0 2062 | string.prototype.trim: 1.2.7 2063 | string.prototype.trimend: 1.0.6 2064 | string.prototype.trimstart: 1.0.6 2065 | typed-array-length: 1.0.4 2066 | unbox-primitive: 1.0.2 2067 | which-typed-array: 1.1.9 2068 | 2069 | es-set-tostringtag@2.0.1: 2070 | dependencies: 2071 | get-intrinsic: 1.2.1 2072 | has: 1.0.3 2073 | has-tostringtag: 1.0.0 2074 | 2075 | es-to-primitive@1.2.1: 2076 | dependencies: 2077 | is-callable: 1.2.7 2078 | is-date-object: 1.0.5 2079 | is-symbol: 1.0.4 2080 | 2081 | escape-string-regexp@1.0.5: {} 2082 | 2083 | escape-string-regexp@4.0.0: {} 2084 | 2085 | eslint-scope@8.4.0: 2086 | dependencies: 2087 | esrecurse: 4.3.0 2088 | estraverse: 5.3.0 2089 | 2090 | eslint-visitor-keys@3.4.3: {} 2091 | 2092 | eslint-visitor-keys@4.2.1: {} 2093 | 2094 | eslint@9.39.2(jiti@2.6.1): 2095 | dependencies: 2096 | '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) 2097 | '@eslint-community/regexpp': 4.12.1 2098 | '@eslint/config-array': 0.21.1 2099 | '@eslint/config-helpers': 0.4.2 2100 | '@eslint/core': 0.17.0 2101 | '@eslint/eslintrc': 3.3.1 2102 | '@eslint/js': 9.39.2 2103 | '@eslint/plugin-kit': 0.4.1 2104 | '@humanfs/node': 0.16.6 2105 | '@humanwhocodes/module-importer': 1.0.1 2106 | '@humanwhocodes/retry': 0.4.2 2107 | '@types/estree': 1.0.6 2108 | ajv: 6.12.6 2109 | chalk: 4.1.2 2110 | cross-spawn: 7.0.6 2111 | debug: 4.4.0(supports-color@5.5.0) 2112 | escape-string-regexp: 4.0.0 2113 | eslint-scope: 8.4.0 2114 | eslint-visitor-keys: 4.2.1 2115 | espree: 10.4.0 2116 | esquery: 1.5.0 2117 | esutils: 2.0.3 2118 | fast-deep-equal: 3.1.3 2119 | file-entry-cache: 8.0.0 2120 | find-up: 5.0.0 2121 | glob-parent: 6.0.2 2122 | ignore: 5.3.2 2123 | imurmurhash: 0.1.4 2124 | is-glob: 4.0.3 2125 | json-stable-stringify-without-jsonify: 1.0.1 2126 | lodash.merge: 4.6.2 2127 | minimatch: 3.1.2 2128 | natural-compare: 1.4.0 2129 | optionator: 0.9.3 2130 | optionalDependencies: 2131 | jiti: 2.6.1 2132 | transitivePeerDependencies: 2133 | - supports-color 2134 | 2135 | espree@10.4.0: 2136 | dependencies: 2137 | acorn: 8.15.0 2138 | acorn-jsx: 5.3.2(acorn@8.15.0) 2139 | eslint-visitor-keys: 4.2.1 2140 | 2141 | esquery@1.5.0: 2142 | dependencies: 2143 | estraverse: 5.3.0 2144 | 2145 | esrecurse@4.3.0: 2146 | dependencies: 2147 | estraverse: 5.3.0 2148 | 2149 | estraverse@5.3.0: {} 2150 | 2151 | esutils@2.0.3: {} 2152 | 2153 | exponential-backoff@3.1.2: {} 2154 | 2155 | fast-deep-equal@3.1.3: {} 2156 | 2157 | fast-json-stable-stringify@2.1.0: {} 2158 | 2159 | fast-levenshtein@2.0.6: {} 2160 | 2161 | fdir@6.4.5(picomatch@4.0.2): 2162 | optionalDependencies: 2163 | picomatch: 4.0.2 2164 | 2165 | fdir@6.5.0(picomatch@4.0.3): 2166 | optionalDependencies: 2167 | picomatch: 4.0.3 2168 | 2169 | fecha@4.2.3: {} 2170 | 2171 | file-entry-cache@8.0.0: 2172 | dependencies: 2173 | flat-cache: 4.0.1 2174 | 2175 | fill-range@7.0.1: 2176 | dependencies: 2177 | to-regex-range: 5.0.1 2178 | 2179 | find-up@5.0.0: 2180 | dependencies: 2181 | locate-path: 6.0.0 2182 | path-exists: 4.0.0 2183 | 2184 | flat-cache@4.0.1: 2185 | dependencies: 2186 | flatted: 3.3.1 2187 | keyv: 4.5.4 2188 | 2189 | flatted@3.3.1: {} 2190 | 2191 | fn.name@1.1.0: {} 2192 | 2193 | for-each@0.3.3: 2194 | dependencies: 2195 | is-callable: 1.2.7 2196 | 2197 | fs-minipass@3.0.3: 2198 | dependencies: 2199 | minipass: 7.1.2 2200 | 2201 | fsevents@2.3.3: 2202 | optional: true 2203 | 2204 | function-bind@1.1.1: {} 2205 | 2206 | function.prototype.name@1.1.5: 2207 | dependencies: 2208 | call-bind: 1.0.2 2209 | define-properties: 1.2.0 2210 | es-abstract: 1.21.2 2211 | functions-have-names: 1.2.3 2212 | 2213 | functions-have-names@1.2.3: {} 2214 | 2215 | get-intrinsic@1.2.1: 2216 | dependencies: 2217 | function-bind: 1.1.1 2218 | has: 1.0.3 2219 | has-proto: 1.0.1 2220 | has-symbols: 1.0.3 2221 | 2222 | get-symbol-description@1.0.0: 2223 | dependencies: 2224 | call-bind: 1.0.2 2225 | get-intrinsic: 1.2.1 2226 | 2227 | glob-parent@5.1.2: 2228 | dependencies: 2229 | is-glob: 4.0.3 2230 | 2231 | glob-parent@6.0.2: 2232 | dependencies: 2233 | is-glob: 4.0.3 2234 | 2235 | glob@13.0.0: 2236 | dependencies: 2237 | minimatch: 10.1.1 2238 | minipass: 7.1.2 2239 | path-scurry: 2.0.1 2240 | 2241 | globals@14.0.0: {} 2242 | 2243 | globals@16.5.0: {} 2244 | 2245 | globalthis@1.0.3: 2246 | dependencies: 2247 | define-properties: 1.2.0 2248 | 2249 | gopd@1.0.1: 2250 | dependencies: 2251 | get-intrinsic: 1.2.1 2252 | 2253 | graceful-fs@4.2.11: {} 2254 | 2255 | has-bigints@1.0.2: {} 2256 | 2257 | has-flag@3.0.0: {} 2258 | 2259 | has-flag@4.0.0: {} 2260 | 2261 | has-property-descriptors@1.0.0: 2262 | dependencies: 2263 | get-intrinsic: 1.2.1 2264 | 2265 | has-proto@1.0.1: {} 2266 | 2267 | has-symbols@1.0.3: {} 2268 | 2269 | has-tostringtag@1.0.0: 2270 | dependencies: 2271 | has-symbols: 1.0.3 2272 | 2273 | has@1.0.3: 2274 | dependencies: 2275 | function-bind: 1.1.1 2276 | 2277 | hosted-git-info@2.8.9: {} 2278 | 2279 | http-cache-semantics@4.2.0: {} 2280 | 2281 | http-proxy-agent@7.0.2: 2282 | dependencies: 2283 | agent-base: 7.1.4 2284 | debug: 4.4.0(supports-color@5.5.0) 2285 | transitivePeerDependencies: 2286 | - supports-color 2287 | 2288 | https-proxy-agent@7.0.6: 2289 | dependencies: 2290 | agent-base: 7.1.4 2291 | debug: 4.4.0(supports-color@5.5.0) 2292 | transitivePeerDependencies: 2293 | - supports-color 2294 | 2295 | husky@9.1.7: {} 2296 | 2297 | iconv-lite@0.6.3: 2298 | dependencies: 2299 | safer-buffer: 2.1.2 2300 | 2301 | ignore-by-default@1.0.1: {} 2302 | 2303 | ignore@5.3.2: {} 2304 | 2305 | ignore@7.0.5: {} 2306 | 2307 | import-fresh@3.3.0: 2308 | dependencies: 2309 | parent-module: 1.0.1 2310 | resolve-from: 4.0.0 2311 | 2312 | imurmurhash@0.1.4: {} 2313 | 2314 | inherits@2.0.4: {} 2315 | 2316 | internal-slot@1.0.5: 2317 | dependencies: 2318 | get-intrinsic: 1.2.1 2319 | has: 1.0.3 2320 | side-channel: 1.0.4 2321 | 2322 | ip-address@9.0.5: 2323 | dependencies: 2324 | jsbn: 1.1.0 2325 | sprintf-js: 1.1.3 2326 | 2327 | is-array-buffer@3.0.2: 2328 | dependencies: 2329 | call-bind: 1.0.2 2330 | get-intrinsic: 1.2.1 2331 | is-typed-array: 1.1.10 2332 | 2333 | is-arrayish@0.2.1: {} 2334 | 2335 | is-bigint@1.0.4: 2336 | dependencies: 2337 | has-bigints: 1.0.2 2338 | 2339 | is-binary-path@2.1.0: 2340 | dependencies: 2341 | binary-extensions: 2.2.0 2342 | 2343 | is-boolean-object@1.1.2: 2344 | dependencies: 2345 | call-bind: 1.0.2 2346 | has-tostringtag: 1.0.0 2347 | 2348 | is-callable@1.2.7: {} 2349 | 2350 | is-core-module@2.12.1: 2351 | dependencies: 2352 | has: 1.0.3 2353 | 2354 | is-date-object@1.0.5: 2355 | dependencies: 2356 | has-tostringtag: 1.0.0 2357 | 2358 | is-extglob@2.1.1: {} 2359 | 2360 | is-glob@4.0.3: 2361 | dependencies: 2362 | is-extglob: 2.1.1 2363 | 2364 | is-negative-zero@2.0.2: {} 2365 | 2366 | is-number-object@1.0.7: 2367 | dependencies: 2368 | has-tostringtag: 1.0.0 2369 | 2370 | is-number@7.0.0: {} 2371 | 2372 | is-regex@1.1.4: 2373 | dependencies: 2374 | call-bind: 1.0.2 2375 | has-tostringtag: 1.0.0 2376 | 2377 | is-shared-array-buffer@1.0.2: 2378 | dependencies: 2379 | call-bind: 1.0.2 2380 | 2381 | is-stream@2.0.1: {} 2382 | 2383 | is-string@1.0.7: 2384 | dependencies: 2385 | has-tostringtag: 1.0.0 2386 | 2387 | is-symbol@1.0.4: 2388 | dependencies: 2389 | has-symbols: 1.0.3 2390 | 2391 | is-typed-array@1.1.10: 2392 | dependencies: 2393 | available-typed-arrays: 1.0.5 2394 | call-bind: 1.0.2 2395 | for-each: 0.3.3 2396 | gopd: 1.0.1 2397 | has-tostringtag: 1.0.0 2398 | 2399 | is-weakref@1.0.2: 2400 | dependencies: 2401 | call-bind: 1.0.2 2402 | 2403 | isexe@2.0.0: {} 2404 | 2405 | isexe@3.1.1: {} 2406 | 2407 | jiti@2.6.1: {} 2408 | 2409 | js-yaml@4.1.0: 2410 | dependencies: 2411 | argparse: 2.0.1 2412 | 2413 | jsbn@1.1.0: {} 2414 | 2415 | json-buffer@3.0.1: {} 2416 | 2417 | json-parse-better-errors@1.0.2: {} 2418 | 2419 | json-schema-traverse@0.4.1: {} 2420 | 2421 | json-stable-stringify-without-jsonify@1.0.1: {} 2422 | 2423 | keyv@4.5.4: 2424 | dependencies: 2425 | json-buffer: 3.0.1 2426 | 2427 | kuler@2.0.0: {} 2428 | 2429 | levn@0.4.1: 2430 | dependencies: 2431 | prelude-ls: 1.2.1 2432 | type-check: 0.4.0 2433 | 2434 | load-json-file@4.0.0: 2435 | dependencies: 2436 | graceful-fs: 4.2.11 2437 | parse-json: 4.0.0 2438 | pify: 3.0.0 2439 | strip-bom: 3.0.0 2440 | 2441 | locate-path@6.0.0: 2442 | dependencies: 2443 | p-locate: 5.0.0 2444 | 2445 | lodash.merge@4.6.2: {} 2446 | 2447 | logform@2.7.0: 2448 | dependencies: 2449 | '@colors/colors': 1.6.0 2450 | '@types/triple-beam': 1.3.5 2451 | fecha: 4.2.3 2452 | ms: 2.1.3 2453 | safe-stable-stringify: 2.5.0 2454 | triple-beam: 1.4.1 2455 | 2456 | lru-cache@11.2.4: {} 2457 | 2458 | make-fetch-happen@15.0.3: 2459 | dependencies: 2460 | '@npmcli/agent': 4.0.0 2461 | cacache: 20.0.3 2462 | http-cache-semantics: 4.2.0 2463 | minipass: 7.1.2 2464 | minipass-fetch: 5.0.0 2465 | minipass-flush: 1.0.5 2466 | minipass-pipeline: 1.2.4 2467 | negotiator: 1.0.0 2468 | proc-log: 6.1.0 2469 | promise-retry: 2.0.1 2470 | ssri: 13.0.0 2471 | transitivePeerDependencies: 2472 | - supports-color 2473 | 2474 | memorystream@0.3.1: {} 2475 | 2476 | minimatch@10.1.1: 2477 | dependencies: 2478 | '@isaacs/brace-expansion': 5.0.0 2479 | 2480 | minimatch@3.1.2: 2481 | dependencies: 2482 | brace-expansion: 1.1.11 2483 | 2484 | minimatch@9.0.5: 2485 | dependencies: 2486 | brace-expansion: 2.0.1 2487 | 2488 | minipass-collect@2.0.1: 2489 | dependencies: 2490 | minipass: 7.1.2 2491 | 2492 | minipass-fetch@5.0.0: 2493 | dependencies: 2494 | minipass: 7.1.2 2495 | minipass-sized: 1.0.3 2496 | minizlib: 3.0.2 2497 | optionalDependencies: 2498 | encoding: 0.1.13 2499 | 2500 | minipass-flush@1.0.5: 2501 | dependencies: 2502 | minipass: 3.3.6 2503 | 2504 | minipass-pipeline@1.2.4: 2505 | dependencies: 2506 | minipass: 3.3.6 2507 | 2508 | minipass-sized@1.0.3: 2509 | dependencies: 2510 | minipass: 3.3.6 2511 | 2512 | minipass@3.3.6: 2513 | dependencies: 2514 | yallist: 4.0.0 2515 | 2516 | minipass@7.1.2: {} 2517 | 2518 | minizlib@3.0.2: 2519 | dependencies: 2520 | minipass: 7.1.2 2521 | 2522 | minizlib@3.1.0: 2523 | dependencies: 2524 | minipass: 7.1.2 2525 | 2526 | ms@2.1.3: {} 2527 | 2528 | natural-compare@1.4.0: {} 2529 | 2530 | negotiator@1.0.0: {} 2531 | 2532 | nice-try@1.0.5: {} 2533 | 2534 | node-gyp@12.1.0: 2535 | dependencies: 2536 | env-paths: 2.2.1 2537 | exponential-backoff: 3.1.2 2538 | graceful-fs: 4.2.11 2539 | make-fetch-happen: 15.0.3 2540 | nopt: 9.0.0 2541 | proc-log: 6.1.0 2542 | semver: 7.6.3 2543 | tar: 7.5.2 2544 | tinyglobby: 0.2.14 2545 | which: 6.0.0 2546 | transitivePeerDependencies: 2547 | - supports-color 2548 | 2549 | nodemon@3.1.11: 2550 | dependencies: 2551 | chokidar: 3.5.3 2552 | debug: 4.4.0(supports-color@5.5.0) 2553 | ignore-by-default: 1.0.1 2554 | minimatch: 3.1.2 2555 | pstree.remy: 1.1.8 2556 | semver: 7.6.3 2557 | simple-update-notifier: 2.0.0 2558 | supports-color: 5.5.0 2559 | touch: 3.1.0 2560 | undefsafe: 2.0.5 2561 | 2562 | nopt@1.0.10: 2563 | dependencies: 2564 | abbrev: 1.1.1 2565 | 2566 | nopt@9.0.0: 2567 | dependencies: 2568 | abbrev: 4.0.0 2569 | 2570 | normalize-package-data@2.5.0: 2571 | dependencies: 2572 | hosted-git-info: 2.8.9 2573 | resolve: 1.22.2 2574 | semver: 5.7.1 2575 | validate-npm-package-license: 3.0.4 2576 | 2577 | normalize-path@3.0.0: {} 2578 | 2579 | npm-run-all@4.1.5: 2580 | dependencies: 2581 | ansi-styles: 3.2.1 2582 | chalk: 2.4.2 2583 | cross-spawn: 6.0.5 2584 | memorystream: 0.3.1 2585 | minimatch: 3.1.2 2586 | pidtree: 0.3.1 2587 | read-pkg: 3.0.0 2588 | shell-quote: 1.8.1 2589 | string.prototype.padend: 3.1.4 2590 | 2591 | object-inspect@1.12.3: {} 2592 | 2593 | object-keys@1.1.1: {} 2594 | 2595 | object.assign@4.1.4: 2596 | dependencies: 2597 | call-bind: 1.0.2 2598 | define-properties: 1.2.0 2599 | has-symbols: 1.0.3 2600 | object-keys: 1.1.1 2601 | 2602 | one-time@1.0.0: 2603 | dependencies: 2604 | fn.name: 1.1.0 2605 | 2606 | optionator@0.9.3: 2607 | dependencies: 2608 | '@aashutoshrathi/word-wrap': 1.2.6 2609 | deep-is: 0.1.4 2610 | fast-levenshtein: 2.0.6 2611 | levn: 0.4.1 2612 | prelude-ls: 1.2.1 2613 | type-check: 0.4.0 2614 | 2615 | p-limit@3.1.0: 2616 | dependencies: 2617 | yocto-queue: 0.1.0 2618 | 2619 | p-locate@5.0.0: 2620 | dependencies: 2621 | p-limit: 3.1.0 2622 | 2623 | p-map@7.0.3: {} 2624 | 2625 | parent-module@1.0.1: 2626 | dependencies: 2627 | callsites: 3.1.0 2628 | 2629 | parse-json@4.0.0: 2630 | dependencies: 2631 | error-ex: 1.3.2 2632 | json-parse-better-errors: 1.0.2 2633 | 2634 | path-exists@4.0.0: {} 2635 | 2636 | path-key@2.0.1: {} 2637 | 2638 | path-key@3.1.1: {} 2639 | 2640 | path-parse@1.0.7: {} 2641 | 2642 | path-scurry@2.0.1: 2643 | dependencies: 2644 | lru-cache: 11.2.4 2645 | minipass: 7.1.2 2646 | 2647 | path-type@3.0.0: 2648 | dependencies: 2649 | pify: 3.0.0 2650 | 2651 | picomatch@2.3.1: {} 2652 | 2653 | picomatch@4.0.2: {} 2654 | 2655 | picomatch@4.0.3: {} 2656 | 2657 | pidtree@0.3.1: {} 2658 | 2659 | pify@3.0.0: {} 2660 | 2661 | prelude-ls@1.2.1: {} 2662 | 2663 | proc-log@6.1.0: {} 2664 | 2665 | promise-retry@2.0.1: 2666 | dependencies: 2667 | err-code: 2.0.3 2668 | retry: 0.12.0 2669 | 2670 | pstree.remy@1.1.8: {} 2671 | 2672 | punycode@2.3.0: {} 2673 | 2674 | read-pkg@3.0.0: 2675 | dependencies: 2676 | load-json-file: 4.0.0 2677 | normalize-package-data: 2.5.0 2678 | path-type: 3.0.0 2679 | 2680 | readable-stream@3.6.2: 2681 | dependencies: 2682 | inherits: 2.0.4 2683 | string_decoder: 1.3.0 2684 | util-deprecate: 1.0.2 2685 | 2686 | readdirp@3.6.0: 2687 | dependencies: 2688 | picomatch: 2.3.1 2689 | 2690 | regexp.prototype.flags@1.5.0: 2691 | dependencies: 2692 | call-bind: 1.0.2 2693 | define-properties: 1.2.0 2694 | functions-have-names: 1.2.3 2695 | 2696 | resolve-from@4.0.0: {} 2697 | 2698 | resolve@1.22.2: 2699 | dependencies: 2700 | is-core-module: 2.12.1 2701 | path-parse: 1.0.7 2702 | supports-preserve-symlinks-flag: 1.0.0 2703 | 2704 | retry@0.12.0: {} 2705 | 2706 | rsbuild-plugin-dts@0.18.4(@rsbuild/core@1.6.15)(typescript@5.9.3): 2707 | dependencies: 2708 | '@ast-grep/napi': 0.37.0 2709 | '@rsbuild/core': 1.6.15 2710 | optionalDependencies: 2711 | typescript: 5.9.3 2712 | 2713 | safe-buffer@5.2.1: {} 2714 | 2715 | safe-regex-test@1.0.0: 2716 | dependencies: 2717 | call-bind: 1.0.2 2718 | get-intrinsic: 1.2.1 2719 | is-regex: 1.1.4 2720 | 2721 | safe-stable-stringify@2.5.0: {} 2722 | 2723 | safer-buffer@2.1.2: {} 2724 | 2725 | semver@5.7.1: {} 2726 | 2727 | semver@7.6.3: {} 2728 | 2729 | shebang-command@1.2.0: 2730 | dependencies: 2731 | shebang-regex: 1.0.0 2732 | 2733 | shebang-command@2.0.0: 2734 | dependencies: 2735 | shebang-regex: 3.0.0 2736 | 2737 | shebang-regex@1.0.0: {} 2738 | 2739 | shebang-regex@3.0.0: {} 2740 | 2741 | shell-quote@1.8.1: {} 2742 | 2743 | side-channel@1.0.4: 2744 | dependencies: 2745 | call-bind: 1.0.2 2746 | get-intrinsic: 1.2.1 2747 | object-inspect: 1.12.3 2748 | 2749 | simple-update-notifier@2.0.0: 2750 | dependencies: 2751 | semver: 7.6.3 2752 | 2753 | smart-buffer@4.2.0: {} 2754 | 2755 | socks-proxy-agent@8.0.5: 2756 | dependencies: 2757 | agent-base: 7.1.4 2758 | debug: 4.4.0(supports-color@5.5.0) 2759 | socks: 2.8.6 2760 | transitivePeerDependencies: 2761 | - supports-color 2762 | 2763 | socks@2.8.6: 2764 | dependencies: 2765 | ip-address: 9.0.5 2766 | smart-buffer: 4.2.0 2767 | 2768 | source-map-support@0.5.21: 2769 | dependencies: 2770 | buffer-from: 1.1.2 2771 | source-map: 0.6.1 2772 | 2773 | source-map@0.6.1: {} 2774 | 2775 | spdx-correct@3.2.0: 2776 | dependencies: 2777 | spdx-expression-parse: 3.0.1 2778 | spdx-license-ids: 3.0.13 2779 | 2780 | spdx-exceptions@2.3.0: {} 2781 | 2782 | spdx-expression-parse@3.0.1: 2783 | dependencies: 2784 | spdx-exceptions: 2.3.0 2785 | spdx-license-ids: 3.0.13 2786 | 2787 | spdx-license-ids@3.0.13: {} 2788 | 2789 | sprintf-js@1.1.3: {} 2790 | 2791 | ssri@13.0.0: 2792 | dependencies: 2793 | minipass: 7.1.2 2794 | 2795 | stack-trace@0.0.10: {} 2796 | 2797 | string.prototype.padend@3.1.4: 2798 | dependencies: 2799 | call-bind: 1.0.2 2800 | define-properties: 1.2.0 2801 | es-abstract: 1.21.2 2802 | 2803 | string.prototype.trim@1.2.7: 2804 | dependencies: 2805 | call-bind: 1.0.2 2806 | define-properties: 1.2.0 2807 | es-abstract: 1.21.2 2808 | 2809 | string.prototype.trimend@1.0.6: 2810 | dependencies: 2811 | call-bind: 1.0.2 2812 | define-properties: 1.2.0 2813 | es-abstract: 1.21.2 2814 | 2815 | string.prototype.trimstart@1.0.6: 2816 | dependencies: 2817 | call-bind: 1.0.2 2818 | define-properties: 1.2.0 2819 | es-abstract: 1.21.2 2820 | 2821 | string_decoder@1.3.0: 2822 | dependencies: 2823 | safe-buffer: 5.2.1 2824 | 2825 | strip-bom@3.0.0: {} 2826 | 2827 | strip-json-comments@3.1.1: {} 2828 | 2829 | supports-color@5.5.0: 2830 | dependencies: 2831 | has-flag: 3.0.0 2832 | 2833 | supports-color@7.2.0: 2834 | dependencies: 2835 | has-flag: 4.0.0 2836 | 2837 | supports-preserve-symlinks-flag@1.0.0: {} 2838 | 2839 | tar@7.5.2: 2840 | dependencies: 2841 | '@isaacs/fs-minipass': 4.0.1 2842 | chownr: 3.0.0 2843 | minipass: 7.1.2 2844 | minizlib: 3.1.0 2845 | yallist: 5.0.0 2846 | 2847 | text-hex@1.0.0: {} 2848 | 2849 | tinyglobby@0.2.14: 2850 | dependencies: 2851 | fdir: 6.4.5(picomatch@4.0.2) 2852 | picomatch: 4.0.2 2853 | 2854 | tinyglobby@0.2.15: 2855 | dependencies: 2856 | fdir: 6.5.0(picomatch@4.0.3) 2857 | picomatch: 4.0.3 2858 | 2859 | to-regex-range@5.0.1: 2860 | dependencies: 2861 | is-number: 7.0.0 2862 | 2863 | touch@3.1.0: 2864 | dependencies: 2865 | nopt: 1.0.10 2866 | 2867 | triple-beam@1.4.1: {} 2868 | 2869 | ts-api-utils@2.1.0(typescript@5.9.3): 2870 | dependencies: 2871 | typescript: 5.9.3 2872 | 2873 | tslib@2.8.1: {} 2874 | 2875 | type-check@0.4.0: 2876 | dependencies: 2877 | prelude-ls: 1.2.1 2878 | 2879 | typed-array-length@1.0.4: 2880 | dependencies: 2881 | call-bind: 1.0.2 2882 | for-each: 0.3.3 2883 | is-typed-array: 1.1.10 2884 | 2885 | typescript-eslint@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): 2886 | dependencies: 2887 | '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 2888 | '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 2889 | '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) 2890 | '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) 2891 | eslint: 9.39.2(jiti@2.6.1) 2892 | typescript: 5.9.3 2893 | transitivePeerDependencies: 2894 | - supports-color 2895 | 2896 | typescript@5.9.3: {} 2897 | 2898 | unbox-primitive@1.0.2: 2899 | dependencies: 2900 | call-bind: 1.0.2 2901 | has-bigints: 1.0.2 2902 | has-symbols: 1.0.3 2903 | which-boxed-primitive: 1.0.2 2904 | 2905 | undefsafe@2.0.5: {} 2906 | 2907 | undici-types@7.16.0: {} 2908 | 2909 | unique-filename@5.0.0: 2910 | dependencies: 2911 | unique-slug: 6.0.0 2912 | 2913 | unique-slug@6.0.0: 2914 | dependencies: 2915 | imurmurhash: 0.1.4 2916 | 2917 | uri-js@4.4.1: 2918 | dependencies: 2919 | punycode: 2.3.0 2920 | 2921 | util-deprecate@1.0.2: {} 2922 | 2923 | validate-npm-package-license@3.0.4: 2924 | dependencies: 2925 | spdx-correct: 3.2.0 2926 | spdx-expression-parse: 3.0.1 2927 | 2928 | which-boxed-primitive@1.0.2: 2929 | dependencies: 2930 | is-bigint: 1.0.4 2931 | is-boolean-object: 1.1.2 2932 | is-number-object: 1.0.7 2933 | is-string: 1.0.7 2934 | is-symbol: 1.0.4 2935 | 2936 | which-typed-array@1.1.9: 2937 | dependencies: 2938 | available-typed-arrays: 1.0.5 2939 | call-bind: 1.0.2 2940 | for-each: 0.3.3 2941 | gopd: 1.0.1 2942 | has-tostringtag: 1.0.0 2943 | is-typed-array: 1.1.10 2944 | 2945 | which@1.3.1: 2946 | dependencies: 2947 | isexe: 2.0.0 2948 | 2949 | which@2.0.2: 2950 | dependencies: 2951 | isexe: 2.0.0 2952 | 2953 | which@6.0.0: 2954 | dependencies: 2955 | isexe: 3.1.1 2956 | 2957 | winston-transport@4.9.0: 2958 | dependencies: 2959 | logform: 2.7.0 2960 | readable-stream: 3.6.2 2961 | triple-beam: 1.4.1 2962 | 2963 | winston@3.19.0: 2964 | dependencies: 2965 | '@colors/colors': 1.6.0 2966 | '@dabh/diagnostics': 2.0.8 2967 | async: 3.2.6 2968 | is-stream: 2.0.1 2969 | logform: 2.7.0 2970 | one-time: 1.0.0 2971 | readable-stream: 3.6.2 2972 | safe-stable-stringify: 2.5.0 2973 | stack-trace: 0.0.10 2974 | triple-beam: 1.4.1 2975 | winston-transport: 4.9.0 2976 | 2977 | yallist@4.0.0: {} 2978 | 2979 | yallist@5.0.0: {} 2980 | 2981 | yocto-queue@0.1.0: {} 2982 | --------------------------------------------------------------------------------