From fd346e8c6d08c1b2bd137c167a5f13a0f1dcf286 Mon Sep 17 00:00:00 2001 From: Percs <83934299+Percslol@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:25:19 -0600 Subject: [PATCH] dispatch urlchange event on client creation --- package.json | 16 +- pnpm-lock.yaml | 472 +++++++++++++++++++------------------- src/client/client.ts | 9 + src/client/dom/history.ts | 4 +- src/client/events.ts | 2 +- src/client/index.ts | 8 +- src/worker/fetch.ts | 13 +- static/ui.js | 9 - 8 files changed, 268 insertions(+), 265 deletions(-) diff --git a/package.json b/package.json index 0399b42..5cf1a73 100644 --- a/package.json +++ b/package.json @@ -42,21 +42,21 @@ "@nebula-services/bare-server-node": "^2.0.4", "@playwright/test": "^1.50.1", "@rsdoctor/rspack-plugin": "^0.4.13", - "@rspack/cli": "^1.2.5", - "@rspack/core": "^1.2.5", + "@rspack/cli": "^1.2.7", + "@rspack/core": "^1.2.7", "@types/eslint": "^9.6.1", "@types/estree": "^1.0.6", - "@types/node": "^22.13.5", - "@types/serviceworker": "^0.0.121", - "@typescript-eslint/eslint-plugin": "^8.24.1", - "@typescript-eslint/parser": "^8.24.1", + "@types/node": "^22.13.9", + "@types/serviceworker": "^0.0.123", + "@typescript-eslint/eslint-plugin": "^8.26.0", + "@typescript-eslint/parser": "^8.26.0", "dotenv": "^16.4.7", "eslint": "^9.21.0", "fastify": "^5.2.1", "playwright": "^1.50.1", - "prettier": "^3.5.1", + "prettier": "^3.5.3", "tslib": "^2.8.1", - "typescript": "^5.7.3" + "typescript": "^5.8.2" }, "dependencies": { "@mercuryworkshop/bare-mux": "^2.1.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3c441d2..d59ec31 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,13 +62,13 @@ importers: version: 1.50.1 '@rsdoctor/rspack-plugin': specifier: ^0.4.13 - version: 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) + version: 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) '@rspack/cli': - specifier: ^1.2.5 - version: 1.2.5(@rspack/core@1.2.5)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1) + specifier: ^1.2.7 + version: 1.2.7(@rspack/core@1.2.7)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1) '@rspack/core': - specifier: ^1.2.5 - version: 1.2.5 + specifier: ^1.2.7 + version: 1.2.7 '@types/eslint': specifier: ^9.6.1 version: 9.6.1 @@ -76,17 +76,17 @@ importers: specifier: ^1.0.6 version: 1.0.6 '@types/node': - specifier: ^22.13.5 - version: 22.13.5 + specifier: ^22.13.9 + version: 22.13.9 '@types/serviceworker': - specifier: ^0.0.121 - version: 0.0.121 + specifier: ^0.0.123 + version: 0.0.123 '@typescript-eslint/eslint-plugin': - specifier: ^8.24.1 - version: 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) + specifier: ^8.26.0 + version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2) '@typescript-eslint/parser': - specifier: ^8.24.1 - version: 8.24.1(eslint@9.21.0)(typescript@5.7.3) + specifier: ^8.26.0 + version: 8.26.0(eslint@9.21.0)(typescript@5.8.2) dotenv: specifier: ^16.4.7 version: 16.4.7 @@ -100,14 +100,14 @@ importers: specifier: ^1.50.1 version: 1.50.1 prettier: - specifier: ^3.5.1 - version: 3.5.1 + specifier: ^3.5.3 + version: 3.5.3 tslib: specifier: ^2.8.1 version: 2.8.1 typescript: - specifier: ^5.7.3 - version: 5.7.3 + specifier: ^5.8.2 + version: 5.8.2 packages: @@ -371,56 +371,56 @@ packages: '@rsdoctor/utils@0.4.13': resolution: {integrity: sha512-+Zj9gsJEWzZpr2mh+0KIGEfvAdiz756Gu2kP2a2yNilnWlwLqCPXzQWw0D8Z5ScNIq36PdKtojQbg6qzcv7wHg==} - '@rspack/binding-darwin-arm64@1.2.5': - resolution: {integrity: sha512-ou0NXMLp6RxY9Bx8P9lA8ArVjz/WAI/gSu5kKrdKKtMs6WKutl4vvP9A4HHZnISd9Tn00dlvDwNeNSUR7fjoDQ==} + '@rspack/binding-darwin-arm64@1.2.7': + resolution: {integrity: sha512-dT5eSMTknZaI8Djmz8KnaWM68rjZuBZwsKyF144o+ZSJM55vgiNXyL0lQYB8mX9nR3Gck+jKuGUAT2W/EF/t5Q==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.2.5': - resolution: {integrity: sha512-RdvH9YongQlDE9+T2Xh5D2+dyiLHx2Gz38Af1uObyBRNWjF1qbuR51hOas0f2NFUdyA03j1+HWZCbE7yZrmI3w==} + '@rspack/binding-darwin-x64@1.2.7': + resolution: {integrity: sha512-5n8IhKBxH71d4BUIvyzTwSOAOKNneLPJwLIphSPNIbCMGjLI59/EVpxSQ/AAUfyMkqOs635NNCn0eGQVuzpI/w==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.2.5': - resolution: {integrity: sha512-jznk/CI/wN93fr8I1j3la/CAiGf8aG7ZHIpRBtT4CkNze0c5BcF3AaJVSBHVNQqgSv0qddxMt3SADpzV8rWZ6g==} + '@rspack/binding-linux-arm64-gnu@1.2.7': + resolution: {integrity: sha512-DTtFBJmgQQrVWjbklpgJDr3kE9Uf1fHsPh+1GVslsBuyn+o4O7JslrnjuVsQCYKoiEg0Lg4ZPQmwnhJLHssZ5A==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-musl@1.2.5': - resolution: {integrity: sha512-oYzcaJ0xjb1fWbbtPmjjPXeehExEgwJ8fEGYQ5TikB+p9oCLkAghnNjsz9evUhgjByxi+NTZ1YmUNwxRuQDY1Q==} + '@rspack/binding-linux-arm64-musl@1.2.7': + resolution: {integrity: sha512-01/OoQQF9eyDvRKkxj4DzCznfGZIvnzI8qOsrv+M7VBm8FLoKpb3hygXixaGQOXmNL42XTh61qjgm++fBu6aUA==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-x64-gnu@1.2.5': - resolution: {integrity: sha512-dzEKs8oi86Vi+TFRCPpgmfF5ANL0VmlZN45e1An7HipeI2C5B1xrz/H8V43vPy8XEvQuMmkXO6Sp82A0zlHvIA==} + '@rspack/binding-linux-x64-gnu@1.2.7': + resolution: {integrity: sha512-lUOAUq0YSsofCXsP6XnlgfH0ZRDZ2X2XqXLXYjqf4xkSxCl5eBmE0EQYjAHF4zjUvU5rVx4a4bDLWv7+t3bOHg==} cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-musl@1.2.5': - resolution: {integrity: sha512-4ENeVPVSD97rRRGr6kJSm4sIPf1tKJ8vlr9hJi4sSvF7eMLWipSwIVmqRXJ2riVMRjYD2einmJ9KzI8rqQ2OwA==} + '@rspack/binding-linux-x64-musl@1.2.7': + resolution: {integrity: sha512-ZrPXfgT30p4DlydYavaTHiluxHkWvZHt7K4q7qNyTfYYowG6jRGwWi/PATdugNICGv027Wsh5nzEO4o27Iuhwg==} cpu: [x64] os: [linux] - '@rspack/binding-win32-arm64-msvc@1.2.5': - resolution: {integrity: sha512-WUoJvX/z43MWeW1JKAQIxdvqH02oLzbaGMCzIikvniZnakQovYLPH6tCYh7qD3p7uQsm+IafFddhFxTtogC3pg==} + '@rspack/binding-win32-arm64-msvc@1.2.7': + resolution: {integrity: sha512-1OzzM+OUSWX39XYcDfxJ8bGX5vNNrRejCMGotBEdP+uQ3KMWCPz0G4KRc3QIjghaLIYk3ofd83hcfUxyk/2Xog==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.2.5': - resolution: {integrity: sha512-YzPvmt/gpiacE6aAacz4dxgEbNWwoKYPaT4WYy/oITobnAui++iCFXC4IICSmlpoA1y7O8K3Qb9jbaB/lLhbwA==} + '@rspack/binding-win32-ia32-msvc@1.2.7': + resolution: {integrity: sha512-VWlDCV9kDtijk9GK6ZtBQmYoVzKGpnrJB0iI3d2gIEa/2NwikJ89bLMFE4dFx8UNH3p/sSyb5pmPOQnbudFK7Q==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.2.5': - resolution: {integrity: sha512-QDDshfteMZiglllm7WUh/ITemFNuexwn1Yul7cHBFGQu6HqtqKNAR0kGR8J3e15MPMlinSaygVpfRE4A0KPmjQ==} + '@rspack/binding-win32-x64-msvc@1.2.7': + resolution: {integrity: sha512-l/sTdeMsQF1a1aB79cWykDNRZG6nkUA0biJo2/sEARP3ijdr8TuwUdirp2JRDmZfQJkoJnQ2un9y9qyW+TIZzA==} cpu: [x64] os: [win32] - '@rspack/binding@1.2.5': - resolution: {integrity: sha512-q9vQmGDFZyFVMULwOFL7488WNSgn4ue94R/njDLMMIPF4K0oEJP2QT02elfG4KVGv2CbP63D7vEFN4ZNreo/Rw==} + '@rspack/binding@1.2.7': + resolution: {integrity: sha512-QH+kxkG0I9C6lmlwgBUDFsy24ihXMGG5lfiNtQilk4CyBN+AgSWFENcYrnkUaBioZAvMBznQLiccV3X0JeH9iQ==} - '@rspack/cli@1.2.5': - resolution: {integrity: sha512-xgFjlFAIpAOG7PbSkxFPOUDrYVGhCngtGYWe4RqujsdwEBhDq9bBD+Wn+vd5tCq02df4Rpc25UidmznxwhUCgw==} + '@rspack/cli@1.2.7': + resolution: {integrity: sha512-nUUZuwnSEORqPcknhP+gkQh9YZqeOlmFKJA1YRnZ5QQkzugCehV+xzVjO+Ezd8R1CSMpqdAQq7+pFZ8rpaRymA==} hasBin: true peerDependencies: '@rspack/core': ^1.0.0-alpha || ^1.x @@ -429,8 +429,8 @@ packages: '@rspack/tracing': optional: true - '@rspack/core@1.2.5': - resolution: {integrity: sha512-x/riOl05gOVGgGQFimBqS5i8XbUpBxPIKUC+tDX4hmNNkzxRaGpspZfNtcL+1HBMyYuoM6fOWGyCp2R290Uy6g==} + '@rspack/core@1.2.7': + resolution: {integrity: sha512-Vg7ySflnqI1nNOBPd6VJkQozWADssxn3einbxa9OqDVAB+dGSj8qihTs6rlaTSewidoaYTGIAiTMHO2y+61qqQ==} engines: {node: '>=16.0.0'} peerDependencies: '@rspack/tracing': ^1.x @@ -511,8 +511,8 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.13.5': - resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} + '@types/node@22.13.9': + resolution: {integrity: sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==} '@types/qs@6.9.18': resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} @@ -535,8 +535,8 @@ packages: '@types/serve-static@1.15.7': resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} - '@types/serviceworker@0.0.121': - resolution: {integrity: sha512-f8w1ff26NhHQoT+Rd9cLaHZIwTKtGe2LXXYVsRzZx2Z1a/9juz/D7T4F3Pl6cuoUBsaDq13Ot1o+AMrc1sjWog==} + '@types/serviceworker@0.0.123': + resolution: {integrity: sha512-c6ynzmpJwqKTkMHDLonE+EStBqTHJqiR+1RsDd40K3YjglABm/C6mZO7xn25g5WldsgxfGHGaKa3IXRnig9c0A==} '@types/sockjs@0.3.36': resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} @@ -547,51 +547,51 @@ packages: '@types/ws@8.5.14': resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} - '@typescript-eslint/eslint-plugin@8.24.1': - resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} + '@typescript-eslint/eslint-plugin@8.26.0': + resolution: {integrity: sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==} 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.24.1': - resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} + '@typescript-eslint/parser@8.26.0': + resolution: {integrity: sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==} 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.24.1': - resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} + '@typescript-eslint/scope-manager@8.26.0': + resolution: {integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.24.1': - resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} + '@typescript-eslint/type-utils@8.26.0': + resolution: {integrity: sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==} 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.24.1': - resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} + '@typescript-eslint/types@8.26.0': + resolution: {integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.24.1': - resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} + '@typescript-eslint/typescript-estree@8.26.0': + resolution: {integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==} 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.24.1': - resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} + '@typescript-eslint/utils@8.26.0': + resolution: {integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==} 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.24.1': - resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} + '@typescript-eslint/visitor-keys@8.26.0': + resolution: {integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@webassemblyjs/ast@1.14.1': @@ -758,8 +758,8 @@ packages: avvio@9.1.0: resolution: {integrity: sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==} - axios@1.7.9: - resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + axios@1.8.1: + resolution: {integrity: sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -816,16 +816,16 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bound@1.0.3: - resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001700: - resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==} + caniuse-lite@1.0.30001702: + resolution: {integrity: sha512-LoPe/D7zioC0REI5W73PeR1e1MLCipRGq/VkovJnd6Df+QVqT+vT33OXCp8QUd7kA7RZrHWxb1B36OQKI/0gOA==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -864,8 +864,8 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -1059,8 +1059,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.103: - resolution: {integrity: sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==} + electron-to-chromium@1.5.112: + resolution: {integrity: sha512-oen93kVyqSb3l+ziUgzIOlWt/oOuy4zRmpwestMn4rhFWAoFJeFuCVte9F2fASjeZZo7l/Cif9TiyrdW4CwEMA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1250,8 +1250,8 @@ packages: fastify@5.2.1: resolution: {integrity: sha512-rslrNBF67eg8/Gyn7P2URV8/6pz8kSAscFL4EThZJ8JBMaXacVdVE4hmUcnPNKERl5o/xTiBSLfdowBRhVF1WA==} - fastq@1.19.0: - resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} @@ -1301,8 +1301,8 @@ packages: debug: optional: true - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} form-data@4.0.2: @@ -1342,8 +1342,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.2.7: - resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} get-port@5.1.1: @@ -1584,8 +1584,8 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.0.3: - resolution: {integrity: sha512-oSwM7q8PTHQWuZAlp995iPpPJ4Vkl7qT0ZRD+9duL9j2oBy6KcTfyxc8mEuHJYC+z/kbps80aJLkaNzTOrf/kw==} + jackspeak@4.1.0: + resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} engines: {node: 20 || >=22} jest-worker@27.5.1: @@ -1935,8 +1935,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.5.1: - resolution: {integrity: sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==} + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} engines: {node: '>=14'} hasBin: true @@ -2025,8 +2025,8 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rfdc@1.4.1: @@ -2254,8 +2254,8 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - terser-webpack-plugin@5.3.11: - resolution: {integrity: sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==} + terser-webpack-plugin@5.3.12: + resolution: {integrity: sha512-jDLYqo7oF8tJIttjXO6jBY5Hk8p3A8W4ttih7cCEq64fQFWmgJ4VqAQjKr7WwIDlmXKEc6QeoRb5ecjZ+2afcg==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -2342,8 +2342,8 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true @@ -2362,8 +2362,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2640,7 +2640,7 @@ snapshots: '@fastify/send': 3.3.1 content-disposition: 0.5.4 fastify-plugin: 5.0.1 - fastq: 1.19.0 + fastq: 1.19.1 glob: 11.0.1 '@humanfs/core@0.19.1': {} @@ -2709,7 +2709,7 @@ snapshots: '@mercuryworkshop/bare-as-module3@2.2.5': dependencies: - typescript: 5.7.3 + typescript: 5.8.2 '@mercuryworkshop/bare-mux@2.1.7': {} @@ -2776,7 +2776,7 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.0 + fastq: 1.19.1 '@pkgjs/parseargs@0.11.0': optional: true @@ -2789,13 +2789,13 @@ snapshots: '@rsdoctor/client@0.4.13': {} - '@rsdoctor/core@0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1)': + '@rsdoctor/core@0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1)': dependencies: - '@rsdoctor/graph': 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) - '@rsdoctor/sdk': 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) - '@rsdoctor/types': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) - '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) - axios: 1.7.9 + '@rsdoctor/graph': 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) + '@rsdoctor/sdk': 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) + '@rsdoctor/types': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) + '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) + axios: 1.8.1 enhanced-resolve: 5.12.0 filesize: 10.1.6 fs-extra: 11.3.0 @@ -2812,10 +2812,10 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/graph@0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1)': + '@rsdoctor/graph@0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1)': dependencies: - '@rsdoctor/types': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) - '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) + '@rsdoctor/types': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) + '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) lodash.unionby: 4.8.0 socket.io: 4.8.1(bufferutil@4.0.9) source-map: 0.7.4 @@ -2826,14 +2826,14 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/rspack-plugin@0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1)': + '@rsdoctor/rspack-plugin@0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1)': dependencies: - '@rsdoctor/core': 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) - '@rsdoctor/graph': 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) - '@rsdoctor/sdk': 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) - '@rsdoctor/types': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) - '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) - '@rspack/core': 1.2.5 + '@rsdoctor/core': 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) + '@rsdoctor/graph': 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) + '@rsdoctor/sdk': 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) + '@rsdoctor/types': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) + '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) + '@rspack/core': 1.2.7 lodash: 4.17.21 transitivePeerDependencies: - bufferutil @@ -2842,12 +2842,12 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/sdk@0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1)': + '@rsdoctor/sdk@0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1)': dependencies: '@rsdoctor/client': 0.4.13 - '@rsdoctor/graph': 0.4.13(@rspack/core@1.2.5)(bufferutil@4.0.9)(webpack@5.97.1) - '@rsdoctor/types': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) - '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) + '@rsdoctor/graph': 0.4.13(@rspack/core@1.2.7)(bufferutil@4.0.9)(webpack@5.97.1) + '@rsdoctor/types': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) + '@rsdoctor/utils': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) '@types/fs-extra': 11.0.4 body-parser: 1.20.3 cors: 2.8.5 @@ -2867,7 +2867,7 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/types@0.4.13(@rspack/core@1.2.5)(webpack@5.97.1)': + '@rsdoctor/types@0.4.13(@rspack/core@1.2.7)(webpack@5.97.1)': dependencies: '@types/connect': 3.4.38 '@types/estree': 1.0.5 @@ -2875,12 +2875,12 @@ snapshots: source-map: 0.7.4 webpack: 5.97.1 optionalDependencies: - '@rspack/core': 1.2.5 + '@rspack/core': 1.2.7 - '@rsdoctor/utils@0.4.13(@rspack/core@1.2.5)(webpack@5.97.1)': + '@rsdoctor/utils@0.4.13(@rspack/core@1.2.7)(webpack@5.97.1)': dependencies: '@babel/code-frame': 7.25.7 - '@rsdoctor/types': 0.4.13(@rspack/core@1.2.5)(webpack@5.97.1) + '@rsdoctor/types': 0.4.13(@rspack/core@1.2.7)(webpack@5.97.1) '@types/estree': 1.0.5 acorn: 8.14.0 acorn-import-assertions: 1.9.0(acorn@8.14.0) @@ -2901,51 +2901,51 @@ snapshots: - supports-color - webpack - '@rspack/binding-darwin-arm64@1.2.5': + '@rspack/binding-darwin-arm64@1.2.7': optional: true - '@rspack/binding-darwin-x64@1.2.5': + '@rspack/binding-darwin-x64@1.2.7': optional: true - '@rspack/binding-linux-arm64-gnu@1.2.5': + '@rspack/binding-linux-arm64-gnu@1.2.7': optional: true - '@rspack/binding-linux-arm64-musl@1.2.5': + '@rspack/binding-linux-arm64-musl@1.2.7': optional: true - '@rspack/binding-linux-x64-gnu@1.2.5': + '@rspack/binding-linux-x64-gnu@1.2.7': optional: true - '@rspack/binding-linux-x64-musl@1.2.5': + '@rspack/binding-linux-x64-musl@1.2.7': optional: true - '@rspack/binding-win32-arm64-msvc@1.2.5': + '@rspack/binding-win32-arm64-msvc@1.2.7': optional: true - '@rspack/binding-win32-ia32-msvc@1.2.5': + '@rspack/binding-win32-ia32-msvc@1.2.7': optional: true - '@rspack/binding-win32-x64-msvc@1.2.5': + '@rspack/binding-win32-x64-msvc@1.2.7': optional: true - '@rspack/binding@1.2.5': + '@rspack/binding@1.2.7': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.2.5 - '@rspack/binding-darwin-x64': 1.2.5 - '@rspack/binding-linux-arm64-gnu': 1.2.5 - '@rspack/binding-linux-arm64-musl': 1.2.5 - '@rspack/binding-linux-x64-gnu': 1.2.5 - '@rspack/binding-linux-x64-musl': 1.2.5 - '@rspack/binding-win32-arm64-msvc': 1.2.5 - '@rspack/binding-win32-ia32-msvc': 1.2.5 - '@rspack/binding-win32-x64-msvc': 1.2.5 + '@rspack/binding-darwin-arm64': 1.2.7 + '@rspack/binding-darwin-x64': 1.2.7 + '@rspack/binding-linux-arm64-gnu': 1.2.7 + '@rspack/binding-linux-arm64-musl': 1.2.7 + '@rspack/binding-linux-x64-gnu': 1.2.7 + '@rspack/binding-linux-x64-musl': 1.2.7 + '@rspack/binding-win32-arm64-msvc': 1.2.7 + '@rspack/binding-win32-ia32-msvc': 1.2.7 + '@rspack/binding-win32-x64-msvc': 1.2.7 - '@rspack/cli@1.2.5(@rspack/core@1.2.5)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1)': + '@rspack/cli@1.2.7(@rspack/core@1.2.7)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@rspack/core': 1.2.5 - '@rspack/dev-server': 1.0.10(@rspack/core@1.2.5)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1) - colorette: 2.0.19 + '@rspack/core': 1.2.7 + '@rspack/dev-server': 1.0.10(@rspack/core@1.2.7)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1) + colorette: 2.0.20 exit-hook: 4.0.0 interpret: 3.1.1 rechoir: 0.8.0 @@ -2960,16 +2960,16 @@ snapshots: - webpack - webpack-cli - '@rspack/core@1.2.5': + '@rspack/core@1.2.7': dependencies: '@module-federation/runtime-tools': 0.8.4 - '@rspack/binding': 1.2.5 + '@rspack/binding': 1.2.7 '@rspack/lite-tapable': 1.0.1 - caniuse-lite: 1.0.30001700 + caniuse-lite: 1.0.30001702 - '@rspack/dev-server@1.0.10(@rspack/core@1.2.5)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1)': + '@rspack/dev-server@1.0.10(@rspack/core@1.2.7)(@types/express@4.17.21)(bufferutil@4.0.9)(webpack@5.97.1)': dependencies: - '@rspack/core': 1.2.5 + '@rspack/core': 1.2.7 chokidar: 3.6.0 connect-history-api-fallback: 2.0.0 express: 4.21.2 @@ -2995,24 +2995,24 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.6 - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/connect@3.4.38': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/cors@2.8.17': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/eslint-scope@3.7.7': dependencies: @@ -3030,14 +3030,14 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express-serve-static-core@5.0.6': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3052,27 +3052,27 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/http-errors@2.0.4': {} '@types/http-proxy@1.17.16': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/json-schema@7.0.15': {} '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/mime@1.3.5': {} '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 - '@types/node@22.13.5': + '@types/node@22.13.9': dependencies: undici-types: 6.20.0 @@ -3087,7 +3087,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/serve-index@1.9.4': dependencies: @@ -3096,14 +3096,14 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/send': 0.17.4 - '@types/serviceworker@0.0.121': {} + '@types/serviceworker@0.0.123': {} '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 '@types/tapable@2.2.7': dependencies: @@ -3111,83 +3111,83 @@ snapshots: '@types/ws@8.5.14': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 - '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/type-utils': 8.24.1(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/parser': 8.26.0(eslint@9.21.0)(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.26.0 + '@typescript-eslint/type-utils': 8.26.0(eslint@9.21.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.0(eslint@9.21.0)(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.0 eslint: 9.21.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.24.1(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/parser@8.26.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/scope-manager': 8.26.0 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.0 debug: 4.4.0 eslint: 9.21.0 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.24.1': + '@typescript-eslint/scope-manager@8.26.0': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/visitor-keys': 8.26.0 - '@typescript-eslint/type-utils@8.24.1(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.26.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.0(eslint@9.21.0)(typescript@5.8.2) debug: 4.4.0 eslint: 9.21.0 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.24.1': {} + '@typescript-eslint/types@8.26.0': {} - '@typescript-eslint/typescript-estree@8.24.1(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.26.0(typescript@5.8.2)': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/visitor-keys': 8.26.0 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.1 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.24.1(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/utils@8.26.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.26.0 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) eslint: 9.21.0 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.24.1': + '@typescript-eslint/visitor-keys@8.26.0': dependencies: - '@typescript-eslint/types': 8.24.1 + '@typescript-eslint/types': 8.26.0 eslint-visitor-keys: 4.2.0 '@webassemblyjs/ast@1.14.1': @@ -3360,9 +3360,9 @@ snapshots: avvio@9.1.0: dependencies: '@fastify/error': 4.0.0 - fastq: 1.19.0 + fastq: 1.19.1 - axios@1.7.9: + axios@1.8.1: dependencies: follow-redirects: 1.15.9 form-data: 4.0.2 @@ -3415,10 +3415,10 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001700 - electron-to-chromium: 1.5.103 + caniuse-lite: 1.0.30001702 + electron-to-chromium: 1.5.112 node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) + update-browserslist-db: 1.1.3(browserslist@4.24.4) buffer-from@1.1.2: {} @@ -3437,14 +3437,14 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bound@1.0.3: + call-bound@1.0.4: dependencies: call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 callsites@3.1.0: {} - caniuse-lite@1.0.30001700: {} + caniuse-lite@1.0.30001702: {} chalk@2.4.2: dependencies: @@ -3493,7 +3493,7 @@ snapshots: color-name@1.1.4: {} - colorette@2.0.19: {} + colorette@2.0.20: {} combined-stream@1.0.8: dependencies: @@ -3650,7 +3650,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.103: {} + electron-to-chromium@1.5.112: {} emoji-regex@8.0.0: {} @@ -3665,7 +3665,7 @@ snapshots: engine.io@6.6.4(bufferutil@4.0.9): dependencies: '@types/cors': 2.8.17 - '@types/node': 22.13.5 + '@types/node': 22.13.9 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -3709,7 +3709,7 @@ snapshots: es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -3903,9 +3903,9 @@ snapshots: semver: 7.7.1 toad-cache: 3.7.0 - fastq@1.19.0: + fastq@1.19.1: dependencies: - reusify: 1.0.4 + reusify: 1.1.0 faye-websocket@0.11.4: dependencies: @@ -3965,7 +3965,7 @@ snapshots: follow-redirects@1.15.9: {} - foreground-child@3.3.0: + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 @@ -3999,7 +3999,7 @@ snapshots: get-caller-file@2.0.5: {} - get-intrinsic@1.2.7: + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -4033,7 +4033,7 @@ snapshots: glob@10.4.5: dependencies: - foreground-child: 3.3.0 + foreground-child: 3.3.1 jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 @@ -4042,8 +4042,8 @@ snapshots: glob@11.0.1: dependencies: - foreground-child: 3.3.0 - jackspeak: 4.0.3 + foreground-child: 3.3.1 + jackspeak: 4.1.0 minimatch: 10.0.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 @@ -4222,13 +4222,13 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.0.3: + jackspeak@4.1.0: dependencies: '@isaacs/cliui': 8.0.2 jest-worker@27.5.1: dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -4522,7 +4522,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.5.1: {} + prettier@3.5.3: {} process-nextick-args@2.0.1: {} @@ -4602,7 +4602,7 @@ snapshots: retry@0.13.1: {} - reusify@1.0.4: {} + reusify@1.1.0: {} rfdc@1.4.1: {} @@ -4718,16 +4718,16 @@ snapshots: side-channel-map@1.0.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-weakmap@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-map: 1.0.1 @@ -4885,7 +4885,7 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.11(webpack@5.97.1): + terser-webpack-plugin@5.3.12(webpack@5.97.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -4931,9 +4931,9 @@ snapshots: dependencies: tslib: 2.8.1 - ts-api-utils@2.0.1(typescript@5.7.3): + ts-api-utils@2.0.1(typescript@5.8.2): dependencies: - typescript: 5.7.3 + typescript: 5.8.2 tslib@2.8.1: {} @@ -4950,7 +4950,7 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typescript@5.7.3: {} + typescript@5.8.2: {} undici-types@6.20.0: {} @@ -4962,7 +4962,7 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.1.2(browserslist@4.24.4): + update-browserslist-db@1.1.3(browserslist@4.24.4): dependencies: browserslist: 4.24.4 escalade: 3.2.0 @@ -5024,7 +5024,7 @@ snapshots: webpack-dev-middleware@7.4.2(webpack@5.97.1): dependencies: - colorette: 2.0.19 + colorette: 2.0.20 memfs: 4.17.0 mime-types: 2.1.35 on-finished: 2.4.1 @@ -5045,7 +5045,7 @@ snapshots: ansi-html-community: 0.0.8 bonjour-service: 1.3.0 chokidar: 3.6.0 - colorette: 2.0.19 + colorette: 2.0.20 compression: 1.8.0 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 @@ -5097,7 +5097,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(webpack@5.97.1) + terser-webpack-plugin: 5.3.12(webpack@5.97.1) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/src/client/client.ts b/src/client/client.ts index b84cfaa..292a1c6 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -254,7 +254,16 @@ export class ScramjetClient { return sframe; } + get isSubframe(): boolean { + if (!iswindow) return false; + const frame = this.descriptors.get("window.frameElement", this.global); + if (!frame) return false; // we're top level + const sframe = frame[SCRAMJETFRAME]; + if (!sframe) return true; + + return false; + } loadcookies(cookiestr: string) { this.cookieStore.load(cookiestr); } diff --git a/src/client/dom/history.ts b/src/client/dom/history.ts index b294c43..129b4cc 100644 --- a/src/client/dom/history.ts +++ b/src/client/dom/history.ts @@ -10,7 +10,7 @@ export default function (client: ScramjetClient, _self: Self) { ctx.call(); const ev = new UrlChangeEvent(client.url.href); - if (client.frame) client.frame.dispatchEvent(ev); + if (!client.isSubframe) client.frame?.dispatchEvent(ev); }, }); @@ -21,7 +21,7 @@ export default function (client: ScramjetClient, _self: Self) { ctx.call(); const ev = new UrlChangeEvent(client.url.href); - if (client.frame) client.frame.dispatchEvent(ev); + if (!client.isSubframe) client.frame?.dispatchEvent(ev); }, }); } diff --git a/src/client/events.ts b/src/client/events.ts index a4ce973..cdaa1ee 100644 --- a/src/client/events.ts +++ b/src/client/events.ts @@ -10,7 +10,7 @@ export class UrlChangeEvent extends Event { } } -export class ScramjetContextInit extends Event { +export class ScramjetContextEvent extends Event { constructor(public window: Self) { super("contextInit"); } diff --git a/src/client/index.ts b/src/client/index.ts index f4becff..25d0a23 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -3,7 +3,7 @@ import { loadCodecs } from "../scramjet"; import { SCRAMJETCLIENT } from "../symbols"; import { ScramjetClient } from "./client"; -import { ScramjetContextInit } from "./events"; +import { ScramjetContextEvent, UrlChangeEvent } from "./events"; import { ScramjetServiceWorkerRuntime } from "./swruntime"; export const iswindow = "window" in self && window instanceof Window; @@ -30,8 +30,10 @@ if (!(SCRAMJETCLIENT in >self)) { runtime.hook(); } - const ev = new ScramjetContextInit(client.global.window); - client.frame?.dispatchEvent(ev); + const contextev = new ScramjetContextEvent(client.global.window); + client.frame?.dispatchEvent(contextev); + const urlchangeev = new UrlChangeEvent(client.url.href); + if (!client.isSubframe) client.frame?.dispatchEvent(urlchangeev); } Reflect.deleteProperty(self, "WASM"); diff --git a/src/worker/fetch.ts b/src/worker/fetch.ts index 2310682..4c6f09e 100644 --- a/src/worker/fetch.ts +++ b/src/worker/fetch.ts @@ -41,7 +41,7 @@ export async function handleFetch( requesturl.searchParams.delete("dest"); } - if (requesturl.pathname == this.config.files.wasm) { + if (requesturl.pathname === this.config.files.wasm) { return fetch(this.config.files.wasm).then(async (x) => { const buf = await x.arrayBuffer(); const b64 = btoa( @@ -54,7 +54,8 @@ export async function handleFetch( ); let payload = ""; - payload += `if ("document" in self && document.currentScript) { document.currentScript.remove(); }\n`; + payload += + "if ('document' in self && document.currentScript) { document.currentScript.remove(); }\n"; payload += `self.WASM = '${b64}';`; return new Response(payload, { @@ -164,11 +165,11 @@ export async function handleFetch( const ev = new ScramjetRequestEvent( url, + headers.headers, request.body, request.method, request.destination, - client, - headers.headers + client ); this.dispatchEvent(ev); @@ -396,11 +397,11 @@ export class ScramjetHandleResponseEvent extends Event { export class ScramjetRequestEvent extends Event { constructor( public url: URL, + public requestHeaders: Record, public body: BodyType, public method: string, public destination: string, - public client: Client, - public requestHeaders: Record + public client: Client ) { super("request"); } diff --git a/static/ui.js b/static/ui.js index d023bf7..284bf42 100644 --- a/static/ui.js +++ b/static/ui.js @@ -207,15 +207,6 @@ function BrowserApp() { if (!e.url) return; this.url = e.url; }); - frame.frame.addEventListener("load", () => { - let url = frame.frame.contentWindow.location.href; - if (!url) return; - if (url === "about:blank") return; - - this.url = $scramjet.codec.decode( - url.substring((location.href + "/scramjet").length) - ); - }); const handleSubmit = () => { this.url = this.url.trim();