Skip to content

Miniflare fails to parse worker scripts containing the using keyword #12929

@cloudkite

Description

@cloudkite

What versions & operating system are you using?

Versions: miniflare 4.20260312.1, workerd 1.20260312.1, vite 8

Please provide a link to a minimal reproduction

see below

Describe the Bug

// minimal repro
import { Miniflare } from "miniflare";

  let mf = new Miniflare({
    modules: true,
    script: `
      export default {
        async fetch() {
          using x = { value: "hello", [Symbol.dispose]() {} };
          return new Response(x.value);
        }
      };
    `,
  });

  await mf.dispatchFetch("http://localhost");
  // MiniflareCoreError [ERR_MODULE_PARSE]: Unable to parse "script-0": Unexpected token (4:10)

Some of our test suites reference the build ouput of other workers. This error only happens if we upgrade to vite 8, so maybe vite 7 downleveled using statements?

// vitest.config.ts

export default defineConfig({
  plugins: [
    cloudflareTest({
      wrangler: { configPath: "./wrangler.jsonc", environment: "test" },
      miniflare: {
        workers: [
          {
            name: "db-worker-test",
            modules: true,
            scriptPath: "../db-worker/build/server/index.js",
            modulesRules: [{ type: "Text", include: ["**/*.sql"] }],
            compatibilityDate: "2026-01-03",
            compatibilityFlags: ["nodejs_compat"],
          },
        ],
      },
    }),
  ],
});

Please provide any relevant error logs

MiniflareCoreError [ERR_MODULE_PARSE]: Unable to parse "packages/db-worker/build/server/index.js": Unexpected token (18657:8)
    at /Users/jonas/Projects/promptify/packages/db-worker/build/server/index.js:18657:8
 ❯ packages/db-worker/build/server/index.js:18657:8
 ❯ ModuleLocator.#visitJavaScriptModule node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:70719:13
 ❯ ModuleLocator.visitEntrypoint node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:70699:32
 ❯ getWorkerScript node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:72909:13
 ❯ Object.getServices node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:72498:26
 ❯ _Miniflare.#assembleConfig node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:82345:55
 ❯ _Miniflare.#assembleAndUpdateConfig node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:82528:20
 ❯ Mutex.runWith node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:52466:48
 ❯ _Miniflare.#waitForReady node_modules/.pnpm/miniflare@4.20260312.1/node_modules/miniflare/dist/src/index.js:82667:5
 ❯ getProjectMiniflare node_modules/.pnpm/@cloudflare+vitest-pool-workers@0.13.1_@vitest+runner@4.1.0_@vitest+snapshot@4.1.0_vitest@4.1.0/node_modules/@cloudflare/vitest-pool-workers/dist/pool/index.mjs:2854:2
 ❯ CloudflarePoolWorker.start node_modules/.pnpm/@cloudflare+vitest-pool-workers@0.13.1_@vitest+runner@4.1.0_@vitest+snapshot@4.1.0_vitest@4.1.0/node_modules/@cloudflare/vitest-pool-workers/dist/pool/index.mjs:2367:13

Metadata

Metadata

Labels

Type

No fields configured for Bug.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions