Skip to content

isbinaryfile@6.0.0 requires Node >= 24, breaking installs on Node 22Β #18264

@JoseGoncalves

Description

@JoseGoncalves

Description

@quasar/app-vite@2.5.3 declares engines.node: ^30 || ^28 || ^26 || ^24 || ^22, so Node 22 is an officially supported version.

However, it depends on isbinaryfile@^6.0.0. The only version matching that range is 6.0.0, which declares engines.node >= 24.0.0. This is inconsistent β€” a transitive dependency requires a higher Node version than the package itself supports.

This causes an EBADENGINE warning on every npm install for projects running Node 22:

npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: 'isbinaryfile@6.0.0',
npm warn EBADENGINE   required: { node: '>= 24.0.0' },
npm warn EBADENGINE   current: { node: 'v22.22.1', npm: '11.12.0' }
npm warn EBADENGINE }

Projects using npm install --engine-strict or CI pipelines that treat warnings as errors will fail outright.

Suggested fix

Relax the isbinaryfile dependency to ^5.0.7 (which supports Node >= 18), or pin to a version compatible with Node 22, until isbinaryfile releases a version that aligns with @quasar/app-vite's own engine range.

Workaround

Add an npm override in the consuming project's package.json:

"overrides": {
  "isbinaryfile": "~5.0.7"
}

Environment

  • @quasar/app-vite: 2.5.3
  • Node: 22.22.1
  • npm: 11.12.0
  • OS: Linux (Ubuntu)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions