Skip to content

fix(vitest-pool-workers): fetchMock support on auxiliary worker#8239

Merged
edmundhung merged 3 commits intomainfrom
edmundhung/fix-auxiliary-worker-fetch-mock-support
Feb 25, 2025
Merged

fix(vitest-pool-workers): fetchMock support on auxiliary worker#8239
edmundhung merged 3 commits intomainfrom
edmundhung/fix-auxiliary-worker-fetch-mock-support

Conversation

@edmundhung
Copy link
Member

@edmundhung edmundhung commented Feb 24, 2025

Fixes #5486.

In vitest-pool-workers, we parse the Miniflare options from poolOptions upfront before instantiating a Miniflare instance. This creates an issue with fetchMock: the Zod schema sets an outboundService based on the fetchMock option during the initial parse, and then runs again when a Miniflare instance is created. This results in an error because Miniflare does not accept having both fetchMock and outboundService simultaneously.

This fix removes the fetchMock option during the initial parse so that Miniflare only receives the outboundService.


  • Tests
    • TODO (before merge)
    • Tests included
    • Tests not necessary because:
  • Wrangler E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)
    • I don't know
    • Required
    • Not required because:
  • Public documentation
    • TODO (before merge)
    • Cloudflare docs PR(s):
    • Documentation not necessary because: bugfix

@changeset-bot
Copy link

changeset-bot bot commented Feb 24, 2025

⚠️ No Changeset found

Latest commit: 9e7b828

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Contributor

github-actions bot commented Feb 24, 2025

A wrangler prerelease is available for testing. You can install this latest build in your project with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-wrangler-8239

You can reference the automatically updated head of this PR with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/8239/npm-package-wrangler-8239

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-wrangler-8239 dev path/to/script.js
Additional artifacts:

cloudflare-workers-bindings-extension:

wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-workers-bindings-extension-8239 -O ./cloudflare-workers-bindings-extension.0.0.0-v079354fe6.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-v079354fe6.vsix

create-cloudflare:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-create-cloudflare-8239 --no-auto-update

@cloudflare/kv-asset-handler:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-kv-asset-handler-8239

miniflare:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-miniflare-8239

@cloudflare/pages-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-pages-shared-8239

@cloudflare/unenv-preset:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-unenv-preset-8239

@cloudflare/vite-plugin:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-vite-plugin-8239

@cloudflare/vitest-pool-workers:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-vitest-pool-workers-8239

@cloudflare/workers-editor-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-workers-editor-shared-8239

@cloudflare/workers-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-workers-shared-8239

@cloudflare/workflows-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13503957529/npm-package-cloudflare-workflows-shared-8239

Note that these links will no longer work once the GitHub Actions artifact expires.


wrangler@3.109.3 includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20250214.0
workerd 1.20250214.0 1.20250214.0
workerd --version 1.20250214.0 2025-02-14

Please ensure constraints are pinned, and miniflare/workerd minor versions match.

@edmundhung edmundhung force-pushed the edmundhung/fix-auxiliary-worker-fetch-mock-support branch from f797c4b to 3ffc4cd Compare February 24, 2025 17:03
@edmundhung edmundhung force-pushed the edmundhung/fix-auxiliary-worker-fetch-mock-support branch from 3ffc4cd to 9e7b828 Compare February 24, 2025 17:05
@edmundhung edmundhung marked this pull request as ready for review February 24, 2025 17:33
@edmundhung edmundhung requested a review from a team as a code owner February 24, 2025 17:33
@edmundhung edmundhung added the e2e Run wrangler + vite-plugin e2e tests on a PR label Feb 24, 2025
@edmundhung edmundhung merged commit 6cae13a into main Feb 25, 2025
26 of 28 checks passed
@edmundhung edmundhung deleted the edmundhung/fix-auxiliary-worker-fetch-mock-support branch February 25, 2025 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e2e Run wrangler + vite-plugin e2e tests on a PR

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

🐛 BUG: Incorrectly erroring for multiple outbound mocks for vitest pool worker

2 participants