MCPcopy
hub / github.com/elninotech/uppload

github.com/elninotech/uppload @v3.2.1 sqlite

repository ↗ · DeepWiki ↗ · release v3.2.1 ↗
181 symbols 427 edges 85 files 29 documented · 16%
README

Uppload

Uppload is a better JavaScript image uploader. It's highly customizable with 30+ plugins, completely free and open-source, and can be used with any file uploading backend.

“This might just be the easiest way to let your users upload content to your site ☁️✨” — Product Hunt

Status
Build GitHub Actions Travis CI Circle CI Azure Pipelines
Dependencies Dependencies Dev dependencies Vulnerabilities FOSSA Status
Documentation Netlify Website status Uptime Type definitions Articles
Community Contributors Code maintainability Codacy grade Product Hunt #1 of the day
Package npm package version npm downloads GitHub Languages semantic-release

View Uppload demo and docs →

⭐ Features

Screenshot of Uppload home Screenshot of local service
Screenshot of Unsplash service Screenshot of filter effects
Screenshot of GIPHY service Screenshot of Instagram effects

🛠 Getting started

First, install Uppload using your package manager:

npm install uppload

Then, add styles, import Uppload and an uploader along with your language of choice and initialize the class:

import { Uppload, en, xhrUploader } from "uppload";
import "uppload/dist/uppload.css";
import "uppload/dist/themes/light.css";

const profilePicture = new Uppload({
  value: "https://via.placeholder.com/150",
  bind: ".uppload-image",
  call: ".uppload-button",
  lang: en,
  uploader: xhrUploader({
    endpoint: "https://example.com/upload"
  });
});

Finally, choose which services (ways to select a file), effects (ways to manipulate a file), and uploaders (ways to send the file to a server) you want. Then, import these classes and use the Uppload.use() function to create your package:

import { Uppload, en, Local, Unsplash, Crop, Brightness } from "uppload";

profilePicture.use([
  new Local(), // Select file from computer
  new Unsplash("your API key"), // Search and import from Unsplash
  new Crop({ aspectRatio: 16 / 9 }), // Let users crop image to 16:9
  new Brightness() // Let users apply image filters
]);

💻 Usage Docs

View Uppload docs →

Uppload 1.x

Uppload v2 is rewritten from the group up in TypeScript. You can view the README of Uppload 1.x, the deprecated version, or the migration guide.

ℹ️ Support

If you need help with using Uppload, check out the Getting started guide and the documentation. If you found a bug or have a feature request, open an issue. If you want to contribute to Uppload, read our Contributing guide.

Your organization can also request a custom build or get professional support. Request a quote for free →

👥 Contributors

Uppload is built by El Niño, a digital development studio in Enschede, the Netherlands, that builds custom web and mobile apps, webstores, and more, backed by 14+ years of experience.

We'd like to thank these wonderful people and teams for contributing (emoji key):

El Niño 💼 💵 🚇 📆 Anand Chowdhary 🐛 💻 📖 Teun Lassche 🐛 💻 🛡️ Victor 💻 🌍 📖

Extension points exported contracts — how you extend this code

IUppload (Interface)
(no doc) [1 implementers]
src/helpers/interfaces.ts
UpploadWindow (Interface)
(no doc)
src/browser.ts
PixabayResult (Interface)
(no doc)
src/services/search/pixabay.ts
IExampleImage (Interface)
(no doc)
tests/helpers/search.test.ts
IUpploadSettings (Interface)
(no doc)
src/helpers/interfaces.ts
PexelsResult (Interface)
(no doc)
src/services/search/pexels.ts
IHandlersParams (Interface)
(no doc)
src/helpers/interfaces.ts
GIPHYResult (Interface)
(no doc)
src/services/search/giphy.ts

Core symbols most depended-on inside this repo

translate
called by 52
src/helpers/i18n.ts
safeListen
called by 37
src/helpers/elements.ts
bind
called by 19
src/uppload.ts
next
called by 14
src/uppload.ts
update
called by 12
src/uppload.ts
navigate
called by 12
src/uppload.ts
on
called by 12
src/uppload.ts
handle
called by 11
src/uppload.ts

Shape

Class 84
Method 63
Function 21
Interface 13

Languages

TypeScript100%

Modules by API surface

src/uppload.ts43 symbols
src/services/local.ts8 symbols
src/helpers/interfaces.ts7 symbols
src/helpers/elements.ts7 symbols
src/services/camera.ts6 symbols
src/helpers/search.ts6 symbols
src/effects/crop/index.ts5 symbols
src/services/search/unsplash.ts4 symbols
src/services/search/pixabay.ts4 symbols
src/services/search/pexels.ts4 symbols
src/services/search/giphy.ts4 symbols
src/helpers/microlink.ts4 symbols

Dependencies from manifests, versioned

@rollup/plugin-typescript2.1.0 · 1×
@semantic-release/git9.0.0 · 1×
@staart/site2.1.0 · 1×
@types/jest26.0.0 · 1×
@types/webpack4.41.8 · 1×
auto-i18n1.0.0 · 1×
coveralls3.0.11 · 1×
cropperjs1.5.6 · 1×
cssnano4.1.10 · 1×
download8.0.0 · 1×
eslint-config-prettier6.10.0 · 1×
extract-zip2.0.0 · 1×

For agents

$ claude mcp add uppload \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact