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
⚡ 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?modulefrom 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.