About this project

Dropzone is a JavaScript library that turns any HTML element into a dropzone: users can drag and drop files onto it, and the library displays file previews and upload progress while handling the upload via XHR. It is written in TypeScript and ships its own type definitions, so no separate @types package is needed. The README notes that the old @types/dropzone stopped at 5.7.9 and describes the v5 API, so it should be removed if present. Installation is via npm (npm install dropzone) or pnpm, and it can be used as an ES6 module or CommonJS module. For projects without a package manager or bundler, standalone files are available from unpkg, exposing Dropzone as a global variable, along with a stylesheet. Documented features include: attractive default styling; image thumbnail previews via a thumbnail(file, data) callback; high-DPI screen support; multiple files and synchronous uploads; progress updates; support for large files through chunked uploads; Amazon S3 Multipart upload support; complete theming by overwriting default event listeners; and browser-side image resizing before upload. The README states the library is well tested. The repository is a monorepo containing the library published to npm as dropzone (packages/dropzone), documentation built with Docusaurus (apps/docs), and the website built with SvelteKit (apps/website). Development commands include pnpm install, pnpm build, pnpm test, pnpm test:e2e, pnpm dev:docs and pnpm dev:website. A single pnpm build:site command produces the deployable GitHub Pages site in _site/, combining the website at the root and documentation under /docs; CI runs the same script. Dropzone 6 does not support Internet Explorer; version 5.9.3 is suggested for that need. Community support is directed to GitHub Discussions or Stack Overflow with the dropzone.js tag rather than the issue tracker, which is reserved for bug reports. The project is MIT licensed.