Forráskód Böngészése

@uppy/robodog: remove package (#3946)

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
Antoine du Hamel 2 éve
szülő
commit
4bb99880b3
37 módosított fájl, 21 hozzáadás és 1113 törlés
  1. 0 5
      .github/workflows/release.yml
  2. 3 3
      BACKLOG.md
  3. 0 1
      README.md
  4. 0 6
      bin/build-bundle.mjs
  5. 0 3
      bin/build-css.js
  6. 0 3
      packages/@uppy/file-input/src/locale.js
  7. 0 44
      packages/@uppy/robodog/CHANGELOG.md
  8. 0 21
      packages/@uppy/robodog/LICENSE
  9. 0 33
      packages/@uppy/robodog/README.md
  10. 0 11
      packages/@uppy/robodog/bundle-legacy.js
  11. 0 2
      packages/@uppy/robodog/bundle.js
  12. 0 56
      packages/@uppy/robodog/package.json
  13. 0 79
      packages/@uppy/robodog/src/AttachFileInputs.js
  14. 0 48
      packages/@uppy/robodog/src/TransloaditFormResult.js
  15. 0 45
      packages/@uppy/robodog/src/TransloaditResultsPlugin.js
  16. 0 57
      packages/@uppy/robodog/src/addDashboardPlugin.js
  17. 0 105
      packages/@uppy/robodog/src/addProviders.js
  18. 0 32
      packages/@uppy/robodog/src/addTransloaditPlugin.js
  19. 0 66
      packages/@uppy/robodog/src/createUppy.js
  20. 0 30
      packages/@uppy/robodog/src/dashboard.js
  21. 0 109
      packages/@uppy/robodog/src/form.js
  22. 0 14
      packages/@uppy/robodog/src/index.js
  23. 0 52
      packages/@uppy/robodog/src/pick.js
  24. 0 7
      packages/@uppy/robodog/src/style.scss
  25. 0 29
      packages/@uppy/robodog/src/upload.js
  26. 0 66
      packages/@uppy/robodog/types/index.d.ts
  27. 0 85
      packages/@uppy/robodog/types/index.test-d.ts
  28. 0 1
      private/release/afterVersionBump.js
  29. 1 65
      private/release/choose-semverness.js
  30. 0 3
      website/inject.js
  31. 3 0
      website/src/docs/robodog-dashboard.md
  32. 3 0
      website/src/docs/robodog-form.md
  33. 3 0
      website/src/docs/robodog-picker.md
  34. 3 0
      website/src/docs/robodog-upload.md
  35. 5 2
      website/src/docs/robodog.md
  36. 0 1
      website/themes/uppy/layout/partials/docs_menu.ejs
  37. 0 29
      yarn.lock

+ 0 - 5
.github/workflows/release.yml

@@ -70,11 +70,6 @@ jobs:
         env:
           EDGLY_KEY: ${{secrets.EDGLY_KEY}}
           EDGLY_SECRET: ${{secrets.EDGLY_SECRET}}
-      - name: Upload `@uppy/robodog` to CDN if it was released
-        run: git diff --exit-code --quiet HEAD^ -- packages/@uppy/robodog/package.json || corepack yarn run uploadcdn @uppy/robodog
-        env:
-          EDGLY_KEY: ${{secrets.EDGLY_KEY}}
-          EDGLY_SECRET: ${{secrets.EDGLY_SECRET}}
       - name: Upload `@uppy/locales` to CDN if it was released
         run: git diff --exit-code --quiet HEAD^ -- packages/@uppy/locales/package.json ||corepack yarn run uploadcdn @uppy/locales
         env:

+ 3 - 3
BACKLOG.md

@@ -12,9 +12,9 @@ PRs are welcome! Please do open an issue to discuss first if it's a big feature,
 - [ ] Some not too breaking breaking changes. Go through TODOs (@arturi, @aduh95, @Murderlon)
 - [ ] Companion breaking changes, like S3 keys (@mifi)
 - [x] New remote-sources preset
-- [ ] Deprecate Robodog
-  - [ ] Remove from 3.x branch (@aduh95)
-  - [ ] Update docs that refer to Robodog (@arturi)
+- [x] Deprecate Robodog
+  - [x] Remove from 3.x branch (@aduh95)
+  - [x] Update docs that refer to Robodog (@arturi)
   - [ ] Update Transloadit.com examples and docs to use @uppy/transloadit + @uppy/remote-sources plugins instead of @uppy/robodog (@arturi)
 
 ## `4.0.0`

+ 0 - 1
README.md

@@ -132,7 +132,6 @@ The ⓒ mark means that [`@uppy/companion`](https://uppy.io/docs/companion), a s
 
 ### File Processing
 
-* [`Robodog`](https://uppy.io/docs/robodog/) — user friendly abstraction to do file processing with Transloadit
 * [`Transloadit`](https://uppy.io/docs/transloadit/) — support for [Transloadit](http://transloadit.com)’s robust file uploading and encoding backend
 
 ### Miscellaneous

+ 0 - 6
bin/build-bundle.mjs

@@ -32,7 +32,6 @@ function buildBundle (srcFile, bundleFile, { minify = true, standalone = '', plu
 }
 
 await fs.mkdir(new URL('./uppy/dist', PACKAGES_ROOT), { recursive: true })
-await fs.mkdir(new URL('./@uppy/robodog/dist', PACKAGES_ROOT), { recursive: true })
 await fs.mkdir(new URL('./@uppy/locales/dist', PACKAGES_ROOT), { recursive: true })
 
 const methods = [
@@ -69,11 +68,6 @@ const methods = [
       })],
     },
   ),
-  buildBundle(
-    './packages/@uppy/robodog/bundle.js',
-    './packages/@uppy/robodog/dist/robodog.min.js',
-    { standalone: 'Robodog' },
-  ),
 ]
 
 // Build minified versions of all the locales

+ 0 - 3
bin/build-css.js

@@ -65,14 +65,11 @@ async function compileCSS () {
 
     const outdir = path.join(path.dirname(file), '../dist')
     // Save the `uppy` package's CSS as `uppy.css`,
-    // `@uppy/robodog` as `robodog.css`,
     // the rest as `style.css`.
     // const outfile = path.join(outdir, outdir.includes(path.normalize('packages/uppy/')) ? 'uppy.css' : 'style.css')
     let outfile = path.join(outdir, 'style.css')
     if (outdir.includes(path.normalize('packages/uppy/'))) {
       outfile = path.join(outdir, 'uppy.css')
-    } else if (outdir.includes(path.normalize('packages/@uppy/robodog/'))) {
-      outfile = path.join(outdir, 'robodog.css')
     }
     await mkdir(outdir, { recursive: true })
     await writeFile(outfile, postcssResult.css)

+ 0 - 3
packages/@uppy/file-input/src/locale.js

@@ -1,8 +1,5 @@
 export default {
   strings: {
-    // The same key is used for the same purpose by @uppy/robodog's `form()` API, but our
-    // locale pack scripts can't access it in Robodog. If it is updated here, it should
-    // also be updated there!
     chooseFiles: 'Choose files',
   },
 }

+ 0 - 44
packages/@uppy/robodog/CHANGELOG.md

@@ -1,44 +0,0 @@
-# @uppy/robodog
-
-## 2.9.2
-
-Released: 2022-08-02
-Included in: Uppy v2.13.2
-
-- @uppy/robodog: Fix Robodog CDN url in readme.md (Artur Paikin / #3922)
-
-## 2.8.3
-
-Released: 2022-07-11
-Included in: Uppy v2.12.3
-
-- @uppy/robodog,@uppy/transloadit: use modern syntax to simplify code (Antoine du Hamel / #3873)
-
-## 2.8.0
-
-Released: 2022-06-07
-Included in: Uppy v2.12.0
-
-- @uppy/robodog: fix linter warnings (Antoine du Hamel / #3808)
-
-## 2.7.0
-
-Released: 2022-05-30
-Included in: Uppy v2.11.0
-
-- @uppy/angular,@uppy/audio,@uppy/aws-s3-multipart,@uppy/aws-s3,@uppy/box,@uppy/core,@uppy/dashboard,@uppy/drag-drop,@uppy/dropbox,@uppy/facebook,@uppy/file-input,@uppy/form,@uppy/golden-retriever,@uppy/google-drive,@uppy/image-editor,@uppy/informer,@uppy/instagram,@uppy/onedrive,@uppy/progress-bar,@uppy/react,@uppy/redux-dev-tools,@uppy/robodog,@uppy/screen-capture,@uppy/status-bar,@uppy/store-default,@uppy/store-redux,@uppy/thumbnail-generator,@uppy/transloadit,@uppy/tus,@uppy/unsplash,@uppy/url,@uppy/vue,@uppy/webcam,@uppy/xhr-upload,@uppy/zoom: doc: update bundler recommendation (Antoine du Hamel / #3763)
-
-## 2.5.0
-
-Released: 2022-03-24
-Included in: Uppy v2.9.0
-
-- @uppy/robodog: fix CDN bundle (Antoine du Hamel / #3587)
-
-## 2.3.0
-
-Released: 2022-02-14
-Included in: Uppy v2.5.0
-
-- @uppy/robodog: add audio, box, unsplash, screen-capture to Robodog (Artur Paikin / #3483)
-- @uppy/companion-client,@uppy/companion,@uppy/provider-views,@uppy/robodog: Finishing touches on Companion dynamic Oauth (Renée Kooi / #2802)

+ 0 - 21
packages/@uppy/robodog/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2018 Transloadit
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 33
packages/@uppy/robodog/README.md

@@ -1,33 +0,0 @@
-# @uppy/robodog
-
-<img src="https://uppy.io/images/logos/uppy-dog-head-arrow.svg" width="120" alt="Uppy logo: a superman puppy in a pink suit" align="right">
-
-[![npm version](https://img.shields.io/npm/v/@uppy/robodog.svg?style=flat-square)](https://www.npmjs.com/package/@uppy/robodog)
-![CI status for Uppy tests](https://github.com/transloadit/uppy/workflows/Tests/badge.svg)
-![CI status for Companion tests](https://github.com/transloadit/uppy/workflows/Companion/badge.svg)
-![CI status for browser tests](https://github.com/transloadit/uppy/workflows/End-to-end%20tests/badge.svg)
-
-Robodog is an Uppy-based library that pulls your files through Transloadit for all kinds of processing, such as transcoding video, resizing images, zipping/unzipping, [and more](https://transloadit.com/services/).
-
-## Installation
-
-```bash
-$ npm install @uppy/robodog
-```
-
-Alternatively, you can also use this package in a pre-built bundle from Transloadit’s CDN: Edgly.
-
-```html
-<link rel="stylesheet" href="https://releases.transloadit.com/uppy/v3.0.0-beta.5/robodog.min.css">
-<script src="https://releases.transloadit.com/uppy/v3.0.0-beta.5/robodog.min.js"></script>
-```
-
-Then, a global `Robodog` variable will be available. For usage instructions, please see the [main Robodog documentation](https://uppy.io/docs/robodog).
-
-## Documentation
-
-For further details, please read the documentation on the [Uppy website](https://uppy.io/docs/robodog)!
-
-## License
-
-[The MIT License](./LICENSE).

+ 0 - 11
packages/@uppy/robodog/bundle-legacy.js

@@ -1,11 +0,0 @@
-require('core-js')
-require('whatwg-fetch')
-require('abortcontroller-polyfill/dist/polyfill-patch-fetch')
-// Order matters: AbortController needs fetch which needs Promise.
-
-require('md-gum-polyfill')
-const ResizeObserver = require('resize-observer-polyfill')
-
-if (typeof window.ResizeObserver !== 'function') window.ResizeObserver = ResizeObserver
-
-module.exports = require('.')

+ 0 - 2
packages/@uppy/robodog/bundle.js

@@ -1,2 +0,0 @@
-// eslint-disable-next-line no-multi-assign
-globalThis.Robodog = module.exports = require('./bundle-legacy.js')

+ 0 - 56
packages/@uppy/robodog/package.json

@@ -1,56 +0,0 @@
-{
-  "name": "@uppy/robodog",
-  "description": "Transloadit SDK for browsers based on Uppy",
-  "version": "3.0.0-beta.4",
-  "license": "MIT",
-  "main": "lib/index.js",
-  "jsnext:main": "src/index.js",
-  "types": "types/index.d.ts",
-  "keywords": [
-    "file uploader",
-    "transloadit",
-    "file encoding",
-    "encoding",
-    "file processing",
-    "video encoding",
-    "crop",
-    "resize",
-    "watermark",
-    "uppy",
-    "uppy-plugin"
-  ],
-  "homepage": "https://uppy.io",
-  "bugs": {
-    "url": "https://github.com/transloadit/uppy/issues"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/transloadit/uppy.git"
-  },
-  "dependencies": {
-    "@uppy/audio": "workspace:^",
-    "@uppy/box": "workspace:^",
-    "@uppy/core": "workspace:^",
-    "@uppy/dashboard": "workspace:^",
-    "@uppy/dropbox": "workspace:^",
-    "@uppy/facebook": "workspace:^",
-    "@uppy/form": "workspace:^",
-    "@uppy/google-drive": "workspace:^",
-    "@uppy/instagram": "workspace:^",
-    "@uppy/onedrive": "workspace:^",
-    "@uppy/screen-capture": "workspace:^",
-    "@uppy/status-bar": "workspace:^",
-    "@uppy/transloadit": "workspace:^",
-    "@uppy/unsplash": "workspace:^",
-    "@uppy/url": "workspace:^",
-    "@uppy/utils": "workspace:^",
-    "@uppy/webcam": "workspace:^"
-  },
-  "devDependencies": {
-    "abortcontroller-polyfill": "^1.7.3",
-    "core-js": "~3.24.0",
-    "md-gum-polyfill": "^1.0.0",
-    "resize-observer-polyfill": "^1.5.1",
-    "whatwg-fetch": "^3.6.2"
-  }
-}

+ 0 - 79
packages/@uppy/robodog/src/AttachFileInputs.js

@@ -1,79 +0,0 @@
-const BasePlugin = require('@uppy/core/lib/BasePlugin')
-const toArray = require('@uppy/utils/lib/toArray')
-const findDOMElement = require('@uppy/utils/lib/findDOMElement')
-
-/**
- * Add files from existing file inputs to Uppy.
- */
-class AttachFileInputs extends BasePlugin {
-  constructor (uppy, opts) {
-    super(uppy, opts)
-
-    this.id = this.opts.id || 'AttachFileInputs'
-    this.type = 'acquirer'
-
-    this.handleChange = this.handleChange.bind(this)
-    this.inputs = null
-  }
-
-  handleChange (event) {
-    this.addFiles(event.target)
-  }
-
-  addFiles (input) {
-    const files = toArray(input.files)
-    files.forEach((file) => {
-      try {
-        this.uppy.addFile({
-          source: this.id,
-          name: file.name,
-          type: file.type,
-          data: file,
-        })
-      } catch (err) {
-        if (!err.isRestriction) {
-          this.uppy.log(err)
-        }
-      }
-    })
-  }
-
-  install () {
-    this.el = findDOMElement(this.opts.target)
-    if (!this.el) {
-      throw new Error('[AttachFileInputs] Target form does not exist')
-    }
-
-    const { restrictions } = this.uppy.opts
-
-    this.inputs = this.el.querySelectorAll('input[type="file"]')
-    this.inputs.forEach((input) => {
-      input.addEventListener('change', this.handleChange)
-
-      if (!input.hasAttribute('multiple')) {
-        if (restrictions.maxNumberOfFiles !== 1) {
-          input.setAttribute('multiple', 'multiple')
-        } else {
-          input.removeAttribute('multiple')
-        }
-      }
-
-      if (!input.hasAttribute('accept') && restrictions.allowedFileTypes) {
-        input.setAttribute('accept', restrictions.allowedFileTypes.join(','))
-      }
-
-      // Check if this input already contains files (eg. user selected them before Uppy loaded,
-      // or the page was refreshed and the browser kept files selected)
-      this.addFiles(input)
-    })
-  }
-
-  uninstall () {
-    this.inputs.forEach((input) => {
-      input.removeEventListener('change', this.handleChange)
-    })
-    this.inputs = null
-  }
-}
-
-module.exports = AttachFileInputs

+ 0 - 48
packages/@uppy/robodog/src/TransloaditFormResult.js

@@ -1,48 +0,0 @@
-const BasePlugin = require('@uppy/core/lib/BasePlugin')
-const findDOMElement = require('@uppy/utils/lib/findDOMElement')
-
-/**
- * After an upload completes, inject result data from Transloadit in a hidden input.
- *
- * Must be added _after_ the Transloadit plugin.
- */
-class TransloaditFormResult extends BasePlugin {
-  constructor (uppy, opts) {
-    super(uppy, opts)
-
-    this.id = this.opts.id || 'TransloaditFormResult'
-    this.type = 'modifier'
-
-    this.handleUpload = this.handleUpload.bind(this)
-  }
-
-  getAssemblyStatuses (fileIDs) {
-    const assemblyIds = new Set(
-      fileIDs.map(fileID => this.uppy.getFile(fileID)?.transloadit?.assembly).filter(Boolean),
-    )
-
-    const tl = this.uppy.getPlugin(this.opts.transloaditPluginId || 'Transloadit')
-    return Array.from(assemblyIds, (id) => tl.getAssembly(id))
-  }
-
-  handleUpload (fileIDs) {
-    const assemblies = this.getAssemblyStatuses(fileIDs)
-    const input = document.createElement('input')
-    input.type = 'hidden'
-    input.name = this.opts.name
-    input.value = JSON.stringify(assemblies)
-
-    const target = findDOMElement(this.opts.target)
-    target.appendChild(input)
-  }
-
-  install () {
-    this.uppy.addPostProcessor(this.handleUpload)
-  }
-
-  uninstall () {
-    this.uppy.removePostProcessor(this.handleUpload)
-  }
-}
-
-module.exports = TransloaditFormResult

+ 0 - 45
packages/@uppy/robodog/src/TransloaditResultsPlugin.js

@@ -1,45 +0,0 @@
-const BasePlugin = require('@uppy/core/lib/BasePlugin')
-
-/**
- * Add a `results` key to the upload result data, containing all Transloadit Assembly results.
- */
-class TransloaditResultsPlugin extends BasePlugin {
-  constructor (uppy, opts) {
-    super(uppy, opts)
-
-    this.type = 'modifier'
-    this.id = this.opts.id || 'TransloaditResultsPlugin'
-  }
-
-  install () {
-    this.uppy.addPostProcessor(this.#afterUpload)
-  }
-
-  #afterUpload = (fileIDs, uploadID) => {
-    const { currentUploads } = this.uppy.getState()
-    const { result } = currentUploads[uploadID]
-    const assemblies = Array.isArray(result?.transloadit) ? result.transloadit : []
-
-    // Merge the assembly.results[*] arrays and add `stepName` and
-    // `assemblyId` properties.
-    const assemblyResults = []
-    assemblies.forEach((assembly) => {
-      Object.keys(assembly.results).forEach((stepName) => {
-        const results = assembly.results[stepName]
-        results.forEach((resultObject) => {
-          assemblyResults.push({
-            ...resultObject,
-            assemblyId: assembly.assembly_id,
-            stepName,
-          })
-        })
-      })
-    })
-
-    this.uppy.addResultData(uploadID, {
-      results: assemblyResults,
-    })
-  }
-}
-
-module.exports = TransloaditResultsPlugin

+ 0 - 57
packages/@uppy/robodog/src/addDashboardPlugin.js

@@ -1,57 +0,0 @@
-const Dashboard = require('@uppy/dashboard')
-const has = require('@uppy/utils/lib/hasProperty')
-
-const dashboardOptionNames = [
-  'metaFields',
-  'width',
-  'height',
-  'thumbnailWidth',
-  'showLinkToFileUploadResult',
-  'showProgressDetails',
-  'hideRetryButton',
-  'hideCancelButton',
-  'hideUploadButton',
-  'hideProgressAfterFinish',
-  'note',
-  'disableStatusBar',
-  'disableInformer',
-  'disableThumbnailGenerator',
-  'showSelectedFiles',
-  'proudlyDisplayPoweredByUppy',
-  'theme',
-]
-
-const modalDashboardOptionNames = [
-  'trigger',
-  'closeModalOnClickOutside',
-  'closeAfterFinish',
-  'disablePageScrollWhenModalOpen',
-  'animateOpenClose',
-  'onRequestCloseModal',
-  'browserBackButtonClose',
-]
-
-function addDashboardPlugin (uppy, opts, overrideOpts) {
-  const dashboardOpts = {}
-  dashboardOptionNames.forEach((key) => {
-    if (has(opts, key)) {
-      dashboardOpts[key] = opts[key]
-    }
-  })
-
-  const inline = overrideOpts.inline == null ? dashboardOpts.inline : overrideOpts.inline
-  if (!inline) {
-    modalDashboardOptionNames.forEach((key) => {
-      if (has(opts, key)) {
-        dashboardOpts[key] = opts[key]
-      }
-    })
-  }
-
-  uppy.use(Dashboard, {
-    ...dashboardOpts,
-    ...overrideOpts,
-  })
-}
-
-module.exports = addDashboardPlugin

+ 0 - 105
packages/@uppy/robodog/src/addProviders.js

@@ -1,105 +0,0 @@
-/* eslint-disable global-require */
-const Transloadit = require('@uppy/transloadit')
-const has = require('@uppy/utils/lib/hasProperty')
-
-// We add providers to Robodog when they hit version 1.0.
-const remoteProviders = {
-  dropbox: require('@uppy/dropbox'),
-  'google-drive': require('@uppy/google-drive'),
-  instagram: require('@uppy/instagram'),
-  facebook: require('@uppy/facebook'),
-  onedrive: require('@uppy/onedrive'),
-  box: require('@uppy/box'),
-  unsplash: require('@uppy/unsplash'),
-  url: require('@uppy/url'),
-}
-
-const localProviders = {
-  webcam: require('@uppy/webcam'),
-  audio: require('@uppy/audio'),
-  'screen-capture': require('@uppy/screen-capture'),
-}
-
-const remoteProviderOptionNames = [
-  'companionUrl',
-  'companionAllowedHosts',
-  'companionHeaders',
-  'target',
-]
-
-// No shared options.
-const localProviderOptionNames = [
-  'target',
-]
-
-function addRemoteProvider (uppy, name, opts) {
-  const Provider = remoteProviders[name]
-  const providerOptions = {
-    // Default to the :tl: Companion servers.
-    companionUrl: Transloadit.COMPANION,
-    companionAllowedHosts: Transloadit.COMPANION_PATTERN,
-  }
-
-  // eslint-disable-next-line no-shadow
-  remoteProviderOptionNames.forEach((name) => {
-    if (has(opts, name)) providerOptions[name] = opts[name]
-  })
-
-  // Apply overrides for a specific provider plugin.
-  if (typeof opts[name] === 'object') {
-    const overrides = { ...opts[name] }
-
-    // Use the app's own oauth credentials instead of the shared
-    // Transloadit ones.
-    if (overrides.credentialsName) {
-      const { key } = opts.params.auth
-      overrides.companionKeysParams = {
-        key,
-        credentialsName: overrides.credentialsName,
-      }
-      delete overrides.credentialsName
-    }
-
-    Object.assign(providerOptions, overrides)
-  }
-
-  uppy.use(Provider, providerOptions)
-}
-
-function addLocalProvider (uppy, name, opts) {
-  const Provider = localProviders[name]
-  const providerOptions = {}
-
-  // eslint-disable-next-line no-shadow
-  localProviderOptionNames.forEach((name) => {
-    if (has(opts, name)) providerOptions[name] = opts[name]
-  })
-  // Apply overrides for a specific provider plugin.
-  if (typeof opts[name] === 'object') {
-    Object.assign(providerOptions, opts[name])
-  }
-
-  uppy.use(Provider, providerOptions)
-}
-
-function addProviders (uppy, names, opts = {}) {
-  names.forEach((name) => {
-    if (has(remoteProviders, name)) {
-      addRemoteProvider(uppy, name, opts)
-    } else if (has(localProviders, name)) {
-      addLocalProvider(uppy, name, opts)
-    } else {
-      const validNames = [
-        ...Object.keys(remoteProviders),
-        ...Object.keys(localProviders),
-      ]
-      const expectedNameString = validNames
-        .sort()
-        .map((validName) => `'${validName}'`)
-        .join(', ')
-      throw new Error(`Unexpected provider '${name}', expected one of [${expectedNameString}]`)
-    }
-  })
-}
-
-module.exports = addProviders

+ 0 - 32
packages/@uppy/robodog/src/addTransloaditPlugin.js

@@ -1,32 +0,0 @@
-const Transloadit = require('@uppy/transloadit')
-const has = require('@uppy/utils/lib/hasProperty')
-const TransloaditResults = require('./TransloaditResultsPlugin')
-
-const transloaditOptionNames = [
-  'service',
-  'waitForEncoding',
-  'waitForMetadata',
-  'alwaysRunAssembly',
-  'importFromUploadURLs',
-  'signature',
-  'params',
-  'fields',
-  'limit',
-  'locale',
-  'getAssemblyOptions',
-]
-
-function addTransloaditPlugin (uppy, opts) {
-  const transloaditOptions = {}
-  transloaditOptionNames.forEach((name) => {
-    if (has(opts, name)) transloaditOptions[name] = opts[name]
-  })
-  uppy.use(Transloadit, transloaditOptions)
-
-  // Adds a `results` key to the upload result data containing a flat array of all results from all Assemblies.
-  if (transloaditOptions.waitForEncoding) {
-    uppy.use(TransloaditResults)
-  }
-}
-
-module.exports = addTransloaditPlugin

+ 0 - 66
packages/@uppy/robodog/src/createUppy.js

@@ -1,66 +0,0 @@
-const Uppy = require('@uppy/core')
-const has = require('@uppy/utils/lib/hasProperty')
-
-const eventNames = {
-  // File management events
-  onFileAdded: 'file-added',
-  onFileRemoved: 'file-removed',
-
-  // Transloadit events
-  onImportError: 'transloadit:import-error',
-  onAssemblyCreated: 'transloadit:assembly-created',
-  onAssemblyExecuting: 'transloadit:assembly-executing',
-  onAssemblyError: 'transloadit:assembly-error',
-  onAssemblyComplete: 'transloadit:complete',
-  onResult: 'transloadit:result',
-
-  // Upload events
-  onStart: 'upload',
-  onPause: 'pause-all',
-  onFilePause: 'upload-pause',
-  onCancel: 'cancel-all',
-  onError: 'error', // mostly akin to promise rejection
-  onFileCancel: 'upload-cancel',
-  onFileProgress: 'upload-progress',
-  onFileError: 'upload-error',
-  onUploaded: 'transloadit:upload',
-  onComplete: 'complete', // mostly akin to promise resolution
-}
-
-const uppyOptionNames = [
-  'autoProceed',
-  'restrictions',
-  'meta',
-  'onBeforeFileAdded',
-  'onBeforeUpload',
-  'debug',
-]
-function createUppy (opts, overrides = {}) {
-  const uppyOptions = {}
-  uppyOptionNames.forEach((name) => {
-    if (has(opts, name)) uppyOptions[name] = opts[name]
-  })
-  Object.assign(uppyOptions, overrides)
-
-  const uppy = new Uppy(uppyOptions)
-
-  // Builtin event aliases
-  Object.keys(eventNames).forEach((optionName) => {
-    const eventName = eventNames[optionName]
-    if (typeof opts[optionName] === 'function') {
-      uppy.on(eventName, opts[optionName])
-    }
-  })
-
-  // Custom events (these should probably be added to core)
-  if (typeof opts.onProgress === 'function') {
-    uppy.on('upload-progress', () => {
-      const { totalProgress } = uppy.getState()
-      opts.onProgress.call(uppy, totalProgress)
-    })
-  }
-
-  return uppy
-}
-
-module.exports = createUppy

+ 0 - 30
packages/@uppy/robodog/src/dashboard.js

@@ -1,30 +0,0 @@
-const createUppy = require('./createUppy')
-const addDashboardPlugin = require('./addDashboardPlugin')
-const addTransloaditPlugin = require('./addTransloaditPlugin')
-const addProviders = require('./addProviders')
-
-function dashboard (target, opts = {}) {
-  const inline = opts.inline == null ? true : opts.inline
-
-  const pluginId = 'Dashboard'
-  const uppy = createUppy(opts)
-  addTransloaditPlugin(uppy, opts)
-  addDashboardPlugin(uppy, opts, {
-    id: pluginId,
-    inline,
-    target,
-    closeAfterFinish: false,
-  })
-
-  if (Array.isArray(opts.providers)) {
-    addProviders(uppy, opts.providers, {
-      ...opts,
-      // Install providers into the Dashboard.
-      target: uppy.getPlugin(pluginId),
-    })
-  }
-
-  return uppy
-}
-
-module.exports = dashboard

+ 0 - 109
packages/@uppy/robodog/src/form.js

@@ -1,109 +0,0 @@
-const Uppy = require('@uppy/core')
-const Form = require('@uppy/form')
-const StatusBar = require('@uppy/status-bar')
-const findDOMElement = require('@uppy/utils/lib/findDOMElement')
-const has = require('@uppy/utils/lib/hasProperty')
-const AttachFileInputs = require('./AttachFileInputs')
-const TransloaditFormResult = require('./TransloaditFormResult')
-const addDashboardPlugin = require('./addDashboardPlugin')
-const addTransloaditPlugin = require('./addTransloaditPlugin')
-const addProviders = require('./addProviders')
-
-const defaultLocaleStrings = {
-  chooseFiles: 'Choose files',
-}
-
-function mergeDefaultLocale (defaults, userProvided = {}) {
-  const strings = userProvided.strings || {}
-  return {
-    ...userProvided,
-    strings: { ...defaults, ...strings },
-  }
-}
-
-function form (target, opts) {
-  if (!opts) throw new TypeError('robodog.form: must provide an options object')
-
-  // eslint-disable-next-line no-param-reassign
-  opts = {
-    ...opts,
-    locale: mergeDefaultLocale(defaultLocaleStrings, opts.locale),
-  }
-
-  const uppy = new Uppy(opts)
-  addTransloaditPlugin(uppy, opts)
-
-  uppy.use(TransloaditFormResult, {
-    target,
-    transloaditPluginId: 'Transloadit',
-    name: 'transloadit',
-  })
-
-  let submitOnSuccess = true
-  if (has(opts, 'submitOnSuccess')) {
-    submitOnSuccess = !!opts.submitOnSuccess
-  }
-
-  const formOptions = {
-    target,
-    triggerUploadOnSubmit: true,
-    submitOnSuccess,
-    addResultToForm: false, // using custom implementation instead
-  }
-  if (has(opts, 'triggerUploadOnSubmit')) {
-    formOptions.triggerUploadOnSubmit = opts.triggerUploadOnSubmit
-  }
-
-  uppy.use(Form, formOptions)
-
-  const useDashboard = opts.dashboard || opts.modal
-
-  if (useDashboard) {
-    const dashboardTarget = findDOMElement(opts.dashboard) || document.body
-    const dashboardId = 'form:Dashboard'
-    const dashboardOpts = {
-      id: dashboardId,
-      target: dashboardTarget,
-    }
-    if (opts.modal) {
-      const trigger = 'input[type="file"]'
-      const button = document.createElement('button')
-      button.textContent = uppy.i18n('chooseFiles')
-      button.type = 'button'
-      const old = findDOMElement(trigger, findDOMElement(target))
-      old.parentNode.replaceChild(button, old)
-      dashboardOpts.inline = false
-      dashboardOpts.trigger = button
-    } else {
-      dashboardOpts.inline = true
-      dashboardOpts.hideUploadButton = true
-    }
-    addDashboardPlugin(uppy, opts, dashboardOpts)
-
-    if (Array.isArray(opts.providers)) {
-      addProviders(uppy, opts.providers, {
-        ...opts,
-        target: uppy.getPlugin(dashboardId),
-      })
-    }
-  } else {
-    uppy.use(AttachFileInputs, { target })
-  }
-
-  if (opts.statusBar) {
-    uppy.use(StatusBar, {
-      target: opts.statusBar,
-      // hide most of the things to keep our api simple,
-      // we can change this in the future if someone needs it
-      hideUploadButton: true,
-      hideAfterFinish: true,
-      hideRetryButton: true,
-      hidePauseResumeButtons: true,
-      hideCancelButtons: true,
-    })
-  }
-
-  return uppy
-}
-
-module.exports = form

+ 0 - 14
packages/@uppy/robodog/src/index.js

@@ -1,14 +0,0 @@
-const form = require('./form')
-const dashboard = require('./dashboard')
-const pick = require('./pick')
-const upload = require('./upload')
-
-module.exports = {
-  dashboard,
-  form,
-  pick,
-  upload,
-  // We need to keep the require here because we're using `babel-plugin-inline-package-json`.
-  // eslint-disable-next-line global-require
-  VERSION: require('../package.json').version,
-}

+ 0 - 52
packages/@uppy/robodog/src/pick.js

@@ -1,52 +0,0 @@
-const createUppy = require('./createUppy')
-const addDashboardPlugin = require('./addDashboardPlugin')
-const addTransloaditPlugin = require('./addTransloaditPlugin')
-const addProviders = require('./addProviders')
-
-const CANCEL = {}
-
-function pick (opts = {}) {
-  const target = opts.target || document.body
-
-  const pluginId = 'pick'
-  const uppy = createUppy(opts, {
-    allowMultipleUploadBatches: false,
-  })
-  addTransloaditPlugin(uppy, opts)
-  addDashboardPlugin(uppy, opts, {
-    id: pluginId,
-    target,
-    closeAfterFinish: true,
-  })
-
-  if (Array.isArray(opts.providers)) {
-    addProviders(uppy, opts.providers, {
-      ...opts,
-      // Install providers into the Dashboard.
-      target: uppy.getPlugin(pluginId),
-    })
-  }
-
-  return new Promise((resolve, reject) => {
-    uppy.on('complete', (result) => {
-      if (result.failed.length === 0) {
-        resolve(result)
-      }
-    })
-    uppy.on('error', reject)
-    uppy.on('cancel-all', () => reject(CANCEL))
-    uppy.getPlugin(pluginId)
-      .openModal()
-  }).then((result) => {
-    return result
-  }, (err) => {
-    if (err === CANCEL) {
-      uppy.getPlugin(pluginId)
-        .requestCloseModal()
-      return null
-    }
-    throw err
-  })
-}
-
-module.exports = pick

+ 0 - 7
packages/@uppy/robodog/src/style.scss

@@ -1,7 +0,0 @@
-@import '@uppy/core/src/_utils.scss';
-@import '@uppy/core/src/_variables.scss';
-@import '@uppy/core/src/style.scss';
-@import '@uppy/status-bar/src/style.scss';
-@import '@uppy/url/src/style.scss';
-@import '@uppy/webcam/src/style.scss';
-@import '@uppy/dashboard/src/style.scss';

+ 0 - 29
packages/@uppy/robodog/src/upload.js

@@ -1,29 +0,0 @@
-const toArray = require('@uppy/utils/lib/toArray')
-const createUppy = require('./createUppy')
-const addTransloaditPlugin = require('./addTransloaditPlugin')
-
-function upload (files, opts = {}) {
-  if (!Array.isArray(files) && typeof files.length === 'number') {
-    // eslint-disable-next-line no-param-reassign
-    files = toArray(files)
-  }
-
-  const uppy = createUppy(opts, {
-    allowMultipleUploads: false,
-  })
-
-  addTransloaditPlugin(uppy, opts)
-
-  files.forEach((file) => {
-    uppy.addFile({
-      data: file,
-      type: file.type,
-      name: file.name,
-      meta: file.meta || {},
-    })
-  })
-
-  return uppy.upload()
-}
-
-module.exports = upload

+ 0 - 66
packages/@uppy/robodog/types/index.d.ts

@@ -1,66 +0,0 @@
-import type { Uppy, UppyOptions, UploadResult } from '@uppy/core'
-import type { Assembly, Result, TransloaditOptions } from '@uppy/transloadit'
-import type { DashboardOptions } from '@uppy/dashboard'
-import type { DropboxOptions } from '@uppy/dropbox'
-import type { GoogleDriveOptions } from '@uppy/google-drive'
-import type { InstagramOptions } from '@uppy/instagram'
-import type { UrlOptions } from '@uppy/url'
-import type { WebcamOptions } from '@uppy/webcam'
-import type { OneDriveOptions } from '@uppy/onedrive'
-import type { FacebookOptions } from '@uppy/facebook'
-import type { FormOptions } from '@uppy/form'
-
-type Provider =
-  | 'dropbox'
-  | 'google-drive'
-  | 'instagram'
-  | 'url'
-  | 'webcam'
-  | 'onedrive'
-  | 'facebook'
-
-interface RobodogOptionsBase extends UppyOptions {
-  providers?: Provider[];
-  companionUrl?: string;
-  companionAllowedHosts?: string | RegExp | Array<string | RegExp>;
-  companionHeaders?: Record<string, string>;
-  dropbox?: DropboxOptions;
-  googleDrive?: GoogleDriveOptions;
-  instagram?: InstagramOptions;
-  url?: UrlOptions;
-  webcam?: WebcamOptions;
-  onedrive?: OneDriveOptions;
-  facebook?: FacebookOptions;
-}
-
-export type RobodogOptions = RobodogOptionsBase & TransloaditOptions & DashboardOptions;
-
-interface RobodogTransloaditResult extends Result {
-  assemblyId: string;
-  stepName: string;
-}
-
-interface RobodogResult extends UploadResult {
-  transloadit: Assembly[];
-  results?: RobodogTransloaditResult[];
-}
-
-export function pick(opts: RobodogOptions): Promise<RobodogResult>;
-
-type RobodogFormOptions =
-  RobodogOptions &
-  Pick<FormOptions, 'submitOnSuccess' | 'triggerUploadOnSubmit'> & {
-    modal?: boolean;
-    statusbar?: string;
-  };
-
-export function form(target: string, opts: RobodogFormOptions): Uppy;
-
-export function upload(
-  files: (File | (Blob & { name: string }))[],
-  opts: RobodogOptions
-): Promise<RobodogResult>;
-
-export function dashboard(target: string, opts: RobodogOptions): Uppy;
-
-export const VERSION: string

+ 0 - 85
packages/@uppy/robodog/types/index.test-d.ts

@@ -1,85 +0,0 @@
-import { Transloadit } from 'uppy' // eslint-disable-line import/no-extraneous-dependencies
-import { expectError } from 'tsd'
-import Robodog from '.' // eslint-disable-line import/no-unresolved
-
-/* eslint-disable @typescript-eslint/no-unused-vars */
-
-async function performPick () {
-  const { successful, failed, transloadit, results } = await Robodog.pick({
-    target: 'test',
-    errorReporting: true,
-    waitForEncoding: false,
-    waitForMetadata: false,
-    animateOpenClose: true,
-    inline: false,
-    params: {
-      auth: { key: '' },
-      template_id: '',
-    },
-    providers: ['webcam', 'url'],
-    webcam: {
-      countdown: false,
-      modes: [
-        'video-audio',
-        'video-only',
-        'audio-only',
-        'picture',
-      ],
-      mirror: true,
-    },
-    url: {
-      companionUrl: Transloadit.COMPANION,
-    },
-  })
-}
-
-const instance = Robodog.form('string', {
-  submitOnSuccess: true,
-  triggerUploadOnSubmit: false,
-  params: {
-    auth: { key: '' },
-    template_id: '',
-  },
-  modal: true,
-  closeAfterFinish: true,
-  statusbar: 'target',
-})
-
-// should not have access to omitted form settings
-expectError(Robodog.form('string', {
-  addResultToForm: false,
-}))
-
-// target is required
-expectError(Robodog.form({
-  addResultToForm: false,
-}))
-
-const files: File[] = []
-
-const upload = Robodog.upload(files, {
-  debug: true,
-  errorReporting: true,
-  params: {
-    auth: { key: '' },
-    template_id: '',
-  },
-})
-
-// Files array is required
-expectError(Robodog.upload({ debug: true }))
-
-const dashboard = Robodog.dashboard('selector', {
-  debug: true,
-  errorReporting: true,
-  params: {
-    auth: { key: '' },
-    template_id: '',
-  },
-})
-  .on('transloadit:result', (result) => {
-    console.log(result)
-  })
-
-// selector is required
-expectError(Robodog.dashboard({ }))

+ 0 - 1
private/release/afterVersionBump.js

@@ -65,6 +65,5 @@ const files = await globby([
 
 await updateVersions(files, [
   'uppy',
-  '@uppy/robodog',
   '@uppy/locales',
 ])

+ 1 - 65
private/release/choose-semverness.js

@@ -1,19 +1,11 @@
 /* eslint-disable no-continue */
 
-import { createWriteStream, mkdirSync, readFileSync } from 'node:fs'
+import { createWriteStream, mkdirSync } from 'node:fs'
 import { spawnSync } from 'node:child_process'
 
 import prompts from 'prompts'
 import { TARGET_BRANCH } from './config.js'
 
-const ROOT = new  URL('../../', import.meta.url)
-const PACKAGES_FOLDER = new URL('./packages/', ROOT)
-
-function getRobodogDependencies () {
-  const { dependencies } = JSON.parse(readFileSync(new URL('./@uppy/robodog/package.json', PACKAGES_FOLDER)))
-  return Object.keys(dependencies)
-}
-
 function maxSemverness (a, b) {
   if (a === 'major' || b === 'major') return 'major'
   if (a === 'premajor' || b === 'premajor') return 'premajor'
@@ -35,13 +27,10 @@ export default async function pickSemverness (
   releaseFile.write('releases:\n')
 
   let uppySemverness
-  let robodogSemverness
-  const robodogDeps = getRobodogDependencies()
 
   for await (const workspaceInfo of packagesList) {
     const { location, name } = JSON.parse(workspaceInfo)
     if (!name.startsWith('@uppy/')) continue
-    if (name === '@uppy/robodog') continue
 
     const { stdout } = spawnSync(
       'git',
@@ -92,63 +81,10 @@ export default async function pickSemverness (
 
     releaseFile.write(`  ${JSON.stringify(name)}: ${response.value}\n`)
     uppySemverness = maxSemverness(uppySemverness, response.value)
-    if (robodogDeps.includes(name)) {
-      robodogSemverness = maxSemverness(robodogSemverness, response.value)
-    }
   }
 
   if (uppySemverness == null) throw new Error('No package to release, aborting.')
 
-  {
-    // Robodog
-    const location = 'packages/@uppy/robodog'
-    const { stdout } = spawnSync(
-      'git',
-      [
-        '--no-pager',
-        'log',
-        '--format=- %s',
-        `${LAST_RELEASE_COMMIT}..`,
-        '--',
-        location,
-      ],
-      spawnOptions,
-    )
-    if (stdout.length === 0) {
-      if (robodogSemverness == null) {
-        console.log(`No commits since last release for @uppy/robodog, skipping.`)
-      } else {
-        console.log(`No commits since last release for @uppy/robodog, releasing as ${robodogSemverness}.`)
-        releaseFile.write(`  "@uppy/robodog": ${robodogSemverness}\n`)
-      }
-    } else {
-      console.log(
-        `Here are the commits that landed on @uppy/robodog since previous release:\n\n${stdout}\n`,
-      )
-      console.log(
-        `Check the web UI at https://github.com/transloadit/uppy/tree/${TARGET_BRANCH}/${encodeURI(
-          location,
-        )}.`,
-      )
-
-      const response = await prompts({
-        type: 'select',
-        name: 'value',
-        message: `What should be the semverness of next @uppy/robodog release?`,
-        choices: [
-          { title: 'Pre-release', value: 'prerelease' },
-          { title: 'Skip this package', value: '', disabled: robodogSemverness != null },
-          { title: 'Patch', value: 'patch', disabled: robodogSemverness === 'minor' || robodogSemverness === 'major' },
-          { title: 'Minor', value: 'minor', disabled: robodogSemverness === 'major' },
-          { title: 'Major', value: 'major' },
-        ],
-        initial: 2,
-      })
-
-      releaseFile.write(`  "@uppy/robodog": ${response.value}\n`)
-    }
-  }
-
   releaseFile.write(`  "uppy": ${uppySemverness}\n`)
   releaseFile.close()
 }

+ 0 - 3
website/inject.js

@@ -12,7 +12,6 @@ const glob = require('glob')
 
 const webRoot = __dirname
 const uppyRoot = path.join(__dirname, '../packages/uppy')
-const robodogRoot = path.join(__dirname, '../packages/@uppy/robodog')
 const localesRoot = path.join(__dirname, '../packages/@uppy/locales')
 
 const configPath = path.join(webRoot, '/themes/uppy/_config.yml')
@@ -35,7 +34,6 @@ const defaultConfig = {
 const packages = [
   // Bundles
   'uppy',
-  '@uppy/robodog',
   // Integrations
   '@uppy/react',
   // Core
@@ -139,7 +137,6 @@ async function injectBundles () {
   ])
   const cmds = [
     `cp -vfR ${path.join(uppyRoot, '/dist/*')} ${sourceUppy}`,
-    `cp -vfR ${path.join(robodogRoot, '/dist/*')} ${sourceUppy}`,
     `cp -vfR ${path.join(localesRoot, '/dist/*')} ${sourceUppyLocales}`,
   ].join(' && ')
 

+ 3 - 0
website/src/docs/robodog-dashboard.md

@@ -7,6 +7,9 @@ order: 4
 category: "File Processing"
 ---
 
+> **Warning**
+> Robodog has been deprecated, its usage is no longer recommended.
+
 Add the [Dashboard UI][dashboard] to your page, all wired up and ready to go! This is a wrapper around the [Transloadit][transloadit] and [Dashboard][dashboard] plugins. Unlike the [File Picker][file picker] API, this Dashboard is embedded directly into the page. Users can upload many files after another.
 
 ```html

+ 3 - 0
website/src/docs/robodog-form.md

@@ -7,6 +7,9 @@ order: 2
 category: "File Processing"
 ---
 
+> **Warning**
+> Robodog has been deprecated, its usage is no longer recommended.
+
 Add resumable uploads and Transloadit’s processing to your existing HTML upload forms. Selected files will be uploaded to Transloadit, and the Assembly information will be submitted to your form endpoint.
 
 ```html

+ 3 - 0
website/src/docs/robodog-picker.md

@@ -7,6 +7,9 @@ order: 1
 category: "File Processing"
 ---
 
+> **Warning**
+> Robodog has been deprecated, its usage is no longer recommended.
+
 Show a modal UI that allows users to pick files from their device and from the web. It uploads files to Transloadit for processing.
 
 ```js

+ 3 - 0
website/src/docs/robodog-upload.md

@@ -7,6 +7,9 @@ order: 3
 category: "File Processing"
 ---
 
+> **Warning**
+> Robodog has been deprecated, its usage is no longer recommended.
+
 Upload files straight to Transloadit from your own custom UI. Give us an array of files, and we’ll give you an array of results!
 
 ```js

+ 5 - 2
website/src/docs/robodog.md

@@ -9,6 +9,9 @@ category: "File Processing"
 tagline: "user friendly abstraction to do file processing with Transloadit"
 ---
 
+> **Warning**
+> Robodog has been deprecated, its usage is no longer recommended.
+
 [Transloadit][transloadit] is a service that helps you handle file uploads, resize, crop and watermark your images, make GIFs, transcode your videos, extract thumbnails, generate audio waveforms, and so much more. In short, [Transloadit][transloadit] is the Swiss Army Knife for your files.
 
 Robodog is an Uppy-based library that helps you talk to the Transloadit API. It includes a modal UI file picker with support for imports from third-party services, integration with HTML forms, and more. Because it’s based on Uppy, you can add any existing Uppy plugin to add more functionality.
@@ -31,8 +34,8 @@ import '@uppy/robodog/dist/robodog.css'
 If you are not using a bundler, you can also import Robodog using an HTML script tag.
 
 ```html
-<link rel="stylesheet" href="https://releases.transloadit.com/uppy/robodog/v3.0.0-beta.4/robodog.min.css">
-<script src="https://releases.transloadit.com/uppy/robodog/v3.0.0-beta.4/robodog.min.js"></script>
+<link rel="stylesheet" href="https://releases.transloadit.com/uppy/robodog/v2.9.2/robodog.min.css">
+<script src="https://releases.transloadit.com/uppy/robodog/v2.9.2/robodog.min.js"></script>
 <!-- you can now use: window.Robodog.pick() -->
 ```
 

+ 0 - 1
website/themes/uppy/layout/partials/docs_menu.ejs

@@ -7,7 +7,6 @@
       { category: 'UI Elements', path: 'docs/dashboard/', link: false },
       { category: 'Sources', path: 'docs/drag-drop/', link: false, tagline: '(remote sources are denoted with (c) and require <a href="/docs/companion/">Companion</a>' },
       { category: 'Destinations', path: 'docs/tus/', link: false },
-      { category: 'File Processing', path: 'docs/robodog/', link: true },
       { category: 'Miscellaneous', path: 'docs/form/', link: false },
       { category: 'Community Projects', path: 'docs/community-projects/', link: true },
       { category: 'React', path: 'docs/react/', link: true },

+ 0 - 29
yarn.lock

@@ -8809,35 +8809,6 @@ __metadata:
   languageName: unknown
   linkType: soft
 
-"@uppy/robodog@workspace:packages/@uppy/robodog":
-  version: 0.0.0-use.local
-  resolution: "@uppy/robodog@workspace:packages/@uppy/robodog"
-  dependencies:
-    "@uppy/audio": "workspace:^"
-    "@uppy/box": "workspace:^"
-    "@uppy/core": "workspace:^"
-    "@uppy/dashboard": "workspace:^"
-    "@uppy/dropbox": "workspace:^"
-    "@uppy/facebook": "workspace:^"
-    "@uppy/form": "workspace:^"
-    "@uppy/google-drive": "workspace:^"
-    "@uppy/instagram": "workspace:^"
-    "@uppy/onedrive": "workspace:^"
-    "@uppy/screen-capture": "workspace:^"
-    "@uppy/status-bar": "workspace:^"
-    "@uppy/transloadit": "workspace:^"
-    "@uppy/unsplash": "workspace:^"
-    "@uppy/url": "workspace:^"
-    "@uppy/utils": "workspace:^"
-    "@uppy/webcam": "workspace:^"
-    abortcontroller-polyfill: ^1.7.3
-    core-js: ~3.24.0
-    md-gum-polyfill: ^1.0.0
-    resize-observer-polyfill: ^1.5.1
-    whatwg-fetch: ^3.6.2
-  languageName: unknown
-  linkType: soft
-
 "@uppy/screen-capture@workspace:^, @uppy/screen-capture@workspace:packages/@uppy/screen-capture":
   version: 0.0.0-use.local
   resolution: "@uppy/screen-capture@workspace:packages/@uppy/screen-capture"