cloudflare / workers-sdk

⛅️ Home to Wrangler, the CLI for Cloudflare Workers®
https://developers.cloudflare.com/workers/
Apache License 2.0
2.6k stars 674 forks source link

fix: hybrid nodejs compat now supports requiring the default export of a CJS module #6039

Closed petebacondarwin closed 3 months ago

petebacondarwin commented 3 months ago

What this PR solves / how to test

Fixes #6028

There is a change to the nodejs_hybrid_app fixture that demonstrates the problem and the fix. Without this fix you get:

✘ [ERROR] service core:user:nodejs-hybrid-app: Uncaught TypeError: Stream2 is not a constructor

    at null.<anonymous> (index.js:8765:14) in src/dep.cjs
    at null.<anonymous> (index.js:19:50) in __require2
    at null.<anonymous> (index.js:8788:26)

Author has addressed the following

changeset-bot[bot] commented 3 months ago

🦋 Changeset detected

Latest commit: 9446081f0fc01d16e15360e06fc43bf0d28f0b69

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages | Name | Type | | ------------------------------- | ----- | | wrangler | Patch | | @cloudflare/vitest-pool-workers | Patch |

Not sure what this means? Click here to learn what changesets are.

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

github-actions[bot] commented 3 months ago

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/9516952593/npm-package-wrangler-6039

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

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

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/9516952593/npm-package-wrangler-6039 dev path/to/script.js
Additional artifacts: ```sh npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/9516952593/npm-package-create-cloudflare-6039 --no-auto-update ``` ```sh npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/9516952593/npm-package-cloudflare-kv-asset-handler-6039 ``` ```sh npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/9516952593/npm-package-miniflare-6039 ``` ```sh npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/9516952593/npm-package-cloudflare-pages-shared-6039 ``` ```sh npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/9516952593/npm-package-cloudflare-vitest-pool-workers-6039 ``` Note that these links will no longer work once [the GitHub Actions artifact expires](https://docs.github.com/en/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization).

wrangler@3.60.3 includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20240610.0
workerd 1.20240610.1 1.20240610.1
workerd --version 1.20240610.1 2024-06-10

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

holopin-bot[bot] commented 3 months ago

Congratulations @petebacondarwin, you just earned a holobyte! Here it is: https://holopin.io/holobyte/clxevgqu507790clblqjq70cb

This badge can only be claimed by you, so make sure that your GitHub account is linked to your Holopin account. You can manage those preferences here: https://holopin.io/account. Or if you're new to Holopin, you can simply sign up with GitHub, which will do the trick!