Skip to content

@webos-tools/cli fails with Node.js 22 due to deprecated util.isDate API #28

@remisture

Description

@remisture

Bug Report

Description

The @webos-tools/cli package fails when running on Node.js version 22 due to the deprecated util.isDate API, causing installation commands to fail.

Environment

  • Node.js version: 22.18.0 (Latest LTS: Jod)
  • npm version: 10.9.3
  • @webos-tools/cli version: 3.2.1
  • OS: macOS 14.5.0 (Darwin 24.5.0)

Steps to Reproduce

  1. Install Node.js 22
  2. Install @webos-tools/cli: npm install -g @webos-tools/cli
  3. Try to install an app on a webOS device: ares-install app.ipk -d myDevice

Expected Behavior

The installation should complete successfully without deprecation warnings.

Actual Behavior

Installation fails with deprecation warning and error:

(node:58506) [DEP0047] DeprecationWarning: The util.isDate API is deprecated. Please use arg instanceof Date instead.
✖ Installing app.ipk on myDevice

Tested Versions

  • ❌ Node.js 22.16.0 - Fails
  • ❌ Node.js 22.18.0 (Latest LTS) - Fails
  • ✅ Node.js 20.19.1 - Works

Workaround

Downgrading to Node.js 20.x resolves the issue:

nvm use 20
npm install -g @webos-tools/cli

Additional Context

  • This affects all ares-* commands that perform operations on devices
  • The issue is specifically related to Node.js 22's deprecation of util.isDate (DEP0047)
  • All Node.js 22.x versions are affected, including the current LTS release
  • Commands work perfectly on Node.js 20.x

Suggested Fix

Replace deprecated util.isDate() calls with arg instanceof Date as recommended in the deprecation notice.

Impact

This prevents developers from using the current Node.js LTS version (22.x) with webOS development tools, forcing them to use older Node.js versions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions