diff --git a/.gitignore b/.gitignore index 32cdbb419..366a950bd 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ config/ nohup.out examples/bundled-example/bundle.js +uppy-*.tgz diff --git a/.travis.yml b/.travis.yml index f54e82fc4..f39f223cd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,7 @@ script: - npm run build - npm run test - if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then npm run test:acceptance; fi +- npm run uploadcdn env: global: - CXX=g++-4.8 @@ -33,6 +34,8 @@ env: - secure: YpVwjcpc6FomKgRb0tP8MpITEOfvMP2kTAnpSfG3USMW3mZ8Zkn8CLr471DjpmVE2jHklI6AfPTpGPFb1VOsrS7Ea4jxAJOdBwH6Ab7kL52GX0GYtPsSxeTVME5IMZXsU90UCbAXKOEkZbGq5sIaIHjAePmcNSv+OHb157fqcyX0oSJWDg1eVzBikgWhpKtlcbPFp7AdoIvhDr5bPLyV1c0HmOIEirc0VcoQg3fYsKB7mY5tP7KCqCIJtZtD0+FiSamp13WImD0/7wwX0hbTG2KH3zgjyiKOLxsbwXOIpXIJ0utXY4EFZBTTSZjItbL/f5wzZ+xBhwAsy5/Vi2pCtiVI2sUZ98b3FioLdQ7+3jQviNmOam6b56KTNAy2l4Tlu5h8PGtBvsDo+ZcgJ06q65YRZQcnOIweGv0vZ31cdgcVXRb+8fWFywQeIk6DD0FluB3/zZl7pn2Olha0gv4DxiythXDAHRoTzZfFfaPL1T+kl6ViGNQvKi6ucy8/ltlO/JKAeJlWKJouWOe2TvGMNU6JKQfAiqz1y16lVa8P5VYj+cRbsfalYfhqEf96kMdelgCup7mQdTMAiOP6lhIF9ItMjVqVFQECYy6oItxAGXc8UAJJcKJSc6DwVTgOK6V7LfkoM8O6qMeFzfpPnsFEl3uwjQEmMzc7Wk2LxkrFoBI= - secure: gqSy8e0l5gm6xqgKtKwbE8K+bhIrL9+NwqG6nADUhEFZqtNiNzeKu2Ym++cTrRJhBaJQr9gy+GJtL2BH2rFwIhtuk+/zsdaenPC8tZ/Phof5MBVJApPJ0kgbbFpcJFx8xu6TrlOfDls0Cu8RHA6FQ/4RSoBooCZOrWHrPXpJiN04lAZUpUdJyAg/1suP2owAcvJAjKI7laWVLTkhDZNjDDJ2gSjGtF3AnWL0piRCJXAWehrgcLFC8PMC9RAG/Puxh9WH8dCH8Tp0ccfib11X2mtT1Ii6mwg8y6U6h3yoRC9dJCB+IGjDKkE8aEESzvsQBp3T6QIqxNK4gAhN90je+bT9AjoHLVcIao7aCHCAvOXlQobZCzWdbfCZJEba+Xse2Zvwyy0mjEae97eljsRwsaH7qXEMcBNipqU9S1p7DQAwLU1Wgkyn1eml65Gc12VZ+fEjzS10OfYLHnxxUnrjGGJqNOdVkj+arwGm2ZTYzrUB3csHm47mTQz2x9QqWE4ICs3D/OLK4zMNq+pSiYtYv6sbY4WDWSFXMQtkys7DgCBAiQg7Eekedp22o/mVX2b3ZQ11SUAT5MIvhGRzvsk32puaiVW2tSAXeH534diuNSUuguzoDrS1fGBsBLeQbV+f0QfhjCziF1hWzp3rwq2b3szsC3lDOxG3Zq/lCGIZ050= - secure: YDeqwl7CH0YoMqy+hgqcdzPUHVhiZxiHHqTt0INX6o6LdB9gh6P2II7nJYAKuXeIhboM2bVsyGoiTnx/Pxmkil8Kr7Uc5KJZ/4bHD3+MLT0gtrfh8WPyzMRePxrjn380kYFYz/N5LSWRm5A+92U7wPNRYBJIDWpVdHxE9zs7nclBJsvq/Gyidx/2A9LvEn4zmgCcKgB7GoVfXCtMUpQTtVjGCt2O+j0abeg8cyA/edxZaUvgHIZxSM7oAQjvlEloSSKPQPcrmIqru9fSN/VHyMLATUMtqp+I8jULOA+WLDgyEYUA8ofdMYlGyVlSp01fYK3bSNbcma/dln/O0wczPsIlz2ZWhwKXcGn44SQWrOOEazs/FalO1TNAql/1P2iyNd/1M77EjpLMWewpqnRCvKiCVFiJ++MfE9jEYbQtvc3jpa+seKlqPnP/4kQlINKow+J3sI7zveTf/iIcS/zN86oQw2QXlf7XoiTg5Et6zo0a+cf/uuS6e1m4cs+kvL4t+g3mMTgtou0Hifl98BmoyatP4/SszO1/lWEKi0sO06zv56A0FXtUjkZAX3MA8goOIHfpUZR1KbrbbQdI0nbAjHiIvsGg+aoAHTx9xMY3Ceb/xmK2AHZZfoH1yJFHARTbiaNcpKTPI7wp0eH4Ptbmh0u0FLQEYFtt3vQGALtueU0= + - secure: GXEHrPdfmMrBshZqAEXzbg2vHRvammVLxo2PwAH/m4Mi30cSoRq80aYH2vrzWR07jAEM/jyS/OSY2jMBgQPGfF2c3lrdJSSkqFUnfbvHnhH+fZe9mv9T6VUyTSWPge4z8ZbjHSqZORNW31jCuZC2ftGJBJpYdfoKaladK08vcBIj+bG1bjdZwio2HjycO55saILrZQVYHu6VKe2g2oNdEC2xaP1NBuxBFpR5NZwOLQjPjR3lU8xvTy5hU+rxR0ILi7aJ+mIUzcK0q3FSoLFJTa6E6OYWw9DMamaKk6OpBqALBAWIAw37Z6qYdgolQqGR3ZSgvR3aZIDveoim6tVWJG4lLn5mD+jNuM2N3XxFOIfSafE3PDJy7HUsDFkv+nXh2TFzEsFSzNxY1I+falgkq/CEnMSeYWxdvsa+H2zuCBoi6Y33PqR9rgFjukdJ0R2Agam1Jx/wLMoOnos7gc12fm/ARlUSPMFXmuKuTLFparDPZeh/98Wz91yyI1jWww3tQOVMOTiANyxXaVhOKsmhyOqfvvaaytyWYthW1ZQCczHZYhXC5bL86hq3ZQkFFhG45Z3zxmsXMZBz8O5T1epsR8Jnsja9OmXpgLuWx4FBw8MeAtTYC1ewFFR52LMgcN2KBTs97iwT5TIPywA9NMvl9CnKK3CReEyzSaPdtECBBIY= + - secure: h1Ye8bDFv3F4Z3wWXLHCu8fTXiHQ30pUDi5jEW+e5FoQoVAFLzZNlKTFpPKPv59DT163G6xdA5FbJ2U/8rnmKXChEP8I7p25ajK5hNYr6KKhmR0dwBzEE4Vt6pgjiWPnaeBVsI1nxb8++aWDPoAAvphfzrSvPft5HYHTjpPuHz3TDhxY2I8/bP16ohh8M1MiD+iPbk+ScGgjJhzBUcW1NgMat2j4jGYPtzyQknHM95+GSBgdpKT8GJqsgivUGX9CrnGEWHUpq6NlaGK0uba316WxVmtGGi7obNvIUrxghbN1WtrtNxkg7DnXk3HHHEupc4T339zDZ86sIdJzRqlpdp0kTsPHU/drb5jpWBtfmBjylVh8gTEwyecpUtLttf2Ex1/Am1JiwchqJfd45/fGQ411SFNlvLUH9Ew37S4Q9wG7lafpbSiG2+oFxz2OjHM6VPSTVlg5K9nA40Ipf2TE21GaPSPL2j4eGm58VFym679xeTOXo9bZ537uuiXRL4ODjg7aq/Z6VgKpbyeCiC8iucapdQcb9P6GweB7t0gB3WK6Dyh4XpwhCqOwKNPgMcyd5+6bNVAIxygmo0PLaQ8L+3huUtqqaMFm6qvy/e3djY/kDuBMVwmee3D9xoDVPcF2Mtz6pKcFjVGmYJqHM3aFk3uc420GFP9gcLStWTz84MY= notifications: slack: secure: L3iQQE8sZ0ik1Z26gPoNMiIam9EOEwYhraHCY60Jk/wmfH6SW/727yKXpgcb/yayx37rUZplvoO7H8e05ISxTJKSepEeqbBUIBQs48S8hr+FHk0VPtpP4HGxqaITRLm+mI1coPRvfISxzrB8d240oup6muhC9Ws4/LXi6v8miyIOs2zoYmGxd56TrUeON3UYlKt6dMava0V4bugARzrafN/tfyI9ccqbHzQLBspQvBI61DzZ5I2vnWpkjfWgIHz9Fl4VzXHqMXwjuTUEu8ibA12b3dHZiJEAoqeb9Oj9QcLPbstPLhlNTZZaOrfiFtwLctI2rFh37slDpAfk5idv3ycxcoG5rbCxgyg5i6dpQqrqHxnyglgHg2/nZ+YA5okeS7nJJNtU/4S6AFRWOUUWMVVY0VBEV+8w+uurl0PDy80RUY3uyK64qAgQ8U0M81/Ys1oyWyn78TqHcbby7V2Ws5I9Yakrq8D+mdfsWYCio8F6LXHSwJ0mt2FanJtdDvpPk9sAwsXZN0n8xhELt5TiRp3bzVIQ0IPUgF54dTG9/zWRvC1P4TFaFU/2fg73ZEUC5aWJoFMnLSZjbZvp5gwpCVd0MjSBk80nF9dHYcavIgJ0wMGI3BMb8Nn6+T11Gw/ycr7OGU4NMkj7i8vSFgKF74piWZyiNW8orkMN6XZgM+o= diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a7961af8..bd4c2577b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,7 +62,6 @@ What we need to do to release Uppy 1.0 - [ ] QA: test in multiple browsers and mobile devices - [ ] QA: test uppy server. benchmarks / stress test. multiple connections, different setups, large files (10 GB) - [ ] QA: tests for some plugins -- [ ] automatically host releases on edgly and use that as our main CDN - [ ] docs: on using plugins, all options, list of plugins, i18n - [ ] feature: preset for Transloadit that mimics jQuery SDK, check https://github.com/transloadit/jquery-sdk docs - [ ] refactoring: possibly add CSS-in-JS @@ -126,6 +125,7 @@ To be released: 2018-02-10. - [ ] uppy-server: benchmarks / stress test, large file, uppy-server / tus / S3 (10 GB) - [ ] meta: add https://twin.github.io/better-file-uploads-with-shrine-direct-uploads to the next blog post - [ ] uppy-server: document docker image setup for uppy-server (@ifedapoolarewaju) +- [x] meta: automatically host releases on edgly and use that as our main CDN (#558 / @kvz) - [ ] uppy-server: pass response from uppy-server upload’s endpoint (@ifedapoolarewaju) - [ ] uppy-server: support localhost urls as endpoints (@ifedapoolarewaju) @@ -554,7 +554,7 @@ Theme: Getting together. - [x] tus: add `resumable` capability flag (@arturi) - [x] tus: start fixing pause/resume issues and race conditions (@arturi) - [x] test: working Uppy example on Require Bin — latest version straight from NPM http://requirebin.com/?gist=54e076cccc929cc567cb0aba38815105 (@arturi @acconut) -- [x] meta: update readme docs, add unpkg CDN links (https://unpkg.com/uppy/dist/uppy.min.css) (@arturi) +- [x] meta: update readme docs, add unpkg CDN links (https://transloadit.edgly.net/releases/uppy/v0.22.0/dist/uppy.min.css) (@arturi) - [x] meta: write 0.10 release blog post (@arturi) ## 0.9.0 diff --git a/README.md b/README.md index 75412332f..28b05674d 100644 --- a/README.md +++ b/README.md @@ -64,21 +64,21 @@ $ npm install uppy --save We recommend installing from npm and then using a module bundler such as [Webpack](http://webpack.github.io/), [Browserify](http://browserify.org/) or [Rollup.js](http://rollupjs.org/). -Add CSS [uppy.min.css](https://unpkg.com/uppy/dist/uppy.min.css), either to `
` of your HTML page or include in JS, if your bundler of choice supports it — transforms and plugins are available for Browserify and Webpack. +Add CSS [uppy.min.css](https://transloadit.edgly.net/releases/uppy/v0.22.0/dist/uppy.min.css), either to `` of your HTML page or include in JS, if your bundler of choice supports it — transforms and plugins are available for Browserify and Webpack. -Alternatively, you can also use a pre-built bundle, for example from [unpkg CDN](https://unpkg.com/uppy/). In that case, `Uppy` will attach itself to the global `window.Uppy` object. +Alternatively, you can also use a pre-built bundle from Transloadit's CDN: Edgly. In that case `Uppy` will attach itself to the global `window.Uppy` object. > ⚠️ The bundle currently consists of most Uppy plugins, so this method is not recommended for production, as your users will have to download all plugins when you are likely using just a few. 1\. Add a script to the bottom of ``: ``` html - + ``` 2\. Add CSS to ``: ``` html - + ``` 3\. Initialize: diff --git a/bin/upload-to-cdn.sh b/bin/upload-to-cdn.sh new file mode 100755 index 000000000..3e9ce8b40 --- /dev/null +++ b/bin/upload-to-cdn.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash +# Upload Uppy releases to Edgly.net CDN. Copyright (c) 2018, Transloadit Ltd. +# +# This file: +# +# - Assumes EDGLY_KEY and EDGLY_SECRET are available (e.g. set via Travis secrets) +# - Tries to load env.sh instead, if not +# - Checks if a tag is being built (on Travis - otherwise opts to continue execution regardless) +# - Installs AWS CLI if needed +# - Assumed a fully built uppy is in root dir (unless a specific tag was specified, then it's fetched from npm) +# - Runs npm pack, and stores files to e.g. https://transloadit.edgly.net/releases/uppy/v0.22.0/dist/uppy.css +# - Uses local package by default, if [version] argument was specified, takes package from npm +# +# Run as: +# +# ./upload-to-cdn.sh [version] +# +# To upload all versions in one go (DANGER): +# +# git tag |awk -Fv '{print "./bin/upload-to-cdn.sh "$2}' |bash +# +# Authors: +# +# - Kevin van Zonneveld