uppy/packages/@uppy/react
Prakash 6af3667c8c chore(deps): upgrade jsdom 26→29 (migrate xhr-upload tests to MSW)
Bumps jsdom 26 → 29 across all packages' devDependencies, EXCEPT
@uppy/aws-s3 (left at 26 — that plugin is being rewritten and its deps are
handled separately on the rewrite branch).

jsdom 29 changed its XMLHttpRequest internals so that nock — which patches
Node's http module — can no longer intercept XHR upload requests in the
jsdom-env unit tests, causing timeouts / spurious network errors. Fixed by
migrating @uppy/xhr-upload's unit tests from nock to MSW (msw/node
setupServer), which intercepts at the XMLHttpRequest layer and works across
jsdom versions. nock is dropped from @uppy/xhr-upload's devDependencies.

Verified: full test suite 23/23 green, typecheck 83/83, biome clean.
2026-05-29 21:59:33 +05:30
..
src Add useImageEditor (#6122) 2026-01-29 11:13:12 +01:00
.npmignore @uppy/react: refactor to TS (#5012) 2024-03-27 11:03:34 +01:00
CHANGELOG.md [ci] release (#6166) 2026-02-03 11:08:41 +01:00
LICENSE Move React components to @uppy/react package. 2018-06-18 10:14:08 +02:00
package.json chore(deps): upgrade jsdom 26→29 (migrate xhr-upload tests to MSW) 2026-05-29 21:59:33 +05:30
README.md Fix links (#5492) 2024-10-29 13:54:00 +01:00
tsconfig.build.json add back framework wrappers for @uppy/status-bar (#5948) 2025-09-17 10:40:57 +02:00
tsconfig.json add back framework wrappers for @uppy/status-bar (#5948) 2025-09-17 10:40:57 +02:00
turbo.json Add useImageEditor (#6122) 2026-01-29 11:13:12 +01:00

@uppy/react

Uppy logo: a smiling puppy above a pink upwards arrow

npm version CI status for Uppy tests CI status for Companion tests CI status for browser tests

React component wrappers around Uppys officially maintained UI plugins.

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.

Example

/** @jsx React */
import React from 'react'
import Uppy from '@uppy/core'
import { DashboardModal } from '@uppy/react'

const uppy = new Uppy()

class Example extends React.Component {
  state = { open: false }

  render() {
    const { open } = this.state
    return (
      <DashboardModal
        uppy={uppy}
        open={open}
        onRequestClose={this.handleClose}
      />
    )
  }
  // ..snip..
}

Installation

$ npm install @uppy/react

Alternatively, you can also use this plugin in a pre-built bundle from Transloadits CDN: Smart CDN. In that case Uppy will attach itself to the global window.Uppy object. See the main Uppy documentation for instructions.

Documentation

Documentation for this plugin can be found on the Uppy website.

License

The MIT License.