From 66fb0d7052d46b25398cb4128c11f5ac7e1d55e2 Mon Sep 17 00:00:00 2001 From: kai Date: Wed, 21 Feb 2024 12:31:07 +0000 Subject: [PATCH 1/2] Add docs and an e2e test for variables and bindings from wrangler.toml --- README.md | 29 +++ bun.lockb | Bin 322485 -> 338753 bytes package.json | 3 +- test/hono-jsx/app/routes/env.tsx | 5 + test/hono-jsx/e2e.test.ts | 8 + test/hono-jsx/integration.test.ts | 2 + test/hono-jsx/vite.config.ts | 26 ++- test/hono-jsx/wrangler.toml | 8 + yarn.lock | 295 +++++++++++++++++++++++++++++- 9 files changed, 360 insertions(+), 16 deletions(-) create mode 100644 test/hono-jsx/app/routes/env.tsx create mode 100644 test/hono-jsx/wrangler.toml diff --git a/README.md b/README.md index c79dbb5..15c35de 100644 --- a/README.md +++ b/README.md @@ -711,6 +711,34 @@ You can also deploy it to Cloudflare Pages. wrangler pages deploy ./dist ``` +## Development + +### Wrangler Bindings and Variables + +If you use a `wrangler.toml` file to declare Bindings (Such as a D1 Database) and Variables , these can be used in your HonoX application during local development (with the `vite` command) with a small change to your vite.config.ts file. + +Import the `getPlatformProxy` function from the `wrangler` package and use it to get the environment variables and dispose function. Then, pass the environment variables to your HonoX application devServer configuration. + +```ts +// vite.config.ts +import { defineConfig } from 'vite' +import { getPlatformProxy } from 'wrangler' + +export default defineConfig(async () => { + const { env, dispose } = await getPlatformProxy() + return { + plugins: [ + honox({ + devServer: { + env, + plugins: [{ onServerClose: dispose }], + }, + }), + ], + } +}) +``` + ## Examples - https://github.com/yusukebe/honox-examples @@ -727,3 +755,4 @@ wrangler pages deploy ./dist ## License MIT + diff --git a/bun.lockb b/bun.lockb index d82e793a4fdb40c99fa4ae1cd752bb8511559142..6ffd8abdfebf720150490ecbf2a831f839330c86 100755 GIT binary patch delta 69719 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�uCoZL57j;yw8`?((I&SFIe7a!b$`v>M zsnf0HF>*k-37wDO52VY>S~!Pa#xd!Q$r#g`RI$?&hbAzVl6`ZJQ4%l=?}5ShYpeHP zt)3gvd56)QRgcRKU-WQQ+|SD#+Z$<>;8tgT(Uor8YlNLTGgM_3AE#8#r^S_3^Q^iu z*`AP#&h*OMfcneHEJ5Q-wz3+}| zy(<}cl|3Ub%C_&O+c^4IG7qH=Ru=;$)ho-BzG(4KR#!oFWXOiIPgU5*R##ewBH zOI?`MkWd3sS&j{T&&kz8@OLI(>Gjk3Do0u3#sXpoo+o0qTwAtd{bx%$c;sMIL+MLa z>9jM?Q~g3rF=g2kR-dQ-cs8V-mkS90$#Z9$u00rLlw%(t?A;n;2h2Y-`mbM&kVO}0 z8)$W<)0S-if9pLp4JbvR?wd>UX5>`fn>#OJ*Ib1pN+$bkdh?4VYPF;qyZL2$_6aFb znb_Sg%eM(@re?WxoGMxy`TX0-Aq=^^Bm=W(A~^9J=^OaKusGFx27@5NALNPHk&o<5E_> zl9hJQ)o#*O&{GB7dxZ4g_a>uDBc z+Ca}YS+by(K1=hePY&p%2ns#RWmBvfFsfzCwPL7$ZouR2by`aTd$<|!>(p$@WQ^v( z;Av$gCf@6(*YQ0DpEQ9-_iTD)29f(@Q%ofYfUYswBt{|TU>DgJ^vMC2VbQy{O+F2);XY|^1 z-zdPb}f( zvXOY<)lh7H0O4)#ga-AVM7!E^_E2K0O%4@;R@WUEymQ|8V#1tW%boc(GCthEY0c0a zayJL}slc!YhPL)Y=bX3|e38edf-cJdsSL=Kyzw{h+jrfrK(OQ5oI_KY_7E_t0b|;_ zBb9H7^ZB$$IncYQ(3)0`+LN@h0~h)Xf$j2g=qzY;?|{Lw_u3lr!a2ML=VF%K!>f!j zL<*|lR8C(3IUwi`SzEzf7+iJ}LMWROIFyvQQE&K!|8{3XM+9Su{*vAhDHeQ1Oq4(} zOuZ}5-h%YGam&m7!L_e)ICKXPo{raanOOn5j;>SWhgXUVB=f3DjV;6)MR5m3)UlPZ z1oc^=r|TA?ebLmKcAqL*LR(e)*!$#zXT!_;a#^1@V4G>ns14T?LxX)GAZ*|Y_nPN* zj$de@2ncgn{7ws)_9}vu@1T_fzgaC{?G*9E!0m0f^*cj11#cQ>FZ8 zqSBSt{f6IuQu z4Gk7~vaeGs+!{Gy)^08^c_~8_l&)4-9v$GZRQ1%cRo-f(sp&{n`yZ_$D+ZGzSFcOU zm+LGG+qc05vAOC?xS0JQ{@eQg!)Ri**Ax^z#)E}#pu9SGkWG?cI(IZM1<=Vm{>iVXNr&Qoh~ar=9hg-UujBTN0b3|rPCgHz7!I0OiD5JuOyRBg1%tV1_gAHnX0Q; z>8RArPV`qw5Wg=?jA1Xxr#fB*9}eO|uLu-ibBTto+#k0?I5%0K;*T24JQ@p&cGPaGtFHICa* zcY~d$ePh}OyykzQpDV}PL6g_@+~Q;>pc3PdnN}^x@{^5MjwPP0@qDalzX0!X&2C&Q zkO!{uL`<(zQ*3KXHNF))Rv0;8*ziFO#zaNpMW{jFipMFrf@yV%scl-8cC-+OQr({7 z0$SuPRwwUVQETey7By^AdU{WBpc&2d7N^ioKhd5%eZ)%X_CDh8Ch6t7h{Ma0S3hxq z{Sa^+GNi%y0pZ^biHwLG5*0PE!O+o>BL_s$v{|B4`tyF`2%Xii@X-SsL=1==GAe51 z@IjHZ##eNv)O^v5W<`T_qOTa5zPyuYWkQ+tMN{hENo-0!--yxFXR25+{dlyvLnIep zu?BVW6$5EbJxE&UD|V!V--rpcv9s7TeZn+xl~a1(mf}Z~boXR&cRh*?62D2mb50!C G_kRHEwS|8G diff --git a/package.json b/package.json index de25ea9..0edcc56 100644 --- a/package.json +++ b/package.json @@ -120,7 +120,8 @@ "tsup": "^8.0.1", "typescript": "^5.3.3", "vite": "^5.0.12", - "vitest": "^1.2.1" + "vitest": "^1.2.1", + "wrangler":"^3.28.4" }, "engines": { "node": ">=18.14.1" diff --git a/test/hono-jsx/app/routes/env.tsx b/test/hono-jsx/app/routes/env.tsx new file mode 100644 index 0000000..0270036 --- /dev/null +++ b/test/hono-jsx/app/routes/env.tsx @@ -0,0 +1,5 @@ +import { createRoute } from "../../../../src/factory"; + +export default createRoute((c) => { + return c.json({ env: c.env }) +}); \ No newline at end of file diff --git a/test/hono-jsx/e2e.test.ts b/test/hono-jsx/e2e.test.ts index 0237b4c..cf22742 100644 --- a/test/hono-jsx/e2e.test.ts +++ b/test/hono-jsx/e2e.test.ts @@ -71,3 +71,11 @@ test('error-boundary failure', async ({ page }) => { const div = await container.locator('div') expect(await div.innerHTML()).toBe('Something went wrong') }) + +test('sets variables and bindings from wrangler.toml', async ({ page }) => { + const res = await page.goto('/env', { waitUntil: 'domcontentloaded' }) + expect(res?.ok()).toBe(true) + const json = await res?.json() + expect(json).toBeTruthy() + expect(json.env).toStrictEqual({ DB: expect.any(Object), TEST_VARIABLE: 'TEST_VARIABLE_VALUE' }) +}) diff --git a/test/hono-jsx/integration.test.ts b/test/hono-jsx/integration.test.ts index 6969bde..ec22350 100644 --- a/test/hono-jsx/integration.test.ts +++ b/test/hono-jsx/integration.test.ts @@ -117,6 +117,8 @@ describe('Basic', () => { { path: '/api', method: 'POST', handler: expect.any(Function) }, { path: '/api', method: 'GET', handler: expect.any(Function) }, { path: '/api', method: 'GET', handler: expect.any(Function) }, + { path: '/env', method: 'GET', handler: expect.any(Function) }, + { path: '/env', method: 'GET', handler: expect.any(Function) }, { path: '/', method: 'GET', handler: expect.any(Function) }, { path: '/', method: 'GET', handler: expect.any(Function) }, { diff --git a/test/hono-jsx/vite.config.ts b/test/hono-jsx/vite.config.ts index a8135c4..a107d15 100644 --- a/test/hono-jsx/vite.config.ts +++ b/test/hono-jsx/vite.config.ts @@ -1,14 +1,22 @@ import mdx from '@mdx-js/rollup' import { defineConfig } from 'vite' +import { getPlatformProxy } from 'wrangler' import honox from '../../src/vite' -export default defineConfig({ - plugins: [ - honox({ - entry: './app/server.ts', - }), - mdx({ - jsxImportSource: 'hono/jsx', - }), - ], +export default defineConfig(async () => { + const { env, dispose } = await getPlatformProxy() + return { + plugins: [ + honox({ + entry: './app/server.ts', + devServer: { + env, + plugins: [{ onServerClose: dispose }], + }, + }), + mdx({ + jsxImportSource: 'hono/jsx', + }), + ], + } }) diff --git a/test/hono-jsx/wrangler.toml b/test/hono-jsx/wrangler.toml new file mode 100644 index 0000000..da32d5d --- /dev/null +++ b/test/hono-jsx/wrangler.toml @@ -0,0 +1,8 @@ +[vars] +TEST_VARIABLE = "TEST_VARIABLE_VALUE" + +[[d1_databases]] +binding = "DB" +database_name = "DB_NAME" +database_id = "DB_ID" + diff --git a/yarn.lock b/yarn.lock index 06ec954..75326e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: 3A7A6A3D5ED31ADA-bf51435ceb080f51-A5279B751C512A86-fa4d55262a3b0256 +# bun ./bun.lockb --hash: ACC2D36BCC5B7BB5-cccd00a91bb8e255-1070B37ACE98EC39-20ac63722e8977b3 "@aashutoshrathi/word-wrap@^1.2.3": @@ -111,6 +111,13 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@cloudflare/kv-asset-handler@0.3.1": + version "0.3.1" + resolved "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.1.tgz" + integrity sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA== + dependencies: + mime "^3.0.0" + "@cloudflare/workerd-darwin-64@1.20240129.0": version "1.20240129.0" resolved "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240129.0.tgz" @@ -143,116 +150,239 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" +"@esbuild-plugins/node-globals-polyfill@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz" + integrity sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw== + +"@esbuild-plugins/node-modules-polyfill@^0.2.2": + version "0.2.2" + resolved "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz" + integrity sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA== + dependencies: + escape-string-regexp "^4.0.0" + rollup-plugin-node-polyfills "^0.2.1" + "@esbuild/aix-ppc64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz" integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz" + integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== + "@esbuild/android-arm@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz" integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz" + integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== + "@esbuild/android-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz" integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz" + integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== + "@esbuild/android-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz" integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== +"@esbuild/darwin-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz" + integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== + "@esbuild/darwin-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz" integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz" + integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== + "@esbuild/darwin-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz" integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz" + integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== + "@esbuild/freebsd-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz" integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz" + integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== + "@esbuild/freebsd-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz" integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz" + integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== + "@esbuild/linux-arm@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz" integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz" + integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== + "@esbuild/linux-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz" integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz" + integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== + "@esbuild/linux-ia32@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz" integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz" + integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== + "@esbuild/linux-loong64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz" integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz" + integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== + "@esbuild/linux-mips64el@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz" integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz" + integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== + "@esbuild/linux-ppc64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz" integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz" + integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== + "@esbuild/linux-riscv64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz" integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz" + integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== + "@esbuild/linux-s390x@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz" integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz" + integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== + "@esbuild/linux-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz" integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz" + integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== + "@esbuild/netbsd-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz" integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz" + integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== + "@esbuild/openbsd-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz" integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz" + integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== + "@esbuild/sunos-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz" integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz" + integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== + "@esbuild/win32-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz" integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz" + integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== + "@esbuild/win32-ia32@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz" integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz" + integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== + "@esbuild/win32-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz" @@ -695,6 +825,13 @@ dependencies: undici-types "~5.26.4" +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" @@ -1123,6 +1260,11 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +blake3-wasm@^2.1.5: + version "2.1.5" + resolved "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz" + integrity sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g== + boxen@^5.0.0: version "5.1.2" resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" @@ -1331,7 +1473,7 @@ check-error@^1.0.3: dependencies: get-func-name "^2.0.2" -chokidar@^3.5.1: +chokidar@^3.5.1, chokidar@^3.5.3: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -1796,7 +1938,35 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@>=0.17, esbuild@^0.19.2, esbuild@^0.19.3: +esbuild@0.17.19: + version "0.17.19" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz" + integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== + 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@*, esbuild@>=0.17, esbuild@^0.19.2, esbuild@^0.19.3: version "0.19.12" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz" integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== @@ -2063,6 +2233,11 @@ estree-util-visit@^2.0.0: "@types/estree-jsx" "^1.0.0" "@types/unist" "^3.0.0" +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" @@ -3401,6 +3576,13 @@ lru-cache@^6.0.0: resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== +magic-string@^0.25.3: + version "0.25.9" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + magic-string@^0.30.5: version "0.30.7" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz" @@ -3876,6 +4058,11 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" @@ -3929,6 +4116,24 @@ miniflare@^3.20231218.2: youch "^3.2.2" zod "^3.20.6" +miniflare@3.20240129.3: + version "3.20240129.3" + resolved "https://registry.npmjs.org/miniflare/-/miniflare-3.20240129.3.tgz" + integrity sha512-PCmLJ+UvtbpPj/fgNzTGbd+U5QBkt3akRNcdks9RBJU2SH+gUCp7iahsaI4GA344NX5MIbC6ctw1A6TfcA+aFA== + dependencies: + "@cspotcode/source-map-support" "0.8.1" + acorn "^8.8.0" + acorn-walk "^8.2.0" + capnp-ts "^0.7.0" + exit-hook "^2.2.1" + glob-to-regexp "^0.4.1" + stoppable "^1.1.0" + undici "^5.28.2" + workerd "1.20240129.0" + ws "^8.11.0" + youch "^3.2.2" + zod "^3.20.6" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -4013,7 +4218,7 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.7: +nanoid@^3.3.3, nanoid@^3.3.7: version "3.3.7" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -4030,6 +4235,11 @@ new-github-release-url@^1.0.0: dependencies: type-fest "^0.4.1" +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -4484,6 +4694,11 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-to-regexp@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz" + integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -4757,7 +4972,7 @@ remark-rehype@^11.0.0: unified "^11.0.0" vfile "^6.0.0" -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.22.4: +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -4788,6 +5003,11 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== +resolve.exports@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + responselike@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" @@ -4852,6 +5072,29 @@ rollup@>=2, "rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0", rollup@^4.0.2, rollup@^4.2 "@rollup/rollup-linux-x64-gnu" "4.11.0" "@rollup/rollup-linux-x64-musl" "4.11.0" +rollup-plugin-inject@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz" + integrity sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w== + dependencies: + estree-walker "^0.6.1" + magic-string "^0.25.3" + rollup-pluginutils "^2.8.1" + +rollup-plugin-node-polyfills@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz" + integrity sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA== + dependencies: + rollup-plugin-inject "^3.0.0" + +rollup-pluginutils@^2.8.1: + version "2.8.2" + resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" @@ -4907,6 +5150,14 @@ scoped-regex@^2.0.0: resolved "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz" integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== +selfsigned@^2.0.1: + version "2.4.1" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + "semver@2 || 3 || 4 || 5": version "5.7.2" resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" @@ -4999,7 +5250,7 @@ slice-ansi@0.0.4: resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" integrity sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw== -source-map@^0.6.1: +source-map@0.6.1, source-map@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -5021,6 +5272,11 @@ source-map-js@^1.0.2: resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" @@ -5840,6 +6096,28 @@ workerd@1.20240129.0: "@cloudflare/workerd-linux-64" "1.20240129.0" "@cloudflare/workerd-windows-64" "1.20240129.0" +wrangler@^3.28.4: + version "3.28.4" + resolved "https://registry.npmjs.org/wrangler/-/wrangler-3.28.4.tgz" + integrity sha512-LDwW4KhplRhIEfQaZry8AMZIOTpkYZXLWjg1MDSC3a12BXSY37pXACmFxbZeg2TzcOi30j+KqwLfv15vCavIyA== + dependencies: + "@esbuild-plugins/node-globals-polyfill" "^0.2.3" + "@esbuild-plugins/node-modules-polyfill" "^0.2.2" + blake3-wasm "^2.1.5" + chokidar "^3.5.3" + esbuild "0.17.19" + nanoid "^3.3.3" + path-to-regexp "^6.2.0" + resolve "^1.22.8" + resolve.exports "^2.0.2" + selfsigned "^2.0.1" + source-map "0.6.1" + xxhash-wasm "^1.0.1" + "@cloudflare/kv-asset-handler" "0.3.1" + miniflare "3.20240129.3" + optionalDependencies: + fsevents "~2.3.2" + wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" @@ -5891,6 +6169,11 @@ xdg-basedir@^4.0.0: resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +xxhash-wasm@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz" + integrity sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" From 8f0e2d6437dcb031f1ab560b757754a681edc411 Mon Sep 17 00:00:00 2001 From: kai Date: Wed, 21 Feb 2024 13:18:28 +0000 Subject: [PATCH 2/2] Partially Revert "Add docs and an e2e test for variables and bindings from wrangler.toml" This partially reverts commit 66fb0d7052d46b25398cb4128c11f5ac7e1d55e2. --- bun.lockb | Bin 338753 -> 322485 bytes package.json | 3 +- test/hono-jsx/app/routes/env.tsx | 5 - test/hono-jsx/e2e.test.ts | 8 - test/hono-jsx/integration.test.ts | 2 - test/hono-jsx/vite.config.ts | 26 +-- test/hono-jsx/wrangler.toml | 8 - yarn.lock | 295 +----------------------------- 8 files changed, 16 insertions(+), 331 deletions(-) delete mode 100644 test/hono-jsx/app/routes/env.tsx delete mode 100644 test/hono-jsx/wrangler.toml diff --git a/bun.lockb b/bun.lockb index 6ffd8abdfebf720150490ecbf2a831f839330c86..d82e793a4fdb40c99fa4ae1cd752bb8511559142 100755 GIT binary patch delta 60339 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�uCoZL57j;yw8`?((I&SFIe7a!b$`v>M zsnf0HF>*k-37wDO52VY>S~!Pa#xd!Q$r#g`RI$?&hbAzVl6`ZJQ4%l=?}5ShYpeHP zt)3gvd56)QRgcRKU-WQQ+|SD#+Z$<>;8tgT(Uor8YlNLTGgM_3AE#8#r^S_3^Q^iu z*`AP#&h*OMfcneHEJ5Q-wz3+}| zy(<}cl|3Ub%C_&O+c^4IG7qH=Ru=;$)ho-BzG(4KR#!oFWXOiIPgU5*R##ewBH zOI?`MkWd3sS&j{T&&kz8@OLI(>Gjk3Do0u3#sXpoo+o0qTwAtd{bx%$c;sMIL+MLa z>9jM?Q~g3rF=g2kR-dQ-cs8V-mkS90$#Z9$u00rLlw%(t?A;n;2h2Y-`mbM&kVO}0 z8)$W<)0S-if9pLp4JbvR?wd>UX5>`fn>#OJ*Ib1pN+$bkdh?4VYPF;qyZL2$_6aFb znb_Sg%eM(@re?WxoGMxy`TX0-Aq=^^Bm=W(A~^9J=^OaKusGFx27@5NALNPHk&o<5E_> zl9hJQ)o#*O&{GB7dxZ4g_a>uDBc z+Ca}YS+by(K1=hePY&p%2ns#RWmBvfFsfzCwPL7$ZouR2by`aTd$<|!>(p$@WQ^v( z;Av$gCf@6(*YQ0DpEQ9-_iTD)29f(@Q%ofYfUYswBt{|TU>DgJ^vMC2VbQy{O+F2);XY|^1 z-zdPb}f( zvXOY<)lh7H0O4)#ga-AVM7!E^_E2K0O%4@;R@WUEymQ|8V#1tW%boc(GCthEY0c0a zayJL}slc!YhPL)Y=bX3|e38edf-cJdsSL=Kyzw{h+jrfrK(OQ5oI_KY_7E_t0b|;_ zBb9H7^ZB$$IncYQ(3)0`+LN@h0~h)Xf$j2g=qzY;?|{Lw_u3lr!a2ML=VF%K!>f!j zL<*|lR8C(3IUwi`SzEzf7+iJ}LMWROIFyvQQE&K!|8{3XM+9Su{*vAhDHeQ1Oq4(} zOuZ}5-h%YGam&m7!L_e)ICKXPo{raanOOn5j;>SWhgXUVB=f3DjV;6)MR5m3)UlPZ z1oc^=r|TA?ebLmKcAqL*LR(e)*!$#zXT!_;a#^1@V4G>ns14T?LxX)GAZ*|Y_nPN* zj$de@2ncgn{7ws)_9}vu@1T_fzgaC{?G*9E!0m0f^*cj11#cQ>FZ8 zqSBSt{f6IuQu z4Gk7~vaeGs+!{Gy)^08^c_~8_l&)4-9v$GZRQ1%cRo-f(sp&{n`yZ_$D+ZGzSFcOU zm+LGG+qc05vAOC?xS0JQ{@eQg!)Ri**Ax^z#)E}#pu9SGkWG?cI(IZM1<=Vm{>iVXNr&Qoh~ar=9hg-UujBTN0b3|rPCgHz7!I0OiD5JuOyRBg1%tV1_gAHnX0Q; z>8RArPV`qw5Wg=?jA1Xxr#fB*9}eO|uLu-ibBTto+#k0?I5%0K;*T24JQ@p&cGPaGtFHICa* zcY~d$ePh}OyykzQpDV}PL6g_@+~Q;>pc3PdnN}^x@{^5MjwPP0@qDalzX0!X&2C&Q zkO!{uL`<(zQ*3KXHNF))Rv0;8*ziFO#zaNpMW{jFipMFrf@yV%scl-8cC-+OQr({7 z0$SuPRwwUVQETey7By^AdU{WBpc&2d7N^ioKhd5%eZ)%X_CDh8Ch6t7h{Ma0S3hxq z{Sa^+GNi%y0pZ^biHwLG5*0PE!O+o>BL_s$v{|B4`tyF`2%Xii@X-SsL=1==GAe51 z@IjHZ##eNv)O^v5W<`T_qOTa5zPyuYWkQ+tMN{hENo-0!--yxFXR25+{dlyvLnIep zu?BVW6$5EbJxE&UD|V!V--rpcv9s7TeZn+xl~a1(mf}Z~boXR&cRh*?62D2mb50!C G_kRHEwS|8G delta 69719 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.14.1" diff --git a/test/hono-jsx/app/routes/env.tsx b/test/hono-jsx/app/routes/env.tsx deleted file mode 100644 index 0270036..0000000 --- a/test/hono-jsx/app/routes/env.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { createRoute } from "../../../../src/factory"; - -export default createRoute((c) => { - return c.json({ env: c.env }) -}); \ No newline at end of file diff --git a/test/hono-jsx/e2e.test.ts b/test/hono-jsx/e2e.test.ts index cf22742..0237b4c 100644 --- a/test/hono-jsx/e2e.test.ts +++ b/test/hono-jsx/e2e.test.ts @@ -71,11 +71,3 @@ test('error-boundary failure', async ({ page }) => { const div = await container.locator('div') expect(await div.innerHTML()).toBe('Something went wrong') }) - -test('sets variables and bindings from wrangler.toml', async ({ page }) => { - const res = await page.goto('/env', { waitUntil: 'domcontentloaded' }) - expect(res?.ok()).toBe(true) - const json = await res?.json() - expect(json).toBeTruthy() - expect(json.env).toStrictEqual({ DB: expect.any(Object), TEST_VARIABLE: 'TEST_VARIABLE_VALUE' }) -}) diff --git a/test/hono-jsx/integration.test.ts b/test/hono-jsx/integration.test.ts index ec22350..6969bde 100644 --- a/test/hono-jsx/integration.test.ts +++ b/test/hono-jsx/integration.test.ts @@ -117,8 +117,6 @@ describe('Basic', () => { { path: '/api', method: 'POST', handler: expect.any(Function) }, { path: '/api', method: 'GET', handler: expect.any(Function) }, { path: '/api', method: 'GET', handler: expect.any(Function) }, - { path: '/env', method: 'GET', handler: expect.any(Function) }, - { path: '/env', method: 'GET', handler: expect.any(Function) }, { path: '/', method: 'GET', handler: expect.any(Function) }, { path: '/', method: 'GET', handler: expect.any(Function) }, { diff --git a/test/hono-jsx/vite.config.ts b/test/hono-jsx/vite.config.ts index a107d15..a8135c4 100644 --- a/test/hono-jsx/vite.config.ts +++ b/test/hono-jsx/vite.config.ts @@ -1,22 +1,14 @@ import mdx from '@mdx-js/rollup' import { defineConfig } from 'vite' -import { getPlatformProxy } from 'wrangler' import honox from '../../src/vite' -export default defineConfig(async () => { - const { env, dispose } = await getPlatformProxy() - return { - plugins: [ - honox({ - entry: './app/server.ts', - devServer: { - env, - plugins: [{ onServerClose: dispose }], - }, - }), - mdx({ - jsxImportSource: 'hono/jsx', - }), - ], - } +export default defineConfig({ + plugins: [ + honox({ + entry: './app/server.ts', + }), + mdx({ + jsxImportSource: 'hono/jsx', + }), + ], }) diff --git a/test/hono-jsx/wrangler.toml b/test/hono-jsx/wrangler.toml deleted file mode 100644 index da32d5d..0000000 --- a/test/hono-jsx/wrangler.toml +++ /dev/null @@ -1,8 +0,0 @@ -[vars] -TEST_VARIABLE = "TEST_VARIABLE_VALUE" - -[[d1_databases]] -binding = "DB" -database_name = "DB_NAME" -database_id = "DB_ID" - diff --git a/yarn.lock b/yarn.lock index 75326e4..06ec954 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: ACC2D36BCC5B7BB5-cccd00a91bb8e255-1070B37ACE98EC39-20ac63722e8977b3 +# bun ./bun.lockb --hash: 3A7A6A3D5ED31ADA-bf51435ceb080f51-A5279B751C512A86-fa4d55262a3b0256 "@aashutoshrathi/word-wrap@^1.2.3": @@ -111,13 +111,6 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@cloudflare/kv-asset-handler@0.3.1": - version "0.3.1" - resolved "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.1.tgz" - integrity sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA== - dependencies: - mime "^3.0.0" - "@cloudflare/workerd-darwin-64@1.20240129.0": version "1.20240129.0" resolved "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240129.0.tgz" @@ -150,239 +143,116 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@esbuild-plugins/node-globals-polyfill@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz" - integrity sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw== - -"@esbuild-plugins/node-modules-polyfill@^0.2.2": - version "0.2.2" - resolved "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz" - integrity sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA== - dependencies: - escape-string-regexp "^4.0.0" - rollup-plugin-node-polyfills "^0.2.1" - "@esbuild/aix-ppc64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz" integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== -"@esbuild/android-arm@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz" - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== - "@esbuild/android-arm@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz" integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== -"@esbuild/android-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz" - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== - "@esbuild/android-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz" integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== -"@esbuild/android-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz" - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== - "@esbuild/android-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz" integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== -"@esbuild/darwin-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz" - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== - "@esbuild/darwin-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz" integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== -"@esbuild/darwin-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz" - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== - "@esbuild/darwin-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz" integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== -"@esbuild/freebsd-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz" - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== - "@esbuild/freebsd-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz" integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== -"@esbuild/freebsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz" - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== - "@esbuild/freebsd-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz" integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== -"@esbuild/linux-arm@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz" - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== - "@esbuild/linux-arm@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz" integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== -"@esbuild/linux-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz" - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== - "@esbuild/linux-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz" integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== -"@esbuild/linux-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz" - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== - "@esbuild/linux-ia32@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz" integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== -"@esbuild/linux-loong64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz" - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== - "@esbuild/linux-loong64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz" integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== -"@esbuild/linux-mips64el@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz" - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== - "@esbuild/linux-mips64el@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz" integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== -"@esbuild/linux-ppc64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz" - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== - "@esbuild/linux-ppc64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz" integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== -"@esbuild/linux-riscv64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz" - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== - "@esbuild/linux-riscv64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz" integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== -"@esbuild/linux-s390x@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz" - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== - "@esbuild/linux-s390x@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz" integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== -"@esbuild/linux-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz" - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== - "@esbuild/linux-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz" integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== -"@esbuild/netbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz" - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== - "@esbuild/netbsd-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz" integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== -"@esbuild/openbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz" - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== - "@esbuild/openbsd-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz" integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== -"@esbuild/sunos-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz" - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== - "@esbuild/sunos-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz" integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== -"@esbuild/win32-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz" - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== - "@esbuild/win32-arm64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz" integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== -"@esbuild/win32-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz" - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== - "@esbuild/win32-ia32@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz" integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== -"@esbuild/win32-x64@0.17.19": - version "0.17.19" - resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz" - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== - "@esbuild/win32-x64@0.19.12": version "0.19.12" resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz" @@ -825,13 +695,6 @@ dependencies: undici-types "~5.26.4" -"@types/node-forge@^1.3.0": - version "1.3.11" - resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" @@ -1260,11 +1123,6 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -blake3-wasm@^2.1.5: - version "2.1.5" - resolved "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz" - integrity sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g== - boxen@^5.0.0: version "5.1.2" resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" @@ -1473,7 +1331,7 @@ check-error@^1.0.3: dependencies: get-func-name "^2.0.2" -chokidar@^3.5.1, chokidar@^3.5.3: +chokidar@^3.5.1: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -1938,35 +1796,7 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@0.17.19: - version "0.17.19" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz" - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== - 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@*, esbuild@>=0.17, esbuild@^0.19.2, esbuild@^0.19.3: +esbuild@>=0.17, esbuild@^0.19.2, esbuild@^0.19.3: version "0.19.12" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz" integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== @@ -2233,11 +2063,6 @@ estree-util-visit@^2.0.0: "@types/estree-jsx" "^1.0.0" "@types/unist" "^3.0.0" -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" @@ -3576,13 +3401,6 @@ lru-cache@^6.0.0: resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== -magic-string@^0.25.3: - version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - magic-string@^0.30.5: version "0.30.7" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz" @@ -4058,11 +3876,6 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" -mime@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" @@ -4116,24 +3929,6 @@ miniflare@^3.20231218.2: youch "^3.2.2" zod "^3.20.6" -miniflare@3.20240129.3: - version "3.20240129.3" - resolved "https://registry.npmjs.org/miniflare/-/miniflare-3.20240129.3.tgz" - integrity sha512-PCmLJ+UvtbpPj/fgNzTGbd+U5QBkt3akRNcdks9RBJU2SH+gUCp7iahsaI4GA344NX5MIbC6ctw1A6TfcA+aFA== - dependencies: - "@cspotcode/source-map-support" "0.8.1" - acorn "^8.8.0" - acorn-walk "^8.2.0" - capnp-ts "^0.7.0" - exit-hook "^2.2.1" - glob-to-regexp "^0.4.1" - stoppable "^1.1.0" - undici "^5.28.2" - workerd "1.20240129.0" - ws "^8.11.0" - youch "^3.2.2" - zod "^3.20.6" - minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -4218,7 +4013,7 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.3, nanoid@^3.3.7: +nanoid@^3.3.7: version "3.3.7" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -4235,11 +4030,6 @@ new-github-release-url@^1.0.0: dependencies: type-fest "^0.4.1" -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -4694,11 +4484,6 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@^6.2.0: - version "6.2.1" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz" - integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== - path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -4972,7 +4757,7 @@ remark-rehype@^11.0.0: unified "^11.0.0" vfile "^6.0.0" -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.22.4: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -5003,11 +4788,6 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve.exports@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - responselike@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" @@ -5072,29 +4852,6 @@ rollup@>=2, "rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0", rollup@^4.0.2, rollup@^4.2 "@rollup/rollup-linux-x64-gnu" "4.11.0" "@rollup/rollup-linux-x64-musl" "4.11.0" -rollup-plugin-inject@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz" - integrity sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w== - dependencies: - estree-walker "^0.6.1" - magic-string "^0.25.3" - rollup-pluginutils "^2.8.1" - -rollup-plugin-node-polyfills@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz" - integrity sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA== - dependencies: - rollup-plugin-inject "^3.0.0" - -rollup-pluginutils@^2.8.1: - version "2.8.2" - resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" @@ -5150,14 +4907,6 @@ scoped-regex@^2.0.0: resolved "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz" integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== -selfsigned@^2.0.1: - version "2.4.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - "semver@2 || 3 || 4 || 5": version "5.7.2" resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" @@ -5250,7 +4999,7 @@ slice-ansi@0.0.4: resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" integrity sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw== -source-map@0.6.1, source-map@^0.6.1: +source-map@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -5272,11 +5021,6 @@ source-map-js@^1.0.2: resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" @@ -6096,28 +5840,6 @@ workerd@1.20240129.0: "@cloudflare/workerd-linux-64" "1.20240129.0" "@cloudflare/workerd-windows-64" "1.20240129.0" -wrangler@^3.28.4: - version "3.28.4" - resolved "https://registry.npmjs.org/wrangler/-/wrangler-3.28.4.tgz" - integrity sha512-LDwW4KhplRhIEfQaZry8AMZIOTpkYZXLWjg1MDSC3a12BXSY37pXACmFxbZeg2TzcOi30j+KqwLfv15vCavIyA== - dependencies: - "@esbuild-plugins/node-globals-polyfill" "^0.2.3" - "@esbuild-plugins/node-modules-polyfill" "^0.2.2" - blake3-wasm "^2.1.5" - chokidar "^3.5.3" - esbuild "0.17.19" - nanoid "^3.3.3" - path-to-regexp "^6.2.0" - resolve "^1.22.8" - resolve.exports "^2.0.2" - selfsigned "^2.0.1" - source-map "0.6.1" - xxhash-wasm "^1.0.1" - "@cloudflare/kv-asset-handler" "0.3.1" - miniflare "3.20240129.3" - optionalDependencies: - fsevents "~2.3.2" - wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" @@ -6169,11 +5891,6 @@ xdg-basedir@^4.0.0: resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xxhash-wasm@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz" - integrity sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"