Skip to content

Incorrect Node.js engines requirement: should be >=16 not >=22 #370

Description

@CCottle00

Summary

The package currently specifies "engines": { "node": ">=22" }, but this appears to be incorrect based on the actual runtime dependencies.

Analysis

The only runtime dependency is:

  • chalk@^5.3.0 which requires: "node": "^12.17.0 || ^14.13 || >=16.0.0"

The >=22 requirement appears to be based on devDependencies (like semantic-release@^24.1.2), but these are not installed when users consume this package.

Impact

This overly restrictive requirement blocks users running Node.js 16-21 from using design tokens, even though the package would work perfectly fine on those versions.

Evidence

$ npm view chalk@5.3.0 engines
{ node: '^12.17.0 || ^14.13 || >=16.0.0' }

$ npm view @aurodesignsystem/design-tokens@4.13.0 engines  
{ node: '>=22' }

Suggested Fix

Update the engines field to reflect actual runtime requirements:

{
  "engines": {
    "node": ">=16.0.0"
  }
}

Best Practice

The engines field should reflect the minimum Node.js version needed to use the package, not to develop it. Development requirements (Node.js 22+ for semantic-release) should be documented in README/CONTRIBUTING.md instead. The minimum engine dev dep for this pack is dictated by semantic-release engines which is actually 22.14.0

Workaround

Currently using package overrides to pin to an older version that works with Node.js 20.

Thanks for maintaining this package!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions