__Note:__ while the `dev` script is optimal for local development you should
preview your Pages application as well (periodically or before deployments) in
order to make sure that it can properly work in the Pages environment (for more
details see the [`@cloudflare/next-on-pages` recommended
workflow](https://github.com/cloudflare/next-on-pages/blob/05b6256/internal-packages/next-dev/README.md#recommended-workflow))
To use bindings in dev mode you need to define them in the `next.config.js`
file under `setupDevBindings`, this mode uses the `next-dev`
`@cloudflare/next-on-pages` submodule. For more details see its
[documentation](https://github.com/cloudflare/next-on-pages/blob/05b6256/internal-packages/next-dev/README.md).
Previously, Miniflare provided experimental `unsafeDirectHost` and
`unsafeDirectPort` options for starting an HTTP server that pointed directly to
a specific Worker. This change replaces these options with a single
`unsafeDirectSockets` option that accepts an array of socket objects of the
form `{ host?: string, port?: number, entrypoint?: string, proxy?: boolean }`.
`host` defaults to `127.0.0.1`, `port` defaults to `0`, `entrypoint` defaults
to `default`, and `proxy` defaults to `false`. This allows you to start HTTP
servers for specific entrypoints of specific Workers. `proxy` controls the
[`Style`](https://github.com/cloudflare/workerd/blob/af35f1e7b0f166ec4ca93a8bf7daeacda029f11d/src/workerd/server/workerd.capnp#L780-L789)
of the socket.
[`struct Binding` in
`workerd.capnp`](https://github.com/cloudflare/workerd/blob/2ea29ab934c3a07f8fb2174ce3869d98e13d3515/src/workerd/server/workerd.capnp#L292)
[`struct Service` in
`workerd.capnp`](https://github.com/cloudflare/workerd/blob/2ea29ab934c3a07f8fb2174ce3869d98e13d3515/src/workerd/server/workerd.capnp#L135)
[wrapped
bindings](https://github.com/cloudflare/workerd/blob/bfcef2d850514c569c039cb84c43bc046af4ffb9/src/workerd/server/workerd.capnp#L469-L487)
into this Worker.
* and attributes to be rendered. See
* https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296
// TODO(soon): see if we can get `startViteNode()`
// (https://github.com/vitest-dev/vitest/blob/8d183da4f7cc2986d11c802d16bacd221fb69b96/packages/vitest/src/runtime/execute.ts#L45)
There's some interference between our data fetching library `undici` and node
18's new `fetch` and co. (powered by `undici` internally) which replaces the
filename of `File`s attached to `FormData`s with a generic `blob` (likely this
code -
https://github.com/nodejs/undici/blob/615f6170f4bd39630224c038d1ea5bf505d292af/lib/fetch/formdata.js#L246-L250).
It's still not clear why it does so, and it's hard to make an isolated example
of this.
// args["legacy-env"] in
// https://github.com/cloudflare/workers-sdk/blob/b24aeb5722370c2e04bce97a84a1fa1e55725d79/packages/wrangler/src/config/validation.ts#L94-L98
Which Cloudflare product(s) does this pertain to?
C3, Wrangler core, Miniflare, Workers Vitest Integration, Other
What version(s) of the tool(s) are you using?
N/A
What version of Node are you using?
v20.14.0
What operating system and version are you using?
Debian 12
Describe the Bug
Observed behavior
Many files contain links to github documentation which are outdated because they are hash links instead of branch links.
Expected behavior
Self-referencing documentation should always point to the most up-to-date version.
Steps to reproduce
I found this after a fresh installation of next.js using C3 where the instructions in the file did not match the instructions in Cloudflare's docs.
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
https://github.com/cloudflare/workers-sdk/tree/main/packages/create-cloudflare/templates/next/c3.ts#L66
https://github.com/cloudflare/workers-sdk/tree/main/packages/create-cloudflare/templates/next/README.md#L26
https://github.com/cloudflare/workers-sdk/tree/main/packages/create-cloudflare/templates/next/README.md#L34
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CHANGELOG.md#L279
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CHANGELOG.md#L711
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CONTRIBUTING.md#L109
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CONTRIBUTING.md#L134
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L334
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L338
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L342
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L355
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L763
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/index.ts#L543
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/index.ts#L564
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/index.ts#L638
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/merge.ts#L3
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/errors/callsite.ts#L101
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/errors/callsite.ts#L2
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/index.ts#L72
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/modules.ts#L174
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/shared/index.ts#L190
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/runtime/index.ts#L83
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/shared/log.ts#L121
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/shared/matcher.ts#L9
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/shared/types.ts#L14
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L63
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L64
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L79
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L80
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/proxy.worker.ts#L50
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/kv/sites.worker.ts#L29
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/bucket.worker.ts#L1049
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/bucket.worker.ts#L1050
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/bucket.worker.ts#L682
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L295
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L297
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L299
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L301
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L73
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/shared/data.ts#L15
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/shared/zod.worker.ts#L5
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/index.spec.ts#L545
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L264
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L315
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L347
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L424
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L503
https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L883
https://github.com/cloudflare/workers-sdk/tree/main/packages/quick-edit-extension/vscode.d.ts#L2964
https://github.com/cloudflare/workers-sdk/tree/main/packages/quick-edit/patches/0001-Add-Custom-workbench-for-Cloudflare.patch#L308
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/config/index.ts#L126
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/config/index.ts#L24
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/pool/index.ts#L1032
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/pool/module-fallback.ts#L289
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/entrypoints.ts#L53
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/index.ts#L275
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/index.ts#L87
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/mlly.ts#L9
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/node/http.cts#L1
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/node/url.ts#L44
https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/node/url.ts#L5
https://github.com/cloudflare/workers-sdk/tree/main/packages/workers-playground/src/QuickEditor/module-collection.ts#L1
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/bin/wrangler.js#L59
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/CHANGELOG.md#L4895
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/CHANGELOG.md#L4896
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/CHANGELOG.md#L6041
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/d1/splitter.ts#L6
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/dev/miniflare.ts#L84
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/https-options.ts#L10
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/index.ts#L120
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/index.ts#L844
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/package-manager.ts#L199
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/package-manager.ts#L200
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/sites.ts#L315
https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/sourcemap.ts#L265
https://github.com/cloudflare/workers-sdk/tree/main/templates/examples/youtube-thumbnail-with-images/src/index.js#L17