open-index/open-npm huggingface dataset:
npm package: @sme-uploader/companion-client
Description: Client library for communication with Companion. Intended for use in SME Uploader plugins.
Latest version: 1.0.2

# @sme-uploader/companion-client

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/companion-client"><img src="https://img.shields.io/npm/v/@sme-uploader/companion-client.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

Client library for communication with Companion. Intended for use in SME Uploader plugins.

## Example

```js
const SmeUploader = require('@sme-uploader/core');
const { Provider, RequestClient, Socket } = require('@sme-uploader/companion-client');

const uploader = new SmeUploader();

const client = new RequestClient(uploader, { companionUrl: 'https://sme-uploader.mywebsite.com/' });
client.get('/drive/list').then(() => {});

const provider = new Provider(uploader, {
  companionUrl: 'https://sme-uploader.mywebsite.com/',
  provider: providerPluginInstance
});
provider.checkAuth().then(() => {});

const socket = new Socket({ target: 'wss://sme-uploader.mywebsite.com/' });
socket.on('progress', () => {});
```

## Installation

> Unless you are writing a custom provider plugin, you do not need to install this.

```bash
$ npm install @sme-uploader/companion-client
```

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/core
Description: Core module for the extensible JavaScript file upload widget.
Latest version: 1.0.4

# @sme-uploader/core

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/core"><img src="https://img.shields.io/npm/v/@sme-uploader/core.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

SME Uploader is a sleek, modular JavaScript file uploader that integrates seamlessly with any application.

