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

Labels

SDK - NodeAffects the Node SDKdependenciesPull requests that update a dependency file

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions