diff --git a/.gitignore b/.gitignore
index d0672fa..6cc5990 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ __*
.netlify
test/fs-storage/**
.env
+.wrangler
diff --git a/package.json b/package.json
index c0e3f5a..cb52fd1 100644
--- a/package.json
+++ b/package.json
@@ -95,7 +95,8 @@
"unbuild": "^2.0.0",
"vite": "^6.0.3",
"vitest": "^2.1.8",
- "vue": "^3.5.13"
+ "vue": "^3.5.13",
+ "wrangler": "^3.94.0"
},
"peerDependencies": {
"@azure/app-configuration": "^1.8.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f1ded8b..7b9ce0b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -159,6 +159,9 @@ importers:
vue:
specifier: ^3.5.13
version: 3.5.13(typescript@5.7.2)
+ wrangler:
+ specifier: ^3.94.0
+ version: 3.94.0(@cloudflare/workers-types@4.20241205.0)
packages:
@@ -343,6 +346,44 @@ packages:
peerDependencies:
'@capacitor/core': ^6.0.0
+ '@cloudflare/kv-asset-handler@0.3.4':
+ resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
+ engines: {node: '>=16.13'}
+
+ '@cloudflare/workerd-darwin-64@1.20241205.0':
+ resolution: {integrity: sha512-TArEZkSZkHJyEwnlWWkSpCI99cF6lJ14OVeEoI9Um/+cD9CKZLM9vCmsLeKglKheJ0KcdCnkA+DbeD15t3VaWg==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@cloudflare/workerd-darwin-arm64@1.20241205.0':
+ resolution: {integrity: sha512-u5eqKa9QRdA8MugfgCoD+ADDjY6EpKbv3hSYJETmmUh17l7WXjWBzv4pUvOKIX67C0UzMUy4jZYwC53MymhX3w==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@cloudflare/workerd-linux-64@1.20241205.0':
+ resolution: {integrity: sha512-OYA7S5zpumMamWEW+IhhBU6YojIEocyE5X/YFPiTOCrDE3dsfr9t6oqNE7hxGm1VAAu+Irtl+a/5LwmBOU681w==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [linux]
+
+ '@cloudflare/workerd-linux-arm64@1.20241205.0':
+ resolution: {integrity: sha512-qAzecONjFJGIAVJZKExQ5dlbic0f3d4A+GdKa+H6SoUJtPaWiE3K6WuePo4JOT7W3/Zfh25McmX+MmpMUUcM5Q==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@cloudflare/workerd-windows-64@1.20241205.0':
+ resolution: {integrity: sha512-BEab+HiUgCdl6GXAT7EI2yaRtDPiRJlB94XLvRvXi1ZcmQqsrq6awGo6apctFo4WUL29V7c09LxmN4HQ3X2Tvg==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [win32]
+
+ '@cloudflare/workers-shared@0.11.0':
+ resolution: {integrity: sha512-A+lQ8xp7992qSeMmuQ0ssL6CPmm+ZmAv6Ddikan0n1jjpMAic+97l7xtVIsswSn9iLMFPYQ9uNN/8Fl0AgARIQ==}
+ engines: {node: '>=16.7.0'}
+
'@cloudflare/workers-types@4.20241205.0':
resolution: {integrity: sha512-pj1VKRHT/ScQbHOIMFODZaNAlJHQHdBSZXNIdr9ebJzwBff9Qz8VdqhbhggV7f+aUEh8WSbrsPIo4a+WtgjUvw==}
@@ -350,9 +391,23 @@ packages:
resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
engines: {node: '>=0.1.90'}
+ '@cspotcode/source-map-support@0.8.1':
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
+
'@dabh/diagnostics@2.0.3':
resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==}
+ '@esbuild-plugins/node-globals-polyfill@0.2.3':
+ resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==}
+ peerDependencies:
+ esbuild: '*'
+
+ '@esbuild-plugins/node-modules-polyfill@0.2.2':
+ resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==}
+ peerDependencies:
+ esbuild: '*'
+
'@esbuild/aix-ppc64@0.19.12':
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
engines: {node: '>=12'}
@@ -371,6 +426,12 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/android-arm64@0.17.19':
+ resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.19.12':
resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
engines: {node: '>=12'}
@@ -389,6 +450,12 @@ packages:
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm@0.17.19':
+ resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.19.12':
resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
engines: {node: '>=12'}
@@ -407,6 +474,12 @@ packages:
cpu: [arm]
os: [android]
+ '@esbuild/android-x64@0.17.19':
+ resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.19.12':
resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
engines: {node: '>=12'}
@@ -425,6 +498,12 @@ packages:
cpu: [x64]
os: [android]
+ '@esbuild/darwin-arm64@0.17.19':
+ resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.19.12':
resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
engines: {node: '>=12'}
@@ -443,6 +522,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-x64@0.17.19':
+ resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.19.12':
resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
engines: {node: '>=12'}
@@ -461,6 +546,12 @@ packages:
cpu: [x64]
os: [darwin]
+ '@esbuild/freebsd-arm64@0.17.19':
+ resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.19.12':
resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
engines: {node: '>=12'}
@@ -479,6 +570,12 @@ packages:
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.17.19':
+ resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.19.12':
resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
engines: {node: '>=12'}
@@ -497,6 +594,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ '@esbuild/linux-arm64@0.17.19':
+ resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.19.12':
resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
engines: {node: '>=12'}
@@ -515,6 +618,12 @@ packages:
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm@0.17.19':
+ resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.19.12':
resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
engines: {node: '>=12'}
@@ -533,6 +642,12 @@ packages:
cpu: [arm]
os: [linux]
+ '@esbuild/linux-ia32@0.17.19':
+ resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.19.12':
resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
engines: {node: '>=12'}
@@ -551,6 +666,12 @@ packages:
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-loong64@0.17.19':
+ resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.19.12':
resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
engines: {node: '>=12'}
@@ -569,6 +690,12 @@ packages:
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-mips64el@0.17.19':
+ resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.19.12':
resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
engines: {node: '>=12'}
@@ -587,6 +714,12 @@ packages:
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-ppc64@0.17.19':
+ resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.19.12':
resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
engines: {node: '>=12'}
@@ -605,6 +738,12 @@ packages:
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-riscv64@0.17.19':
+ resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.19.12':
resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
engines: {node: '>=12'}
@@ -623,6 +762,12 @@ packages:
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-s390x@0.17.19':
+ resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.19.12':
resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
engines: {node: '>=12'}
@@ -641,6 +786,12 @@ packages:
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-x64@0.17.19':
+ resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.19.12':
resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
engines: {node: '>=12'}
@@ -659,6 +810,12 @@ packages:
cpu: [x64]
os: [linux]
+ '@esbuild/netbsd-x64@0.17.19':
+ resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.19.12':
resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
engines: {node: '>=12'}
@@ -683,6 +840,12 @@ packages:
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.17.19':
+ resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.19.12':
resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
engines: {node: '>=12'}
@@ -701,6 +864,12 @@ packages:
cpu: [x64]
os: [openbsd]
+ '@esbuild/sunos-x64@0.17.19':
+ resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.19.12':
resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
engines: {node: '>=12'}
@@ -719,6 +888,12 @@ packages:
cpu: [x64]
os: [sunos]
+ '@esbuild/win32-arm64@0.17.19':
+ resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.19.12':
resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
engines: {node: '>=12'}
@@ -737,6 +912,12 @@ packages:
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-ia32@0.17.19':
+ resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.19.12':
resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
engines: {node: '>=12'}
@@ -755,6 +936,12 @@ packages:
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-x64@0.17.19':
+ resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.19.12':
resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
engines: {node: '>=12'}
@@ -807,6 +994,10 @@ packages:
resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@fastify/busboy@2.1.1':
+ resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
+ engines: {node: '>=14'}
+
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
@@ -859,6 +1050,9 @@ packages:
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ '@jridgewell/trace-mapping@0.3.9':
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+
'@js-joda/core@5.6.3':
resolution: {integrity: sha512-T1rRxzdqkEXcou0ZprN1q9yDRlvzCPLqmlNt5IIsGBzoEVgLCCYrKEwc84+TvsXuAc95VAZwtWD2zVsKPY4bcA==}
@@ -1168,6 +1362,9 @@ packages:
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ '@types/node-forge@1.3.11':
+ resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
+
'@types/node@22.10.1':
resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==}
@@ -1364,6 +1561,10 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ engines: {node: '>=0.4.0'}
+
acorn@8.14.0:
resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
engines: {node: '>=0.4.0'}
@@ -1422,6 +1623,9 @@ packages:
resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
engines: {node: '>= 0.4'}
+ as-table@1.0.55:
+ resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
+
assertion-error@2.0.1:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
@@ -1487,6 +1691,9 @@ packages:
bl@6.0.16:
resolution: {integrity: sha512-V/kz+z2Mx5/6qDfRCilmrukUXcXuCoXKg3/3hDvzKKoSUx8CJKudfIoT29XZc3UE9xBvxs5qictiHdprwtteEg==}
+ blake3-wasm@2.1.5:
+ resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
+
body-parser@1.20.3:
resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -1575,6 +1782,9 @@ packages:
caniuse-lite@1.0.30001687:
resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==}
+ capnp-ts@0.7.0:
+ resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
+
chai@5.1.2:
resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
engines: {node: '>=12'}
@@ -1615,6 +1825,10 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
+ chokidar@4.0.1:
+ resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
+ engines: {node: '>= 14.16.0'}
+
chownr@2.0.0:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
@@ -1806,6 +2020,9 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ data-uri-to-buffer@2.0.2:
+ resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
+
data-urls@5.0.0:
resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
engines: {node: '>=18'}
@@ -1822,6 +2039,9 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
+ date-fns@4.1.0:
+ resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
+
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -1998,6 +2218,11 @@ packages:
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
+ esbuild@0.17.19:
+ resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
esbuild@0.19.12:
resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
engines: {node: '>=12'}
@@ -2084,6 +2309,9 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
@@ -2110,6 +2338,10 @@ packages:
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
engines: {node: '>=16.17'}
+ exit-hook@2.2.1:
+ resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
+ engines: {node: '>=6'}
+
expect-type@1.1.0:
resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
engines: {node: '>=12.0.0'}
@@ -2285,6 +2517,9 @@ packages:
get-port-please@3.1.2:
resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==}
+ get-source@2.0.12:
+ resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
+
get-stream@8.0.1:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
@@ -2707,6 +2942,9 @@ packages:
resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
engines: {node: '>=8'}
+ itty-time@1.0.6:
+ resolution: {integrity: sha512-+P8IZaLLBtFv8hCkIjcymZOp4UJ+xW6bSlQsXGqrkmJh7vSiMFSlNne0mCYagEE0N7HDNR5jJBRxwN0oYv61Rw==}
+
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
@@ -2892,6 +3130,9 @@ packages:
resolution: {integrity: sha512-FbAj6lXil6t8z4z3j0E5mfRlPzxkySotzUHwRXjlpRh10vc6AI6WN62ehZj82VG7M20rqogJ0GLwar2Xa05a8Q==}
engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'}
+ magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+
magic-string@0.30.14:
resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==}
@@ -2976,6 +3217,11 @@ packages:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
+ miniflare@3.20241205.0:
+ resolution: {integrity: sha512-Z0cTtIf6ZrcAJ3SrOI9EUM3s4dkGhNeU6Ubl8sroYhsPVD+rtz3m5+p6McHFWCkcMff1o60X5XEKVTmkz0gbpA==}
+ engines: {node: '>=16.13'}
+ hasBin: true
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -3107,6 +3353,10 @@ packages:
multistream@2.1.1:
resolution: {integrity: sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==}
+ mustache@4.2.0:
+ resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
+ hasBin: true
+
mute-stream@0.0.8:
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
@@ -3563,6 +3813,9 @@ packages:
resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
engines: {node: ^14.13.1 || >=16.0.0}
+ printable-characters@1.0.42:
+ resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
+
priorityqueuejs@2.0.0:
resolution: {integrity: sha512-19BMarhgpq3x4ccvVi8k2QpJZcymo/iFUcrhPd4V96kYGovOdTsWwy7fxChYi4QY+m2EnGBWSX9Buakz+tWNQQ==}
@@ -3631,6 +3884,10 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
+ readdirp@4.0.2:
+ resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
+ engines: {node: '>= 14.16.0'}
+
readline-sync@1.4.10:
resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==}
engines: {node: '>= 0.8.0'}
@@ -3694,6 +3951,16 @@ packages:
rollup: ^3.29.4 || ^4
typescript: ^4.5 || ^5.0
+ rollup-plugin-inject@3.0.2:
+ resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
+
+ rollup-plugin-node-polyfills@0.2.1:
+ resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
+
+ rollup-pluginutils@2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+
rollup@3.29.5:
resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -3752,6 +4019,10 @@ packages:
scule@1.3.0:
resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+
semaphore@1.1.0:
resolution: {integrity: sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==}
engines: {node: '>=0.8.0'}
@@ -3864,6 +4135,14 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+
sparse-bitfield@3.0.3:
resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
@@ -3892,6 +4171,9 @@ packages:
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ stacktracey@2.1.8:
+ resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
+
standard-as-callback@2.1.0:
resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
@@ -4183,6 +4465,13 @@ packages:
undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
+ undici@5.28.4:
+ resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
+ engines: {node: '>=14.0'}
+
+ unenv-nightly@2.0.0-20241204-140205-a5d5190:
+ resolution: {integrity: sha512-jpmAytLeiiW01pl5bhVn9wYJ4vtiLdhGe10oXlJBuQEX8mxjxO8BlEXGHU4vr4yEikjFP1wsomTHt/CLU8kUwg==}
+
unenv@1.10.0:
resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
@@ -4436,6 +4725,21 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
+ workerd@1.20241205.0:
+ resolution: {integrity: sha512-vso/2n0c5SdBDWiD+Sx5gM7unA6SiZXRVUHDqH1euoP/9mFVHZF8icoYsNLB87b/TX8zNgpae+I5N/xFpd9v0g==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ wrangler@3.94.0:
+ resolution: {integrity: sha512-4yw8FKp6SI6WQkALnRlWYjehmgliaaMroLLnymWS9qHndjqrZIPZ16trrhl1HvAEDov/rIg0jZ4nxo5n6K0a/Q==}
+ engines: {node: '>=16.17.0'}
+ hasBin: true
+ peerDependencies:
+ '@cloudflare/workers-types': ^4.20241205.0
+ peerDependenciesMeta:
+ '@cloudflare/workers-types':
+ optional: true
+
wrap-ansi@6.2.0:
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
engines: {node: '>=8'}
@@ -4482,6 +4786,9 @@ packages:
xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ xxhash-wasm@1.1.0:
+ resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
+
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -4513,6 +4820,12 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ youch@3.3.4:
+ resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==}
+
+ zod@3.24.0:
+ resolution: {integrity: sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==}
+
snapshots:
'@ampproject/remapping@2.3.0':
@@ -4879,16 +5192,54 @@ snapshots:
dependencies:
'@capacitor/core': 6.1.2
+ '@cloudflare/kv-asset-handler@0.3.4':
+ dependencies:
+ mime: 3.0.0
+
+ '@cloudflare/workerd-darwin-64@1.20241205.0':
+ optional: true
+
+ '@cloudflare/workerd-darwin-arm64@1.20241205.0':
+ optional: true
+
+ '@cloudflare/workerd-linux-64@1.20241205.0':
+ optional: true
+
+ '@cloudflare/workerd-linux-arm64@1.20241205.0':
+ optional: true
+
+ '@cloudflare/workerd-windows-64@1.20241205.0':
+ optional: true
+
+ '@cloudflare/workers-shared@0.11.0':
+ dependencies:
+ mime: 3.0.0
+ zod: 3.24.0
+
'@cloudflare/workers-types@4.20241205.0': {}
'@colors/colors@1.6.0': {}
+ '@cspotcode/source-map-support@0.8.1':
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.9
+
'@dabh/diagnostics@2.0.3':
dependencies:
colorspace: 1.1.4
enabled: 2.0.0
kuler: 2.0.0
+ '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)':
+ dependencies:
+ esbuild: 0.17.19
+
+ '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)':
+ dependencies:
+ esbuild: 0.17.19
+ escape-string-regexp: 4.0.0
+ rollup-plugin-node-polyfills: 0.2.1
+
'@esbuild/aix-ppc64@0.19.12':
optional: true
@@ -4898,6 +5249,9 @@ snapshots:
'@esbuild/aix-ppc64@0.24.0':
optional: true
+ '@esbuild/android-arm64@0.17.19':
+ optional: true
+
'@esbuild/android-arm64@0.19.12':
optional: true
@@ -4907,6 +5261,9 @@ snapshots:
'@esbuild/android-arm64@0.24.0':
optional: true
+ '@esbuild/android-arm@0.17.19':
+ optional: true
+
'@esbuild/android-arm@0.19.12':
optional: true
@@ -4916,6 +5273,9 @@ snapshots:
'@esbuild/android-arm@0.24.0':
optional: true
+ '@esbuild/android-x64@0.17.19':
+ optional: true
+
'@esbuild/android-x64@0.19.12':
optional: true
@@ -4925,6 +5285,9 @@ snapshots:
'@esbuild/android-x64@0.24.0':
optional: true
+ '@esbuild/darwin-arm64@0.17.19':
+ optional: true
+
'@esbuild/darwin-arm64@0.19.12':
optional: true
@@ -4934,6 +5297,9 @@ snapshots:
'@esbuild/darwin-arm64@0.24.0':
optional: true
+ '@esbuild/darwin-x64@0.17.19':
+ optional: true
+
'@esbuild/darwin-x64@0.19.12':
optional: true
@@ -4943,6 +5309,9 @@ snapshots:
'@esbuild/darwin-x64@0.24.0':
optional: true
+ '@esbuild/freebsd-arm64@0.17.19':
+ optional: true
+
'@esbuild/freebsd-arm64@0.19.12':
optional: true
@@ -4952,6 +5321,9 @@ snapshots:
'@esbuild/freebsd-arm64@0.24.0':
optional: true
+ '@esbuild/freebsd-x64@0.17.19':
+ optional: true
+
'@esbuild/freebsd-x64@0.19.12':
optional: true
@@ -4961,6 +5333,9 @@ snapshots:
'@esbuild/freebsd-x64@0.24.0':
optional: true
+ '@esbuild/linux-arm64@0.17.19':
+ optional: true
+
'@esbuild/linux-arm64@0.19.12':
optional: true
@@ -4970,6 +5345,9 @@ snapshots:
'@esbuild/linux-arm64@0.24.0':
optional: true
+ '@esbuild/linux-arm@0.17.19':
+ optional: true
+
'@esbuild/linux-arm@0.19.12':
optional: true
@@ -4979,6 +5357,9 @@ snapshots:
'@esbuild/linux-arm@0.24.0':
optional: true
+ '@esbuild/linux-ia32@0.17.19':
+ optional: true
+
'@esbuild/linux-ia32@0.19.12':
optional: true
@@ -4988,6 +5369,9 @@ snapshots:
'@esbuild/linux-ia32@0.24.0':
optional: true
+ '@esbuild/linux-loong64@0.17.19':
+ optional: true
+
'@esbuild/linux-loong64@0.19.12':
optional: true
@@ -4997,6 +5381,9 @@ snapshots:
'@esbuild/linux-loong64@0.24.0':
optional: true
+ '@esbuild/linux-mips64el@0.17.19':
+ optional: true
+
'@esbuild/linux-mips64el@0.19.12':
optional: true
@@ -5006,6 +5393,9 @@ snapshots:
'@esbuild/linux-mips64el@0.24.0':
optional: true
+ '@esbuild/linux-ppc64@0.17.19':
+ optional: true
+
'@esbuild/linux-ppc64@0.19.12':
optional: true
@@ -5015,6 +5405,9 @@ snapshots:
'@esbuild/linux-ppc64@0.24.0':
optional: true
+ '@esbuild/linux-riscv64@0.17.19':
+ optional: true
+
'@esbuild/linux-riscv64@0.19.12':
optional: true
@@ -5024,6 +5417,9 @@ snapshots:
'@esbuild/linux-riscv64@0.24.0':
optional: true
+ '@esbuild/linux-s390x@0.17.19':
+ optional: true
+
'@esbuild/linux-s390x@0.19.12':
optional: true
@@ -5033,6 +5429,9 @@ snapshots:
'@esbuild/linux-s390x@0.24.0':
optional: true
+ '@esbuild/linux-x64@0.17.19':
+ optional: true
+
'@esbuild/linux-x64@0.19.12':
optional: true
@@ -5042,6 +5441,9 @@ snapshots:
'@esbuild/linux-x64@0.24.0':
optional: true
+ '@esbuild/netbsd-x64@0.17.19':
+ optional: true
+
'@esbuild/netbsd-x64@0.19.12':
optional: true
@@ -5054,6 +5456,9 @@ snapshots:
'@esbuild/openbsd-arm64@0.24.0':
optional: true
+ '@esbuild/openbsd-x64@0.17.19':
+ optional: true
+
'@esbuild/openbsd-x64@0.19.12':
optional: true
@@ -5063,6 +5468,9 @@ snapshots:
'@esbuild/openbsd-x64@0.24.0':
optional: true
+ '@esbuild/sunos-x64@0.17.19':
+ optional: true
+
'@esbuild/sunos-x64@0.19.12':
optional: true
@@ -5072,6 +5480,9 @@ snapshots:
'@esbuild/sunos-x64@0.24.0':
optional: true
+ '@esbuild/win32-arm64@0.17.19':
+ optional: true
+
'@esbuild/win32-arm64@0.19.12':
optional: true
@@ -5081,6 +5492,9 @@ snapshots:
'@esbuild/win32-arm64@0.24.0':
optional: true
+ '@esbuild/win32-ia32@0.17.19':
+ optional: true
+
'@esbuild/win32-ia32@0.19.12':
optional: true
@@ -5090,6 +5504,9 @@ snapshots:
'@esbuild/win32-ia32@0.24.0':
optional: true
+ '@esbuild/win32-x64@0.17.19':
+ optional: true
+
'@esbuild/win32-x64@0.19.12':
optional: true
@@ -5140,6 +5557,8 @@ snapshots:
dependencies:
levn: 0.4.1
+ '@fastify/busboy@2.1.1': {}
+
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.6':
@@ -5185,6 +5604,11 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping@0.3.9':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
'@js-joda/core@5.6.3': {}
'@mongodb-js/saslprep@1.1.9':
@@ -5431,6 +5855,10 @@ snapshots:
'@types/ms@0.7.34': {}
+ '@types/node-forge@1.3.11':
+ dependencies:
+ '@types/node': 22.10.1
+
'@types/node@22.10.1':
dependencies:
undici-types: 6.20.0
@@ -5688,6 +6116,10 @@ snapshots:
dependencies:
acorn: 8.14.0
+ acorn-walk@8.3.4:
+ dependencies:
+ acorn: 8.14.0
+
acorn@8.14.0: {}
agent-base@7.1.1:
@@ -5753,6 +6185,10 @@ snapshots:
is-array-buffer: 3.0.4
is-shared-array-buffer: 1.0.3
+ as-table@1.0.55:
+ dependencies:
+ printable-characters: 1.0.42
+
assertion-error@2.0.1: {}
async-mutex@0.5.0:
@@ -5855,6 +6291,8 @@ snapshots:
inherits: 2.0.4
readable-stream: 4.5.2
+ blake3-wasm@2.1.5: {}
+
body-parser@1.20.3:
dependencies:
bytes: 3.1.2
@@ -5964,6 +6402,13 @@ snapshots:
caniuse-lite@1.0.30001687: {}
+ capnp-ts@0.7.0:
+ dependencies:
+ debug: 4.3.7
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+
chai@5.1.2:
dependencies:
assertion-error: 2.0.1
@@ -6026,6 +6471,10 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ chokidar@4.0.1:
+ dependencies:
+ readdirp: 4.0.2
+
chownr@2.0.0: {}
ci-info@4.1.0: {}
@@ -6223,6 +6672,8 @@ snapshots:
csstype@3.1.3: {}
+ data-uri-to-buffer@2.0.2: {}
+
data-urls@5.0.0:
dependencies:
whatwg-mimetype: 4.0.0
@@ -6246,6 +6697,8 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
+ date-fns@4.1.0: {}
+
debug@2.6.9:
dependencies:
ms: 2.0.0
@@ -6439,6 +6892,31 @@ snapshots:
is-date-object: 1.0.5
is-symbol: 1.1.0
+ esbuild@0.17.19:
+ optionalDependencies:
+ '@esbuild/android-arm': 0.17.19
+ '@esbuild/android-arm64': 0.17.19
+ '@esbuild/android-x64': 0.17.19
+ '@esbuild/darwin-arm64': 0.17.19
+ '@esbuild/darwin-x64': 0.17.19
+ '@esbuild/freebsd-arm64': 0.17.19
+ '@esbuild/freebsd-x64': 0.17.19
+ '@esbuild/linux-arm': 0.17.19
+ '@esbuild/linux-arm64': 0.17.19
+ '@esbuild/linux-ia32': 0.17.19
+ '@esbuild/linux-loong64': 0.17.19
+ '@esbuild/linux-mips64el': 0.17.19
+ '@esbuild/linux-ppc64': 0.17.19
+ '@esbuild/linux-riscv64': 0.17.19
+ '@esbuild/linux-s390x': 0.17.19
+ '@esbuild/linux-x64': 0.17.19
+ '@esbuild/netbsd-x64': 0.17.19
+ '@esbuild/openbsd-x64': 0.17.19
+ '@esbuild/sunos-x64': 0.17.19
+ '@esbuild/win32-arm64': 0.17.19
+ '@esbuild/win32-ia32': 0.17.19
+ '@esbuild/win32-x64': 0.17.19
+
esbuild@0.19.12:
optionalDependencies:
'@esbuild/aix-ppc64': 0.19.12
@@ -6631,6 +7109,8 @@ snapshots:
estraverse@5.3.0: {}
+ estree-walker@0.6.1: {}
+
estree-walker@2.0.2: {}
estree-walker@3.0.3:
@@ -6657,6 +7137,8 @@ snapshots:
signal-exit: 4.1.0
strip-final-newline: 3.0.0
+ exit-hook@2.2.1: {}
+
expect-type@1.1.0: {}
express@4.21.2:
@@ -6868,6 +7350,11 @@ snapshots:
get-port-please@3.1.2: {}
+ get-source@2.0.12:
+ dependencies:
+ data-uri-to-buffer: 2.0.2
+ source-map: 0.6.1
+
get-stream@8.0.1: {}
get-symbol-description@1.0.2:
@@ -7302,6 +7789,8 @@ snapshots:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
+ itty-time@1.0.6: {}
+
jackspeak@3.4.3:
dependencies:
'@isaacs/cliui': 8.0.2
@@ -7509,6 +7998,10 @@ snapshots:
lru.min@1.1.1: {}
+ magic-string@0.25.9:
+ dependencies:
+ sourcemap-codec: 1.4.8
+
magic-string@0.30.14:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -7583,6 +8076,25 @@ snapshots:
min-indent@1.0.1: {}
+ miniflare@3.20241205.0:
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ acorn: 8.14.0
+ acorn-walk: 8.3.4
+ capnp-ts: 0.7.0
+ exit-hook: 2.2.1
+ glob-to-regexp: 0.4.1
+ stoppable: 1.1.0
+ undici: 5.28.4
+ workerd: 1.20241205.0
+ ws: 8.18.0
+ youch: 3.3.4
+ zod: 3.24.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -7744,6 +8256,8 @@ snapshots:
inherits: 2.0.4
readable-stream: 2.3.8
+ mustache@4.2.0: {}
+
mute-stream@0.0.8: {}
mysql2@3.11.5:
@@ -8173,6 +8687,8 @@ snapshots:
pretty-bytes@6.1.1: {}
+ printable-characters@1.0.42: {}
+
priorityqueuejs@2.0.0: {}
process-nextick-args@2.0.1: {}
@@ -8255,6 +8771,8 @@ snapshots:
dependencies:
picomatch: 2.3.1
+ readdirp@4.0.2: {}
+
readline-sync@1.4.10: {}
redis-errors@1.2.0: {}
@@ -8317,6 +8835,20 @@ snapshots:
optionalDependencies:
'@babel/code-frame': 7.26.2
+ rollup-plugin-inject@3.0.2:
+ dependencies:
+ estree-walker: 0.6.1
+ magic-string: 0.25.9
+ rollup-pluginutils: 2.8.2
+
+ rollup-plugin-node-polyfills@0.2.1:
+ dependencies:
+ rollup-plugin-inject: 3.0.2
+
+ rollup-pluginutils@2.8.2:
+ dependencies:
+ estree-walker: 0.6.1
+
rollup@3.29.5:
optionalDependencies:
fsevents: 2.3.3
@@ -8389,6 +8921,11 @@ snapshots:
scule@1.3.0: {}
+ selfsigned@2.4.1:
+ dependencies:
+ '@types/node-forge': 1.3.11
+ node-forge: 1.3.1
+
semaphore@1.1.0: {}
semver@5.7.2: {}
@@ -8499,6 +9036,10 @@ snapshots:
source-map-js@1.2.1: {}
+ source-map@0.6.1: {}
+
+ sourcemap-codec@1.4.8: {}
+
sparse-bitfield@3.0.3:
dependencies:
memory-pager: 1.5.0
@@ -8525,6 +9066,11 @@ snapshots:
stackback@0.0.2: {}
+ stacktracey@2.1.8:
+ dependencies:
+ as-table: 1.0.55
+ get-source: 2.0.12
+
standard-as-callback@2.1.0: {}
statuses@2.0.1: {}
@@ -8856,6 +9402,17 @@ snapshots:
undici-types@6.20.0: {}
+ undici@5.28.4:
+ dependencies:
+ '@fastify/busboy': 2.1.1
+
+ unenv-nightly@2.0.0-20241204-140205-a5d5190:
+ dependencies:
+ defu: 6.1.4
+ ohash: 1.1.4
+ pathe: 1.1.2
+ ufo: 1.5.4
+
unenv@1.10.0:
dependencies:
consola: 3.2.3
@@ -9126,6 +9683,42 @@ snapshots:
word-wrap@1.2.5: {}
+ workerd@1.20241205.0:
+ optionalDependencies:
+ '@cloudflare/workerd-darwin-64': 1.20241205.0
+ '@cloudflare/workerd-darwin-arm64': 1.20241205.0
+ '@cloudflare/workerd-linux-64': 1.20241205.0
+ '@cloudflare/workerd-linux-arm64': 1.20241205.0
+ '@cloudflare/workerd-windows-64': 1.20241205.0
+
+ wrangler@3.94.0(@cloudflare/workers-types@4.20241205.0):
+ dependencies:
+ '@cloudflare/kv-asset-handler': 0.3.4
+ '@cloudflare/workers-shared': 0.11.0
+ '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19)
+ '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19)
+ blake3-wasm: 2.1.5
+ chokidar: 4.0.1
+ date-fns: 4.1.0
+ esbuild: 0.17.19
+ itty-time: 1.0.6
+ miniflare: 3.20241205.0
+ nanoid: 3.3.8
+ path-to-regexp: 6.3.0
+ resolve: 1.22.8
+ selfsigned: 2.4.1
+ source-map: 0.6.1
+ unenv: unenv-nightly@2.0.0-20241204-140205-a5d5190
+ workerd: 1.20241205.0
+ xxhash-wasm: 1.1.0
+ optionalDependencies:
+ '@cloudflare/workers-types': 4.20241205.0
+ fsevents: 2.3.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
wrap-ansi@6.2.0:
dependencies:
ansi-styles: 4.3.0
@@ -9164,6 +9757,8 @@ snapshots:
xmlchars@2.2.0: {}
+ xxhash-wasm@1.1.0: {}
+
y18n@5.0.8: {}
yallist@3.1.1: {}
@@ -9190,3 +9785,11 @@ snapshots:
pend: 1.2.0
yocto-queue@0.1.0: {}
+
+ youch@3.3.4:
+ dependencies:
+ cookie: 0.7.1
+ mustache: 4.2.0
+ stacktracey: 2.1.8
+
+ zod@3.24.0: {}
diff --git a/test/drivers/cloudflare-kv-binding.test.ts b/test/drivers/cloudflare-kv-binding.test.ts
index ccee642..96a5400 100644
--- a/test/drivers/cloudflare-kv-binding.test.ts
+++ b/test/drivers/cloudflare-kv-binding.test.ts
@@ -1,38 +1,25 @@
///
-import { describe, expect, test } from "vitest";
+import { describe, expect, test, afterAll } from "vitest";
import { createStorage, snapshot } from "../../src";
import CloudflareKVBinding from "../../src/drivers/cloudflare-kv-binding";
import { testDriver } from "./utils";
+import { getPlatformProxy } from "wrangler";
-const mockStorage = createStorage();
-
-// https://developers.cloudflare.com/workers/runtime-apis/kv/
-const mockBinding: KVNamespace = {
- get(key) {
- return mockStorage.getItem(key) as any;
- },
- getWithMetadata(key: string) {
- return mockStorage.getItem(key) as any;
- },
- put(key, value) {
- return mockStorage.setItem(key, value) as any;
- },
- delete(key) {
- return mockStorage.removeItem(key) as any;
- },
- list(opts) {
- return mockStorage
- .getKeys(opts?.prefix || undefined)
- .then((keys) => ({ keys: keys.map((name) => ({ name })) })) as any;
- },
-};
-
-describe("drivers: cloudflare-kv", () => {
+describe("drivers: cloudflare-kv", async () => {
+ const cfProxy = await getPlatformProxy();
+ globalThis.__env__ = cfProxy.env;
+ afterAll(async () => {
+ globalThis.__env__ = undefined;
+ await cfProxy.dispose();
+ });
testDriver({
- driver: CloudflareKVBinding({ binding: mockBinding, base: "base" }),
+ driver: CloudflareKVBinding({ base: "base" }),
async additionalTests() {
test("snapshot", async () => {
- expect(await snapshot(mockStorage, "")).toMatchInlineSnapshot(`
+ const storage = createStorage({
+ driver: CloudflareKVBinding({}),
+ });
+ expect(await snapshot(storage, "")).toMatchInlineSnapshot(`
{
"base:data:raw.bin": "base64:AQID",
"base:data:serialized1.json": "SERIALIZED",
diff --git a/test/drivers/cloudflare-r2-binding.test.ts b/test/drivers/cloudflare-r2-binding.test.ts
index 414ca58..b76add9 100644
--- a/test/drivers/cloudflare-r2-binding.test.ts
+++ b/test/drivers/cloudflare-r2-binding.test.ts
@@ -1,50 +1,26 @@
///
-import { describe, test, expect } from "vitest";
+import { describe, test, expect, afterAll } from "vitest";
import { createStorage, snapshot } from "../../src";
import CloudflareR2Binding from "../../src/drivers/cloudflare-r2-binding";
import { testDriver } from "./utils";
+import { getPlatformProxy } from "wrangler";
-const mockStorage = createStorage();
+describe.skip("drivers: cloudflare-r2-binding", async () => {
+ const cfProxy = await getPlatformProxy();
+ globalThis.__env__ = cfProxy.env;
+ afterAll(async () => {
+ globalThis.__env__ = undefined;
+ await cfProxy.dispose();
+ });
-// https://developers.cloudflare.com/workers/runtime-apis/kv/
-const mockBinding: R2Bucket = {
- async head(key) {
- return (await mockStorage.hasItem(key)) ? ({ key } as any) : null;
- },
- async get(key) {
- return {
- text: () => mockStorage.getItem(key),
- arrayBuffer: () => mockStorage.getItemRaw(key),
- } as any;
- },
- put(key, value) {
- return mockStorage.setItemRaw(key, value) as any;
- },
- delete(key) {
- if (Array.isArray(key)) {
- return Promise.all(key.map((k) => mockStorage.removeItem(k))) as any;
- }
- return mockStorage.removeItem(key as string) as any;
- },
- list(opts) {
- return mockStorage
- .getKeys(opts?.prefix || undefined)
- .then((keys) => ({ objects: keys.map((key) => ({ key })) })) as any;
- },
- createMultipartUpload() {
- throw new Error("Not implemented");
- },
- resumeMultipartUpload() {
- throw new Error("Not implemented");
- },
-};
-
-describe("drivers: cloudflare-r2-binding", () => {
testDriver({
- driver: CloudflareR2Binding({ binding: mockBinding, base: "base" }),
+ driver: CloudflareR2Binding({ base: "base" }),
async additionalTests() {
test("snapshot", async () => {
- expect(await snapshot(mockStorage, "")).toMatchInlineSnapshot(`
+ const storage = createStorage({
+ driver: CloudflareR2Binding({}),
+ });
+ expect(await snapshot(storage, "")).toMatchInlineSnapshot(`
{
"base:data:raw.bin": Uint8Array [
1,
diff --git a/wrangler.toml b/wrangler.toml
new file mode 100644
index 0000000..0de5d60
--- /dev/null
+++ b/wrangler.toml
@@ -0,0 +1,9 @@
+compatibility_date = "2024-12-01"
+
+kv_namespaces = [
+ { binding = "STORAGE", id = "" }
+]
+
+r2_buckets = [
+ { binding = "BUCKET", bucket_name = "default" },
+]