**[Read the Docs](https://sme-uploader.web.app/docs)** | **[Try SME Uploader](https://sme-uploader.web.app/examples/dashboard/)**

## Example

```js
const SmeUploader = require('@sme-uploader/core');

const uploader = new SmeUploader();
uploader.use(SomePlugin);
```

## Installation

```bash
$ npm install @sme-uploader/core
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/dashboard
Description: Universal UI plugin for SME Uploader.
Latest version: 1.0.2

# @sme-uploader/dashboard

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/dashboard"><img src="https://img.shields.io/npm/v/@sme-uploader/dashboard.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

Dashboard is a universal UI plugin for SME Uploader:

 * Drag and Drop, paste, select from local disk / my device
 * UI for Webcam and remote sources: Google Drive, Dropbox, Instagram (all optional, added via plugins)
 * File previews and info
 * Metadata editor
 * Progress: total and for individual files
 * Ability to pause/resume or cancel (depending on uploader plugin) individual or all files

**[Read the Docs](https://sme-uploader.web.app/docs)** | **[Try SME Uploader](https://sme-uploader.web.app/examples/dashboard/)**

## Example

```js
const SmeUploader = require('@sme-uploader/core');
const Dashboard = require('@sme-uploader/dashboard');

const uploader = new SmeUploader()
uploader.use(Dashboard, {
  target: 'body',
  inline: true
});
```

## Installation

```bash
$ npm install @sme-uploader/dashboard
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/informer
Description: A notification and error pop-up bar for SME Uploader.
Latest version: 1.0.2

# @sme-uploader/informer

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/informer"><img src="https://img.shields.io/npm/v/@sme-uploader/informer.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

The Informer is a pop-up bar for showing notifications. When other plugins have some exciting news (or error) to share, they can show a notification here.

## Example

```js
const SmeUploader = require('@sme-uploader/core')
const Informer = require('@sme-uploader/informer')

const uploader = new SmeUploader()
uploader.use(Informer, {
  target: '#mount-point'
})
```

## Installation

```bash
$ npm install @sme-uploader/informer
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/locales
Description: SME Uploader language packs.
Latest version: 1.0.0

# @sme-uploader/locales

<img src="https://github.com/gord004/sme-uploader/raw/master/assets/favicon.png" width="120" alt="SME Uploader logo" align="right">

<a href="https://www.npmjs.com/package/@sme-uploader/locales"><img src="https://img.shields.io/npm/v/@sme-uploader/locales.svg?style=flat-square"></a>
<a href="https://travis-ci.org/gord004/sme-uploader"><img src="https://img.shields.io/travis/gord004/sme-uploader/master.svg?style=flat-square" alt="Build Status"></a>

This packages contains all of the locale packs that you can use to make SME Uploader speak your language. If your language is missing, please consider [contributing](https://github.com/gord004/sme-uploader/tree/master/packages/%40sme-uploader/locales/src), starting with `en_US`, which is always up-to-date automatically.

## Installation

```bash
$ npm install @sme-uploader/locales
```

## Documentation

```bash
$ npm install @sme-uploader/core @sme-uploader/locales
```

```js
const SmeUploader = require('@sme-uploader/core');
const Russian = require('@sme-uploader/locales/lib/ru_RU');
const uploader = new SmeUploader({
  debug: true,
  meta: {
    username: 'John',
    license: 'Creative Commons'
  },
  locale: Russian
});
```

Please see [Locale Docs](https://sme-uploader.web.app/docs/uploader/#locale) for more details.

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/provider-views
Description: View library for SME Uploader remote provider plugins.
Latest version: 1.0.2

# @sme-uploader/provider-views

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/provider-views"><img src="https://img.shields.io/npm/v/@sme-uploader/provider-views.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

View library for SME Uploader remote provider plugins.

## Example

```js
const Plugin = require('@sme-uploader/core/lib/plugin')
const ProviderViews = require('@sme-uploader/provider-views')

class GoogleDrive extends Plugin {
  constructor () { /* snip */ }
  install () {
    this.view = new ProviderViews(this)
    // snip
  }

  onFirstRender () {
    return this.view.getFolder('root', '/')
  }

  render (state) {
    return this.view.render(state)
  }
}
```

## Installation

> Unless you are creating a custom provider plugin, you do not need to install this.

```bash
$ npm install @sme-uploader/provider-views
```

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/status-bar
Description: A progress bar for SME Uploader, with many bells and whistles.
Latest version: 1.0.2

# @sme-uploader/status-bar

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/status-bar"><img src="https://img.shields.io/npm/v/@sme-uploader/status-bar.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

The status-bar shows upload progress and speed, ETAs, pre- and post-processing information, and allows users to control (pause/resume/cancel) the upload.
Best used together with a simple file source plugin, such as [@sme-uploader/file-input](https://sme-uploader.web.app/docs/file-input) or [@sme-uploader/drag-drop](https://sme-uploader.web.app/docs/drag-drop/), or a custom implementation. It is also included in the [@sme-uploader/dashboard](https://sme-uploader.web.app/docs/dashboard) plugin.

## Example

```js
const SmeUploader = require('@sme-uploader/core')
const StatusBar = require('@sme-uploader/status-bar')

const uploader = new SmeUploader()
uploader.use(StatusBar, {
  target: 'body',
  hideUploadButton: false,
  showProgressDetails: false,
  hideAfterFinish: true
})
```

## Installation

```bash
$ npm install @sme-uploader/status-bar
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/store-default
Description: The default simple object-based store for SME Uploader.
Latest version: 1.0.3

# @sme-uploader/store-default

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/store-default"><img src="https://img.shields.io/npm/v/@sme-uploader/store-default.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

A simple object-based store for SME Uploader. This one is used by default, you do not need to add it manually.

## Example

```js
const SmeUploader = require('@sme-uploader/core')
const DefaultStore = require('@sme-uploader/store-default')

const uploader = new SmeUploader({
  store: DefaultStore()
})
```

## Installation

```bash
$ npm install @sme-uploader/store-default
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/thumbnail-generator
Description: SME Uploader plugin that generates small previews of images to show on your upload UI.
Latest version: 1.0.2

# @sme-uploader/thumbnail-generator

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/thumbnail-generator"><img src="https://img.shields.io/npm/v/@sme-uploader/thumbnail-generator.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

SME Uploader plugin that generates small previews of images to show on your upload UI.

## Example

```js
const SmeUploader = require('@sme-uploader/core');
const ThumbnailGenerator = require('@sme-uploader/thumbnail-generator');

const uploader = new SmeUploader()
uploader.use(ThumbnailGenerator, {
  thumbnailWidth: 200
});
```

## Installation

```bash
$ npm install @sme-uploader/thumbnail-generator
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/tus
Description: Resumable uploads for SME Uploader using Tus.io
Latest version: 1.0.1

# @sme-uploader/tus

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/tus"><img src="https://img.shields.io/npm/v/@sme-uploader/tus.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

The Tus plugin brings [tus.io][] resumable file uploading to SME Uploader by wrapping the [tus-js-client][].

## Example

```js
const SmeUploader = require('@sme-uploader/core');
const Tus = require('@sme-uploader/tus');

const uploader = new SmeUploader();
uploader.use(Tus, {
  endpoint: 'https://master.tus.io/files/', // use your tus endpoint here
  resume: true,
  autoRetry: true,
  retryDelays: [0, 1000, 3000, 5000]
});
```

## Installation

```bash
$ npm install @sme-uploader/tus
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).

[tus.io]: https://tus.io
[tus-js-client]: https://github.com/tus/tus-js-client
npm package: @sme-uploader/utils
Description: Shared utility functions for SME Uploader Core and plugins.
Latest version: 1.0.4

# @sme-uploader/utils

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">

<a href="https://www.npmjs.com/package/@sme-uploader/utils"><img src="https://img.shields.io/npm/v/@sme-uploader/utils.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

Shared utility functions for SME Uploader Core.

## Installation

> Unless you are creating a custom plugin, you should not need to install this manually.

```bash
$ npm install @sme-uploader/utils
```

## License

[The MIT License](./LICENSE).
npm package: @sme-uploader/xhr-upload
Description: Plain and simple classic HTML multipart form uploads with SME Uploader, as well as uploads using the HTTP PUT method.
Latest version: 1.0.3

# @sme-uploader/xhr-upload

<img src="https://sme-uploader.web.app/images/logos/favicon.png" width="120" alt="SME Uploader logo" align="right">
<a href="https://www.npmjs.com/package/@sme-uploader/xhr-upload"><img src="https://img.shields.io/npm/v/@sme-uploader/xhr-upload.svg?style=flat-square"></a>
<a href="https://travis-ci.org/SME-AOMA/npm-uploader"><img src="https://img.shields.io/travis/SME-AOMA/npm-uploader/master.svg?style=flat-square" alt="Build Status"></a>

The XHRUpload plugin handles classic XHR uploads with SME Uploader. If you have an exiting Apache/Nginx/Node or whatever backend, this is probably the SME Uploader plugin you are looking for.

## Example

```js
const SmeUploader = require('@sme-uploader/core')
const XHRUpload = require('@sme-uploader/xhr-upload')

const uploader = new SmeUploader()
uploader.use(SmeUploader, {
  // Options
})
```

## Installation

```bash
$ npm install @sme-uploader/xhr-upload
```

We recommend installing from npm and then using a module bundler such as [Parcel](https://parceljs.org/), [Webpack](https://webpack.js.org/) or [Browserify](http://browserify.org/).

Alternatively, you can also use this plugin in a pre-built bundle from CDN. In that case `SmeUploader` will attach itself to the global `window.SmeUploader` object. See the [main SME Uploader documentation](https://sme-uploader.web.app/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the [SME Uploader website](https://sme-uploader.web.app/docs/sme-uploader).

## License

[The MIT License](./LICENSE).