Skip to content

Remove the engines.node field - #2443

Merged
spaceninja merged 1 commit into
mainfrom
remove-engines-field
Aug 24, 2026
Merged

Remove the engines.node field#2443
spaceninja merged 1 commit into
mainfrom
remove-engines-field

Conversation

@spaceninja

Copy link
Copy Markdown
Member

Overview

package.json declared engines.node: ">=12.16.3", which npm uses to warn on or refuse an install. Nothing we publish runs on Node — the package ships CSS, Sass, Twig templates, assets and a browser bundle — so the field never described a real requirement, and the floor it set was inherited rather than chosen. Dropping it can only loosen who is able to install us, so it lands as a patch.

The matching .renovaterc.json rule goes with it. That rule was added in the same PR (#689) that created the field, purely to stop Renovate from pinning engines.node; since we declare no peerDependencies either, with engines gone it matches nothing at all. .nvmrc and the pinned node-version in the CI workflows are what actually control our development and CI environment, and neither is affected. The eslint-plugin-nversion setting also stays — that is the right home for "what Node do we develop on" — but its comment no longer describes engines.node as a field we declare.

Screenshots

Testing

Nothing here changes how the library renders, so the check is on the published metadata:

  • Run npm pack and unpack the resulting tarball (or run npm pack --dry-run).
  • Open the package.json inside it — there should be no engines block, and everything else about the packed file list should look the same as before.
  • Run npm start and confirm Storybook still boots and serves the library normally. Nothing should have changed about local development.

Nothing in the published files runs on Node, so the field only ever gated
installation -- on a >=12.16.3 floor nobody chose. Its matching Renovate
rule goes with it: that rule existed to stop Renovate pinning engines.node,
and we declare no peerDependencies, so it now matches nothing.
The eslint-plugin-n `version` setting stays, since that is where the Node
version we develop on belongs; its comment no longer describes engines.node
as something we declare.
@changeset-bot

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9b006c0

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

This PR includes changesets to release 1 package
NameType
@cloudfour/patternsPatch

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

@netlify

netlifyBot commented Aug 24, 2026

Copy link
Copy Markdown

Deploy Preview for cloudfour-patterns ready!

NameLink
🔨 Latest commit9b006c0
🔍 Latest deploy loghttps://app.netlify.com/projects/cloudfour-patterns/deploys/6a8c74c40ebbca00087bf2af
😎 Deploy Previewhttps://deploy-preview-2443--cloudfour-patterns.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@spaceninja
spaceninja merged commit 5a65202 into mainAug 24, 2026
8 checks passed
@spaceninja
spaceninja deleted the remove-engines-field branch August 24, 2026 16:53
@github-actionsgithub-actionsBot mentioned this pull request Aug 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decide what engines.node is for, or remove it

1 participant

@spaceninja