Files
wehub-resource-sync 70bf21e064
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:30:11 +08:00
..

module-resolution

This fixture demonstrates that the Vitest integration correctly resolves modules, including:

  • A CommonJS package that requires a directory rather than a specific file.
  • An ESM dependency that imports *.wasm?module from the same directory.
  • A package without a main entrypoint or with browser field mapping, handled via Dependency Pre-Bundling.

Dependency Pre-Bundling

Dependency Pre-Bundling is a Vite feature that converts dependencies shipped as CommonJS or UMD into ESM. If you encounter module resolution issues—such as: Error: Cannot use require() to import an ES Module or Error: No such module—you can pre-bundle these dependencies using the deps.optimizer option:

import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
import { defineConfig } from "vitest/config";

export default defineConfig({
	plugins: [
		cloudflareTest({
			wrangler: { configPath: "./wrangler.jsonc" },
		}),
	],
	test: {
		deps: {
			optimizer: {
				ssr: {
					enabled: true,
					include: ["your-package-name"],
				},
			},
		},
	},
});

See our vitest config for an example of how we pre-bundled discord-api-types/v10 and @microlabs/otel-cf-workers.