Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(vitest-pool-workers): step-through debugging #8199

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

edmundhung
Copy link
Member

@edmundhung edmundhung commented Feb 19, 2025

Fixes #5391

This PR adds support of step-through debugging in your Workers tests. To enable it, uses Vitest debugging commands like npx vitest --inspect --no-file-parallelism or npx vitest --inspect-brk=127.0.0.1:3000 --no-file-parallelism. We will use the port specified and fallback to 9229 if not provided.

You can also enable debugging by starting a node inspector with vitest, such as running npx vitest inside a JavaScript Debug terminal in VSCode.

Once the inspector is open, you will need to attach a debugger as explained here. You can always override the inspector port with the inspectorPort option under poolOptions.


  • 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: no impact to wrangler
  • Public documentation
    • TODO (before merge)
    • Cloudflare docs PR(s):
    • Documentation not necessary because:

Copy link

changeset-bot bot commented Feb 19, 2025

⚠️ No Changeset found

Latest commit: ff92d70

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.

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

Copy link
Contributor

github-actions bot commented Feb 19, 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/13464689908/npm-package-wrangler-8199

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

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

Or you can use npx with this latest build directly:

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

cloudflare-workers-bindings-extension:

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

create-cloudflare:

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

@cloudflare/kv-asset-handler:

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

miniflare:

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

@cloudflare/pages-shared:

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

@cloudflare/unenv-preset:

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

@cloudflare/vite-plugin:

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

@cloudflare/vitest-pool-workers:

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

@cloudflare/workers-editor-shared:

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

@cloudflare/workers-shared:

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

@cloudflare/workflows-shared:

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

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


[email protected] 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/vitest-inpsector-port branch from 48871b5 to 0bcefa9 Compare February 21, 2025 14:37
@edmundhung edmundhung changed the title feat(vitest-pool-workers): allows setting inspectorPort with single miniflare instance feat(vitest-pool-workers): step-through debugging Feb 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Untriaged
Development

Successfully merging this pull request may close these issues.

Support step-through debugging of Vitest tests
1 participant