-
Notifications
You must be signed in to change notification settings - Fork 757
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
[miniflare] fix: ensure magic proxy works when starting on non-local host
s, and IPv6 addresses can be used as host
s
#5133
Conversation
🦋 Changeset detectedLatest commit: 5c813e6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 4 packages
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 |
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/8112124723/npm-package-wrangler-5133 You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/5133/npm-package-wrangler-5133 Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/8112124723/npm-package-wrangler-5133 dev path/to/script.js Additional artifacts:npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/8112124723/npm-package-create-cloudflare-5133 --no-auto-update npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/8112124723/npm-package-cloudflare-kv-asset-handler-5133 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/8112124723/npm-package-miniflare-5133 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/8112124723/npm-package-cloudflare-pages-shared-5133 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/8112124723/npm-package-cloudflare-vitest-pool-workers-5133 Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
c9d9ed1
to
5c813e6
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5133 +/- ##
==========================================
+ Coverage 70.32% 70.38% +0.06%
==========================================
Files 298 298
Lines 15542 15542
Branches 3999 3999
==========================================
+ Hits 10930 10940 +10
+ Misses 4612 4602 -10 |
@@ -174,7 +181,7 @@ function validateOptions( | |||
// Initialise return values | |||
const pluginSharedOpts = {} as PluginSharedOptions; | |||
const pluginWorkerOpts = Array.from(Array(workerOpts.length)).map( | |||
() => ({} as PluginWorkerOptions) | |||
() => ({}) as PluginWorkerOptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this makes any difference, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so, just formatted with a different version of Prettier I guess.
What this PR solves / how to test
Fixes #4993.
Previously, if Miniflare was configured to start on a
host
that wasn't127.0.0.1
,::1
,*
,::
, or0.0.0.0
, calls toMiniflare
API methods relying on the magic proxy (e.g.getKVNamespace()
,getWorker()
, etc.) would fail. This change ensuresworkerd
is always accessible to Miniflare's internals, by configuringworkerd
with an additional local-only entry socket in this case. An unrelated issue meant if Miniflare was configured to start on an IPv6host
, it could crash. This change also ensures IPv6 addresses are handled correctly.This means
wrangler dev
can now use local network and IPv6 address such as192.168.0.10
and::1
with the--ip
flag.To test this, run
wrangler dev --ip ::1
infixtures/worker-app
. Useifconfig
to find your local network IP, and try that out with the--ip
flag too.Author has addressed the following