cloudflare / workers-sdk

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

🐛 BUG: Readme's contain commit hashed links instead of using links from /main/ #6094

Open theTyster opened 1 week ago

theTyster commented 1 week ago

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/next-on-pages/blob/5712c57ea7/internal-packages/next-dev/README.md

https://github.com/cloudflare/workers-sdk/tree/main/packages/create-cloudflare/templates/next/README.md#L26

__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))

https://github.com/cloudflare/workers-sdk/tree/main/packages/create-cloudflare/templates/next/README.md#L34

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).

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CHANGELOG.md#L279

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.

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CHANGELOG.md#L711

`workerd`'s [wrapped
bindings](https://github.com/cloudflare/workerd/blob/bfcef2d850514c569c039cb84c43bc046af4ffb9/src/workerd/server/workerd.capnp#L469-L487).

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CONTRIBUTING.md#L109

[`struct Binding` in
`workerd.capnp`](https://github.com/cloudflare/workerd/blob/2ea29ab934c3a07f8fb2174ce3869d98e13d3515/src/workerd/server/workerd.capnp#L292)

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/CONTRIBUTING.md#L134

[`struct Service` in
`workerd.capnp`](https://github.com/cloudflare/workerd/blob/2ea29ab934c3a07f8fb2174ce3869d98e13d3515/src/workerd/server/workerd.capnp#L135)

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L334

[`workerd` `Network`
struct](https://github.com/cloudflare/workerd/blob/bdbd6075c7c53948050c52d22f2dfa37bf376253/src/workerd/server/workerd.capnp#L555-L598),

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L338

[`workerd` `ExternalServer`
struct](https://github.com/cloudflare/workerd/blob/bdbd6075c7c53948050c52d22f2dfa37bf376253/src/workerd/server/workerd.capnp#L504-L553),

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L342

[`workerd` `DiskDirectory`
struct](https://github.com/cloudflare/workerd/blob/bdbd6075c7c53948050c52d22f2dfa37bf376253/src/workerd/server/workerd.capnp#L600-L643),

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L355

[wrapped
bindings](https://github.com/cloudflare/workerd/blob/bfcef2d850514c569c039cb84c43bc046af4ffb9/src/workerd/server/workerd.capnp#L469-L487)
into this Worker.

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/README.md#L763

[`service_binding_extra_handlers`](https://github.com/cloudflare/workerd/blob/1d9158af7ca1389474982c76ace9e248320bec77/src/workerd/io/compatibility-date.capnp#L290-L297)

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/index.ts#L543

// https://github.com/cloudflare/miniflare/blob/9c135599dc21fe69080ada17fce6153692793bf1/packages/core/src/standards/http.ts#L129-L132

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/index.ts#L564

// Reverse of
// https://github.com/nodejs/undici/blob/48d9578f431cbbd6e74f77455ba92184f57096cf/lib/fetch/index.js#L1660

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/index.ts#L638

// https://github.com/nodejs/undici/blob/dfaec78f7a29f07bb043f9006ed0ceb0d5220b55/lib/core/util.js#L369-L392

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/merge.ts#L3

https://github.com/Rich-Harris/devalue/blob/50af63e2b2c648f6e6ea29904a14faac25a581fc/src/utils.js#L31-L51

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/errors/callsite.ts#L101

https://github.com/felixge/node-stack-trace/blob/4c41a4526e74470179b3b6dd5d75191ca8c56c17/index.js

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/errors/callsite.ts#L2

https://github.com/felixge/node-stack-trace/blob/4c41a4526e74470179b3b6dd5d75191ca8c56c17/index.js

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/index.ts#L72

https://github.com/capnproto/capnproto/blob/6e26d260d1d91e0465ca12bbb5230a1dfa28f00d/c%2B%2B/src/kj/compat/tls.c%2B%2B#L745

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/core/modules.ts#L174

// https://github.com/cloudflare/workerd/blob/edcd0300bc7b8f56040d090177db947edd22f91b/src/workerd/io/compatibility-date.capnp#L237-L240

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/plugins/shared/index.ts#L190

https://github.com/cloudflare/workerd/blob/81d97010e44f848bb95d0083e2677bca8d1658b7/src/workerd/server/workerd-api.c%2B%2B#L436

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/runtime/index.ts#L83

// https://github.com/vadimdemedes/ink/blob/5d24ed8ada593a6c36ea5416f452158461e33ba5/readme.md#patchconsole

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/shared/log.ts#L121

Adapted from
https://github.com/chalk/ansi-regex/blob/02fa893d619d3da85411acc8fd4e2eea0e95a9d9/index.js

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/shared/matcher.ts#L9

// (https://github.com/fitzgen/glob-to-regexp/blob/2abf65a834259c6504ed3b80e85f893f8cd99127/index.js#L123-L127)

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/shared/types.ts#L14

https://github.com/colinhacks/zod/blob/59768246aa57133184b2cf3f7c2a1ba5c3ab08c3/README.md?plain=1#L1302-L1317

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L63

// https://github.com/cloudflare/workerd/blob/62b9ceee4c94d2b238692397dc4f604fef84f474/src/workerd/api/actor.h#L86

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L64

// https://github.com/cloudflare/workerd/blob/62b9ceee4c94d2b238692397dc4f604fef84f474/src/workerd/api/worker-rpc.h#L30

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L79

// https://github.com/cloudflare/workerd/blob/ae612f0563d864c82adbfa4c2e5ed78b547aa0a1/src/workerd/api/r2-bucket.h#L210

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/constants.ts#L80

// https://github.com/cloudflare/workerd/blob/ae612f0563d864c82adbfa4c2e5ed78b547aa0a1/src/workerd/api/r2-bucket.h#L263-L264

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/core/proxy.worker.ts#L50

https://github.com/Rich-Harris/devalue/blob/50af63e2b2c648f6e6ea29904a14faac25a581fc/src/utils.js#L31-L51

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/kv/sites.worker.ts#L29

https://github.com/cloudflare/workerd/blob/81d97010e44f848bb95d0083e2677bca8d1658b7/src/workerd/server/server.c%2B%2B#L860-L874

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/bucket.worker.ts#L1049

// -
// https://github.com/cloudflare/workerd/blob/e3479895a2ace28e4fd5f1399cea4c92291966ab/src/workerd/api/r2-rpc.c%2B%2B#L154-L156

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/bucket.worker.ts#L1050

// -
// https://github.com/cloudflare/workerd/blob/e3479895a2ace28e4fd5f1399cea4c92291966ab/src/workerd/api/r2-rpc.c%2B%2B#L188-L189

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/bucket.worker.ts#L682

// https://github.com/cloudflare/workerd/blob/c6f439ca37c5fa34acc54a6df79214ae029ddf9f/src/workerd/api/streams/internal.c%2B%2B#L169

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L295

// Optional:
// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L81

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L297

// Optional:
// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L113

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L299

// Optional:
// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L130

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L301

// Optional:
// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L140

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/r2/schemas.worker.ts#L73

https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-api.capnp

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/shared/data.ts#L15

* https://github.com/parshap/node-sanitize-filename/blob/209c39b914c8eb48ee27bcbde64b2c7822fdf3de/index.js#L4-L37

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/src/workers/shared/zod.worker.ts#L5

https://github.com/capnproto/capnproto/blob/6b5bcc2c6e954bc6e167ac581eb628e5a462a469/c%2B%2B/src/kj/encoding.c%2B%2B#L719-L720

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/index.spec.ts#L545

// https://github.com/cloudflare/workerd/blob/14b54764609c263ea36ab862bb8bf512f9b1387b/src/workerd/io/compatibility-date.capnp#L273-L278

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L264

// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L239-L265

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L315

// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L195-L201

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L347

// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L410-L420

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L424

// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L441-L520

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L503

// https://github.com/cloudflare/workerd/blob/4290f9717bc94647d9c8afd29602cdac97fdff1b/src/workerd/api/r2-bucket.c%2B%2B#L195-L201

https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare/test/plugins/r2/index.spec.ts#L883

// https://github.com/cloudflare/workerd/blob/44907df95f231a2411d4e9767400951e55c6eb4c/src/workerd/api/r2-bucket.c%2B%2B#L737

https://github.com/cloudflare/workers-sdk/tree/main/packages/quick-edit-extension/vscode.d.ts#L2964

* and attributes to be rendered. See
* https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296

https://github.com/cloudflare/workers-sdk/tree/main/packages/quick-edit/patches/0001-Add-Custom-workbench-for-Cloudflare.patch#L308

// https://github.com/microsoft/vscode/blob/159479eb5ae451a66b5dac3c12d564f32f454796/extensions/github-authentication/src/githubServer.ts#L50-L50

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/config/index.ts#L126

// https://github.com/vitest-dev/vitest/blob/8014614475afa880f4e583b166bb91dea5415cc6/packages/vitest/src/node/plugins/workspace.ts#L26

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/config/index.ts#L24

// https://github.com/nodejs/node/blob/71951a0e86da9253d7c422fa2520ee9143e557fa/lib/internal/structured_clone.js

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/pool/index.ts#L1032

//   (Vite statically analyses imports here:
//   https://github.com/vitejs/vite/blob/2649f40733bad131bc94b06d370bedc8f57853e2/packages/vite/src/node/plugins/importAnalysis.ts#L770)

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/pool/module-fallback.ts#L289

// (e.g.
// https://github.com/sindresorhus/p-limit/blob/f53bdb5f464ae112b2859e834fdebedc0745199b/package.json#L20)

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/entrypoints.ts#L53

// https://github.com/cloudflare/workerd/blob/9e915ed637d65adb3c57522607d2cd8b8d692b6b/src/workerd/io/worker.c%2B%2B#L1920-L1921

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/index.ts#L275

// TODO(soon): see if we can get `startViteNode()`
// (https://github.com/vitest-dev/vitest/blob/8d183da4f7cc2986d11c802d16bacd221fb69b96/packages/vitest/src/runtime/execute.ts#L45)

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/index.ts#L87

// (https://github.com/sinonjs/fake-timers/blob/c85ef142837afdbc732b0f73fdba30c3bd037965/src/fake-timers-src.js#L154)

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/mlly.ts#L9

https://github.com/unjs/mlly/blob/71563c22ec7dbf25672d46bc679619dbd65e79d2/src/cjs.ts#L34

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/node/http.cts#L1

https://github.com/nodejs/node/blob/b7d2827ce080f3a347db245a77fd14df12bb8750/lib/_http_server.js#L113C1-L177C3

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/node/url.ts#L44

// https://github.com/denoland/deno_std/blob/01a401c432fd5628efd3a4fafffdc14660efe9e2/node/url.ts#L1391

https://github.com/cloudflare/workers-sdk/tree/main/packages/vitest-pool-workers/src/worker/lib/node/url.ts#L5

// https://github.com/denoland/deno_std/blob/01a401c432fd5628efd3a4fafffdc14660efe9e2/node/url.ts#L1286

https://github.com/cloudflare/workers-sdk/tree/main/packages/workers-playground/src/QuickEditor/module-collection.ts#L1

Adapted from
https://github.com/cloudflare/workers-sdk/blob/0a77990457652af36c60c52bf9c38c3a69945de4/packages/wrangler/src/module-collection.ts

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/bin/wrangler.js#L59

semiver implementation via
https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/CHANGELOG.md#L4895

- [npm](https://github.com/npm/cli/blob/1415b4bdeeaabb6e0ba12b6b1b0cc56502bd64ab/lib/utils/config/definitions.js#L1945-L1979)

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/CHANGELOG.md#L4896

- [pnpm](https://github.com/pnpm/pnpm/blob/cd4f9341e966eb8b411462b48ff0c0612e0a51a7/packages/plugin-commands-script-runners/src/makeEnv.ts#L14)

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/CHANGELOG.md#L6041

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.

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/d1/splitter.ts#L6

* See
* https://github.com/ForbesLindesay/atdatabases/blob/103c1e7/packages/split-sql-query/src/index.ts

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/dev/miniflare.ts#L84

// https://github.com/cloudflare/workerd/blob/9e915ed637d65adb3c57522607d2cd8b8d692b6b/src/workerd/io/worker.c%2B%2B#L1920-L1921

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/https-options.ts#L10

See
https://github.com/cloudflare/miniflare/blob/870b401ef5/packages/http-server/src/plugin.ts#L313-L397

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/index.ts#L120

// args["legacy-env"] in
// https://github.com/cloudflare/workers-sdk/blob/b24aeb5722370c2e04bce97a84a1fa1e55725d79/packages/wrangler/src/config/validation.ts#L94-L98

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/index.ts#L844

// https://github.com/vadimdemedes/ink/blob/546fe16541fd05ad4e638d6842ca4cbe88b4092b/src/components/App.tsx#L138-L148

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/package-manager.ts#L199

* -
* [npm](https://github.com/npm/cli/blob/1415b4bdeeaabb6e0ba12b6b1b0cc56502bd64ab/lib/utils/config/definitions.js#L1945-L1979)

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/package-manager.ts#L200

* -
* [pnpm](https://github.com/pnpm/pnpm/blob/cd4f9341e966eb8b411462b48ff0c0612e0a51a7/packages/plugin-commands-script-runners/src/makeEnv.ts#L14)

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/sites.ts#L315

// https://github.com/nodejs/undici/blob/a3efc9814447001a43a976f1c64adc41995df7e3/lib/core/errors.js#L89

https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/src/sourcemap.ts#L265

https://github.com/felixge/node-stack-trace/blob/4c41a4526e74470179b3b6dd5d75191ca8c56c17/index.js

https://github.com/cloudflare/workers-sdk/tree/main/templates/examples/youtube-thumbnail-with-images/src/index.js#L17

"https://github.com/lauragift21/social-image-demo/blob/1ed9044463b891561b7438ecdecbdd9da48cdb03/assets/cover.png?raw=true";