From acc9e87b2d48a1d0d959fd6a5568572bf82363f3 Mon Sep 17 00:00:00 2001 From: rutan Date: Tue, 13 Feb 2024 02:36:46 +0900 Subject: [PATCH 1/2] fix(dev-server): initialize Miniflare only on the first run --- .../src/cloudflare-pages/cloudflare-pages.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/dev-server/src/cloudflare-pages/cloudflare-pages.ts b/packages/dev-server/src/cloudflare-pages/cloudflare-pages.ts index 332e8ab..c4c3d09 100644 --- a/packages/dev-server/src/cloudflare-pages/cloudflare-pages.ts +++ b/packages/dev-server/src/cloudflare-pages/cloudflare-pages.ts @@ -21,13 +21,15 @@ const nullScript = 'export default { fetch: () => new Response(null, { status: 4 let mf: Miniflare | undefined = undefined export const getEnv: GetEnv = (options) => async () => { - // Dynamic import Miniflare for environments like Bun. - const { Miniflare } = await import('miniflare') - mf = new Miniflare({ - modules: true, - script: nullScript, - ...options, - }) + if (!mf) { + // Dynamic import Miniflare for environments like Bun. + const { Miniflare } = await import('miniflare') + mf = new Miniflare({ + modules: true, + script: nullScript, + ...options, + }) + } const env = { ...(await mf.getBindings()), @@ -48,6 +50,7 @@ export const getEnv: GetEnv = (options) => async () => { export const disposeMf = async () => { mf?.dispose() + mf = undefined } const plugin = (options?: Options): Plugin => { From a083183d3857821709112cdfaf13b63c17f707aa Mon Sep 17 00:00:00 2001 From: rutan Date: Tue, 13 Feb 2024 12:46:18 +0900 Subject: [PATCH 2/2] add changeset --- .changeset/five-emus-develop.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/five-emus-develop.md diff --git a/.changeset/five-emus-develop.md b/.changeset/five-emus-develop.md new file mode 100644 index 0000000..2357183 --- /dev/null +++ b/.changeset/five-emus-develop.md @@ -0,0 +1,5 @@ +--- +"@hono/vite-dev-server": patch +--- + +fix: initialize Miniflare only on the first run