Skip to content

@dropbox/sign Node SDK uses deprecated util.isArray API causing deprecation warnings #520

@patrickcbrady

Description

@patrickcbrady

Description

The @dropbox/sign package (version 1.10.0) bundles form-data directly into its dist file (dist/api.js), and the bundled code uses the deprecated util.isArray API, which causes Node.js deprecation warnings.

Steps to Reproduce

  1. Install @dropbox/sign@1.10.0
  2. Use the SDK to create a signature request (e.g., signatureRequestSend)
  3. Run the code with Node.js 18+ (or any version that shows deprecation warnings)

Expected Behavior

No deprecation warnings should appear.

Actual Behavior

The following deprecation warning appears:

(node:xxxxx) [DEP0044] DeprecationWarning: The util.isArray API is deprecated. Please use Array.isArray() instead.
at FormData3.append (/path/to/node_modules/@dropbox/sign/dist/api.js:9176:17)

Location

The issue is in the bundled form-data code within dist/api.js at line 9176:

if (util3.isArray(value)) {

Suggested Fix

Replace util3.isArray(value) with Array.isArray(value) in the bundled code. This matches the fix that was already applied in the form-data package itself (see form-data/form-data#567).

Additional Context

  • The form-data package itself has been fixed (version 4.0.5+ uses Array.isArray)
  • However, since @dropbox/sign bundles form-data directly, updating the form-data dependency doesn't resolve the issue
  • This is a non-breaking change that only affects the deprecation warning

Environment

  • @dropbox/sign: 1.10.0
  • Node.js: 18+ (tested on v18.20.4 and v22+)
  • OS: macOS, Debian

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