Skip to content

📦 Bump Node.js version minimum#2716

Merged
agoose77 merged 5 commits into
mainfrom
chore-bump-versions
Feb 25, 2026
Merged

📦 Bump Node.js version minimum#2716
agoose77 merged 5 commits into
mainfrom
chore-bump-versions

Conversation

@agoose77

@agoose77 agoose77 commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

Node.js 20 is the "oldest" supported Node.js runtime. We should follow suit.

This was motivated by seeing CI failures in myst-theme, which uses experimental features in Node 18. We should keep the two projects in sync.

@changeset-bot

changeset-bot Bot commented Feb 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 3a18fab

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

This PR includes changesets to release 5 packages
Name Type
citation-js-utils Patch
myst-cli Patch
jtex Patch
mystmd Patch
myst-migrate 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

if major_version < 20:
raise SystemExit(
f"MyST requires node 18, 20, or 22+; you are running node {major_version}.\n\n"
f"MyST requires Node.js >= 20; you are running node {major_version}.\n\n"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@rowanc1 I implemented this check for LTS-like versions.

My feeling is that rather than imposing too strict a check here, we just require a "new-enough" version, and handle any problems for specific non-LTS versions in our issue tracker.

That will make it easier to keep updating this. Long-term, we can pull this from package.json

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yeah, I like this better.

@rowanc1 rowanc1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks good, thanks @agoose77!

if major_version < 20:
raise SystemExit(
f"MyST requires node 18, 20, or 22+; you are running node {major_version}.\n\n"
f"MyST requires Node.js >= 20; you are running node {major_version}.\n\n"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yeah, I like this better.

@agoose77 agoose77 added the maintenance Refactoring or maintenance of a code or function label Feb 25, 2026

@choldgraf choldgraf left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for keeping this updated! The tests are happy and I love the idea of dropping support for whatever historical deps we can 😅

@agoose77 agoose77 merged commit ef5a928 into main Feb 25, 2026
19 of 22 checks passed
@agoose77 agoose77 deleted the chore-bump-versions branch February 25, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Refactoring or maintenance of a code or function

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants