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

Document Wrangler's OS & Node support policy #17513

Open
wants to merge 3 commits into
base: production
Choose a base branch
from

Conversation

penalosa
Copy link
Contributor

@penalosa penalosa commented Oct 14, 2024

Summary

This adds a documented OS and Node version support policy for Wrangler, which we didn't previously have explicitly documented.

The Node version support policy is potentially controversial.

@github-actions github-actions bot added size/s and removed size/xs labels Oct 14, 2024

Wrangler supports the [Current, Active, and Maintenance](https://nodejs.org/en/about/previous-releases) versions of Node.js. We aim not to break older versions of Node.js, but occasionally will due to features that are unavailable in older version of Node.js or security patches.

For most Wrangler features to work, your operating system needs to support `workerd`, the open source Cloudflare Workers runtime. `workerd`'s OS support policy is listed in it's [GitHub README](https://github.com/cloudflare/workerd?tab=readme-ov-file#running-workerd).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we just state this upfront here, rather than linking somewhere else? And simplify?

This doesn't include Windows, should it?


<Details header="Wrangler System Requirements">

Wrangler supports the [Current, Active, and Maintenance](https://nodejs.org/en/about/previous-releases) versions of Node.js. We aim not to break older versions of Node.js, but occasionally will due to features that are unavailable in older version of Node.js or security patches.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we be explicit that we are talking about the requirements of the CLI and not the requirements of your application?

Just thinking about how people can easily assume their app is running Node.js.

src/content/docs/workers/wrangler/install-and-update.mdx Outdated Show resolved Hide resolved
@penalosa
Copy link
Contributor Author

@irvinebroque I've reworded—how does that look?

Copy link
Contributor

@Cherry Cherry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Up to this point, wrangler has advertised support for Node.js 16+.

While I’m generally in favour of a change like this, allowing wrangler to target newer ecosystem features, I feel that a v4 needs to be cut to drop Node.js 16 support and move over to this new policy moving forward?

@DaniFoldi
Copy link
Contributor

Hi 👋,

I have to agree with James here. This is a solution we've discussed on Discord before, and even though it's the one I'd choose personally (as opposed to bumping major just for minimum supported nodejs even when nothing would break, which is marginally safer but look at the adoption of ts 4.9 vs ts 5.0 even though 4.9 was no less breaking), it's one that is not compatible with the current version's policy - 16.13.0 has been explicitly mentioned in a lot of docs.

Fortunately, if the only breaking changes are to use a more recent nodejs version, and hopefully an esbuild bump (and the natural removal of some deprecated features), it will be a much easier migration for most people 🤞and the aforementioned version fragmentation won't be as bad. The longer deprecated v3 features are kept in the code/docs, the worse the migration will be, when the time comes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
product:workers Related to Workers product size/s
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants