From b7061a1ed135a1be415ea2aa9061ad9eadf62145 Mon Sep 17 00:00:00 2001 From: Daniel Kift Date: Fri, 9 Oct 2026 10:38:07 +0100 Subject: [PATCH 1/2] Bump Vite to 8.3 for the web package Vite 8.0 -> 8.3.4 (rolldown 1.0 -> 1.2). Build output is unchanged in shape: declarations are byte-identical, including the tag-name augmentation, and runtime JS moves by +42 B net (-52 B index.js, +94 B component chunk) from rolldown codegen changes. Also address Vite's forward-compatibility warning for the future native config loader: import package.json with a JSON import attribute and the tag-name-map helper with its file extension. --- platforms/web/package.json | 2 +- platforms/web/pnpm-lock.yaml | 436 +++++++++++------------------------ platforms/web/vite.config.ts | 4 +- 3 files changed, 132 insertions(+), 310 deletions(-) diff --git a/platforms/web/package.json b/platforms/web/package.json index c2d745fac..519b80def 100644 --- a/platforms/web/package.json +++ b/platforms/web/package.json @@ -95,7 +95,7 @@ "oxlint": "^1.62.0", "publint": "^0.3.12", "typescript": "5.9.3", - "vite": "^8.0.0", + "vite": "^8.3.4", "vite-plugin-dts": "^4.5.4", "vitest": "^4.1.0" }, diff --git a/platforms/web/pnpm-lock.yaml b/platforms/web/pnpm-lock.yaml index f0eeef9af..e7aa060eb 100644 --- a/platforms/web/pnpm-lock.yaml +++ b/platforms/web/pnpm-lock.yaml @@ -54,14 +54,14 @@ importers: specifier: 5.9.3 version: 5.9.3 vite: - specifier: ^8.0.0 - version: 8.0.16(@types/node@22.19.18)(esbuild@0.28.1) + specifier: ^8.3.4 + version: 8.3.4(@types/node@22.19.18)(esbuild@0.28.1) vite-plugin-dts: specifier: ^4.5.4 - version: 4.5.4(@types/node@22.19.18)(rollup@4.61.1)(typescript@5.9.3)(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1)) + version: 4.5.4(@types/node@22.19.18)(rollup@4.61.1)(typescript@5.9.3)(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1)) vitest: specifier: ^4.1.0 - version: 4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1)) + version: 4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1)) ../../protocol/languages/typescript: dependencies: @@ -150,15 +150,6 @@ packages: '@custom-elements-manifest/find-dependencies@0.0.6': resolution: {integrity: sha512-2iVksJ156XuaeeC6jB6oMG6k9ROHS3W1delwJLL804yQMri9NnQW78JDCYMtFfW8b4locUG+3+hrtAHxk+fNGg==} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==, tarball: https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz} - - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==, tarball: https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz} - - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==, tarball: https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz} - '@esbuild/aix-ppc64@0.28.1': resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==, tarball: https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz} engines: {node: '>=18'} @@ -406,12 +397,6 @@ packages: '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} - '@napi-rs/wasm-runtime@1.1.5': - resolution: {integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==, tarball: https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz} - peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -424,12 +409,12 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.133.0': - resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} - '@oxc-project/types@0.146.0': resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==, tarball: https://registry.npmjs.org/@oxc-project/types/-/types-0.146.0.tgz} + '@oxc-project/types@0.153.0': + resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==, tarball: https://registry.npmjs.org/@oxc-project/types/-/types-0.153.0.tgz} + '@oxfmt/binding-android-arm-eabi@0.47.0': resolution: {integrity: sha512-KrMQRdMi/upr81qT4ijK6X6BNp6jqpMY7FwILQnwIy9QLc3qpnhUx5rsCLGzn4ewsCQ0CNAspN2ogmP1GXLyLw==, tarball: https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.47.0.tgz} engines: {node: ^20.19.0 || >=22.12.0} @@ -683,14 +668,20 @@ packages: resolution: {integrity: sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==} engines: {node: '>=18'} + '@rolldown/binding-android-arm-eabi@1.2.13': + resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==, tarball: https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.13.tgz} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@rolldown/binding-android-arm-eabi@1.2.5': resolution: {integrity: sha512-DLe/i+l8ynIBY7XEQ191TeZvCoowIGa18R+dIV30GW7DiOtp74i/xX8hs8GUjW5ARV7VZuie3d6AumSmCwbeRA==, tarball: https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.5.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.0.3': - resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==, tarball: https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz} + '@rolldown/binding-android-arm64@1.2.13': + resolution: {integrity: sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==, tarball: https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -701,8 +692,8 @@ packages: cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.3': - resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==, tarball: https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz} + '@rolldown/binding-darwin-arm64@1.2.13': + resolution: {integrity: sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==, tarball: https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -713,8 +704,8 @@ packages: cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.3': - resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==, tarball: https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz} + '@rolldown/binding-darwin-x64@1.2.13': + resolution: {integrity: sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==, tarball: https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -725,8 +716,8 @@ packages: cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.3': - resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==, tarball: https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz} + '@rolldown/binding-freebsd-x64@1.2.13': + resolution: {integrity: sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==, tarball: https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -737,8 +728,8 @@ packages: cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.3': - resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz} + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + resolution: {integrity: sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -749,8 +740,8 @@ packages: cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.3': - resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz} + '@rolldown/binding-linux-arm64-gnu@1.2.13': + resolution: {integrity: sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -763,8 +754,8 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.3': - resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz} + '@rolldown/binding-linux-arm64-musl@1.2.13': + resolution: {integrity: sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -777,8 +768,8 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.3': - resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz} + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + resolution: {integrity: sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -791,8 +782,8 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.3': - resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz} + '@rolldown/binding-linux-s390x-gnu@1.2.13': + resolution: {integrity: sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -805,8 +796,8 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.3': - resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz} + '@rolldown/binding-linux-x64-gnu@1.2.13': + resolution: {integrity: sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -819,8 +810,8 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.3': - resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz} + '@rolldown/binding-linux-x64-musl@1.2.13': + resolution: {integrity: sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==, tarball: https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -833,8 +824,8 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.3': - resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==, tarball: https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz} + '@rolldown/binding-openharmony-arm64@1.2.13': + resolution: {integrity: sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==, tarball: https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -845,13 +836,8 @@ packages: cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.3': - resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==, tarball: https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] - - '@rolldown/binding-win32-arm64-msvc@1.0.3': - resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==, tarball: https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz} + '@rolldown/binding-win32-arm64-msvc@1.2.13': + resolution: {integrity: sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==, tarball: https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -862,8 +848,8 @@ packages: cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.3': - resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==, tarball: https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz} + '@rolldown/binding-win32-x64-msvc@1.2.13': + resolution: {integrity: sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==, tarball: https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -875,7 +861,7 @@ packages: os: [win32] '@rolldown/pluginutils@1.0.1': - resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==, tarball: https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz} '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} @@ -1057,9 +1043,6 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==, tarball: https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz} - '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -1454,7 +1437,7 @@ packages: hasBin: true detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==, tarball: https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz} engines: {node: '>=8'} diff@8.0.4: @@ -1774,73 +1757,36 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, tarball: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz} engines: {node: '>= 0.8.0'} - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==, tarball: https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [android] - lightningcss-android-arm64@1.33.0: resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==, tarball: https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==, tarball: https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - lightningcss-darwin-arm64@1.33.0: resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==, tarball: https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==, tarball: https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - lightningcss-darwin-x64@1.33.0: resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==, tarball: https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==, tarball: https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - lightningcss-freebsd-x64@1.33.0: resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==, tarball: https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==, tarball: https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - lightningcss-linux-arm-gnueabihf@1.33.0: resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==, tarball: https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==, tarball: https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - lightningcss-linux-arm64-gnu@1.33.0: resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==, tarball: https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz} engines: {node: '>= 12.0.0'} @@ -1848,13 +1794,6 @@ packages: os: [linux] libc: [glibc] - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==, tarball: https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - lightningcss-linux-arm64-musl@1.33.0: resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==, tarball: https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz} engines: {node: '>= 12.0.0'} @@ -1862,13 +1801,6 @@ packages: os: [linux] libc: [musl] - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==, tarball: https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - lightningcss-linux-x64-gnu@1.33.0: resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==, tarball: https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz} engines: {node: '>= 12.0.0'} @@ -1876,13 +1808,6 @@ packages: os: [linux] libc: [glibc] - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==, tarball: https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] - lightningcss-linux-x64-musl@1.33.0: resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==, tarball: https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz} engines: {node: '>= 12.0.0'} @@ -1890,34 +1815,18 @@ packages: os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==, tarball: https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - lightningcss-win32-arm64-msvc@1.33.0: resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==, tarball: https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==, tarball: https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - lightningcss-win32-x64-msvc@1.33.0: resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==, tarball: https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} - lightningcss@1.33.0: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==, tarball: https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz} engines: {node: '>= 12.0.0'} @@ -1986,13 +1895,13 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==, tarball: https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@3.3.18: - resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==, tarball: https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==, tarball: https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -2073,10 +1982,6 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, tarball: https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz} engines: {node: '>=12'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - picomatch@4.0.7: resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} engines: {node: '>=12'} @@ -2097,14 +2002,14 @@ packages: engines: {node: '>=20'} hasBin: true - postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.26: resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.29: + resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, tarball: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz} engines: {node: '>= 0.8.0'} @@ -2157,8 +2062,8 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.0.3: - resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==} + rolldown@1.2.13: + resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==, tarball: https://registry.npmjs.org/rolldown/-/rolldown-1.2.13.tgz} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -2218,6 +2123,10 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map-js@1.2.2: + resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==, tarball: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -2292,9 +2201,6 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, tarball: https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz} engines: {node: '>=6'} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, tarball: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz} engines: {node: '>= 0.8.0'} @@ -2341,13 +2247,13 @@ packages: vite: optional: true - vite@8.0.16: - resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} + vite@8.2.2: + resolution: {integrity: sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==, tarball: https://registry.npmjs.org/vite/-/vite-8.2.2.tgz} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.18 + '@vitejs/devtools': ^0.4.0 || ^0.5.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -2384,13 +2290,13 @@ packages: yaml: optional: true - vite@8.2.2: - resolution: {integrity: sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==, tarball: https://registry.npmjs.org/vite/-/vite-8.2.2.tgz} + vite@8.3.4: + resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==, tarball: https://registry.npmjs.org/vite/-/vite-8.3.4.tgz} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.4.0 || ^0.5.0 + '@vitejs/devtools': ^0.7.1 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -2558,22 +2464,6 @@ snapshots: dependencies: rs-module-lexer: 2.8.0 - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - '@esbuild/aix-ppc64@0.28.1': optional: true @@ -2756,13 +2646,6 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} - '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 - optional: true - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2775,10 +2658,10 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@oxc-project/types@0.133.0': {} - '@oxc-project/types@0.146.0': {} + '@oxc-project/types@0.153.0': {} + '@oxfmt/binding-android-arm-eabi@0.47.0': optional: true @@ -2901,95 +2784,91 @@ snapshots: dependencies: tinyexec: 1.3.0 + '@rolldown/binding-android-arm-eabi@1.2.13': + optional: true + '@rolldown/binding-android-arm-eabi@1.2.5': optional: true - '@rolldown/binding-android-arm64@1.0.3': + '@rolldown/binding-android-arm64@1.2.13': optional: true '@rolldown/binding-android-arm64@1.2.5': optional: true - '@rolldown/binding-darwin-arm64@1.0.3': + '@rolldown/binding-darwin-arm64@1.2.13': optional: true '@rolldown/binding-darwin-arm64@1.2.5': optional: true - '@rolldown/binding-darwin-x64@1.0.3': + '@rolldown/binding-darwin-x64@1.2.13': optional: true '@rolldown/binding-darwin-x64@1.2.5': optional: true - '@rolldown/binding-freebsd-x64@1.0.3': + '@rolldown/binding-freebsd-x64@1.2.13': optional: true '@rolldown/binding-freebsd-x64@1.2.5': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': optional: true '@rolldown/binding-linux-arm-gnueabihf@1.2.5': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.3': + '@rolldown/binding-linux-arm64-gnu@1.2.13': optional: true '@rolldown/binding-linux-arm64-gnu@1.2.5': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.3': + '@rolldown/binding-linux-arm64-musl@1.2.13': optional: true '@rolldown/binding-linux-arm64-musl@1.2.5': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.3': + '@rolldown/binding-linux-ppc64-gnu@1.2.13': optional: true '@rolldown/binding-linux-ppc64-gnu@1.2.5': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.3': + '@rolldown/binding-linux-s390x-gnu@1.2.13': optional: true '@rolldown/binding-linux-s390x-gnu@1.2.5': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.3': + '@rolldown/binding-linux-x64-gnu@1.2.13': optional: true '@rolldown/binding-linux-x64-gnu@1.2.5': optional: true - '@rolldown/binding-linux-x64-musl@1.0.3': + '@rolldown/binding-linux-x64-musl@1.2.13': optional: true '@rolldown/binding-linux-x64-musl@1.2.5': optional: true - '@rolldown/binding-openharmony-arm64@1.0.3': + '@rolldown/binding-openharmony-arm64@1.2.13': optional: true '@rolldown/binding-openharmony-arm64@1.2.5': optional: true - '@rolldown/binding-wasm32-wasi@1.0.3': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - optional: true - - '@rolldown/binding-win32-arm64-msvc@1.0.3': + '@rolldown/binding-win32-arm64-msvc@1.2.13': optional: true '@rolldown/binding-win32-arm64-msvc@1.2.5': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.3': + '@rolldown/binding-win32-x64-msvc@1.2.13': optional: true '@rolldown/binding-win32-x64-msvc@1.2.5': @@ -3121,11 +3000,6 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@tybys/wasm-util@0.10.2': - dependencies: - tslib: 2.8.1 - optional: true - '@types/argparse@1.0.38': {} '@types/chai@5.2.3': @@ -3217,7 +3091,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1)) + vitest: 4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1)) '@vitest/expect@4.1.11': dependencies: @@ -3228,21 +3102,21 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.1 - '@vitest/mocker@4.1.11(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1))': + '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1))': dependencies: '@vitest/spy': 4.1.11 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.16(@types/node@22.19.18)(esbuild@0.28.1) + vite: 8.2.2(@types/node@22.19.18)(esbuild@0.28.1) - '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1))': + '@vitest/mocker@4.1.11(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1))': dependencies: '@vitest/spy': 4.1.11 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.2.2(@types/node@22.19.18)(esbuild@0.28.1) + vite: 8.3.4(@types/node@22.19.18)(esbuild@0.28.1) '@vitest/pretty-format@4.1.11': dependencies: @@ -3881,88 +3755,39 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lightningcss-android-arm64@1.32.0: - optional: true - lightningcss-android-arm64@1.33.0: optional: true - lightningcss-darwin-arm64@1.32.0: - optional: true - lightningcss-darwin-arm64@1.33.0: optional: true - lightningcss-darwin-x64@1.32.0: - optional: true - lightningcss-darwin-x64@1.33.0: optional: true - lightningcss-freebsd-x64@1.32.0: - optional: true - lightningcss-freebsd-x64@1.33.0: optional: true - lightningcss-linux-arm-gnueabihf@1.32.0: - optional: true - lightningcss-linux-arm-gnueabihf@1.33.0: optional: true - lightningcss-linux-arm64-gnu@1.32.0: - optional: true - lightningcss-linux-arm64-gnu@1.33.0: optional: true - lightningcss-linux-arm64-musl@1.32.0: - optional: true - lightningcss-linux-arm64-musl@1.33.0: optional: true - lightningcss-linux-x64-gnu@1.32.0: - optional: true - lightningcss-linux-x64-gnu@1.33.0: optional: true - lightningcss-linux-x64-musl@1.32.0: - optional: true - lightningcss-linux-x64-musl@1.33.0: optional: true - lightningcss-win32-arm64-msvc@1.32.0: - optional: true - lightningcss-win32-arm64-msvc@1.33.0: optional: true - lightningcss-win32-x64-msvc@1.32.0: - optional: true - lightningcss-win32-x64-msvc@1.33.0: optional: true - lightningcss@1.32.0: - dependencies: - detect-libc: 2.1.2 - optionalDependencies: - lightningcss-android-arm64: 1.32.0 - lightningcss-darwin-arm64: 1.32.0 - lightningcss-darwin-x64: 1.32.0 - lightningcss-freebsd-x64: 1.32.0 - lightningcss-linux-arm-gnueabihf: 1.32.0 - lightningcss-linux-arm64-gnu: 1.32.0 - lightningcss-linux-arm64-musl: 1.32.0 - lightningcss-linux-x64-gnu: 1.32.0 - lightningcss-linux-x64-musl: 1.32.0 - lightningcss-win32-arm64-msvc: 1.32.0 - lightningcss-win32-x64-msvc: 1.32.0 - lightningcss@1.33.0: dependencies: detect-libc: 2.1.2 @@ -4043,10 +3868,10 @@ snapshots: muggle-string@0.4.1: {} - nanoid@3.3.12: {} - nanoid@3.3.18: {} + nanoid@3.3.20: {} + natural-compare@1.4.0: {} node-releases@2.0.57: {} @@ -4138,8 +3963,6 @@ snapshots: picomatch@4.0.3: {} - picomatch@4.0.4: {} - picomatch@4.0.7: {} pkg-types@1.3.1: @@ -4160,17 +3983,17 @@ snapshots: dependencies: playwright-core: 1.63.0 - postcss@8.5.15: + postcss@8.5.26: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.18 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.26: + postcss@8.5.29: dependencies: - nanoid: 3.3.18 + nanoid: 3.3.20 picocolors: 1.1.1 - source-map-js: 1.2.1 + source-map-js: 1.2.2 prelude-ls@1.2.1: {} @@ -4217,26 +4040,26 @@ snapshots: reusify@1.1.0: {} - rolldown@1.0.3: + rolldown@1.2.13: dependencies: - '@oxc-project/types': 0.133.0 + '@oxc-project/types': 0.153.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.3 - '@rolldown/binding-darwin-arm64': 1.0.3 - '@rolldown/binding-darwin-x64': 1.0.3 - '@rolldown/binding-freebsd-x64': 1.0.3 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 - '@rolldown/binding-linux-arm64-gnu': 1.0.3 - '@rolldown/binding-linux-arm64-musl': 1.0.3 - '@rolldown/binding-linux-ppc64-gnu': 1.0.3 - '@rolldown/binding-linux-s390x-gnu': 1.0.3 - '@rolldown/binding-linux-x64-gnu': 1.0.3 - '@rolldown/binding-linux-x64-musl': 1.0.3 - '@rolldown/binding-openharmony-arm64': 1.0.3 - '@rolldown/binding-wasm32-wasi': 1.0.3 - '@rolldown/binding-win32-arm64-msvc': 1.0.3 - '@rolldown/binding-win32-x64-msvc': 1.0.3 + '@rolldown/binding-android-arm-eabi': 1.2.13 + '@rolldown/binding-android-arm64': 1.2.13 + '@rolldown/binding-darwin-arm64': 1.2.13 + '@rolldown/binding-darwin-x64': 1.2.13 + '@rolldown/binding-freebsd-x64': 1.2.13 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.13 + '@rolldown/binding-linux-arm64-gnu': 1.2.13 + '@rolldown/binding-linux-arm64-musl': 1.2.13 + '@rolldown/binding-linux-ppc64-gnu': 1.2.13 + '@rolldown/binding-linux-s390x-gnu': 1.2.13 + '@rolldown/binding-linux-x64-gnu': 1.2.13 + '@rolldown/binding-linux-x64-musl': 1.2.13 + '@rolldown/binding-openharmony-arm64': 1.2.13 + '@rolldown/binding-win32-arm64-msvc': 1.2.13 + '@rolldown/binding-win32-x64-msvc': 1.2.13 rolldown@1.2.5: dependencies: @@ -4333,6 +4156,8 @@ snapshots: source-map-js@1.2.1: {} + source-map-js@1.2.2: {} + source-map@0.6.1: {} sprintf-js@1.0.3: {} @@ -4391,9 +4216,6 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@2.8.1: - optional: true - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -4420,7 +4242,7 @@ snapshots: dependencies: punycode: 2.3.1 - vite-plugin-dts@4.5.4(@types/node@22.19.18)(rollup@4.61.1)(typescript@5.9.3)(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1)): + vite-plugin-dts@4.5.4(@types/node@22.19.18)(rollup@4.61.1)(typescript@5.9.3)(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1)): dependencies: '@microsoft/api-extractor': 7.58.7(@types/node@22.19.18) '@rollup/pluginutils': 5.3.0(rollup@4.61.1) @@ -4433,40 +4255,40 @@ snapshots: magic-string: 0.30.21 typescript: 5.9.3 optionalDependencies: - vite: 8.0.16(@types/node@22.19.18)(esbuild@0.28.1) + vite: 8.3.4(@types/node@22.19.18)(esbuild@0.28.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1): + vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1): dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.3 + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.26 + rolldown: 1.2.5 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 22.19.18 esbuild: 0.28.1 fsevents: 2.3.3 - vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1): + vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.26 - rolldown: 1.2.5 + postcss: 8.5.29 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 22.19.18 esbuild: 0.28.1 fsevents: 2.3.3 - vitest@4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1)): + vitest@4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1)): dependencies: '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.0.16(@types/node@22.19.18)(esbuild@0.28.1)) + '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1)) '@vitest/pretty-format': 4.1.11 '@vitest/runner': 4.1.11 '@vitest/snapshot': 4.1.11 @@ -4483,7 +4305,7 @@ snapshots: tinyexec: 1.3.0 tinyglobby: 0.2.17 tinyrainbow: 3.1.1 - vite: 8.0.16(@types/node@22.19.18)(esbuild@0.28.1) + vite: 8.2.2(@types/node@22.19.18)(esbuild@0.28.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.19.18 @@ -4492,10 +4314,10 @@ snapshots: transitivePeerDependencies: - msw - vitest@4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1)): + vitest@4.1.11(@types/node@22.19.18)(@vitest/coverage-v8@4.1.11)(happy-dom@20.8.9)(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1)): dependencies: '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@22.19.18)(esbuild@0.28.1)) + '@vitest/mocker': 4.1.11(vite@8.3.4(@types/node@22.19.18)(esbuild@0.28.1)) '@vitest/pretty-format': 4.1.11 '@vitest/runner': 4.1.11 '@vitest/snapshot': 4.1.11 @@ -4512,7 +4334,7 @@ snapshots: tinyexec: 1.3.0 tinyglobby: 0.2.17 tinyrainbow: 3.1.1 - vite: 8.2.2(@types/node@22.19.18)(esbuild@0.28.1) + vite: 8.3.4(@types/node@22.19.18)(esbuild@0.28.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.19.18 diff --git a/platforms/web/vite.config.ts b/platforms/web/vite.config.ts index 5b84590c4..ad26a175a 100644 --- a/platforms/web/vite.config.ts +++ b/platforms/web/vite.config.ts @@ -6,8 +6,8 @@ import browserslistToEsbuild from 'browserslist-to-esbuild'; import {defineConfig} from 'vitest/config'; import dts from 'vite-plugin-dts'; -import packageJson from './package.json'; -import {appendTagNameMap, createTagNameCollector} from './scripts/tag-name-map'; +import packageJson from './package.json' with {type: 'json'}; +import {appendTagNameMap, createTagNameCollector} from './scripts/tag-name-map.ts'; const root = fileURLToPath(new URL('.', import.meta.url)); const fromRoot = (...parts: string[]) => resolve(root, ...parts); From 80a4a862580d63975f63f36559879daef1fe64e7 Mon Sep 17 00:00:00 2001 From: Daniel Kift Date: Fri, 9 Oct 2026 10:43:28 +0100 Subject: [PATCH 2/2] Make protocol TypeScript declarations emittable in isolation Enable isolatedDeclarations for the protocol TypeScript package so every exported value carries a type that can be emitted without type inference across files: - The generated catalog (`checkoutProtocolCatalogPayloadDecoders`, `notificationDescriptors`, `requestDescriptors`) now has explicit named types instead of `satisfies`. The three new type aliases are additive. - `EmbeddedCheckoutProtocol` is annotated with `typeof` queries instead of relying on `as const` inference over shorthand properties. - Codegen passes --isolatedDeclarations to the declaration emit so the committed .d.ts files stay compliant. The committed declarations are shorter (named mapped types rather than expanded object types) but structurally identical: Checkout Kit Web's rolled-up dist/index.d.ts is byte-for-byte unchanged. This removes the protocol-package reasons that rolldown-plugin-dts needed tsc-mode workarounds for in the #958 spike. --- .../src/embedded_checkout_protocol.d.ts | 53 ++-------------- .../src/embedded_checkout_protocol.ts | 12 +++- .../src/generated/ProtocolNotifications.d.ts | 61 +++---------------- .../src/generated/ProtocolNotifications.ts | 48 ++++++++------- protocol/languages/typescript/tsconfig.json | 2 + protocol/scripts/generate_models.mjs | 1 + .../generate_typescript_notifications.mjs | 48 ++++++++------- 7 files changed, 80 insertions(+), 145 deletions(-) diff --git a/protocol/languages/typescript/src/embedded_checkout_protocol.d.ts b/protocol/languages/typescript/src/embedded_checkout_protocol.d.ts index cff44c031..afcfbac30 100644 --- a/protocol/languages/typescript/src/embedded_checkout_protocol.d.ts +++ b/protocol/languages/typescript/src/embedded_checkout_protocol.d.ts @@ -1,56 +1,11 @@ import { Client as ClientClass } from './client'; import type { DecodedMessage, JSONRPCID } from './codec'; -import { type Delegation as DelegationType } from './generated/ProtocolNotifications'; +import { Delegations, SPEC_VERSION, notificationDescriptors, requestDescriptors, type Delegation as DelegationType } from './generated/ProtocolNotifications'; import { url, type ProtocolURLOptions } from './url'; export declare const EmbeddedCheckoutProtocol: { - readonly specVersion: "2026-08-25"; - readonly Delegations: { - readonly paymentInstrumentsChange: "payment.instruments_change"; - readonly paymentCredential: "payment.credential"; - readonly fulfillmentAddressChange: "fulfillment.address_change"; - readonly windowOpen: "window.open"; - }; - readonly Event: { - readonly ready: import("./descriptors").RequestDescriptor, import(".").ReadyResult>; - readonly auth: import("./descriptors").RequestDescriptor, import(".").AuthResult>; - readonly paymentInstrumentsChange: import("./descriptors").RequestDescriptor, import(".").InstrumentsChangeResult>; - readonly paymentCredential: import("./descriptors").RequestDescriptor, import(".").CredentialResult>; - readonly windowOpen: import("./descriptors").RequestDescriptor, import(".").WindowOpenResult>; - readonly fulfillmentAddressChange: import("./descriptors").RequestDescriptor, import(".").AddressChangeResult>; - readonly error: import("./descriptors").NotificationDescriptor>; - readonly start: import("./descriptors").NotificationDescriptor>; - readonly complete: import("./descriptors").NotificationDescriptor>; - readonly messagesChange: import("./descriptors").NotificationDescriptor>; - readonly lineItemsChange: import("./descriptors").NotificationDescriptor>; - readonly buyerChange: import("./descriptors").NotificationDescriptor>; - readonly totalsChange: import("./descriptors").NotificationDescriptor>; - readonly paymentChange: import("./descriptors").NotificationDescriptor>; - readonly fulfillmentChange: import("./descriptors").NotificationDescriptor>; - }; + readonly specVersion: typeof SPEC_VERSION; + readonly Delegations: typeof Delegations; + readonly Event: typeof notificationDescriptors & typeof requestDescriptors; readonly url: typeof url; readonly Client: typeof ClientClass; }; diff --git a/protocol/languages/typescript/src/embedded_checkout_protocol.ts b/protocol/languages/typescript/src/embedded_checkout_protocol.ts index 9a810f1b0..7325a8784 100644 --- a/protocol/languages/typescript/src/embedded_checkout_protocol.ts +++ b/protocol/languages/typescript/src/embedded_checkout_protocol.ts @@ -9,13 +9,21 @@ import { } from './generated/ProtocolNotifications'; import {url, type ProtocolURLOptions} from './url'; -export const EmbeddedCheckoutProtocol = { +// Explicit type so the declaration can be emitted in isolation +// (--isolatedDeclarations); `typeof` queries keep it in step with the sources. +export const EmbeddedCheckoutProtocol: { + readonly specVersion: typeof SPEC_VERSION; + readonly Delegations: typeof Delegations; + readonly Event: typeof notificationDescriptors & typeof requestDescriptors; + readonly url: typeof url; + readonly Client: typeof ClientClass; +} = { specVersion: SPEC_VERSION, Delegations, Event: {...notificationDescriptors, ...requestDescriptors}, url, Client: ClientClass, -} as const; +}; // eslint-disable-next-line @typescript-eslint/no-namespace export namespace EmbeddedCheckoutProtocol { diff --git a/protocol/languages/typescript/src/generated/ProtocolNotifications.d.ts b/protocol/languages/typescript/src/generated/ProtocolNotifications.d.ts index 1158645ac..539802b58 100644 --- a/protocol/languages/typescript/src/generated/ProtocolNotifications.d.ts +++ b/protocol/languages/typescript/src/generated/ProtocolNotifications.d.ts @@ -1,5 +1,4 @@ import { type NotificationDescriptor, type NotificationMessage, type RequestDescriptor, type RequestMessage } from '../descriptors'; -import { decodeCheckout, decodeErrorResponse } from './ProtocolCodecs'; type AddressChangeResult = import('./Models').AddressChangeResult; type AuthRequest = import('./Models').AuthRequest; type AuthResult = import('./Models').AuthResult; @@ -75,46 +74,14 @@ export type CheckoutProtocolNotificationMessage = { [K in keyof CheckoutProtocolCatalogParams]: NotificationMessage; }[keyof CheckoutProtocolCatalogParams]; export type CheckoutProtocolCatalogPayloadDecoder = (payload: unknown) => CheckoutProtocolCatalogPayloads[K]; -export declare const checkoutProtocolCatalogPayloadDecoders: { - "ec.error": typeof decodeErrorResponse; - "ec.start": typeof decodeCheckout; - "ec.complete": typeof decodeCheckout; - "ec.messages.change": typeof decodeCheckout; - "ec.line_items.change": typeof decodeCheckout; - "ec.buyer.change": typeof decodeCheckout; - "ec.totals.change": typeof decodeCheckout; - "ec.payment.change": typeof decodeCheckout; - "ec.fulfillment.change": typeof decodeCheckout; +export type CheckoutProtocolCatalogPayloadDecoders = { + [K in keyof CheckoutProtocolCatalogPayloads]: CheckoutProtocolCatalogPayloadDecoder; }; -export declare const notificationDescriptors: { - error: NotificationDescriptor>; - start: NotificationDescriptor>; - complete: NotificationDescriptor>; - messagesChange: NotificationDescriptor>; - lineItemsChange: NotificationDescriptor>; - buyerChange: NotificationDescriptor>; - totalsChange: NotificationDescriptor>; - paymentChange: NotificationDescriptor>; - fulfillmentChange: NotificationDescriptor>; +export declare const checkoutProtocolCatalogPayloadDecoders: CheckoutProtocolCatalogPayloadDecoders; +export type NotificationDescriptors = { + [K in keyof typeof checkoutProtocolCatalog]: NotificationDescriptor>; }; +export declare const notificationDescriptors: NotificationDescriptors; export declare const checkoutProtocolRequestCatalog: { readonly ready: "ec.ready"; readonly auth: "ec.auth"; @@ -157,19 +124,9 @@ export interface CheckoutProtocolRequestParams { export type CheckoutProtocolRequestMessage = { [K in keyof CheckoutProtocolRequestParams]: RequestMessage; }[keyof CheckoutProtocolRequestParams]; -export declare const requestDescriptors: { - ready: RequestDescriptor, import("./Models").ReadyResult>; - auth: RequestDescriptor, import("./Models").AuthResult>; - paymentInstrumentsChange: RequestDescriptor, import("./Models").InstrumentsChangeResult>; - paymentCredential: RequestDescriptor, import("./Models").CredentialResult>; - windowOpen: RequestDescriptor, import("./Models").WindowOpenResult>; - fulfillmentAddressChange: RequestDescriptor, import("./Models").AddressChangeResult>; +export type RequestDescriptors = { + [K in keyof typeof checkoutProtocolRequestCatalog]: RequestDescriptor, CheckoutProtocolRequestResults[(typeof checkoutProtocolRequestCatalog)[K]]>; }; +export declare const requestDescriptors: RequestDescriptors; export declare const embeddedCheckoutMethods: ReadonlySet; export {}; diff --git a/protocol/languages/typescript/src/generated/ProtocolNotifications.ts b/protocol/languages/typescript/src/generated/ProtocolNotifications.ts index e1f16202e..39b752847 100644 --- a/protocol/languages/typescript/src/generated/ProtocolNotifications.ts +++ b/protocol/languages/typescript/src/generated/ProtocolNotifications.ts @@ -79,7 +79,12 @@ export type CheckoutProtocolCatalogPayloadDecoder< K extends keyof CheckoutProtocolCatalogPayloads, > = (payload: unknown) => CheckoutProtocolCatalogPayloads[K]; -export const checkoutProtocolCatalogPayloadDecoders = { +export type CheckoutProtocolCatalogPayloadDecoders = { + [K in keyof CheckoutProtocolCatalogPayloads]: + CheckoutProtocolCatalogPayloadDecoder; +}; + +export const checkoutProtocolCatalogPayloadDecoders: CheckoutProtocolCatalogPayloadDecoders = { [checkoutProtocolCatalog.error]: decodeErrorResponse, [checkoutProtocolCatalog.start]: decodeCheckout, [checkoutProtocolCatalog.complete]: decodeCheckout, @@ -89,12 +94,18 @@ export const checkoutProtocolCatalogPayloadDecoders = { [checkoutProtocolCatalog.totalsChange]: decodeCheckout, [checkoutProtocolCatalog.paymentChange]: decodeCheckout, [checkoutProtocolCatalog.fulfillmentChange]: decodeCheckout, -} satisfies { - [K in keyof CheckoutProtocolCatalogPayloads]: - CheckoutProtocolCatalogPayloadDecoder; }; -export const notificationDescriptors = { +export type NotificationDescriptors = { + [K in keyof typeof checkoutProtocolCatalog]: NotificationDescriptor< + NotificationMessage< + (typeof checkoutProtocolCatalog)[K], + CheckoutProtocolCatalogParams[(typeof checkoutProtocolCatalog)[K]] + > + >; +}; + +export const notificationDescriptors: NotificationDescriptors = { error: notificationDescriptor( checkoutProtocolCatalog.error, params => ({error: decodeErrorResponse((params as {error: unknown}).error)}), @@ -131,13 +142,6 @@ export const notificationDescriptors = { checkoutProtocolCatalog.fulfillmentChange, params => ({checkout: decodeCheckout((params as {checkout: unknown}).checkout)}), ), -} satisfies { - [K in keyof typeof checkoutProtocolCatalog]: NotificationDescriptor< - NotificationMessage< - (typeof checkoutProtocolCatalog)[K], - CheckoutProtocolCatalogParams[(typeof checkoutProtocolCatalog)[K]] - > - >; }; export const checkoutProtocolRequestCatalog = { @@ -186,7 +190,17 @@ export type CheckoutProtocolRequestMessage = { >; }[keyof CheckoutProtocolRequestParams]; -export const requestDescriptors = { +export type RequestDescriptors = { + [K in keyof typeof checkoutProtocolRequestCatalog]: RequestDescriptor< + RequestMessage< + (typeof checkoutProtocolRequestCatalog)[K], + CheckoutProtocolRequestParams[(typeof checkoutProtocolRequestCatalog)[K]] + >, + CheckoutProtocolRequestResults[(typeof checkoutProtocolRequestCatalog)[K]] + >; +}; + +export const requestDescriptors: RequestDescriptors = { ready: requestDescriptor( checkoutProtocolRequestCatalog.ready, null, @@ -223,14 +237,6 @@ export const requestDescriptors = { params => ({checkout: decodeCheckout((params as {checkout: unknown}).checkout)}), (result: AddressChangeResult) => encodeAddressChangeResult(result), ), -} satisfies { - [K in keyof typeof checkoutProtocolRequestCatalog]: RequestDescriptor< - RequestMessage< - (typeof checkoutProtocolRequestCatalog)[K], - CheckoutProtocolRequestParams[(typeof checkoutProtocolRequestCatalog)[K]] - >, - CheckoutProtocolRequestResults[(typeof checkoutProtocolRequestCatalog)[K]] - >; }; export const embeddedCheckoutMethods: ReadonlySet = new Set([ diff --git a/protocol/languages/typescript/tsconfig.json b/protocol/languages/typescript/tsconfig.json index 422fd0256..fb3ebc4c2 100644 --- a/protocol/languages/typescript/tsconfig.json +++ b/protocol/languages/typescript/tsconfig.json @@ -3,7 +3,9 @@ "allowUnreachableCode": false, "allowUnusedLabels": false, "esModuleInterop": true, + "declaration": true, "forceConsistentCasingInFileNames": true, + "isolatedDeclarations": true, "lib": [ "esnext" ], diff --git a/protocol/scripts/generate_models.mjs b/protocol/scripts/generate_models.mjs index bffc7eb53..4b21556fa 100755 --- a/protocol/scripts/generate_models.mjs +++ b/protocol/scripts/generate_models.mjs @@ -1112,6 +1112,7 @@ async function generateTypescript(specDir, output, {mapModelNames}) { await run("node", [ tscBin, "--declaration", + "--isolatedDeclarations", "--emitDeclarationOnly", "--noEmit", "false", diff --git a/protocol/scripts/generate_typescript_notifications.mjs b/protocol/scripts/generate_typescript_notifications.mjs index e5fa7d481..f0caaaebd 100644 --- a/protocol/scripts/generate_typescript_notifications.mjs +++ b/protocol/scripts/generate_typescript_notifications.mjs @@ -203,19 +203,30 @@ export type CheckoutProtocolCatalogPayloadDecoder< K extends keyof CheckoutProtocolCatalogPayloads, > = (payload: unknown) => CheckoutProtocolCatalogPayloads[K]; -export const checkoutProtocolCatalogPayloadDecoders = { +export type CheckoutProtocolCatalogPayloadDecoders = { + [K in keyof CheckoutProtocolCatalogPayloads]: + CheckoutProtocolCatalogPayloadDecoder; +}; + +export const checkoutProtocolCatalogPayloadDecoders: CheckoutProtocolCatalogPayloadDecoders = { ${notifications .map( notification => ` [checkoutProtocolCatalog.${notification.identifier}]: decode${notification.typeName},`, ) .join('\n')} -} satisfies { - [K in keyof CheckoutProtocolCatalogPayloads]: - CheckoutProtocolCatalogPayloadDecoder; }; -export const notificationDescriptors = { +export type NotificationDescriptors = { + [K in keyof typeof checkoutProtocolCatalog]: NotificationDescriptor< + NotificationMessage< + (typeof checkoutProtocolCatalog)[K], + CheckoutProtocolCatalogParams[(typeof checkoutProtocolCatalog)[K]] + > + >; +}; + +export const notificationDescriptors: NotificationDescriptors = { ${notifications .map( notification => @@ -225,13 +236,6 @@ ${notifications ),`, ) .join('\n')} -} satisfies { - [K in keyof typeof checkoutProtocolCatalog]: NotificationDescriptor< - NotificationMessage< - (typeof checkoutProtocolCatalog)[K], - CheckoutProtocolCatalogParams[(typeof checkoutProtocolCatalog)[K]] - > - >; }; export const checkoutProtocolRequestCatalog = { @@ -260,7 +264,17 @@ export type CheckoutProtocolRequestMessage = { >; }[keyof CheckoutProtocolRequestParams]; -export const requestDescriptors = { +export type RequestDescriptors = { + [K in keyof typeof checkoutProtocolRequestCatalog]: RequestDescriptor< + RequestMessage< + (typeof checkoutProtocolRequestCatalog)[K], + CheckoutProtocolRequestParams[(typeof checkoutProtocolRequestCatalog)[K]] + >, + CheckoutProtocolRequestResults[(typeof checkoutProtocolRequestCatalog)[K]] + >; +}; + +export const requestDescriptors: RequestDescriptors = { ${requests .map( request => @@ -272,14 +286,6 @@ ${requests ),`, ) .join('\n')} -} satisfies { - [K in keyof typeof checkoutProtocolRequestCatalog]: RequestDescriptor< - RequestMessage< - (typeof checkoutProtocolRequestCatalog)[K], - CheckoutProtocolRequestParams[(typeof checkoutProtocolRequestCatalog)[K]] - >, - CheckoutProtocolRequestResults[(typeof checkoutProtocolRequestCatalog)[K]] - >; }; export const embeddedCheckoutMethods: ReadonlySet = new Set([