Skip to content

Latest commit

 

History

History

README.md

⚡ 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-plugin";
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.