From 1a55bb348f9d75c2f806ebed5f38605113857d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=B8=80=E4=B9=8B?= Date: Mon, 7 Apr 2025 00:37:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0gmxhr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/gm_xhr.js | 11 +- package.json | 21 +- packages/message/custom_event_message.ts | 10 +- packages/message/server.ts | 10 +- pnpm-lock.yaml | 1288 +++++++++++++++------- rspack.config.ts | 8 - src/app/service/offscreen/gm_api.ts | 113 +- src/app/service/offscreen/index.ts | 15 - src/app/service/sandbox/runtime.ts | 2 +- src/app/service/service_worker/gm_api.ts | 21 +- src/pkg/utils/monaco-editor.ts | 9 +- src/runtime/content/content.ts | 40 +- src/runtime/content/gm_api.ts | 224 +++- 13 files changed, 1255 insertions(+), 517 deletions(-) diff --git a/example/gm_xhr.js b/example/gm_xhr.js index 59be5a6..85db948 100644 --- a/example/gm_xhr.js +++ b/example/gm_xhr.js @@ -13,14 +13,21 @@ const data = new FormData(); data.append("username", "admin"); +data.append( + "file", + new File(["foo"], "foo.txt", { + type: "text/plain", + }) +); + GM_xmlhttpRequest({ url: "https://bbs.tampermonkey.net.cn/", method: "POST", responseType: "blob", data: data, headers: { - "referer": "http://www.example.com/", - "origin": "www.example.com", + referer: "http://www.example.com/", + origin: "www.example.com", // 为空将不会发送此header "sec-ch-ua-mobile": "", }, diff --git a/package.json b/package.json index 5d05cf1..8507441 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "pako": "^2.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-i18next": "^15.1.0", + "react-i18next": "^15.4.1", "react-icons": "^5.3.0", "react-joyride": "^2.9.3", "react-redux": "^9.1.2", @@ -41,10 +41,10 @@ "yaml": "^2.6.1" }, "devDependencies": { - "@eslint/compat": "^1.2.6", - "@eslint/js": "^9.19.0", - "@rspack/cli": "^1.2.3", - "@rspack/core": "^1.2.3", + "@eslint/compat": "^1.2.8", + "@eslint/js": "^9.24.0", + "@rspack/cli": "^1.3.2", + "@rspack/core": "^1.3.2", "@rspack/plugin-react-refresh": "^1.0.1", "@types/chrome": "^0.0.279", "@types/crypto-js": "^4.2.2", @@ -57,22 +57,21 @@ "@unocss/postcss": "0.65.0-beta.2", "@vitest/coverage-v8": "2.1.4", "autoprefixer": "^10.4.20", - "compression-webpack-plugin": "^11.1.0", "cross-env": "^7.0.3", - "eslint": "^9.19.0", + "eslint": "^9.24.0", "eslint-plugin-react": "^7.37.4", - "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-react-hooks": "^5.2.0", "fake-indexeddb": "^6.0.0", - "globals": "^15.14.0", + "globals": "^16.0.0", "jsdom": "^25.0.1", "mock-xmlhttprequest": "^8.4.1", "postcss": "^8.4.49", "postcss-loader": "^8.1.1", - "prettier": "^3.4.2", + "prettier": "^3.5.3", "react-refresh": "^0.16.0", "ts-node": "^10.9.2", "typescript": "^5.7.3", - "typescript-eslint": "^8.22.0", + "typescript-eslint": "^8.29.0", "unocss": "0.65.0-beta.2", "vitest": "^2.1.4" } diff --git a/packages/message/custom_event_message.ts b/packages/message/custom_event_message.ts index 40b5a07..b049524 100644 --- a/packages/message/custom_event_message.ts +++ b/packages/message/custom_event_message.ts @@ -17,7 +17,7 @@ export class CustomEventMessage implements Message { EE: EventEmitter = new EventEmitter(); // 关联dom目标 - relatedTarget: Map = new Map(); + relatedTarget: Map = new Map(); constructor( protected flag: string, @@ -25,7 +25,7 @@ export class CustomEventMessage implements Message { ) { window.addEventListener((isContent ? "ct" : "fd") + flag, (event) => { if (event instanceof MouseEvent) { - this.relatedTarget.set(event.clientX, event.relatedTarget); + this.relatedTarget.set(event.clientX, event.relatedTarget); return; } else if (event instanceof CustomEvent) { this.messageHandle(event.detail, new CustomEventPostMessage(this)); @@ -130,4 +130,10 @@ export class CustomEventMessage implements Message { this.nativeSend(body); }); } + + getAndDelRelatedTarget(id: number) { + const target = this.relatedTarget.get(id); + this.relatedTarget.delete(id); + return target; + } } diff --git a/packages/message/server.ts b/packages/message/server.ts index ade01be..6d42788 100644 --- a/packages/message/server.ts +++ b/packages/message/server.ts @@ -114,9 +114,15 @@ export class Group { } // 转发消息 -export function forwardMessage(prefix: string, path: string, from: Server, to: MessageSend) { - from.on(path, (params, fromCon) => { +export function forwardMessage(prefix: string, path: string, from: Server, to: MessageSend, middleware?: ApiFunction) { + from.on(path, async (params, fromCon) => { console.log("forwardMessage", path, prefix, params); + if (middleware) { + const resp = await middleware(params, new GetSender(fromCon)); + if (resp !== false) { + return resp; + } + } if (fromCon) { const fromConnect = fromCon.getConnect(); to.connect({ action: prefix + "/" + path, data: params }).then((toCon) => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b6eae4a..c224372 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,8 +54,8 @@ importers: specifier: ^18.2.0 version: 18.3.1(react@18.3.1) react-i18next: - specifier: ^15.1.0 - version: 15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^15.4.1 + version: 15.4.1(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-icons: specifier: ^5.3.0 version: 5.3.0(react@18.3.1) @@ -79,17 +79,17 @@ importers: version: 2.6.1 devDependencies: '@eslint/compat': - specifier: ^1.2.6 - version: 1.2.6(eslint@9.20.1(jiti@1.21.6)) + specifier: ^1.2.8 + version: 1.2.8(eslint@9.24.0(jiti@1.21.7)) '@eslint/js': - specifier: ^9.19.0 - version: 9.20.0 + specifier: ^9.24.0 + version: 9.24.0 '@rspack/cli': - specifier: ^1.2.3 - version: 1.2.3(@rspack/core@1.2.3(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1)) + specifier: ^1.3.2 + version: 1.3.2(@rspack/core@1.3.2(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1)) '@rspack/core': - specifier: ^1.2.3 - version: 1.2.3(@swc/helpers@0.5.13) + specifier: ^1.3.2 + version: 1.3.2(@swc/helpers@0.5.13) '@rspack/plugin-react-refresh': specifier: ^1.0.1 version: 1.0.1(react-refresh@0.16.0) @@ -122,31 +122,28 @@ importers: version: 0.65.0-beta.2(postcss@8.4.49) '@vitest/coverage-v8': specifier: 2.1.4 - version: 2.1.4(vitest@2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.36.0)) + version: 2.1.4(vitest@2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.39.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) - compression-webpack-plugin: - specifier: ^11.1.0 - version: 11.1.0(webpack@5.96.1(esbuild@0.23.1)) cross-env: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^9.19.0 - version: 9.20.1(jiti@1.21.6) + specifier: ^9.24.0 + version: 9.24.0(jiti@1.21.7) eslint-plugin-react: specifier: ^7.37.4 - version: 7.37.4(eslint@9.20.1(jiti@1.21.6)) + version: 7.37.4(eslint@9.24.0(jiti@1.21.7)) eslint-plugin-react-hooks: - specifier: ^5.1.0 - version: 5.1.0(eslint@9.20.1(jiti@1.21.6)) + specifier: ^5.2.0 + version: 5.2.0(eslint@9.24.0(jiti@1.21.7)) fake-indexeddb: specifier: ^6.0.0 version: 6.0.0 globals: - specifier: ^15.14.0 - version: 15.15.0 + specifier: ^16.0.0 + version: 16.0.0 jsdom: specifier: ^25.0.1 version: 25.0.1 @@ -158,10 +155,10 @@ importers: version: 8.4.49 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(@rspack/core@1.2.3(@swc/helpers@0.5.13))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.96.1(esbuild@0.23.1)) + version: 8.1.1(@rspack/core@1.3.2(@swc/helpers@0.5.13))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.96.1(esbuild@0.23.1)) prettier: - specifier: ^3.4.2 - version: 3.5.0 + specifier: ^3.5.3 + version: 3.5.3 react-refresh: specifier: ^0.16.0 version: 0.16.0 @@ -172,14 +169,14 @@ importers: specifier: ^5.7.3 version: 5.7.3 typescript-eslint: - specifier: ^8.22.0 - version: 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) + specifier: ^8.29.0 + version: 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) unocss: specifier: 0.65.0-beta.2 - version: 0.65.0-beta.2(@unocss/webpack@0.65.0-beta.2(rollup@4.24.4)(webpack@5.96.1(esbuild@0.23.1)))(postcss@8.4.49)(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3)) + version: 0.65.0-beta.2(@unocss/webpack@0.65.0-beta.2(rollup@4.24.4)(webpack@5.96.1(esbuild@0.23.1)))(postcss@8.4.49)(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)) vitest: specifier: ^2.1.4 - version: 2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.36.0) + version: 2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.39.0) packages/message: dependencies: @@ -329,6 +326,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.0': + resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} @@ -337,6 +339,10 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.0': + resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -675,8 +681,8 @@ packages: eslint: optional: true - '@eslint/compat@1.2.6': - resolution: {integrity: sha512-k7HNCqApoDHM6XzT30zGoETj+D+uUcZUb+IVAJmar3u6bvHf7hhHJcWx09QHj4/a2qrKZMWU0E16tvkiAdv06Q==} + '@eslint/compat@1.2.8': + resolution: {integrity: sha512-LqCYHdWL/QqKIJuZ/ucMAv8d4luKGs4oCPgpt8mWztQAtPrHfXKQ/XAUc8ljCHAfJCn6SvkpTcGt5Tsh8saowA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -688,16 +694,20 @@ packages: resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.10.0': - resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + '@eslint/config-helpers@0.2.1': + resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.11.0': - resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==} + '@eslint/core@0.12.0': + resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.13.0': + resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.7.0': @@ -708,16 +718,16 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.2.0': - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@9.13.0': resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.20.0': - resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==} + '@eslint/js@9.24.0': + resolution: {integrity: sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -732,8 +742,8 @@ packages: resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.5': - resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + '@eslint/plugin-kit@0.2.8': + resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@gilbarbara/deep-equal@0.1.2': @@ -766,8 +776,8 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.1': - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + '@humanwhocodes/retry@0.4.2': + resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} '@iconify/types@2.0.0': @@ -788,6 +798,10 @@ packages: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -820,6 +834,12 @@ packages: peerDependencies: tslib: '2' + '@jsonjoy.com/json-pack@1.2.0': + resolution: {integrity: sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + '@jsonjoy.com/util@1.5.0': resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} engines: {node: '>=10.0'} @@ -829,33 +849,36 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@module-federation/error-codes@0.8.4': - resolution: {integrity: sha512-55LYmrDdKb4jt+qr8qE8U3al62ZANp3FhfVaNPOaAmdTh0jHdD8M3yf5HKFlr5xVkVO4eV/F/J2NCfpbh+pEXQ==} + '@module-federation/error-codes@0.11.2': + resolution: {integrity: sha512-ik1Qnn0I+WyEdprTck9WGlH41vGsVdUg8cfO+ZM02qOb2cZm5Vu3SlxGAobj6g7uAj0g8yINnd7h7Dci40BxQA==} + + '@module-federation/runtime-core@0.11.2': + resolution: {integrity: sha512-dia5kKybi6MFU0s5PgglJwN27k7n9Sf69Cy5xZ4BWaP0qlaXTsxHKO0PECHNt2Pt8jDdyU29sQ4DwAQfxpnXJQ==} + + '@module-federation/runtime-tools@0.11.2': + resolution: {integrity: sha512-4MJTGAxVq6vxQRkTtTlH7Mm9AVqgn0X9kdu+7RsL7T/qU+jeYsbrntN2CWG3GVVA8r5JddXyTI1iJ0VXQZLV1w==} '@module-federation/runtime-tools@0.5.1': resolution: {integrity: sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg==} - '@module-federation/runtime-tools@0.8.4': - resolution: {integrity: sha512-fjVOsItJ1u5YY6E9FnS56UDwZgqEQUrWFnouRiPtK123LUuqUI9FH4redZoKWlE1PB0ir1Z3tnqy8eFYzPO38Q==} + '@module-federation/runtime@0.11.2': + resolution: {integrity: sha512-Ya9u/L6z2LvhgpqxuKCB7LcigIIRf1BbaxAZIH7mzbq/A7rZtTP7v+73E433jvgiAlbAfPSZkeoYGele6hfRwA==} '@module-federation/runtime@0.5.1': resolution: {integrity: sha512-xgiMUWwGLWDrvZc9JibuEbXIbhXg6z2oUkemogSvQ4LKvrl/n0kbqP1Blk669mXzyWbqtSp6PpvNdwaE1aN5xQ==} - '@module-federation/runtime@0.8.4': - resolution: {integrity: sha512-yZeZ7z2Rx4gv/0E97oLTF3V6N25vglmwXGgoeju/W2YjsFvWzVtCDI7zRRb0mJhU6+jmSM8jP1DeQGbea/AiZQ==} + '@module-federation/sdk@0.11.2': + resolution: {integrity: sha512-SBFe5xOamluT900J4AGBx+2/kCH/JbfqXoUwPSAC6PRzb8Y7LB0posnOGzmqYsLZXT37vp3d6AmJDsVoajDqxw==} '@module-federation/sdk@0.5.1': resolution: {integrity: sha512-exvchtjNURJJkpqjQ3/opdbfeT2wPKvrbnGnyRkrwW5o3FH1LaST1tkiNviT6OXTexGaVc2DahbdniQHVtQ7pA==} - '@module-federation/sdk@0.8.4': - resolution: {integrity: sha512-waABomIjg/5m1rPDBWYG4KUhS5r7OUUY7S+avpaVIY/tkPWB3ibRDKy2dNLLAMaLKq0u+B1qIdEp4NIWkqhqpg==} + '@module-federation/webpack-bundler-runtime@0.11.2': + resolution: {integrity: sha512-WdwIE6QF+MKs/PdVu0cKPETF743JB9PZ62/qf7Uo3gU4fjsUMc37RnbJZ/qB60EaHHfjwp1v6NnhZw1r4eVsnw==} '@module-federation/webpack-bundler-runtime@0.5.1': resolution: {integrity: sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA==} - '@module-federation/webpack-bundler-runtime@0.8.4': - resolution: {integrity: sha512-HggROJhvHPUX7uqBD/XlajGygMNM1DG0+4OAkk8MBQe4a18QzrRNzZt6XQbRTSG4OaEoyRWhQHvYD3Yps405tQ==} - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -895,6 +918,15 @@ packages: rollup: optional: true + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.24.4': resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} cpu: [arm] @@ -929,55 +961,46 @@ packages: resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.24.4': resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.24.4': resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.24.4': resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.24.4': resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.24.4': resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.24.4': resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.24.4': resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.24.4': resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} @@ -1017,8 +1040,8 @@ packages: cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-arm64@1.2.3': - resolution: {integrity: sha512-xuwYzhPgNCr4BtKXCU3xe4249TFsXAZglIlbxv8Qs3PeIarrZMRddcqH2zUXi+nJavNw3yN12sCYEzk1f+O4FQ==} + '@rspack/binding-darwin-arm64@1.3.2': + resolution: {integrity: sha512-oeZvdHCY3XML8U6npof3b7uNVmNMTIRccPe2IDHlV1zk1MPfBzgrKOKmo1V8kqI43xAWET7CpAX9C+TjDDcy/g==} cpu: [arm64] os: [darwin] @@ -1027,8 +1050,8 @@ packages: cpu: [x64] os: [darwin] - '@rspack/binding-darwin-x64@1.2.3': - resolution: {integrity: sha512-afiIN8elcrO2EtO27UN0qyZqu5FXGUdclud56DrhvEfnWS3GGxJEdjA8XUYVXkfCYakdXHucIJKlkkgaAjEvHg==} + '@rspack/binding-darwin-x64@1.3.2': + resolution: {integrity: sha512-V1IKH3I0uEf4vjou158amWgpAUz9MgGiFU09LgZS/hz1jYMTCi3Z791EEL4Gz6iqAixIZxtw6aYeotjRJ4Kyqg==} cpu: [x64] os: [darwin] @@ -1038,11 +1061,10 @@ packages: os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-gnu@1.2.3': - resolution: {integrity: sha512-K2u/fPUmKujlKSWL3q2zaUu8/6ZK/bOGKcqJSib8jdanQQ/GFKwKtPAFOOa/vvqbzhDocqKOobFR10FhgJqCHg==} + '@rspack/binding-linux-arm64-gnu@1.3.2': + resolution: {integrity: sha512-nJzY+Ur6FxWM0xc+G2tY1TQu3s6qgolxXb5K2VLIDHSPqDAjqRc35ypQc9Tz3rUPb8HVh+X7YLIZxA0hE4eQOg==} cpu: [arm64] os: [linux] - libc: [glibc] '@rspack/binding-linux-arm64-musl@1.0.14': resolution: {integrity: sha512-qgybhxI/nnoa8CUz7zKTC0Oh37NZt9uRxsSV7+ZYrfxqbrVCoNVuutPpY724uUHy1M6W34kVEm1uT1N4Ka5cZg==} @@ -1050,11 +1072,10 @@ packages: os: [linux] libc: [musl] - '@rspack/binding-linux-arm64-musl@1.2.3': - resolution: {integrity: sha512-mgovdzGb6cH9hQsjTyzDbfZWCPhTcoHcLro1P7UbiqcLPMDJp/k3Io9xV2/EJhaDA1aynIdq7XfY0fuk4+6Irw==} + '@rspack/binding-linux-arm64-musl@1.3.2': + resolution: {integrity: sha512-sRi77ccO/oOfyBNq3FgW2pDtXcgMzslLokOby8NpD/kv/SxtOE4ORoLZKzdJyGNh2WDPbtSwIDWPes2x4MKASQ==} cpu: [arm64] os: [linux] - libc: [musl] '@rspack/binding-linux-x64-gnu@1.0.14': resolution: {integrity: sha512-5vzaDRw3/sGKo3ax/1cU3/cxqNjajwlt2LU288vXNe1/n8oe/pcDfYcTugpOe/A1DqzadanudJszLpFcKsaFtQ==} @@ -1062,11 +1083,10 @@ packages: os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-gnu@1.2.3': - resolution: {integrity: sha512-542lwJzB1RMGuVdBdA3cOWTlmL9okpOppHUBWcNCjmJM+9zTI+0jwjVe8HaqOqtuR8XzNsoCwT9QonU/GLcuhg==} + '@rspack/binding-linux-x64-gnu@1.3.2': + resolution: {integrity: sha512-KnrFQUj6SKJFGXqJW9Kgdv+mRGcPCirQesuwXtW+9YejT6MzLRRdJ4NDQdfcmfLZK9+ap+l73bLXAyMiIBZiOw==} cpu: [x64] os: [linux] - libc: [glibc] '@rspack/binding-linux-x64-musl@1.0.14': resolution: {integrity: sha512-4U6QD9xVS1eGme52DuJr6Fg/KdcUfJ+iKwH49Up460dZ/fLvGylnVGA+V0mzPlKi8gfy7NwFuYXZdu3Pwi1YYg==} @@ -1074,19 +1094,18 @@ packages: os: [linux] libc: [musl] - '@rspack/binding-linux-x64-musl@1.2.3': - resolution: {integrity: sha512-dJromiREDcTWqzfCOI5y1IVoYmUnCv7vCp63AEq0+13fJJdk7+pcNN3VV2jOKpk9VECSvjg1c01wl+UzXAXFMw==} + '@rspack/binding-linux-x64-musl@1.3.2': + resolution: {integrity: sha512-ZcTl4LBgxp5Bfyu9x7NhYRAR4qWPwhhxzwXmiQ1ya7DsdqiYaiCr59dPQx7ZaExXckeHGly75B3aTn1II9Vexw==} cpu: [x64] os: [linux] - libc: [musl] '@rspack/binding-win32-arm64-msvc@1.0.14': resolution: {integrity: sha512-SjeYw7qqRHYZ5RPClu+ffKZsShQdU3amA1OwC3M0AS6dbfEcji8482St3Y8Z+QSzYRapCEZij9LMM/9ypEhISg==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-arm64-msvc@1.2.3': - resolution: {integrity: sha512-S8ZKddMMQDGy8jx/R0i2m1XrmfY2CpI+t6lIEpsuZuKUR4MbOGKN2DuL4MDnT3m8JaYvC8ihsvQjBXQCy3SNxQ==} + '@rspack/binding-win32-arm64-msvc@1.3.2': + resolution: {integrity: sha512-8volxqn9vps8XKj0DTRk/4d5TXL+vkaBRWF7CzzdfZYm/smvrdz2Iw7VmcACA7XaS41xqeTtrdq6CmaxC/4CFg==} cpu: [arm64] os: [win32] @@ -1095,8 +1114,8 @@ packages: cpu: [ia32] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.2.3': - resolution: {integrity: sha512-74lqSMKQJcJcgfFaxm+G9YVJSl2KK9/v4fRoMsWApztNy2qNgee+UguNBCOU6JLa3rVSj8Z5OVVDtJkGFrSvVg==} + '@rspack/binding-win32-ia32-msvc@1.3.2': + resolution: {integrity: sha512-jTIiV4pt62xK3qNqI88F8rM+ynM36UmbZ8CRFqXRHdC+Cx/dUmk83IGQr9DNvjM7we7BxUm3Shmi1f0KyZrBKw==} cpu: [ia32] os: [win32] @@ -1105,16 +1124,16 @@ packages: cpu: [x64] os: [win32] - '@rspack/binding-win32-x64-msvc@1.2.3': - resolution: {integrity: sha512-fcU532PgFdd5Bil8jwQW0Dcb/80oM6V0qSstGIxZ4M77t4t8e/PcukXfORTL71FfNQ64Rd4Dp6XRl1NHNJVxeg==} + '@rspack/binding-win32-x64-msvc@1.3.2': + resolution: {integrity: sha512-DfQmL7LsqD7KEZv8/z0p6AkwQAGlv5fvl5X5z4bxyRc4JMvEPBxY8lW9iK5Hk66ECzERUI2HcQ0JbRD/e4oL8A==} cpu: [x64] os: [win32] '@rspack/binding@1.0.14': resolution: {integrity: sha512-0wWqFvr9hkF4LgNPgWfkTU0hhkZAMvOytoCs2p+wDX1Up1E/SgJ1U1JAsCxsl1XtUKm7mRvdWHzJmHbza3y89Q==} - '@rspack/binding@1.2.3': - resolution: {integrity: sha512-enpOXZPQOJO800wdWcR7H5Dx5UZfwkaT0D0xsHD53WbpI09Z2KJbLX7I/i1FLLy3K1KQTB+2FIHLVdRikasXZA==} + '@rspack/binding@1.3.2': + resolution: {integrity: sha512-QK+nHPDQGv16mBpJa5vULDrqDilgiFZ/BbGCZoCZRX373R9s0Doe6DBbty+RfTJwCsalF3r8X6MdWfy7UPu6Hw==} '@rspack/cli@1.0.14': resolution: {integrity: sha512-cKi8XJW47WkAkCrbWBETvPcTsly4PhB8gWSr1tUX7iFiLyDbSsD6p7mFZxU0gafK+zw+CI8ufzSUiYjW8iwvCQ==} @@ -1122,8 +1141,8 @@ packages: peerDependencies: '@rspack/core': ^1.0.0-alpha || ^1.x - '@rspack/cli@1.2.3': - resolution: {integrity: sha512-4VL9+XuPkhtYz5PrFm3pb1GJ37LbAKs/mrSi8B2Uy3yHa9gj4QRmnSW0/osnQIjjKL1Fgj44dyPwVPeqWCPYNQ==} + '@rspack/cli@1.3.2': + resolution: {integrity: sha512-e3VnJLG6f0NkC/m/AKYc8wdnhxBCMpFe1gDJrYA1HVWqAQVz7S8cjZYNZ7F4wXu4sTtaGkCPX3zy+Li2pSt+bA==} hasBin: true peerDependencies: '@rspack/core': ^1.0.0-alpha || ^1.x @@ -1141,8 +1160,8 @@ packages: '@swc/helpers': optional: true - '@rspack/core@1.2.3': - resolution: {integrity: sha512-BFgdUYf05/hjjY9Nlwq8DpWaRJN5w2kTl8ZJi20SRL60oAx+ZD2ABT+fsPhBiFSmfTZDdvGGIq5e3vfRzoIuqg==} + '@rspack/core@1.3.2': + resolution: {integrity: sha512-QbEn1SkNW3b89KTlSkp6OHdvw3DhpL6tSdDhsOlldw3LoRBy4fx80Z9W9lmg+g+8DjTAs1Z1ysElEFtAN69AZg==} engines: {node: '>=16.0.0'} peerDependencies: '@rspack/tracing': ^1.x @@ -1153,14 +1172,14 @@ packages: '@swc/helpers': optional: true - '@rspack/dev-server@1.0.10': - resolution: {integrity: sha512-iDsEtP0jNHRm4LJxL00QFTlOuqkdxIFxnd69h0KrFadmtxAWiDLIe4vYdZXWF74w4MezsJFx6dB2nUM/Ok8utA==} - engines: {node: '>= 18.12.0'} + '@rspack/dev-server@1.0.5': + resolution: {integrity: sha512-S1o1j9adjqNCiSWrIv1vmVHQPXFvcBa9JvPWIGxGjei72ejz0zvO6Fd948UkRlDgCPIoY4Cy+g1GLmBkJT5MKA==} peerDependencies: '@rspack/core': '*' - '@rspack/dev-server@1.0.5': - resolution: {integrity: sha512-S1o1j9adjqNCiSWrIv1vmVHQPXFvcBa9JvPWIGxGjei72ejz0zvO6Fd948UkRlDgCPIoY4Cy+g1GLmBkJT5MKA==} + '@rspack/dev-server@1.1.1': + resolution: {integrity: sha512-9r7vOml2SrFA8cvbcJdSan9wHEo1TPXezF22+s5jvdyAAywg8w7HqDol6TPVv64NUonP1DOdyLxZ+6UW6WZiwg==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': '*' @@ -1221,11 +1240,14 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/express-serve-static-core@4.19.6': resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} - '@types/express-serve-static-core@5.0.1': - resolution: {integrity: sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==} + '@types/express-serve-static-core@5.0.6': + resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -1242,8 +1264,8 @@ packages: '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - '@types/http-proxy@1.17.15': - resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} + '@types/http-proxy@1.17.16': + resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1260,6 +1282,9 @@ packages: '@types/node@22.10.2': resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.14.0': + resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} + '@types/node@22.8.1': resolution: {integrity: sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==} @@ -1269,8 +1294,8 @@ packages: '@types/prop-types@15.7.13': resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - '@types/qs@6.9.16': - resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} + '@types/qs@6.9.18': + resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -1308,6 +1333,9 @@ packages: '@types/use-sync-external-store@0.0.3': resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@types/ws@8.5.12': resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} @@ -1322,13 +1350,13 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.24.0': - resolution: {integrity: sha512-aFcXEJJCI4gUdXgoo/j9udUYIHgF23MFkg09LFz2dzEmU0+1Plk4rQWv/IYKvPHAtlkkGoB3m5e6oUp+JPsNaQ==} + '@typescript-eslint/eslint-plugin@8.29.0': + resolution: {integrity: sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/parser@8.11.0': resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==} @@ -1340,19 +1368,19 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.24.0': - resolution: {integrity: sha512-MFDaO9CYiard9j9VepMNa9MTcqVvSny2N4hkY6roquzj8pdCBRENhErrteaQuu7Yjn1ppk0v1/ZF9CG3KIlrTA==} + '@typescript-eslint/parser@8.29.0': + resolution: {integrity: sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/scope-manager@8.11.0': resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.24.0': - resolution: {integrity: sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==} + '@typescript-eslint/scope-manager@8.29.0': + resolution: {integrity: sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@8.11.0': @@ -1364,19 +1392,19 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.24.0': - resolution: {integrity: sha512-8fitJudrnY8aq0F1wMiPM1UUgiXQRJ5i8tFjq9kGfRajU+dbPyOuHbl0qRopLEidy0MwqgTHDt6CnSeXanNIwA==} + '@typescript-eslint/type-utils@8.29.0': + resolution: {integrity: sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.11.0': resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.24.0': - resolution: {integrity: sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==} + '@typescript-eslint/types@8.29.0': + resolution: {integrity: sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.11.0': @@ -1388,11 +1416,11 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.24.0': - resolution: {integrity: sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==} + '@typescript-eslint/typescript-estree@8.29.0': + resolution: {integrity: sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.11.0': resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==} @@ -1400,19 +1428,19 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/utils@8.24.0': - resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==} + '@typescript-eslint/utils@8.29.0': + resolution: {integrity: sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.11.0': resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.24.0': - resolution: {integrity: sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==} + '@typescript-eslint/visitor-keys@8.29.0': + resolution: {integrity: sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@unocss/astro@0.65.0-beta.2': @@ -1641,6 +1669,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@7.1.1: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} @@ -1784,6 +1817,9 @@ packages: bonjour-service@1.2.1: resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1799,6 +1835,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1847,6 +1888,9 @@ packages: caniuse-lite@1.0.30001672: resolution: {integrity: sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw==} + caniuse-lite@1.0.30001712: + resolution: {integrity: sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==} + chai@5.1.2: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} @@ -1911,16 +1955,14 @@ packages: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} - compression-webpack-plugin@11.1.0: - resolution: {integrity: sha512-zDOQYp10+upzLxW+VRSjEpRRwBXJdsb5lBMlRxx1g8hckIFBpe3DTI0en2w7h+beuq89576RVzfiXrkdPGrHhA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.1.0 - compression@1.7.4: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} + compression@1.8.0: + resolution: {integrity: sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==} + engines: {node: '>= 0.8.0'} + compute-scroll-into-view@1.0.20: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} @@ -2036,6 +2078,9 @@ packages: dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -2053,6 +2098,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -2153,6 +2207,9 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + electron-to-chromium@1.5.132: + resolution: {integrity: sha512-QgX9EBvWGmvSRa74zqfnG7+Eno0Ak0vftBll0Pt2/z5b3bEGYL6OUXLgKPtvx73dn3dvwrlyVkjPKRRlhLYTEg==} + electron-to-chromium@1.5.67: resolution: {integrity: sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==} @@ -2170,8 +2227,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - enhanced-resolve@5.17.1: - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -2216,8 +2273,8 @@ packages: resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} - es-module-lexer@1.5.4: - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} @@ -2269,8 +2326,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-hooks@5.1.0: - resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} + eslint-plugin-react-hooks@5.2.0: + resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 @@ -2295,8 +2352,8 @@ packages: resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: @@ -2321,8 +2378,8 @@ packages: jiti: optional: true - eslint@9.20.1: - resolution: {integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==} + eslint@9.24.0: + resolution: {integrity: sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2399,6 +2456,10 @@ packages: resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} engines: {node: '>= 0.10.0'} + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + fake-indexeddb@6.0.0: resolution: {integrity: sha512-YEboHE5VfopUclOck7LncgIqskAqnv4q0EWbYCaxKKjAvO93c+TJIaBuGy8CBFdbg9nKdpN3AuPRwVBJ4k7NrQ==} engines: {node: '>=18'} @@ -2434,6 +2495,14 @@ packages: picomatch: optional: true + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2565,8 +2634,8 @@ packages: resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==} engines: {node: '>=18'} - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + globals@16.0.0: + resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2654,8 +2723,8 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + http-parser-js@0.5.9: + resolution: {integrity: sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==} http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} @@ -2786,6 +2855,10 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} engines: {node: '>= 0.4'} @@ -2948,10 +3021,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isomorphic-rslog@0.0.6: - resolution: {integrity: sha512-HM0q6XqQ93psDlqvuViNs/Ea3hAyGDkIdVAHlrEocjjAwGrs1fZ+EdQjS9eUPacnYB7Y8SoDdSY3H8p3ce205A==} - engines: {node: '>=14.17.6'} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -2987,6 +3056,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + jiti@2.0.0-beta.3: resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} hasBin: true @@ -3032,6 +3105,9 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + launch-editor@2.10.0: + resolution: {integrity: sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==} + launch-editor@2.9.1: resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==} @@ -3081,6 +3157,9 @@ packages: magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -3106,6 +3185,10 @@ packages: resolution: {integrity: sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==} engines: {node: '>= 4.0.0'} + memfs@4.17.0: + resolution: {integrity: sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==} + engines: {node: '>= 4.0.0'} + merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -3128,8 +3211,8 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.53.0: - resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} mime-types@2.1.35: @@ -3187,6 +3270,11 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3199,6 +3287,10 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -3212,6 +3304,9 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3320,6 +3415,10 @@ packages: resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} engines: {node: '>=16.17'} + p-retry@6.2.1: + resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} + engines: {node: '>=16.17'} + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -3362,6 +3461,9 @@ packages: path-to-regexp@0.1.10: resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -3414,6 +3516,10 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -3423,8 +3529,8 @@ packages: engines: {node: '>=14'} hasBin: true - prettier@3.5.0: - resolution: {integrity: sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==} + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} engines: {node: '>=14'} hasBin: true @@ -3498,6 +3604,19 @@ packages: react-native: optional: true + react-i18next@15.4.1: + resolution: {integrity: sha512-ahGab+IaSgZmNPYXdV1n+OYky95TGpFwnKRflX/16dY04DsYYKHtVLjeny7sBSCREEcoMbAgSkFiGLF5g5Oofw==} + peerDependencies: + i18next: '>= 23.2.3' + react: '>= 16.8.0' + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + react-icons@5.3.0: resolution: {integrity: sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==} peerDependencies: @@ -3626,8 +3745,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} hasBin: true resolve@2.0.0-next.5: @@ -3718,6 +3838,10 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} + schema-utils@4.3.0: + resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} + engines: {node: '>= 10.13.0'} + scroll-into-view-if-needed@2.2.31: resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} @@ -3793,6 +3917,10 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -3951,8 +4079,8 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - terser-webpack-plugin@5.3.10: - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -3967,8 +4095,8 @@ packages: uglify-js: optional: true - terser@5.36.0: - resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + terser@5.39.0: + resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} engines: {node: '>=10'} hasBin: true @@ -3998,10 +4126,18 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + tinypool@1.0.1: resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} + tinyrainbow@1.2.0: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} @@ -4082,6 +4218,9 @@ packages: tslib@2.8.0: resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsx@4.19.2: resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} engines: {node: '>=18.0.0'} @@ -4143,12 +4282,12 @@ packages: typescript: optional: true - typescript-eslint@8.24.0: - resolution: {integrity: sha512-/lmv4366en/qbB32Vz5+kCNZEMf6xYHwh1z48suBwZvAtnXKbP+YhGe8OLE2BqC67LMqKkCNLtjejdwsdW6uOQ==} + typescript-eslint@8.29.0: + resolution: {integrity: sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} @@ -4179,6 +4318,9 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + unocss@0.65.0-beta.2: resolution: {integrity: sha512-iBuELniWmyGEws8F3rCWTQ8bO0sft8yEgYZsny0fHB+rvty6zW67qvSNd7KTj6LiT37zU/FWSWZKRYzCWrq9kA==} engines: {node: '>=14'} @@ -4195,8 +4337,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@1.16.0: - resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==} + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} engines: {node: '>=14.0.0'} update-browserslist-db@1.1.1: @@ -4205,6 +4347,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -4348,6 +4496,11 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + webpack-bundle-analyzer@4.6.1: resolution: {integrity: sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==} engines: {node: '>= 10.13.0'} @@ -4375,6 +4528,19 @@ packages: webpack-cli: optional: true + webpack-dev-server@5.2.0: + resolution: {integrity: sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==} + engines: {node: '>= 18.12.0'} + hasBin: true + peerDependencies: + webpack: ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -4485,6 +4651,18 @@ packages: utf-8-validate: optional: true + ws@8.18.1: + resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -4509,6 +4687,10 @@ packages: resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} engines: {node: '>=12'} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -4570,6 +4752,10 @@ snapshots: dependencies: '@babel/types': 7.26.0 + '@babel/parser@7.27.0': + dependencies: + '@babel/types': 7.27.0 + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 @@ -4579,6 +4765,11 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.27.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@bcoe/v8-coverage@0.2.3': {} '@cspotcode/source-map-support@0.8.1': @@ -4758,9 +4949,9 @@ snapshots: eslint: 9.13.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.1(eslint@9.20.1(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.24.0(jiti@1.21.7))': dependencies: - eslint: 9.20.1(jiti@1.21.6) + eslint: 9.24.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.2': {} @@ -4771,9 +4962,9 @@ snapshots: optionalDependencies: eslint: 9.13.0 - '@eslint/compat@1.2.6(eslint@9.20.1(jiti@1.21.6))': + '@eslint/compat@1.2.8(eslint@9.24.0(jiti@1.21.7))': optionalDependencies: - eslint: 9.20.1(jiti@1.21.6) + eslint: 9.24.0(jiti@1.21.7) '@eslint/config-array@0.18.0': dependencies: @@ -4783,7 +4974,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-array@0.19.2': + '@eslint/config-array@0.20.0': dependencies: '@eslint/object-schema': 2.1.6 debug: 4.3.7 @@ -4791,11 +4982,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/core@0.10.0': + '@eslint/config-helpers@0.2.1': {} + + '@eslint/core@0.12.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@0.11.0': + '@eslint/core@0.13.0': dependencies: '@types/json-schema': 7.0.15 @@ -4815,7 +5008,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/eslintrc@3.2.0': + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 debug: 4.3.7 @@ -4831,7 +5024,7 @@ snapshots: '@eslint/js@9.13.0': {} - '@eslint/js@9.20.0': {} + '@eslint/js@9.24.0': {} '@eslint/object-schema@2.1.4': {} @@ -4841,9 +5034,9 @@ snapshots: dependencies: levn: 0.4.1 - '@eslint/plugin-kit@0.2.5': + '@eslint/plugin-kit@0.2.8': dependencies: - '@eslint/core': 0.10.0 + '@eslint/core': 0.13.0 levn: 0.4.1 '@gilbarbara/deep-equal@0.1.2': {} @@ -4868,7 +5061,7 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.1': {} + '@humanwhocodes/retry@0.4.2': {} '@iconify/types@2.0.0': {} @@ -4901,14 +5094,22 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + optional: true + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 + optional: true '@jridgewell/sourcemap-codec@1.5.0': {} @@ -4926,6 +5127,10 @@ snapshots: dependencies: tslib: 2.8.0 + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + '@jsonjoy.com/json-pack@1.1.0(tslib@2.8.0)': dependencies: '@jsonjoy.com/base64': 1.1.2(tslib@2.8.0) @@ -4934,49 +5139,65 @@ snapshots: thingies: 1.21.0(tslib@2.8.0) tslib: 2.8.0 + '@jsonjoy.com/json-pack@1.2.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.8.1) + tslib: 2.8.1 + '@jsonjoy.com/util@1.5.0(tslib@2.8.0)': dependencies: tslib: 2.8.0 + '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + '@leichtgewicht/ip-codec@2.0.5': {} - '@module-federation/error-codes@0.8.4': {} + '@module-federation/error-codes@0.11.2': {} + + '@module-federation/runtime-core@0.11.2': + dependencies: + '@module-federation/error-codes': 0.11.2 + '@module-federation/sdk': 0.11.2 + + '@module-federation/runtime-tools@0.11.2': + dependencies: + '@module-federation/runtime': 0.11.2 + '@module-federation/webpack-bundler-runtime': 0.11.2 '@module-federation/runtime-tools@0.5.1': dependencies: '@module-federation/runtime': 0.5.1 '@module-federation/webpack-bundler-runtime': 0.5.1 - '@module-federation/runtime-tools@0.8.4': + '@module-federation/runtime@0.11.2': dependencies: - '@module-federation/runtime': 0.8.4 - '@module-federation/webpack-bundler-runtime': 0.8.4 + '@module-federation/error-codes': 0.11.2 + '@module-federation/runtime-core': 0.11.2 + '@module-federation/sdk': 0.11.2 '@module-federation/runtime@0.5.1': dependencies: '@module-federation/sdk': 0.5.1 - '@module-federation/runtime@0.8.4': - dependencies: - '@module-federation/error-codes': 0.8.4 - '@module-federation/sdk': 0.8.4 + '@module-federation/sdk@0.11.2': {} '@module-federation/sdk@0.5.1': {} - '@module-federation/sdk@0.8.4': + '@module-federation/webpack-bundler-runtime@0.11.2': dependencies: - isomorphic-rslog: 0.0.6 + '@module-federation/runtime': 0.11.2 + '@module-federation/sdk': 0.11.2 '@module-federation/webpack-bundler-runtime@0.5.1': dependencies: '@module-federation/runtime': 0.5.1 '@module-federation/sdk': 0.5.1 - '@module-federation/webpack-bundler-runtime@0.8.4': - dependencies: - '@module-federation/runtime': 0.8.4 - '@module-federation/sdk': 0.8.4 - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5012,6 +5233,15 @@ snapshots: optionalDependencies: rollup: 4.24.4 + '@rollup/pluginutils@5.1.4(rollup@4.24.4)': + dependencies: + '@types/estree': 1.0.7 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.24.4 + optional: true + '@rollup/rollup-android-arm-eabi@4.24.4': optional: true @@ -5086,55 +5316,55 @@ snapshots: '@rspack/binding-darwin-arm64@1.0.14': optional: true - '@rspack/binding-darwin-arm64@1.2.3': + '@rspack/binding-darwin-arm64@1.3.2': optional: true '@rspack/binding-darwin-x64@1.0.14': optional: true - '@rspack/binding-darwin-x64@1.2.3': + '@rspack/binding-darwin-x64@1.3.2': optional: true '@rspack/binding-linux-arm64-gnu@1.0.14': optional: true - '@rspack/binding-linux-arm64-gnu@1.2.3': + '@rspack/binding-linux-arm64-gnu@1.3.2': optional: true '@rspack/binding-linux-arm64-musl@1.0.14': optional: true - '@rspack/binding-linux-arm64-musl@1.2.3': + '@rspack/binding-linux-arm64-musl@1.3.2': optional: true '@rspack/binding-linux-x64-gnu@1.0.14': optional: true - '@rspack/binding-linux-x64-gnu@1.2.3': + '@rspack/binding-linux-x64-gnu@1.3.2': optional: true '@rspack/binding-linux-x64-musl@1.0.14': optional: true - '@rspack/binding-linux-x64-musl@1.2.3': + '@rspack/binding-linux-x64-musl@1.3.2': optional: true '@rspack/binding-win32-arm64-msvc@1.0.14': optional: true - '@rspack/binding-win32-arm64-msvc@1.2.3': + '@rspack/binding-win32-arm64-msvc@1.3.2': optional: true '@rspack/binding-win32-ia32-msvc@1.0.14': optional: true - '@rspack/binding-win32-ia32-msvc@1.2.3': + '@rspack/binding-win32-ia32-msvc@1.3.2': optional: true '@rspack/binding-win32-x64-msvc@1.0.14': optional: true - '@rspack/binding-win32-x64-msvc@1.2.3': + '@rspack/binding-win32-x64-msvc@1.3.2': optional: true '@rspack/binding@1.0.14': @@ -5149,17 +5379,17 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 1.0.14 '@rspack/binding-win32-x64-msvc': 1.0.14 - '@rspack/binding@1.2.3': + '@rspack/binding@1.3.2': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.2.3 - '@rspack/binding-darwin-x64': 1.2.3 - '@rspack/binding-linux-arm64-gnu': 1.2.3 - '@rspack/binding-linux-arm64-musl': 1.2.3 - '@rspack/binding-linux-x64-gnu': 1.2.3 - '@rspack/binding-linux-x64-musl': 1.2.3 - '@rspack/binding-win32-arm64-msvc': 1.2.3 - '@rspack/binding-win32-ia32-msvc': 1.2.3 - '@rspack/binding-win32-x64-msvc': 1.2.3 + '@rspack/binding-darwin-arm64': 1.3.2 + '@rspack/binding-darwin-x64': 1.3.2 + '@rspack/binding-linux-arm64-gnu': 1.3.2 + '@rspack/binding-linux-arm64-musl': 1.3.2 + '@rspack/binding-linux-x64-gnu': 1.3.2 + '@rspack/binding-linux-x64-musl': 1.3.2 + '@rspack/binding-win32-arm64-msvc': 1.3.2 + '@rspack/binding-win32-ia32-msvc': 1.3.2 + '@rspack/binding-win32-x64-msvc': 1.3.2 '@rspack/cli@1.0.14(@rspack/core@1.0.14(@swc/helpers@0.5.13))(@types/express@4.17.21)': dependencies: @@ -5182,17 +5412,17 @@ snapshots: - webpack - webpack-cli - '@rspack/cli@1.2.3(@rspack/core@1.2.3(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1))': + '@rspack/cli@1.3.2(@rspack/core@1.3.2(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1))': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@rspack/core': 1.2.3(@swc/helpers@0.5.13) - '@rspack/dev-server': 1.0.10(@rspack/core@1.2.3(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1)) - colorette: 2.0.19 + '@rspack/core': 1.3.2(@swc/helpers@0.5.13) + '@rspack/dev-server': 1.1.1(@rspack/core@1.3.2(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1)) + colorette: 2.0.20 exit-hook: 4.0.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack-bundle-analyzer: 4.6.1 - yargs: 17.6.2 + webpack-bundle-analyzer: 4.10.2 + yargs: 17.7.2 transitivePeerDependencies: - '@types/express' - bufferutil @@ -5211,36 +5441,16 @@ snapshots: optionalDependencies: '@swc/helpers': 0.5.13 - '@rspack/core@1.2.3(@swc/helpers@0.5.13)': + '@rspack/core@1.3.2(@swc/helpers@0.5.13)': dependencies: - '@module-federation/runtime-tools': 0.8.4 - '@rspack/binding': 1.2.3 + '@module-federation/runtime-tools': 0.11.2 + '@rspack/binding': 1.3.2 '@rspack/lite-tapable': 1.0.1 - caniuse-lite: 1.0.30001672 + caniuse-lite: 1.0.30001712 + tinypool: 1.0.2 optionalDependencies: '@swc/helpers': 0.5.13 - '@rspack/dev-server@1.0.10(@rspack/core@1.2.3(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1))': - dependencies: - '@rspack/core': 1.2.3(@swc/helpers@0.5.13) - chokidar: 3.6.0 - connect-history-api-fallback: 2.0.0 - express: 4.21.1 - http-proxy-middleware: 2.0.7(@types/express@4.17.21) - mime-types: 2.1.35 - p-retry: 4.6.2 - webpack-dev-middleware: 7.4.2(webpack@5.96.1(esbuild@0.23.1)) - webpack-dev-server: 5.0.4(webpack@5.96.1(esbuild@0.23.1)) - ws: 8.18.0 - transitivePeerDependencies: - - '@types/express' - - bufferutil - - debug - - supports-color - - utf-8-validate - - webpack - - webpack-cli - '@rspack/dev-server@1.0.5(@rspack/core@1.0.14(@swc/helpers@0.5.13))(@types/express@4.17.21)': dependencies: '@rspack/core': 1.0.14(@swc/helpers@0.5.13) @@ -5262,6 +5472,26 @@ snapshots: - webpack - webpack-cli + '@rspack/dev-server@1.1.1(@rspack/core@1.3.2(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack@5.96.1(esbuild@0.23.1))': + dependencies: + '@rspack/core': 1.3.2(@swc/helpers@0.5.13) + chokidar: 3.6.0 + express: 4.21.2 + http-proxy-middleware: 2.0.7(@types/express@4.17.21) + mime-types: 2.1.35 + p-retry: 6.2.1 + webpack-dev-middleware: 7.4.2(webpack@5.96.1(esbuild@0.23.1)) + webpack-dev-server: 5.2.0(webpack@5.96.1(esbuild@0.23.1)) + ws: 8.18.1 + transitivePeerDependencies: + - '@types/express' + - bufferutil + - debug + - supports-color + - utf-8-validate + - webpack + - webpack-cli + '@rspack/lite-tapable@1.0.1': {} '@rspack/plugin-react-refresh@1.0.1(react-refresh@0.16.0)': @@ -5273,7 +5503,7 @@ snapshots: '@swc/helpers@0.5.13': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@tsconfig/node10@1.0.11': {} @@ -5299,7 +5529,7 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 5.0.1 + '@types/express-serve-static-core': 5.0.6 '@types/node': 22.10.2 '@types/connect@3.4.38': @@ -5313,26 +5543,31 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 + optional: true '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 + optional: true '@types/estree@1.0.6': {} + '@types/estree@1.0.7': + optional: true + '@types/express-serve-static-core@4.19.6': dependencies: '@types/node': 22.10.2 - '@types/qs': 6.9.16 + '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - '@types/express-serve-static-core@5.0.1': + '@types/express-serve-static-core@5.0.6': dependencies: '@types/node': 22.10.2 - '@types/qs': 6.9.16 + '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -5340,7 +5575,7 @@ snapshots: dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.16 + '@types/qs': 6.9.18 '@types/serve-static': 1.15.7 '@types/filesystem@0.0.36': @@ -5353,7 +5588,7 @@ snapshots: '@types/http-errors@2.0.4': {} - '@types/http-proxy@1.17.15': + '@types/http-proxy@1.17.16': dependencies: '@types/node': 22.10.2 @@ -5371,6 +5606,11 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/node@22.14.0': + dependencies: + undici-types: 6.21.0 + optional: true + '@types/node@22.8.1': dependencies: undici-types: 6.19.8 @@ -5379,7 +5619,7 @@ snapshots: '@types/prop-types@15.7.13': {} - '@types/qs@6.9.16': {} + '@types/qs@6.9.18': {} '@types/range-parser@1.2.7': {} @@ -5421,6 +5661,10 @@ snapshots: '@types/use-sync-external-store@0.0.3': {} + '@types/ws@8.18.1': + dependencies: + '@types/node': 22.10.2 + '@types/ws@8.5.12': dependencies: '@types/node': 22.10.2 @@ -5443,15 +5687,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3))(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: - '@eslint-community/regexpp': 4.11.2 - '@typescript-eslint/parser': 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.24.0 - '@typescript-eslint/type-utils': 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.0 - eslint: 9.20.1(jiti@1.21.6) + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.29.0 + '@typescript-eslint/type-utils': 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/utils': 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.29.0 + eslint: 9.24.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -5473,14 +5717,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3)': + '@typescript-eslint/parser@8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 8.24.0 - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.0 + '@typescript-eslint/scope-manager': 8.29.0 + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.29.0 debug: 4.3.7 - eslint: 9.20.1(jiti@1.21.6) + eslint: 9.24.0(jiti@1.21.7) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -5490,10 +5734,10 @@ snapshots: '@typescript-eslint/types': 8.11.0 '@typescript-eslint/visitor-keys': 8.11.0 - '@typescript-eslint/scope-manager@8.24.0': + '@typescript-eslint/scope-manager@8.29.0': dependencies: - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/visitor-keys': 8.24.0 + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/visitor-keys': 8.29.0 '@typescript-eslint/type-utils@8.11.0(eslint@9.13.0)(typescript@5.6.3)': dependencies: @@ -5507,12 +5751,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/type-utils@8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) debug: 4.3.7 - eslint: 9.20.1(jiti@1.21.6) + eslint: 9.24.0(jiti@1.21.7) ts-api-utils: 2.0.1(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: @@ -5520,7 +5764,7 @@ snapshots: '@typescript-eslint/types@8.11.0': {} - '@typescript-eslint/types@8.24.0': {} + '@typescript-eslint/types@8.29.0': {} '@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.3)': dependencies: @@ -5537,10 +5781,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.24.0(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.29.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/visitor-keys': 8.24.0 + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/visitor-keys': 8.29.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -5562,13 +5806,13 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3)': + '@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.24.0 - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) - eslint: 9.20.1(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.24.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.29.0 + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.7.3) + eslint: 9.24.0(jiti@1.21.7) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -5578,18 +5822,18 @@ snapshots: '@typescript-eslint/types': 8.11.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.24.0': + '@typescript-eslint/visitor-keys@8.29.0': dependencies: - '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/types': 8.29.0 eslint-visitor-keys: 4.2.0 - '@unocss/astro@0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3))': + '@unocss/astro@0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))': dependencies: '@unocss/core': 0.65.0-beta.2 '@unocss/reset': 0.65.0-beta.2 - '@unocss/vite': 0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3)) + '@unocss/vite': 0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)) optionalDependencies: - vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.39.0) transitivePeerDependencies: - rollup - supports-color @@ -5718,7 +5962,7 @@ snapshots: dependencies: '@unocss/core': 0.65.0-beta.2 - '@unocss/vite@0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3))': + '@unocss/vite@0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.3(rollup@4.24.4) @@ -5728,7 +5972,7 @@ snapshots: chokidar: 3.6.0 magic-string: 0.30.12 tinyglobby: 0.2.10 - vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.39.0) transitivePeerDependencies: - rollup - supports-color @@ -5737,13 +5981,13 @@ snapshots: '@unocss/webpack@0.65.0-beta.2(rollup@4.24.4)(webpack@5.96.1(esbuild@0.23.1))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@rollup/pluginutils': 5.1.4(rollup@4.24.4) '@unocss/config': 0.65.0-beta.2 '@unocss/core': 0.65.0-beta.2 chokidar: 3.6.0 - magic-string: 0.30.12 - tinyglobby: 0.2.10 - unplugin: 1.16.0 + magic-string: 0.30.17 + tinyglobby: 0.2.12 + unplugin: 1.16.1 webpack: 5.96.1(esbuild@0.23.1) webpack-sources: 3.2.3 transitivePeerDependencies: @@ -5751,7 +5995,7 @@ snapshots: - supports-color optional: true - '@vitest/coverage-v8@2.1.4(vitest@2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.36.0))': + '@vitest/coverage-v8@2.1.4(vitest@2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.39.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -5765,7 +6009,7 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.36.0) + vitest: 2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.39.0) transitivePeerDependencies: - supports-color @@ -5776,13 +6020,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))': + '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.39.0) '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@22.8.1))': dependencies: @@ -5819,7 +6063,7 @@ snapshots: '@vue/compiler-core@3.5.13': dependencies: - '@babel/parser': 7.26.2 + '@babel/parser': 7.27.0 '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 @@ -5832,14 +6076,14 @@ snapshots: '@vue/compiler-sfc@3.5.13': dependencies: - '@babel/parser': 7.26.2 + '@babel/parser': 7.27.0 '@vue/compiler-core': 3.5.13 '@vue/compiler-dom': 3.5.13 '@vue/compiler-ssr': 3.5.13 '@vue/shared': 3.5.13 estree-walker: 2.0.2 - magic-string: 0.30.12 - postcss: 8.4.49 + magic-string: 0.30.17 + postcss: 8.5.3 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.13': @@ -5875,20 +6119,26 @@ snapshots: dependencies: '@webassemblyjs/helper-numbers': 1.13.2 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + optional: true - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + optional: true - '@webassemblyjs/helper-api-error@1.13.2': {} + '@webassemblyjs/helper-api-error@1.13.2': + optional: true - '@webassemblyjs/helper-buffer@1.14.1': {} + '@webassemblyjs/helper-buffer@1.14.1': + optional: true '@webassemblyjs/helper-numbers@1.13.2': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.13.2 '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 + optional: true - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + optional: true '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: @@ -5896,16 +6146,20 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 '@webassemblyjs/wasm-gen': 1.14.1 + optional: true '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 + optional: true '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 + optional: true - '@webassemblyjs/utf8@1.13.2': {} + '@webassemblyjs/utf8@1.13.2': + optional: true '@webassemblyjs/wasm-edit@1.14.1': dependencies: @@ -5917,6 +6171,7 @@ snapshots: '@webassemblyjs/wasm-opt': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 '@webassemblyjs/wast-printer': 1.14.1 + optional: true '@webassemblyjs/wasm-gen@1.14.1': dependencies: @@ -5925,6 +6180,7 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + optional: true '@webassemblyjs/wasm-opt@1.14.1': dependencies: @@ -5932,6 +6188,7 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/wasm-gen': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 + optional: true '@webassemblyjs/wasm-parser@1.14.1': dependencies: @@ -5941,15 +6198,19 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + optional: true '@webassemblyjs/wast-printer@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 + optional: true - '@xtuc/ieee754@1.2.0': {} + '@xtuc/ieee754@1.2.0': + optional: true - '@xtuc/long@4.2.2': {} + '@xtuc/long@4.2.2': + optional: true accepts@1.3.8: dependencies: @@ -5972,6 +6233,8 @@ snapshots: acorn@8.14.0: {} + acorn@8.14.1: {} + agent-base@7.1.1: dependencies: debug: 4.3.7 @@ -5985,6 +6248,7 @@ snapshots: ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 + optional: true ajv-keywords@5.1.0(ajv@8.17.1): dependencies: @@ -6113,7 +6377,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001672 + caniuse-lite: 1.0.30001712 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -6156,6 +6420,11 @@ snapshots: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 + bonjour-service@1.3.0: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -6171,12 +6440,21 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001672 + caniuse-lite: 1.0.30001712 electron-to-chromium: 1.5.67 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) - buffer-from@1.1.2: {} + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001712 + electron-to-chromium: 1.5.132 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + optional: true + + buffer-from@1.1.2: + optional: true bundle-name@4.1.0: dependencies: @@ -6222,6 +6500,8 @@ snapshots: caniuse-lite@1.0.30001672: {} + caniuse-lite@1.0.30001712: {} + chai@5.1.2: dependencies: assertion-error: 2.0.1 @@ -6249,7 +6529,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chrome-trace-event@1.0.4: {} + chrome-trace-event@1.0.4: + optional: true cliui@8.0.1: dependencies: @@ -6287,19 +6568,14 @@ snapshots: dependencies: delayed-stream: 1.0.0 - commander@2.20.3: {} + commander@2.20.3: + optional: true commander@7.2.0: {} compressible@2.0.18: dependencies: - mime-db: 1.53.0 - - compression-webpack-plugin@11.1.0(webpack@5.96.1(esbuild@0.23.1)): - dependencies: - schema-utils: 4.2.0 - serialize-javascript: 6.0.2 - webpack: 5.96.1(esbuild@0.23.1) + mime-db: 1.54.0 compression@1.7.4: dependencies: @@ -6313,6 +6589,18 @@ snapshots: transitivePeerDependencies: - supports-color + compression@1.8.0: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.0.2 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + compute-scroll-into-view@1.0.20: {} concat-map@0.0.1: {} @@ -6427,6 +6715,8 @@ snapshots: dayjs@1.11.13: {} + debounce@1.2.1: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -6435,6 +6725,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decimal.js@10.4.3: {} deep-diff@1.0.2: {} @@ -6515,6 +6809,9 @@ snapshots: ee-first@1.1.1: {} + electron-to-chromium@1.5.132: + optional: true + electron-to-chromium@1.5.67: {} emoji-regex@8.0.0: {} @@ -6525,10 +6822,11 @@ snapshots: encodeurl@2.0.0: {} - enhanced-resolve@5.17.1: + enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + optional: true entities@4.5.0: {} @@ -6689,7 +6987,8 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.5.4: {} + es-module-lexer@1.6.0: + optional: true es-object-atoms@1.0.0: dependencies: @@ -6787,9 +7086,9 @@ snapshots: dependencies: eslint: 9.13.0 - eslint-plugin-react-hooks@5.1.0(eslint@9.20.1(jiti@1.21.6)): + eslint-plugin-react-hooks@5.2.0(eslint@9.24.0(jiti@1.21.7)): dependencies: - eslint: 9.20.1(jiti@1.21.6) + eslint: 9.24.0(jiti@1.21.7) eslint-plugin-react@7.37.2(eslint@9.13.0): dependencies: @@ -6813,7 +7112,7 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.37.4(eslint@9.20.1(jiti@1.21.6)): + eslint-plugin-react@7.37.4(eslint@9.24.0(jiti@1.21.7)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -6821,7 +7120,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.20.1(jiti@1.21.6) + eslint: 9.24.0(jiti@1.21.7) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -6839,13 +7138,14 @@ snapshots: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + optional: true eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.2.0: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -6896,18 +7196,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.20.1(jiti@1.21.6): + eslint@9.24.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.24.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.2 - '@eslint/core': 0.11.0 - '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.20.0 - '@eslint/plugin-kit': 0.2.5 + '@eslint/config-array': 0.20.0 + '@eslint/config-helpers': 0.2.1 + '@eslint/core': 0.12.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.24.0 + '@eslint/plugin-kit': 0.2.8 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.1 + '@humanwhocodes/retry': 0.4.2 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 @@ -6915,7 +7216,7 @@ snapshots: cross-spawn: 7.0.6 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 + eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 esquery: 1.6.0 @@ -6933,7 +7234,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 1.21.6 + jiti: 1.21.7 transitivePeerDependencies: - supports-color @@ -6957,7 +7258,8 @@ snapshots: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} + estraverse@4.3.0: + optional: true estraverse@5.3.0: {} @@ -6975,7 +7277,8 @@ snapshots: eventemitter3@5.0.1: {} - events@3.3.0: {} + events@3.3.0: + optional: true execa@5.1.1: dependencies: @@ -7031,6 +7334,42 @@ snapshots: transitivePeerDependencies: - supports-color + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + fake-indexeddb@6.0.0: {} fast-deep-equal@3.1.3: {} @@ -7061,6 +7400,11 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + optional: true + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -7197,7 +7541,8 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.4.1: {} + glob-to-regexp@0.4.1: + optional: true glob@10.4.5: dependencies: @@ -7212,7 +7557,7 @@ snapshots: globals@15.11.0: {} - globals@15.15.0: {} + globals@16.0.0: {} globalthis@1.0.4: dependencies: @@ -7297,7 +7642,7 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-parser-js@0.5.8: {} + http-parser-js@0.5.9: {} http-proxy-agent@7.0.2: dependencies: @@ -7308,7 +7653,7 @@ snapshots: http-proxy-middleware@2.0.7(@types/express@4.17.21): dependencies: - '@types/http-proxy': 1.17.15 + '@types/http-proxy': 1.17.16 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -7364,7 +7709,7 @@ snapshots: debug: 4.3.7 esbuild: 0.23.1 jiti: 2.0.0-beta.3 - jiti-v1: jiti@1.21.6 + jiti-v1: jiti@1.21.7 pathe: 1.1.2 tsx: 4.19.2 transitivePeerDependencies: @@ -7441,6 +7786,10 @@ snapshots: dependencies: hasown: 2.0.2 + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 @@ -7587,8 +7936,6 @@ snapshots: isexe@2.0.0: {} - isomorphic-rslog@0.0.6: {} - istanbul-lib-coverage@3.2.2: {} istanbul-lib-report@3.0.1: @@ -7635,12 +7982,15 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.10.2 + '@types/node': 22.14.0 merge-stream: 2.0.0 supports-color: 8.1.1 + optional: true jiti@1.21.6: {} + jiti@1.21.7: {} + jiti@2.0.0-beta.3: {} js-tokens@4.0.0: {} @@ -7700,6 +8050,11 @@ snapshots: kolorist@1.8.0: {} + launch-editor@2.10.0: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.2 + launch-editor@2.9.1: dependencies: picocolors: 1.1.1 @@ -7714,7 +8069,8 @@ snapshots: load-tsconfig@0.2.5: {} - loader-runner@4.3.0: {} + loader-runner@4.3.0: + optional: true local-pkg@0.5.1: dependencies: @@ -7743,6 +8099,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.5: dependencies: '@babel/parser': 7.26.2 @@ -7768,6 +8128,13 @@ snapshots: tree-dump: 1.0.2(tslib@2.8.0) tslib: 2.8.0 + memfs@4.17.0: + dependencies: + '@jsonjoy.com/json-pack': 1.2.0(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + tree-dump: 1.0.2(tslib@2.8.1) + tslib: 2.8.1 + merge-descriptors@1.0.3: {} merge-stream@2.0.0: {} @@ -7783,7 +8150,7 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.53.0: {} + mime-db@1.54.0: {} mime-types@2.1.35: dependencies: @@ -7829,13 +8196,18 @@ snapshots: dns-packet: 5.6.1 thunky: 1.1.0 + nanoid@3.3.11: {} + nanoid@3.3.7: {} natural-compare@1.4.0: {} negotiator@0.6.3: {} - neo-async@2.6.2: {} + negotiator@0.6.4: {} + + neo-async@2.6.2: + optional: true node-fetch-native@1.6.4: {} @@ -7843,6 +8215,9 @@ snapshots: node-releases@2.0.18: {} + node-releases@2.0.19: + optional: true + normalize-path@3.0.0: {} normalize-range@0.1.2: {} @@ -7966,6 +8341,12 @@ snapshots: is-network-error: 1.1.0 retry: 0.13.1 + p-retry@6.2.1: + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.1.0 + retry: 0.13.1 + package-json-from-dist@1.0.1: {} package-manager-detector@0.2.5: {} @@ -8002,6 +8383,8 @@ snapshots: path-to-regexp@0.1.10: {} + path-to-regexp@0.1.12: {} + pathe@1.1.2: {} pathval@2.0.0: {} @@ -8024,14 +8407,14 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-loader@8.1.1(@rspack/core@1.2.3(@swc/helpers@0.5.13))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.96.1(esbuild@0.23.1)): + postcss-loader@8.1.1(@rspack/core@1.3.2(@swc/helpers@0.5.13))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.96.1(esbuild@0.23.1)): dependencies: cosmiconfig: 9.0.0(typescript@5.7.3) jiti: 1.21.6 postcss: 8.4.49 semver: 7.6.3 optionalDependencies: - '@rspack/core': 1.2.3(@swc/helpers@0.5.13) + '@rspack/core': 1.3.2(@swc/helpers@0.5.13) webpack: 5.96.1(esbuild@0.23.1) transitivePeerDependencies: - typescript @@ -8044,11 +8427,17 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.3: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier@3.3.3: {} - prettier@3.5.0: {} + prettier@3.5.3: {} process-nextick-args@2.0.1: {} @@ -8067,13 +8456,14 @@ snapshots: qs@6.13.0: dependencies: - side-channel: 1.0.6 + side-channel: 1.1.0 queue-microtask@1.2.3: {} randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 + optional: true range-parser@1.2.1: {} @@ -8126,6 +8516,15 @@ snapshots: optionalDependencies: react-dom: 18.3.1(react@18.3.1) + react-i18next@15.4.1(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.26.0 + html-parse-stringify: 3.0.1 + i18next: 23.16.4 + react: 18.3.1 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + react-icons@5.3.0(react@18.3.1): dependencies: react: 18.3.1 @@ -8219,7 +8618,7 @@ snapshots: rechoir@0.8.0: dependencies: - resolve: 1.22.8 + resolve: 1.22.10 redux-thunk@3.1.0(redux@5.0.1): dependencies: @@ -8271,9 +8670,9 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.22.8: + resolve@1.22.10: dependencies: - is-core-module: 2.15.1 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -8383,6 +8782,7 @@ snapshots: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) + optional: true schema-utils@4.2.0: dependencies: @@ -8391,6 +8791,13 @@ snapshots: ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) + schema-utils@4.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + scroll-into-view-if-needed@2.2.31: dependencies: compute-scroll-into-view: 1.0.20 @@ -8431,6 +8838,7 @@ snapshots: serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 + optional: true serve-index@1.9.1: dependencies: @@ -8491,6 +8899,8 @@ snapshots: shell-quote@1.8.1: {} + shell-quote@1.8.2: {} + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -8560,12 +8970,14 @@ snapshots: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + optional: true - source-map@0.6.1: {} + source-map@0.6.1: + optional: true spdy-transport@3.0.0: dependencies: - debug: 4.3.7 + debug: 4.4.0 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -8576,7 +8988,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.3.7 + debug: 4.4.0 handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -8705,30 +9117,34 @@ snapshots: supports-color@8.1.1: dependencies: has-flag: 4.0.0 + optional: true supports-preserve-symlinks-flag@1.0.0: {} symbol-tree@3.2.4: {} - tapable@2.2.1: {} + tapable@2.2.1: + optional: true - terser-webpack-plugin@5.3.10(esbuild@0.23.1)(webpack@5.96.1(esbuild@0.23.1)): + terser-webpack-plugin@5.3.14(esbuild@0.23.1)(webpack@5.96.1(esbuild@0.23.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 3.3.0 + schema-utils: 4.3.0 serialize-javascript: 6.0.2 - terser: 5.36.0 + terser: 5.39.0 webpack: 5.96.1(esbuild@0.23.1) optionalDependencies: esbuild: 0.23.1 + optional: true - terser@5.36.0: + terser@5.39.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 + acorn: 8.14.1 commander: 2.20.3 source-map-support: 0.5.21 + optional: true test-exclude@7.0.1: dependencies: @@ -8742,6 +9158,10 @@ snapshots: dependencies: tslib: 2.8.0 + thingies@1.21.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + thunky@1.1.0: {} tinybench@2.9.0: {} @@ -8753,8 +9173,16 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + optional: true + tinypool@1.0.1: {} + tinypool@1.0.2: {} + tinyrainbow@1.2.0: {} tinyspy@3.0.2: {} @@ -8797,6 +9225,10 @@ snapshots: dependencies: tslib: 2.8.0 + tree-dump@1.0.2(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + ts-api-utils@1.3.0(typescript@5.6.3): dependencies: typescript: 5.6.3 @@ -8843,6 +9275,8 @@ snapshots: tslib@2.8.0: {} + tslib@2.8.1: {} + tsx@4.19.2: dependencies: esbuild: 0.23.1 @@ -8939,12 +9373,12 @@ snapshots: - eslint - supports-color - typescript-eslint@8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3): + typescript-eslint@8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3))(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) - '@typescript-eslint/parser': 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@1.21.6))(typescript@5.7.3) - eslint: 9.20.1(jiti@1.21.6) + '@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/parser': 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/utils': 8.29.0(eslint@9.24.0(jiti@1.21.7))(typescript@5.7.3) + eslint: 9.24.0(jiti@1.21.7) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -8981,9 +9415,12 @@ snapshots: undici-types@6.20.0: {} - unocss@0.65.0-beta.2(@unocss/webpack@0.65.0-beta.2(rollup@4.24.4)(webpack@5.96.1(esbuild@0.23.1)))(postcss@8.4.49)(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3)): + undici-types@6.21.0: + optional: true + + unocss@0.65.0-beta.2(@unocss/webpack@0.65.0-beta.2(rollup@4.24.4)(webpack@5.96.1(esbuild@0.23.1)))(postcss@8.4.49)(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)): dependencies: - '@unocss/astro': 0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3)) + '@unocss/astro': 0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)) '@unocss/cli': 0.65.0-beta.2(rollup@4.24.4) '@unocss/core': 0.65.0-beta.2 '@unocss/postcss': 0.65.0-beta.2(postcss@8.4.49) @@ -8999,10 +9436,10 @@ snapshots: '@unocss/transformer-compile-class': 0.65.0-beta.2 '@unocss/transformer-directives': 0.65.0-beta.2 '@unocss/transformer-variant-group': 0.65.0-beta.2 - '@unocss/vite': 0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.7.3)) + '@unocss/vite': 0.65.0-beta.2(rollup@4.24.4)(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)) optionalDependencies: '@unocss/webpack': 0.65.0-beta.2(rollup@4.24.4)(webpack@5.96.1(esbuild@0.23.1)) - vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.39.0) transitivePeerDependencies: - postcss - rollup @@ -9011,9 +9448,9 @@ snapshots: unpipe@1.0.0: {} - unplugin@1.16.0: + unplugin@1.16.1: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 webpack-virtual-modules: 0.6.2 optional: true @@ -9023,6 +9460,13 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + optional: true + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -9058,12 +9502,12 @@ snapshots: vary@1.1.2: {} - vite-node@2.1.4(@types/node@22.10.2)(terser@5.36.0): + vite-node@2.1.4(@types/node@22.10.2)(terser@5.39.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.39.0) transitivePeerDependencies: - '@types/node' - less @@ -9092,7 +9536,7 @@ snapshots: - supports-color - terser - vite@5.4.10(@types/node@22.10.2)(terser@5.36.0): + vite@5.4.10(@types/node@22.10.2)(terser@5.39.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -9100,7 +9544,7 @@ snapshots: optionalDependencies: '@types/node': 22.10.2 fsevents: 2.3.3 - terser: 5.36.0 + terser: 5.39.0 vite@5.4.10(@types/node@22.8.1): dependencies: @@ -9111,10 +9555,10 @@ snapshots: '@types/node': 22.8.1 fsevents: 2.3.3 - vitest@2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.36.0): + vitest@2.1.4(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.39.0): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) + '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@22.10.2)(terser@5.39.0)) '@vitest/pretty-format': 2.1.4 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 @@ -9130,8 +9574,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) - vite-node: 2.1.4(@types/node@22.10.2)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.39.0) + vite-node: 2.1.4(@types/node@22.10.2)(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.2 @@ -9206,6 +9650,7 @@ snapshots: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + optional: true wbuf@1.7.3: dependencies: @@ -9213,6 +9658,24 @@ snapshots: webidl-conversions@7.0.0: {} + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.14.1 + acorn-walk: 8.3.4 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + webpack-bundle-analyzer@4.6.1: dependencies: acorn: 8.14.0 @@ -9240,11 +9703,11 @@ snapshots: webpack-dev-middleware@7.4.2(webpack@5.96.1(esbuild@0.23.1)): dependencies: colorette: 2.0.20 - memfs: 4.14.0 + memfs: 4.17.0 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 - schema-utils: 4.2.0 + schema-utils: 4.3.0 optionalDependencies: webpack: 5.96.1(esbuild@0.23.1) @@ -9286,7 +9749,7 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@5.0.4(webpack@5.96.1(esbuild@0.23.1)): + webpack-dev-server@5.2.0(webpack@5.96.1(esbuild@0.23.1)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -9294,30 +9757,27 @@ snapshots: '@types/serve-index': 1.9.4 '@types/serve-static': 1.15.7 '@types/sockjs': 0.3.36 - '@types/ws': 8.5.12 + '@types/ws': 8.18.1 ansi-html-community: 0.0.8 - bonjour-service: 1.2.1 + bonjour-service: 1.3.0 chokidar: 3.6.0 colorette: 2.0.20 - compression: 1.7.4 + compression: 1.8.0 connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.21.1 + express: 4.21.2 graceful-fs: 4.2.11 - html-entities: 2.5.2 http-proxy-middleware: 2.0.7(@types/express@4.17.21) ipaddr.js: 2.2.0 - launch-editor: 2.9.1 + launch-editor: 2.10.0 open: 10.1.0 - p-retry: 6.2.0 - rimraf: 5.0.10 - schema-utils: 4.2.0 + p-retry: 6.2.1 + schema-utils: 4.3.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.2(webpack@5.96.1(esbuild@0.23.1)) - ws: 8.18.0 + ws: 8.18.1 optionalDependencies: webpack: 5.96.1(esbuild@0.23.1) transitivePeerDependencies: @@ -9326,7 +9786,8 @@ snapshots: - supports-color - utf-8-validate - webpack-sources@3.2.3: {} + webpack-sources@3.2.3: + optional: true webpack-virtual-modules@0.6.2: optional: true @@ -9334,15 +9795,15 @@ snapshots: webpack@5.96.1(esbuild@0.23.1): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.14.0 - browserslist: 4.24.2 + acorn: 8.14.1 + browserslist: 4.24.4 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.4 + enhanced-resolve: 5.18.1 + es-module-lexer: 1.6.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -9353,17 +9814,18 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.23.1)(webpack@5.96.1(esbuild@0.23.1)) + terser-webpack-plugin: 5.3.14(esbuild@0.23.1)(webpack@5.96.1(esbuild@0.23.1)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js + optional: true websocket-driver@0.7.4: dependencies: - http-parser-js: 0.5.8 + http-parser-js: 0.5.9 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 @@ -9478,6 +9940,8 @@ snapshots: ws@8.18.0: {} + ws@8.18.1: {} + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} @@ -9498,6 +9962,16 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yn@3.1.1: {} yocto-queue@0.1.0: {} diff --git a/rspack.config.ts b/rspack.config.ts index f4fc5b2..7f25f1a 100644 --- a/rspack.config.ts +++ b/rspack.config.ts @@ -2,8 +2,6 @@ import * as path from "path"; import { defineConfig } from "@rspack/cli"; import { rspack } from "@rspack/core"; import { version } from "./package.json"; -// eslint-disable-next-line @typescript-eslint/no-require-imports -const CompressionPlugin = require("compression-webpack-plugin"); const isDev = process.env.NODE_ENV === "development"; const isBeta = version.includes("-"); @@ -174,11 +172,6 @@ export default defineConfig({ minify: true, chunks: ["sandbox"], }), - new CompressionPlugin({ - test: /ts.worker.js$/, - filename: () => "ts.worker.js", - deleteOriginalAssets: true, - }), ].filter(Boolean), optimization: { minimizer: [ @@ -187,7 +180,6 @@ export default defineConfig({ minimizerOptions: { targets }, }), ], - realContentHash: true, }, experiments: { css: true, diff --git a/src/app/service/offscreen/gm_api.ts b/src/app/service/offscreen/gm_api.ts index 0af8eee..88f2f80 100644 --- a/src/app/service/offscreen/gm_api.ts +++ b/src/app/service/offscreen/gm_api.ts @@ -1,9 +1,17 @@ +import LoggerCore from "@App/app/logger/core"; +import Logger from "@App/app/logger/logger"; import { GetSender, Group, MessageConnect } from "@Packages/message/server"; export default class GMApi { constructor(private group: Group) {} - dealXhrResponse(con: MessageConnect, details: GMSend.XHRDetails, event: string, xhr: XMLHttpRequest, data?: any) { + async dealXhrResponse( + con: MessageConnect, + details: GMSend.XHRDetails, + event: string, + xhr: XMLHttpRequest, + data?: any + ) { const finalUrl = xhr.responseURL || details.url; // 判断是否有headerFlag-final-url,有则替换finalUrl let response: GMTypes.XHRResponse = { @@ -11,9 +19,56 @@ export default class GMApi { readyState: xhr.readyState, status: xhr.status, statusText: xhr.statusText, + // header由service_worker处理 // responseHeaders: xhr.getAllResponseHeaders().replace(removeXCat, ""), responseType: details.responseType, }; + if (xhr.readyState === 4) { + const responseType = details.responseType?.toLowerCase(); + if (responseType === "arraybuffer" || responseType === "blob") { + let blob: Blob; + if (xhr.response instanceof ArrayBuffer) { + blob = new Blob([xhr.response]); + response.response = URL.createObjectURL(blob); + } else { + blob = xhr.response; + response.response = URL.createObjectURL(blob); + } + try { + if (xhr.getResponseHeader("Content-Type")?.indexOf("text") !== -1) { + // 如果是文本类型,则尝试转换为文本 + response.responseText = await blob.text(); + } + } catch (e) { + LoggerCore.logger(Logger.E(e)).error("GM XHR getResponseHeader error"); + } + setTimeout(() => { + URL.revokeObjectURL(response.response); + }, 60 * 1000); + } else if (response.responseType === "json") { + try { + response.response = JSON.parse(xhr.responseText); + } catch (e) { + LoggerCore.logger(Logger.E(e)).error("GM XHR JSON parse error"); + } + try { + response.responseText = xhr.responseText; + } catch (e) { + LoggerCore.logger(Logger.E(e)).error("GM XHR getResponseText error"); + } + } else { + try { + response.response = xhr.response; + } catch (e) { + LoggerCore.logger(Logger.E(e)).error("GM XHR response error"); + } + try { + response.responseText = xhr.responseText || undefined; + } catch (e) { + LoggerCore.logger(Logger.E(e)).error("GM XHR getResponseText error"); + } + } + } if (data) { response = Object.assign(response, data); } @@ -24,16 +79,36 @@ export default class GMApi { return response; } - xmlHttpRequest(details: GMSend.XHRDetails, sender: GetSender) { + CAT_fetch(details: GMSend.XHRDetails, sender: GetSender) { + throw new Error("Method not implemented."); + } + + async xmlHttpRequest(details: GMSend.XHRDetails, sender: GetSender) { + if (details.responseType === "stream") { + // 只有fetch支持ReadableStream + return this.CAT_fetch(details, sender); + } const xhr = new XMLHttpRequest(); const con = sender.getConnect(); - xhr.open(details.method || "GET", details.url); + xhr.open(details.method || "GET", details.url, true, details.user || "", details.password || ""); // 添加header if (details.headers) { for (const key in details.headers) { xhr.setRequestHeader(key, details.headers[key]); } } + //超时时间 + if (details.timeout) { + xhr.timeout = details.timeout; + } + if (details.overrideMimeType) { + xhr.overrideMimeType(details.overrideMimeType); + } + //设置响应类型 + if (details.responseType !== "json") { + xhr.responseType = details.responseType || ""; + } + xhr.onload = () => { this.dealXhrResponse(con, details, "onload", xhr); }; @@ -65,14 +140,32 @@ export default class GMApi { xhr.ontimeout = () => { con?.sendMessage({ action: "ontimeout", data: {} }); }; + //处理数据 + if (details.dataType === "FormData") { + const data = new FormData(); + if (details.data && details.data instanceof Array) { + await Promise.all( + details.data.map(async (val: GMSend.XHRFormData) => { + if (val.type === "file") { + const file = new File([await (await fetch(val.val)).blob()], val.filename!); + data.append(val.key, file, val.filename); + } else { + data.append(val.key, val.val); + } + }) + ); + xhr.send(data); + } + } else if (details.dataType === "Blob") { + if (!details.data) { + throw new Error("Blob data is empty"); + } + const resp = await (await fetch(details.data)).blob(); + xhr.send(resp); + } else { + xhr.send(details.data); + } - if (details.timeout) { - xhr.timeout = details.timeout; - } - if (details.overrideMimeType) { - xhr.overrideMimeType(details.overrideMimeType); - } - xhr.send(); con?.onDisconnect(() => { xhr.abort(); }); diff --git a/src/app/service/offscreen/index.ts b/src/app/service/offscreen/index.ts index 02e927c..e9865c8 100644 --- a/src/app/service/offscreen/index.ts +++ b/src/app/service/offscreen/index.ts @@ -52,20 +52,5 @@ export class OffscreenManager { const gmApi = new GMApi(this.windowApi.group("gmApi")); gmApi.init(); - - // // 处理gm xhr请求 - // this.api.on("gmXhr", (data) => { - // console.log("123"); - // }); - // // 测试xhr - // const ret = await sendMessage(this.extensionMessage, "serviceWorker/testGmApi"); - // console.log("test xhr", ret); - // const xhr = new XMLHttpRequest(); - // xhr.onload = () => { - // console.log(xhr); - // }; - // xhr.open("GET", "https://scriptcat.org/zh-CN"); - - // xhr.send(); } } diff --git a/src/app/service/sandbox/runtime.ts b/src/app/service/sandbox/runtime.ts index 0c0df17..b774187 100644 --- a/src/app/service/sandbox/runtime.ts +++ b/src/app/service/sandbox/runtime.ts @@ -159,7 +159,7 @@ export class Runtime { crontabScript(script: ScriptRunResouce) { // 执行定时脚本 运行表达式 if (!script.metadata.crontab) { - throw new Error("错误的crontab表达式"); + throw new Error(script.name + " - 错误的crontab表达式"); } // 如果有nextruntime,则加入重试队列 this.joinRetryList(script); diff --git a/src/app/service/service_worker/gm_api.ts b/src/app/service/service_worker/gm_api.ts index 40574ff..19938bf 100644 --- a/src/app/service/service_worker/gm_api.ts +++ b/src/app/service/service_worker/gm_api.ts @@ -95,11 +95,21 @@ export default class GMApi { ] as chrome.declarativeNetRequest.ModifyHeaderInfo[]; Object.keys(headers).forEach((key) => { const lowKey = key.toLowerCase(); - if (unsafeHeaders[lowKey] || lowKey.startsWith("sec-") || lowKey.startsWith("proxy-")) { + if (headers[key]) { + if (unsafeHeaders[lowKey] || lowKey.startsWith("sec-") || lowKey.startsWith("proxy-")) { + if (headers[key]) { + requestHeaders.push({ + header: key, + operation: chrome.declarativeNetRequest.HeaderOperation.SET, + value: headers[key], + }); + } + delete headers[key]; + } + } else { requestHeaders.push({ header: key, - operation: chrome.declarativeNetRequest.HeaderOperation.SET, - value: headers[key], + operation: chrome.declarativeNetRequest.HeaderOperation.REMOVE, }); delete headers[key]; } @@ -125,7 +135,6 @@ export default class GMApi { requestMethods: [(params.method || "GET").toLowerCase() as chrome.declarativeNetRequest.RequestMethod], excludedTabIds: excludedTabIds, }; - console.log(rule); await chrome.declarativeNetRequest.updateSessionRules({ removeRuleIds: [ruleId], addRules: [rule], @@ -135,9 +144,9 @@ export default class GMApi { gmXhrHeadersReceived: EventEmitter = new EventEmitter(); + // TODO: maxRedirects实现 @PermissionVerify.API() async GM_xmlhttpRequest(request: Request, con: GetSender) { - console.log("GM XHR", request); if (request.params.length === 0) { return Promise.reject(new Error("param is failed")); } @@ -151,7 +160,6 @@ export default class GMApi { } params.headers["X-Scriptcat-GM-XHR-Request-Id"] = requestId.toString(); params.headers = await this.buildDNRRule(requestId, request.params[0]); - console.log(" params.headers", params.headers); let responseHeader = ""; // 等待response this.gmXhrHeadersReceived.addListener( @@ -160,6 +168,7 @@ export default class GMApi { details.responseHeaders?.forEach((header) => { responseHeader += header.name + ": " + header.value + "\n"; }); + this.gmXhrHeadersReceived.removeAllListeners("headersReceived:" + requestId); } ); // 再发送到offscreen, 处理请求 diff --git a/src/pkg/utils/monaco-editor.ts b/src/pkg/utils/monaco-editor.ts index 44a1682..e675a97 100644 --- a/src/pkg/utils/monaco-editor.ts +++ b/src/pkg/utils/monaco-editor.ts @@ -2,7 +2,7 @@ import dts from "@App/types/scriptcat.d.ts"; import { languages } from "monaco-editor"; import pako from "pako"; import Cache from "@App/app/cache"; -import { isFirefox } from "./utils"; +import { isDebug, isFirefox } from "./utils"; import EventEmitter from "eventemitter3"; // 注册eslint @@ -15,7 +15,12 @@ export default function registerEditor() { fetch(chrome.runtime.getURL(`/src/ts.worker.js${isFirefox() ? ".gz" : ""}`)) .then((resp) => resp.blob()) .then(async (blob) => { - const result = pako.inflate(await blob.arrayBuffer()); + let result: ArrayBuffer; + if (isDebug()) { + result = await blob.arrayBuffer(); + } else { + result = pako.inflate(await blob.arrayBuffer()); + } // @ts-ignore window.tsUrl = URL.createObjectURL(new Blob([result])); }); diff --git a/src/runtime/content/content.ts b/src/runtime/content/content.ts index 24d97ef..6b0ea7b 100644 --- a/src/runtime/content/content.ts +++ b/src/runtime/content/content.ts @@ -1,6 +1,6 @@ import { ScriptRunResouce } from "@App/app/repo/scripts"; import { Client } from "@Packages/message/client"; -import { forwardMessage, Message, MessageSend, Server } from "@Packages/message/server"; +import { forwardMessage, GetSender, Message, MessageSend, Server } from "@Packages/message/server"; // content页的处理 export default class ContentRuntime { @@ -17,7 +17,43 @@ export default class ContentRuntime { this.msg.onConnect((msg, connect) => { console.log(msg, connect); }); - forwardMessage("serviceWorker", "runtime/gmApi", this.server, this.send); + forwardMessage( + "serviceWorker", + "runtime/gmApi", + this.server, + this.send, + (data: { api: string; params: any }, con: GetSender) => { + // 拦截关注的action + console.log("拦截", data); + switch (data.api) { + case "CAT_createBlobUrl": { + const file = data.params[0] as File; + const url = URL.createObjectURL(file); + setTimeout(() => { + URL.revokeObjectURL(url); + }, 60 * 1000); + return Promise.resolve(url); + } + case "CAT_fetchBlob": { + return fetch(data.params[0]).then((res) => res.blob()); + } + case "CAT_fetchDocument": { + return new Promise((resolve) => { + const xhr = new XMLHttpRequest(); + xhr.responseType = "document"; + xhr.open("GET", data.params[0]); + xhr.onload = () => { + resolve({ + relatedTarget: xhr.response, + }); + }; + xhr.send(); + }); + } + } + return Promise.resolve(false); + } + ); // 由content到background // 转发gmApi消息 // this.contentMessage.setHandler("gmApi", (action, data) => { diff --git a/src/runtime/content/gm_api.ts b/src/runtime/content/gm_api.ts index 76e686d..e342bca 100644 --- a/src/runtime/content/gm_api.ts +++ b/src/runtime/content/gm_api.ts @@ -4,6 +4,9 @@ import { ValueUpdateData } from "./exec_script"; import { ExtVersion } from "@App/app/const"; import { storageKey } from "../utils"; import { Message, MessageConnect } from "@Packages/message/server"; +import { CustomEventMessage } from "@Packages/message/custom_event_message"; +import LoggerCore from "@App/app/logger/core"; +import { connect, sendMessage } from "@Packages/message/client"; interface ApiParam { depend?: string[]; @@ -65,25 +68,19 @@ export default class GMApi { // 单次回调使用 public sendMessage(api: string, params: any[]) { - return this.message.sendMessage({ - action: this.prefix + "/runtime/gmApi", - data: { - uuid: this.scriptRes.uuid, - api, - params, - }, + return sendMessage(this.message, this.prefix + "/runtime/gmApi", { + uuid: this.scriptRes.uuid, + api, + params, }); } // 长连接使用,connect只用于接受消息,不发送消息 public connect(api: string, params: any[]) { - return this.message.connect({ - action: this.prefix + "/runtime/gmApi", - data: { - uuid: this.scriptRes.uuid, - api, - params, - }, + return connect(this.message, this.prefix + "/runtime/gmApi", { + uuid: this.scriptRes.uuid, + api, + params, }); } @@ -184,6 +181,23 @@ export default class GMApi { return this.sendMessage("GM_log", [message, level, labels]); } + @GMContext.API() + public CAT_createBlobUrl(blob: Blob): Promise { + return this.sendMessage("CAT_createBlobUrl", [blob]); + } + + // 辅助GM_xml获取blob数据 + @GMContext.API() + public CAT_fetchBlob(url: string): Promise { + return this.sendMessage("CAT_fetchBlob", [url]); + } + + @GMContext.API() + public async CAT_fetchDocument(url: string): Promise { + const data = await this.sendMessage("CAT_fetchDocument", [url]); + return (this.message).getAndDelRelatedTarget(data.relatedTarget); + } + // 用于脚本跨域请求,需要@connect domain指定允许的域名 @GMContext.API({ depend: ["CAT_fetchBlob", "CAT_createBlobUrl", "CAT_fetchDocument"], @@ -220,42 +234,154 @@ export default class GMApi { param.headers["Cache-Control"] = "no-cache"; } let connect: MessageConnect; - this.connect("GM_xmlhttpRequest", [param]).then((con) => { - connect = con; - con.onMessage((data: { action: string; data: any }) => { - // 处理返回 - switch (data.action) { - case "onload": - details.onload?.(data.data); - break; - case "onloadend": - details.onloadend?.(data.data); - break; - case "onloadstart": - details.onloadstart?.(data.data); - break; - case "onprogress": - details.onprogress?.(data.data); - break; - case "onreadystatechange": - details.onreadystatechange && details.onreadystatechange(data.data); - break; - case "ontimeout": - details.ontimeout?.(); - break; - case "onerror": - details.onerror?.(""); - break; - case "onabort": - details.onabort?.(); - break; - case "onstream": - // controller?.enqueue(new Uint8Array(resp.data)); - break; - } - }); - }); + const handler = async () => { + // 处理数据 + if (details.data instanceof FormData) { + // 处理FormData + param.dataType = "FormData"; + const data: Array = []; + const keys: { [key: string]: boolean } = {}; + details.data.forEach((val, key) => { + keys[key] = true; + }); + // 处理FormData中的数据 + await Promise.all( + Object.keys(keys).map((key) => { + const values = (details.data).getAll(key); + return Promise.all( + values.map(async (val) => { + if (val instanceof File) { + const url = await this.CAT_createBlobUrl(val); + console.log(url); + data.push({ + key, + type: "file", + val: url, + filename: val.name, + }); + } else { + data.push({ + key, + type: "text", + val, + }); + } + }) + ); + }) + ); + param.data = data; + } else if (details.data instanceof Blob) { + // 处理blob + param.dataType = "Blob"; + param.data = await this.CAT_createBlobUrl(details.data); + } + // 处理返回数据 + let readerStream: ReadableStream | undefined; + let controller: ReadableStreamDefaultController | undefined; + // 如果返回类型是arraybuffer或者blob的情况下,需要将返回的数据转化为blob + // 在background通过URL.createObjectURL转化为url,然后在content页读取url获取blob对象 + const responseType = details.responseType?.toLocaleLowerCase(); + const warpResponse = (old: (xhr: GMTypes.XHRResponse) => void) => { + if (responseType === "stream") { + readerStream = new ReadableStream({ + start(ctrl) { + controller = ctrl; + }, + }); + } + return async (xhr: GMTypes.XHRResponse) => { + if (xhr.response) { + if (responseType === "document") { + xhr.response = await this.CAT_fetchDocument(xhr.response); + xhr.responseXML = xhr.response; + xhr.responseType = "document"; + } else { + const resp = await this.CAT_fetchBlob(xhr.response); + if (responseType === "arraybuffer") { + xhr.response = await resp.arrayBuffer(); + } else { + xhr.response = resp; + } + } + } + if (responseType === "stream") { + xhr.response = readerStream; + } + old(xhr); + }; + }; + if ( + responseType === "arraybuffer" || + responseType === "blob" || + responseType === "document" || + responseType === "stream" + ) { + if (details.onload) { + details.onload = warpResponse(details.onload); + } + if (details.onreadystatechange) { + details.onreadystatechange = warpResponse(details.onreadystatechange); + } + if (details.onloadend) { + details.onloadend = warpResponse(details.onloadend); + } + // document类型读取blob,然后在content页转化为document对象 + if (responseType === "document") { + param.responseType = "blob"; + } + if (responseType === "stream") { + if (details.onloadstart) { + details.onloadstart = warpResponse(details.onloadstart); + } + } + } + + // 发送信息 + this.connect("GM_xmlhttpRequest", [param]).then((con) => { + connect = con; + con.onMessage((data: { action: string; data: any }) => { + // 处理返回 + switch (data.action) { + case "onload": + details.onload?.(data.data); + break; + case "onloadend": + details.onloadend?.(data.data); + break; + case "onloadstart": + details.onloadstart?.(data.data); + break; + case "onprogress": + details.onprogress?.(data.data); + break; + case "onreadystatechange": + details.onreadystatechange && details.onreadystatechange(data.data); + break; + case "ontimeout": + details.ontimeout?.(); + break; + case "onerror": + details.onerror?.(""); + break; + case "onabort": + details.onabort?.(); + break; + case "onstream": + controller?.enqueue(new Uint8Array(data.data)); + break; + default: + LoggerCore.logger().warn("GM_xmlhttpRequest resp is error", { + action: data.action, + }); + break; + } + }); + }); + }; + // 由于需要同步返回一个abort,但是一些操作是异步的,所以需要在这里处理 + handler(); return { abort: () => { if (connect) {