Commit graph

585 commits

Author SHA1 Message Date
Renée Kooi
52760d2bb7
dashboard: improve support for right-to-left scripts (#2705)
* dashboard: fix modal position on rtl pages, fixes #2495

* Align text to the right on right-to-left pages

* core: fix default text alignment on right-to-left pages

* dashboard: fix margin in provider browser on right-to-left pages

* dashboard: use direction-aware offset properties

* provider-views: use logical offset CSS properties

* status-bar: use logical offset CSS properties

* dashboard: fix addMore icon margin on RTL pages

* dashboard: some more logical properties

* build: compile logical properties to old CSS

* dashboard: set dir attribute if page did not provide one

* status-bar: set fallback text direction if not provided

* support direction option for inline and modal dashboard

* use companion.uppy.io on deploy previews

* provider-views: fix RTL alignment of file icons

* put the dir attribute on a wrapper div

* fix icon alignment in RTL provider views

* informer: fix ? alignment in RTL mode
2021-01-27 17:13:38 +00:00
Artur Paikin
80ca74ba38 remove version, add example to package.json 2020-12-23 17:38:26 +00:00
Andrew
ff3127f663
Svelte integration (#2671)
* Added basic components

* Updated README

* Added LICENSE

* Added basic doucmentation

* svelte: Fixed CSS issues

* svelte: Added CSS to docs

* svelte: Removed favicon

* svelte: Configured build system and CSS

* svelte: Updated docs for better CSS

* svelte: Disable TSD for svelte

* fix: fixed svelte building issues

* Update packages/@uppy/svelte/package.json

Co-authored-by: Artur Paikin <artur@arturpaikin.com>

* add svelte to locale-packes build ignore

* upgrade typescript

This might get reverted, but it upgrades from Typescript version 3.7.5 to 3.9.3

* remove devDependencies from svelte and vue packages

* Update packages/@uppy/svelte/package.json

Co-authored-by: Renée Kooi <renee@kooi.me>

* slight tweak for docs and readme

* try to switch to file urls for vue and svelte

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
Co-authored-by: Renée Kooi <renee@kooi.me>
2020-12-23 13:45:26 +00:00
Renée Kooi
06245cd85a
switch to Dart Sass (#2661)
* switch to Dart Sass

* make hexo work wherever its installed?
2020-11-27 11:28:47 +00:00
Renée Kooi
084d17db7d
GitHub actions (#2617) 2020-11-27 09:52:48 +01:00
Andrew Kachnic
ef0722cbc6
Fixed build errors
Both test:type and lint were failing, so I fixed the issues
2020-11-26 06:54:25 -05:00
Andrew
b082e54029
Vue integration (#2500)
* Basic setup

* Updated some documentation

* Cleanup some useless files

* Added docs to website

* Re-add package.json

* Added module

* Update vue.md

* Update DOCS.md

* Starting writing docs

* Fix my own spelling mistake

* Add a proper README and LICENSE

* Some quick fixes

* Update Dashboard.vue

* Added shallow-equal

* Try adding an example to test vue integration locally

* Temporarily fixed build and example

* Small documentation fixes

* Added Vue 3 example

* Added proper bundling and typescript for vue

* Added full typescript support for integration

All @uppy/vue components now support TypeScript and are strongly typed.

* Massive docs improvement for @uppy/vue

* Fix small type error in dashboard-modal

* Slight documentation changes

* Add typescript types file to package.json

* Trim down dependencies

* Fix building with Vue

I added it to a list of ignored packages as it builds a little weird

* Updated example

* Converted .vue files to .ts

* Setup .js files for @uppy/vue

* Fixed small rendering bug

* Delete package-lock.json

* Delete package-lock.json

* Delete package-lock.json

* Update packages/@uppy/vue/package.json

Co-authored-by: Artur Paikin <artur@arturpaikin.com>

* Some cleaning for @uppy/vue

* Delete components.d.ts

* Removed Vue 3 example

* Update typescript stuff for @uppy/vue

* Documentation update for @uppy/vue

I changed to menu text to 'Other Integrations'

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
2020-11-25 22:59:06 +00:00
Artur Paikin
95e014f572
test: use DeepFrozenStore in one end to end test (#2607)
* use DeepFrozenStore in one end to end test

Follow up to #320

* add DeepFrozenStore to some Core unit tests
2020-11-25 21:19:32 +00:00
Carter Konz
970ac8df5b
companion,box: Box provider implementation (#2549)
* boilerplate for Box provider

TODO:
  - adapter
  - index
  - website/src/docs
  - tests

* Box provider implementation

- adapter
- index
- npm bufoonery
- lil' fixes

and MORE!

TODO:
- thumbnails 🤬
- tests
- docs

* Box provider: add brand icon, fix file icons

- token issues with thumbnail/logout

* Box provider: fix thumbnails, upload

- fix tokens for box
- implement `size()`
- make debug logging easier to find (bold blue)

learned:
- box needs cookie auth
- thumbnail requests come back as 202s

TODO:
- fix logout with form POST (zoom example)

* Box provider: fix logout

- add client info as formData to revoke post

TODO:
- tests cleanup
- package-lock fix
- docs

* Box provider: docs

TODO:
- tests

* Box provider: cleanup

TODO:
- tests

* fix error msg path for Box

- remove comment

* keeping up

- update ProviderViews import
- fix version string on Box package.json

* companion,box: exclude box from global module/examples while in beta

Co-authored-by: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>
2020-11-13 15:37:00 +01:00
Ifedapo .A. Olarewaju
d586a4cf53
companion,unsplash: Unsplash provider (#2431)
* unsplash[wip]: implement unsplash provider + plugin

* unsplash,provider-views,companion-client: fully working unsplash plugin

* unsplash: clean up plugin implementation

* provider-views: refactor CloseWrapper

* companion-client: encode search text before adding it to URL

Co-authored-by: Renée Kooi <renee@kooi.me>

* companion: use object spread over Object.assign

Co-authored-by: Renée Kooi <renee@kooi.me>

* zoom: fix provider-view import

* circle icon

* update locale strings and package-lock

* move truncateString to @uppy/utils and use it for Unsplash name-description conversion, adding .jpg

* use alt_description if description in null

* companion: handle name truncation internally

* companion: handling carriage for truncation + fix urlmeta import

Co-authored-by: Renée Kooi <renee@kooi.me>
Co-authored-by: Artur Paikin <artur@arturpaikin.com>
2020-10-28 19:50:51 +01:00
dependabot[bot]
0592d97768
build(deps-dev): bump http-proxy from 1.18.0 to 1.18.1 (#2512)
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-05 10:21:37 +02:00
Renée Kooi
f3721ba16a
Update Jest to v26, raise Companion requirements to Node.js >= 10.20.1 (#2472) 2020-08-20 11:22:58 +02:00
Renée Kooi
caa048b490
deps: upgrade browserify and plugins (#2462) 2020-08-13 14:50:08 +02:00
Renée Kooi
cdced26f0a
deps: update size-limit (#2461) 2020-08-13 13:49:27 +02:00
Renée Kooi
335079d222
deps: upgrade ESLint to v7 (#2460) 2020-08-13 12:46:22 +02:00
Renée Kooi
c5bf19a4d4
deps: update jest and babel (#2458) 2020-08-13 12:06:58 +02:00
mokutsu-coursera
f1ef5bd809
companion,zoom: add implementation for Zoom plugin and Zoom Provider (#2342)
* [WIP] First pass at adding zoom plugin and zoom companion service for allowing imports from zoom cloud

* WIP. Remove zoom example and move zoom companion code into core companion package, update list endpoint to retrieve based on pagination token or dates available, and get size / download endpoint working.

TO DO:
- fix logout / token expiry
- investigate why test for loading config from file is not working as expected
- confirm pagination works

* Modify provider views to allow for cases with zoom provider when insufficient results exist to enable infinite scroll (but users may need to retrieve older results), update types tests. Linters failing on the provider views files

* Update uppy and companion for the zoom integration to use folders to represent months, and retrieve 1 month at a time.

- clean up code around response data items to explicitly show fields, and match style of other provider methods
- update license date to 2020 across repo
- enable download/uploado of json timeline files
- fix companion test to load credentials from file
- remove front end code no longer required now that folders are being used instead of loading more with button

* Change initial check for user authentication to use same endpoint so we can reuse the same app permission list (ie dont require additional permissions to read user data)

* Clean up zoom provider index file, add api call back to retrieve user account information such as created timestamp and email, fix file icons, remove unused strings, remove license date updates from branch

* Add permission list to grant configurations, remove undefined response body check, update error to match style of other providers, reorder svg attribute to match other icons

* Add request to get user email address for when we are retrieving user meetings and meeting recordings within zoom provider, clean up logout api call

* Update adapter to use meeting UUID when returning the meeting id to match the meeting ID associated with the recording file meeting. This should also resolve issues around reused meeting IDs from zoom.

* Fix companion test

* uppy,robodog: do not add zoom yet

* zoom: add publishConfig

* test: remove uppy.Zoom use from typescript e2e test

Co-authored-by: Renée Kooi <renee@kooi.me>
2020-07-30 11:01:21 +01:00
Renée Kooi
2847dc839d
deps: do npm update 2020-07-20 13:37:31 +02:00
Artur Paikin
a831837773 Connect image-editor and Dashboard, try rotation 2020-06-30 17:24:59 +01:00
Artur Paikin
1423b4c839 Merge branch 'master' into dashboard-image-cropping 2020-06-29 14:56:57 +01:00
Renée Kooi
fb162d8673
deps: add missing dependencies to root package.json 2020-06-29 14:01:19 +02:00
Marius
541feef81e
Update tus-js-client dependency to v2 (#2239)
Co-authored-by: Renée Kooi <renee@kooi.me>
2020-06-22 12:41:45 +02:00
Renée Kooi
01ce09a143
Upgrade lerna 2020-05-25 15:47:51 +02:00
Renée Kooi
c06196ae68
website: fix the mixed content emails from netlify 2020-05-25 13:17:08 +02:00
Artur Paikin
5f28e40dbf add draft basic cropping to a weird place 2020-05-14 20:52:40 +02:00
Kevin van Zonneveld
803611ed04
Move @uppy/utils/lib/prettyBytes -> @transloadit/prettier-bytes (#2231)
* Move @uppy/utils/lib/prettyBytes -> @transloadit/prettier-bytes so we can more easily re-use it across projects

* Switch to MIT licensed @transloadit/prettier-bytes

* lockfile fun

* build: add dep for website/inject.js

Co-authored-by: Renée Kooi <renee@kooi.me>
2020-05-07 16:54:13 +02:00
Renée Kooi
8fd3f591d0
test: make endtoend tests runnable with local IEDriverServer 2020-04-27 15:38:35 +02:00
Renée Kooi
8e5b86b839
Dependency and CI updates (#2217) 2020-04-24 11:05:47 +02:00
Renée Kooi
9513d1c0b1
Some Windows support (#2211)
* build: explicitly use `sh` for shell scripts

* build: fix css path check on windows

* build: use NODE_PATH instead of symlink for local package resolution in e2e tests

* build: actually with new lerna we do not need NODE_PATH

* build: sh → bash
2020-04-22 09:56:34 +02:00
Artur Paikin
a6c8ef15e1
ScreenCapture plugin for screenshots / screen recordings (#2132)
* Finnish locale semantics improved

* Finnish semantics improved

* Screen capture initial commit

* Fix. Removed audio constraint from video.

* ui improvements

* so Lerna doesn’t try to publish as private

* refactor, tweak icons

* remove commented code from webcam styles

* Check for MediaRecorder (hides button in Safari) and refactor everything

* update readme

* beta for now

Co-authored-by: Miika Jukakoski <miika.jukakoski@ourmind.io>
2020-04-21 20:47:20 +02:00
Renée Kooi
7bf390abda
add markdown linting using remark (#2181)
* build: add markdown linting

* build: support markdown front matter

* build: fail remark lint on warnings

* Fix markdown lint warnings

* changelog: fix markdown errors, allow literal URLs

* ci: add markdown lint step

* website: regenerate contributing.md

* build: properly ignore vendor and built files from remark-lint

* build: add private packages to lerna config
2020-04-13 09:48:11 +02:00
Renée Kooi
5e25b2a939
Fix translations that did not respect word order (#2077)
* Fix translations that did not respect word order

Fixes #2069

We were still using raw string concatenation in these two places. To
maintain backwards compatibility, this commit adds _new_ translations
that are substitution-based instead of concatenation-based. The old
translation is passed in as a possible substitution parameter
`backwardsCompat`, and the default (English) translations use this
parameter.

With this, if you are using a custom locale that overrides eg. the
`exceedsSize` string, Uppy will first get your `exceedsSize`
translation, and then use the default `exceedsSize2` translation which
concatenates that result and the file size. So it works the same as it
did in the past.
If a translation requires a different word order, it can override the
`exceedsSize2` translation instead.
```js
new Uppy({
  locale: {
    strings: {
      exceedsSize2: 'Maximum file size of %{size} exceeded',
      poweredBy2: '%{uppy} made this!'
    }
  }
})
```

In 2.0, we can remove all the old strings and only use `poweredBy2` (and
probably rename them to `poweredBy` too, heh)

* website: add missing dashboard strings to docs

* locales: remove unused second plural form from EN and NL

* build: allow different numbers of plural forms

* utils: add test for new throwing behaviour

* docs: insert PR url

* locales: revert ko_KR changes

* changelog: add 2.0 backlog entry

* locales: var → const

* docs: add brief note that translators should supply a pluralize function

* locales: update en_US with new template

* fix HEIGHT_MD = 400

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
2020-03-19 14:41:14 +01:00
Renée Kooi
4e5cad5842
npm audit fix 2020-03-09 11:33:19 +01:00
Renée Kooi
fab5c80bfc
Update outdated type dependencies. 2020-02-24 15:32:59 +01:00
Renée Kooi
f984c0901f
Upgrade tsd. 2020-02-24 15:27:33 +01:00
Artur Paikin
17578e83dc
build: contributors:save fix — the node.js version (#2078)
* Create update-contributors.js

* move `## Contributors` out of `<!--contributors-->`

* use execa

* Update bin/update-contributors.js

Co-Authored-By: Renée Kooi <renee@kooi.me>

* yes, it’s not pretty, but it works?

* switch to execa again: showLogin --> showlogin

thanks @goto-bus-stop

Co-authored-by: Renée Kooi <renee@kooi.me>
2020-02-18 15:36:14 +01:00
Renée Kooi
be66c47deb
Actually check types (#1918)
* types: stronger typings

* Remove remaining `declare module` things for uppy.use

* Format types standard-style-like

* Add `target` properties to plugin typings

* Add type for `replaceTargetContent` option

* xhr-upload: allow lowercase method

* opt in to stricter typechecks

* use the strictly typed version in all typings tests

* endtoend: use strict types in typescript test

* Add some comments to the typings file so IDEs will warn about untyped use()

* informer: remove obsolete option from typings

* react: generate prop types based on actual options types

* react: update types

* react: fix import in typings test

* companion-client: add `pluginId` property to ProviderOptions type

Co-Authored-By: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>

* core: remove some `any` types

* *: add locale string types

* *: generate locale typings

* core: fix LocaleStrings<> type

* dashboard: add locale string type tests

* tus: inherit options typings from tus-js-client

* transloadit: add missing options types

* ci: do the required build steps before testing typings

* Support TokenStorage in types, add `title?: string` options

* form: update typings

* types: put TokenStorage type in dependents

* Document Uppy.StrictTypes

* if we pin at least we should use the latest

* Allow document.querySelector

I think it's a eslint-plugin-compat bug that it's marking querySelector
as not available in Android Chrome 78.

Co-authored-by: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>
2020-02-12 16:22:09 +01:00
Kevin van Zonneveld
691bb2152b Upgrade adm-zip to hopefully avoid corrupt uppy archives
https://github.com/cthackers/adm-zip/pull/267

In our case, we could unzip fine, but in 7zip it reported: "Headers Error"
and in the Ubuntu 19.10 gnome extracting app, it would say "empty archive" and "An error occurred while loading the archive."
2020-02-12 13:01:43 +01:00
Kevin van Zonneveld
c943711428 Remove ^ from package.json 2020-02-12 12:58:55 +01:00
Artur Paikin
16eeef9437 npm audit fix 2020-02-12 12:16:50 +01:00
Kevin van Zonneveld
b7bdce7363
Upload downloadable zip archive of releases to CDN (#2052)
* Fix jsdoc warnings

* Upload downloadable zip archive of releases to CDN

* var -> const

* Only upload .zip for the main uppy package

* Implement @goto-bus-stop's feedback
2020-02-05 13:49:47 +01:00
Renée Kooi
7b2283d8ef
examples: add npm run example script
a bad result from adding the examples as dependencies of the root
repository is that they now don't have access to the npm binaries they
need to run in their own folder, because they are installed into the
root repository instead.

this works around that issue.

we may need to consider undoing that change and making the examples work
as standalone projects again, that's easier to understand.

fixes #2024 for now.
2020-01-15 11:16:56 +01:00
Renée Kooi
debab7c6fc
pin replace-x to a version that accepts our bad regex 2019-12-16 12:46:12 +01:00
Renée Kooi
b82115a37f
deps: do npm update && npm audit fix 2019-12-11 13:15:17 +01:00
Artur Paikin
88fc5d0de1
Website: add plugin versions (#1952)
* Move stats to plugin list, add table with versions of all plugins

* Update Hexo to 4.0, and other deps too

* update hexo-filter-github-emojis dependecy, run lerna bootstrap

* re-create package-lock.json

* crap, it adds body/html to any document now, and this is a partial :(

* companion: temporary fix for ts compile error

* fix netlify maybe

* node 12 is lts

* revert attempted netlify command fix

* update package-lock.json
2019-12-09 12:46:38 +03:00
Renée Kooi
b501b7fce2
Let lerna ask for OTP 2019-10-14 16:37:13 +02:00
Renée Kooi
a1eeaa386b
Update babel-eslint and jest
Fixes the `no-unused-vars` issue.

Disables the preflight check in CRA, it has its own isolated module tree
so it was useless anyway.
2019-10-11 16:11:52 +02:00
Renée Kooi
733de659da
Upgrade standard to v14 (#1860)
* Update eslint dependencies.

* standard --fix

* build: disable handler name lint rule

* status-bar: manually fix lint errors

* webcam: manually fix lint errors

* url: manually fix lint errors

* react-native: manually fix lint errors

* dashboard: manually fix lint errors

* informer: manually fix linting errors

* progress-bar: manually fix lint errors

* provider-views: manually fix lint errors

* redux-dev-tools: manually fix lint errors

* build: disable buggy no-unused-vars rule

* examples: manually fix lint errors

* ` quotes for code things, ' for text things
2019-10-09 14:53:02 +02:00
Renée Kooi
bb8b66d918
Use more cancellation-friendly strategy for limit: N uploads (#1736)
* xhr-upload: redo limit option using different strategy

* xhr-upload: fix marking requests as done

* Move duplicate createEventTracker definitions to @uppy/utils

* tus: new cancellation for local uploads

* tus: fix cancelling queued uploads

* tus: fix wrong name

* aws-s3-multipart: smol refactor

* aws-s3-multipart: new cancellation style

* aws-s3: new cancellation

* utils: port limitPromises test to RateLimitedQueue

* timing fix?

* tus: new cancellation on websocket

* xhr-upload: implement cancellation for remote uploads

* aws-s3-multipart: port to new cancellation

* utils: remove limitPromises

* xhr-upload: remove pause/resume code

* xhr-upload: clean up event listeners

* xhr-upload: extract progress timer to separate class

* Move ProgressTimeout class to utils

* utils: update typings

* Fix lint

* tus: make pause/resume respect the rate limiting queue

* tus: try to explain some of the tricky things at play in the Tus#upload method

* aws-s3-multipart: add missing { abort: true }

* aws-s3-multipart: make pause/resume respect the rate limiting queue

* eslintrc.json - fixed eslint warnings for jsdoc

* Revert "eslintrc.json - fixed eslint warnings for jsdoc"

This reverts commit 50b24773ce.

* eslintrc.json - allow indentation in jsdoc comments

* xhr-upload: fix promise return value

* tus: fix promise return value

* tus: add missing `return () => {}`

* utils: typing export type fixes

* tus: add more jsdoc

* companion-client: add missing SocketOptions type

* utils: fix more export typings

* core,companion-client,tus: more typings tweaking

* companion-client: test fix 😩

* companion-client: add type for Socket#open

* tus: fix emit() call

* add local cancellation fuzz....ish? test
2019-09-25 15:21:17 +02:00
ifedapoolarewaju
a3809fcd2a
onedrive: add documentation + link as local dependecy 2019-09-20 11:23:32 +01:00