From 7cdbe9623b96cb63f02c27935ccc919841bd6552 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:19:06 -0400 Subject: [PATCH 01/13] Minification of the bundle, npm-run-all --- bin/build-css.js | 26 +++++++++++++++++++++ bin/build-js.js | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 32 +++++++++++++++----------- 3 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 bin/build-css.js create mode 100644 bin/build-js.js diff --git a/bin/build-css.js b/bin/build-css.js new file mode 100644 index 000000000..e94c4a620 --- /dev/null +++ b/bin/build-css.js @@ -0,0 +1,26 @@ +var sass = require('node-sass') +var postcss = require('postcss') +var autoprefixer = require('autoprefixer') +var cssnano = require('cssnano') +var chalk = require('chalk') +var fs = require('fs') +var mkdirp = require('mkdirp') + +mkdirp.sync('./dist/') + +function handleErr (err) { + console.error(chalk.red('✗ Error:'), chalk.red(err.message)) +} + +sass.render({file: './src/scss/uppy.scss'}, function (err, sassResult) { + if (err) handleErr(err) + postcss([ cssnano, autoprefixer ]) + .process(sassResult.css) + .then(function (postCSSResult) { + postCSSResult.warnings().forEach(function (warn) { + console.warn(warn.toString()) + }) + fs.writeFileSync('./dist/uppy.min.css', postCSSResult.css) + console.info(chalk.green('✓ Built Uppy CSS:'), chalk.magenta('uppy.min.css')) + }) +}) diff --git a/bin/build-js.js b/bin/build-js.js new file mode 100644 index 000000000..47d7c5e72 --- /dev/null +++ b/bin/build-js.js @@ -0,0 +1,59 @@ +var path = require('path') +var fs = require('fs') +var babelify = require('babelify') +var chalk = require('chalk') +var mkdirp = require('mkdirp') +var glob = require('glob') +var browserify = require('browserify') +// var rollupify = require('rollupify') + +mkdirp.sync('./dist/') + +function handleErr (err) { + console.error(chalk.red('✗ Error:'), chalk.red(err.message)) +} + +function buildUppyBundle () { + browserify('./src/index.js', { debug: true, standalone: 'Uppy' }) + .plugin('minifyify', { + map: 'uppy.js.map', + output: './dist/uppy.js.map' + }) + // .transform(rollupify) + .transform(babelify) + .on('error', handleErr) + .bundle() + // .pipe(exorcist('./dist/uppy.js.map')) + .pipe(fs.createWriteStream('./dist/uppy.min.js', 'utf8')) + .on('error', handleErr) + .on('finish', function () { + console.info(chalk.green('✓ Built Uppy bundle:'), chalk.magenta('uppy.min.js')) + }) +} + +function buildUppyLocales () { + mkdirp.sync('./dist/locales') + glob('./src/locales/*.js', function (err, files) { + if (err) console.log(err) + files.forEach(function (file) { + var fileName = path.basename(file, '.js') + browserify(file, { debug: true }) + .plugin('minifyify', { + map: fileName + '.min.js.map', + output: './dist/locales/' + fileName + '.min.js.map' + }) + // .transform(rollupify) + .transform(babelify) + .on('error', handleErr) + .bundle() + .pipe(fs.createWriteStream('./dist/locales/' + fileName + '.min.js', 'utf8')) + .on('error', handleErr) + .on('finish', function () { + console.info(chalk.green('✓ Built Uppy locale:'), chalk.magenta(fileName + '.min.js')) + }) + }) + }) +} + +buildUppyBundle() +buildUppyLocales() diff --git a/package.json b/package.json index 4ae9bbc21..096c8118e 100644 --- a/package.json +++ b/package.json @@ -4,13 +4,13 @@ "description": "Almost as cute as a Puppy :dog:", "main": "src/index.js", "scripts": { + "build:bundle": "node ./bin/build-js.js", + "build:css": "node ./bin/build-css.js", + "size": "echo 'JS Size:' && cat ./dist/uppy.min.js | gzip | wc -c && echo 'CSS Size:' && cat ./dist/uppy.min.css | gzip | wc -c", "build:bundle:fullpath": "env OUT=uppy-fp.js ./bin/build-bundle --full-paths", - "build:bundle:min": "./bin/build-bundle", - "build:bundle": "./bin/build-bundle && ./bin/build-bundle-locales", - "build:css": "bin/build-css", - "build:js": "npm run build:lib && npm run build:bundle && npm run build:bundle:min", + "build:js": "npm-run-all --parallel build:bundle build:lib", "build:lib": "babel --version && babel src -d lib", - "build": "npm run build:lib && npm run build:bundle && npm run build:bundle:min && npm run build:css", + "build": "npm-run-all --parallel new:build:js new:build:css", "clean": "rm -rf lib && rm -rf dist", "docs": "cd website && node node_modules/documentation/bin/documentation.js readme ../src/index.js --readme-file=src/api/docs.md --section 'Uppy Core & Plugins' -q --github -c doc-order.json", "install": "npm run web:install", @@ -28,9 +28,9 @@ "test": "npm run lint && npm run test:unit", "travis:deletecache": "travis cache --delete", "watch:css": "nodemon --watch src --ext scss -x 'npm run build:css && node website/update.js'", - "watch:fast": "parallelshell 'npm run watch:css' 'npm run web:preview'", + "watch:fast": "npm-run-all --parallel watch:css web:preview", "watch:js": "nodemon --watch src --ext js -x 'npm run build:bundle && node website/update.js'", - "watch": "parallelshell 'npm run watch:js' 'npm run watch:css' && node website/update.js", + "watch": "npm-run-all --parallel watch:js watch:css website/update.js", "web:build": "cd website && node update.js && ./node_modules/.bin/hexo generate --silent && node build-examples.js", "web:clean": "cd website && ./node_modules/.bin/hexo clean", "web:deploy": "npm run web:install && npm run web:disc && npm run docs && npm run web:build && ./bin/web-deploy", @@ -38,7 +38,8 @@ "web:install": "cd website && npm install", "web:preview": "cd website && parallelshell 'node build-examples.js watch' './node_modules/.bin/hexo server'", "web:update:frontpage:code:sample": "cd website && ./node_modules/.bin/hexo generate && cp -f public/frontpage-code-sample.html ./themes/uppy/layout/partials/frontpage-code-sample.html", - "web": "npm run web:clean && npm run web:build" + "web": "npm run web:clean && npm run web:build", + "prepublish": "" }, "repository": { "type": "git", @@ -51,6 +52,7 @@ }, "homepage": "https://github.com/transloadit/uppy#readme", "devDependencies": { + "autoprefixer": "6.3.6", "babel-cli": "6.6.5", "babel-core": "6.7.4", "babel-eslint": "6.0.2", @@ -59,13 +61,14 @@ "babel-plugin-transform-object-assign": "6.5.0", "babel-plugin-transform-proto-to-assign": "6.8.0", "babel-polyfill": "6.7.4", - "babel-preset-es2015": "6.6.0", + "babel-preset-es2015": "6.9.0", "babel-preset-es2015-loose": "7.0.0", "babel-register": "6.7.2", "babelify": "7.2.0", "browser-sync": "2.10.0", "browserify": "12.0.1", "chalk": "1.1.1", + "cssnano": "3.6.2", "disc": "1.3.2", "es6-promise": "3.1.2", "eslint": "2.7.0", @@ -73,16 +76,19 @@ "eslint-plugin-promise": "1.1.0", "eslint-plugin-standard": "1.3.2", "fakefile": "0.0.5", + "glob": "7.0.3", "isomorphic-fetch": "2.2.1", + "mkdirp": "0.5.1", "multi-glob": "1.0.1", - "nock": "^8.0.0", - "node-fetch": "^1.5.0", + "nock": "8.0.0", + "node-fetch": "1.5.0", "node-notifier": "4.4.0", "node-sass": "3.4.2", "nodemon": "1.8.1", "parallelshell": "2.0.0", + "postcss": "5.0.21", "selenium-webdriver": "2.52.0", - "tap-spec": "^4.1.1", + "tap-spec": "4.1.1", "tape": "4.4.0", "uppy-server": "0.0.7", "watchify": "3.6.1" @@ -91,6 +97,6 @@ "drag-drop": "2.11.0", "tus-js-client": "1.1.3", "whatwg-fetch": "1.0.0", - "yo-yo": "1.1.1" + "yo-yo": "1.2.0" } } From ff7a7b3426a9a9703181de7cb2b0673b0269f0ab Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:19:43 -0400 Subject: [PATCH 02/13] Add naked `/uppy` page to the website --- website/src/uppy.ejs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 website/src/uppy.ejs diff --git a/website/src/uppy.ejs b/website/src/uppy.ejs new file mode 100644 index 000000000..b85a7a6a3 --- /dev/null +++ b/website/src/uppy.ejs @@ -0,0 +1,24 @@ +--- +layout: false +title: Uppy +permalink: uppy/ +--- + + + + + + uppy + + +

Uppy is here

+ + + + + + From 4d744ee88c797b250989580df964bff125cbfed3 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:20:59 -0400 Subject: [PATCH 03/13] Yo-yo + class + this = ? --- src/plugins/Dummy.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/plugins/Dummy.js b/src/plugins/Dummy.js index 4ed9230f3..8355bc853 100644 --- a/src/plugins/Dummy.js +++ b/src/plugins/Dummy.js @@ -17,13 +17,18 @@ export default class Dummy extends Plugin { // merge default options with the ones set by user this.opts = Object.assign({}, defaultOptions, opts) + + this.strange = yo`

this is strange 1

` } - render (state) { + render () { + const bla = yo`

this is strange 2

` return yo`
I am a dummy plugin, look at me, I was rendered in a modal! That’s crazy, I know. + ${this.strange} + ${bla}
` } @@ -33,8 +38,8 @@ export default class Dummy extends Plugin { firstInput.focus() } - install (state) { - this.el = this.render(this.core.state) + install () { + this.el = this.render() this.target = this.getTarget(this.opts.target, this, this.el, this.render.bind(this)) } } From b6be8e2124b69e5349ac89deec12d922b76aa3ff Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:21:21 -0400 Subject: [PATCH 04/13] Dummy test refactor --- test/acceptance/dummy.spec.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/acceptance/dummy.spec.js b/test/acceptance/dummy.spec.js index 8f852f1d3..e341d2962 100644 --- a/test/acceptance/dummy.spec.js +++ b/test/acceptance/dummy.spec.js @@ -1,16 +1,20 @@ var test = require('tape') -var Driver = require('./Browser') +var webdriver = require('selenium-webdriver') + +var driver = new webdriver + .Builder() + .forBrowser('firefox') + .build() test('open a page, create a variable and get its value', function (t) { t.plan(1) - var driver = Driver.setDriver() - driver.get('http://ya.ru') driver.executeScript('window.a = "blabla";') driver.sleep(2000) driver.executeScript('return a').then(function (val) { console.log(val) + t.equal(val, 'blabla') }) driver.sleep(5000) driver.quit() From 14a4e37e78728f45ea45d2fd95da10e5bc61f352 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:21:35 -0400 Subject: [PATCH 05/13] Changelog --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52e211559..324435b7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,12 +58,12 @@ Theme: The aim low release Released: June 03, 2016 -- [ ] build: minification of the bundle (@arturi) +- [x] build: minification of the bundle (@arturi) - [ ] build: supply pre-built bundle in npm (@arturi) -- [ ] build: switch to https://www.npmjs.com/package/npm-run-all instead of parallelshell (@kvz) +- [x] build: switch to https://www.npmjs.com/package/npm-run-all instead of parallelshell (@kvz) - [ ] drive: Make sure uppy-server does not explode on special file types: https://dl.dropboxusercontent.com/s/d4dbxitjt8clo50/2016-05-06%20at%2022.41.png (@hedgerh) - [ ] modal: accessibility. focus on the first input field / button in tab panel (@arturi) -- [ ] progressdrawer: figure out crazy rerendering of previews by yoyo (@arturi) +- [ ] progressdrawer: figure out crazy rerendering of previews by yoyo/bel: https://github.com/shama/bel/issues/26 (@arturi) - [ ] progressdrawer: improve styles, add preview icons for all (@arturi) - [ ] server: Start implementing the `SERVER-PLAN.md` so that Google Drive files are actually uploaded to the endpoint (@hedgerh) - [ ] test: Get IE4 on windows 3.11 to run Uppy and see it fall back to regular form upload (`api2.transloadit.com`) (@arturi) From 167664fa2564672c9d88c0851231293993a1ce28 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:36:17 -0400 Subject: [PATCH 06/13] Add npm-run-all to dev-dependencies --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 096c8118e..59903fa4d 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "node-notifier": "4.4.0", "node-sass": "3.4.2", "nodemon": "1.8.1", + "npm-run-all": "2.1.1", "parallelshell": "2.0.0", "postcss": "5.0.21", "selenium-webdriver": "2.52.0", From f568caff17a38c32ef83414bde76aac5d55a6127 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 07:45:50 -0400 Subject: [PATCH 07/13] ups --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 59903fa4d..2f8c90c33 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "build:bundle:fullpath": "env OUT=uppy-fp.js ./bin/build-bundle --full-paths", "build:js": "npm-run-all --parallel build:bundle build:lib", "build:lib": "babel --version && babel src -d lib", - "build": "npm-run-all --parallel new:build:js new:build:css", + "build": "npm-run-all --parallel build:js build:css", "clean": "rm -rf lib && rm -rf dist", "docs": "cd website && node node_modules/documentation/bin/documentation.js readme ../src/index.js --readme-file=src/api/docs.md --section 'Uppy Core & Plugins' -q --github -c doc-order.json", "install": "npm run web:install", From 70ec56782f8bcba36a245232d9618be2055aaaaf Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 09:57:56 -0400 Subject: [PATCH 08/13] add minifyify to package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 2f8c90c33..912d43860 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "fakefile": "0.0.5", "glob": "7.0.3", "isomorphic-fetch": "2.2.1", + "minifyify": "7.3.3", "mkdirp": "0.5.1", "multi-glob": "1.0.1", "nock": "8.0.0", From 38512b790f6ebdf2bced0abd3067fb2c1071c33b Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 10:22:03 -0400 Subject: [PATCH 09/13] npm scripts fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 912d43860..16f2898c5 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "watch:css": "nodemon --watch src --ext scss -x 'npm run build:css && node website/update.js'", "watch:fast": "npm-run-all --parallel watch:css web:preview", "watch:js": "nodemon --watch src --ext js -x 'npm run build:bundle && node website/update.js'", - "watch": "npm-run-all --parallel watch:js watch:css website/update.js", + "watch": "npm-run-all --parallel watch:js watch:css node website/update.js", "web:build": "cd website && node update.js && ./node_modules/.bin/hexo generate --silent && node build-examples.js", "web:clean": "cd website && ./node_modules/.bin/hexo clean", "web:deploy": "npm run web:install && npm run web:disc && npm run docs && npm run web:build && ./bin/web-deploy", From 169313bd50878f23ac514ac04bed068a5aa5696d Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Mon, 30 May 2016 20:51:42 -0400 Subject: [PATCH 10/13] Introducing: a Dummy that could --- src/plugins/IndependentDummy.js | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/plugins/IndependentDummy.js diff --git a/src/plugins/IndependentDummy.js b/src/plugins/IndependentDummy.js new file mode 100644 index 000000000..673da13e5 --- /dev/null +++ b/src/plugins/IndependentDummy.js @@ -0,0 +1,74 @@ +import Utils from '../core/Utils' +import yo from 'yo-yo' + +/** + * Independent Dummy + * + */ +export default class Dummy { + constructor (core, opts) { + // super(core, opts) + this.type = 'acquirer' + this.id = 'Dummy' + this.title = 'Dummy' + this.core = core + + // set default options + const defaultOptions = {} + + this.strange = yo`

this is strange 1

` + + // merge default options with the ones set by user + this.opts = Object.assign({}, defaultOptions, opts) + } + + getTarget (target, caller, el, render) { + const callerPluginName = Utils.getFnName(caller.constructor) + + if (typeof target === 'string') { + this.core.log(`Installing ${callerPluginName} to ${target}`) + + // clear everything inside the target selector + // if (replaceTargetContent) { + // document.querySelector(target).innerHTML = '' + // } + document.querySelector(target).appendChild(el) + + return target + } else { + const targetPluginName = Utils.getFnName(target) + this.core.log(`Installing ${callerPluginName} to ${targetPluginName}`) + let targetPlugin = this.core.getPlugin(targetPluginName) + let selectorTarget = targetPlugin.addTarget(caller, render) + + return selectorTarget + } + } + + update () { + + } + + render () { + const bla = yo`

this is strange 2

` + return yo` +
+ + I am a dummy plugin, look at me, I was rendered in a modal! That’s crazy, I know. + ${this.strange} + ${bla} +
+ ` + } + + focus () { + const firstInput = document.querySelector(`${this.target} *:input[type!=hidden]:first`) + firstInput.focus() + } + + install () { + this.el = this.render() + document.body.appendChild(this.el) + this.target = this.getTarget(this.opts.target, this, this.el, this.render.bind(this)) + } +} From dc2bb9636d6991e0a3cebc8602b2de478d3ef76b Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Tue, 31 May 2016 23:45:38 -0400 Subject: [PATCH 11/13] Fix the plugin naming system so it works when bundle is minified --- src/core/Core.js | 6 +++--- src/plugins/Dummy.js | 3 +-- src/plugins/Modal.js | 2 +- src/plugins/Plugin.js | 7 ++++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/core/Core.js b/src/core/Core.js index 016e31be1..ad85d13a9 100644 --- a/src/core/Core.js +++ b/src/core/Core.js @@ -240,7 +240,7 @@ export default class Core { use (Plugin, opts) { // Instantiate const plugin = new Plugin(this, opts) - const pluginName = Utils.getFnName(plugin.constructor) + const pluginName = plugin.id this.plugins[plugin.type] = this.plugins[plugin.type] || [] if (!pluginName) { @@ -254,7 +254,7 @@ export default class Core { let existsPluginAlready = this.getPlugin(pluginName) if (existsPluginAlready) { let msg = `Already found a plugin named '${existsPluginAlready.name}'. - Tried to use: '${plugin.constructor.name}'. + Tried to use: '${pluginName}'. Uppy is currently limited to running one of every plugin. Share your use case with us over at https://github.com/transloadit/uppy/issues/ @@ -275,7 +275,7 @@ export default class Core { getPlugin (name) { let foundPlugin = false this.iteratePlugins((plugin) => { - const pluginName = Utils.getFnName(plugin.constructor) + const pluginName = plugin.id if (pluginName === name) { foundPlugin = plugin return false diff --git a/src/plugins/Dummy.js b/src/plugins/Dummy.js index 8355bc853..c0c7a7c48 100644 --- a/src/plugins/Dummy.js +++ b/src/plugins/Dummy.js @@ -26,7 +26,6 @@ export default class Dummy extends Plugin { return yo`
- I am a dummy plugin, look at me, I was rendered in a modal! That’s crazy, I know. ${this.strange} ${bla}
@@ -40,6 +39,6 @@ export default class Dummy extends Plugin { install () { this.el = this.render() - this.target = this.getTarget(this.opts.target, this, this.el, this.render.bind(this)) + this.target = this.getTarget(this.opts.target, this, this.el, this.render) } } diff --git a/src/plugins/Modal.js b/src/plugins/Modal.js index 964e19d53..b35c89a63 100644 --- a/src/plugins/Modal.js +++ b/src/plugins/Modal.js @@ -32,7 +32,7 @@ export default class Modal extends Plugin { addTarget (callerPlugin, render) { const callerPluginId = callerPlugin.constructor.name - const callerPluginName = callerPlugin.name || callerPluginId + const callerPluginName = callerPlugin.title || callerPluginId const callerPluginIcon = callerPlugin.icon || this.opts.defaultTabIcon const callerPluginType = callerPlugin.type diff --git a/src/plugins/Plugin.js b/src/plugins/Plugin.js index b03bbf2e5..a1bea2e68 100644 --- a/src/plugins/Plugin.js +++ b/src/plugins/Plugin.js @@ -1,5 +1,4 @@ import yo from 'yo-yo' -import Utils from '../core/Utils' /** * Boilerplate that all Plugins share - and should not be used @@ -37,7 +36,7 @@ export default class Plugin { * */ getTarget (target, caller, el, render) { - const callerPluginName = Utils.getFnName(caller.constructor) + const callerPluginName = caller.id if (typeof target === 'string') { this.core.log(`Installing ${callerPluginName} to ${target}`) @@ -50,7 +49,9 @@ export default class Plugin { return target } else { - const targetPluginName = Utils.getFnName(target) + // TODO: is this the way to roll just to get the plugin name? + const Target = target + const targetPluginName = new Target().id this.core.log(`Installing ${callerPluginName} to ${targetPluginName}`) let targetPlugin = this.core.getPlugin(targetPluginName) let selectorTarget = targetPlugin.addTarget(caller, render) From f0ed6a454e0ffcd85618fc578db25759c9e2a473 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Tue, 31 May 2016 23:46:18 -0400 Subject: [PATCH 12/13] Add example that works without the website --- example/index.html | 24 ++++++++++++++++++++++++ website/src/uppy.ejs | 9 ++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 example/index.html diff --git a/example/index.html b/example/index.html new file mode 100644 index 000000000..3875e6d3a --- /dev/null +++ b/example/index.html @@ -0,0 +1,24 @@ + + + + + uppy + + +

Uppy is here

+ + + + + + + + + diff --git a/website/src/uppy.ejs b/website/src/uppy.ejs index b85a7a6a3..bdaf35594 100644 --- a/website/src/uppy.ejs +++ b/website/src/uppy.ejs @@ -12,13 +12,16 @@ permalink: uppy/

Uppy is here

+ From f4241dc1734d787c015f52737ffa076c2f6751a4 Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Tue, 31 May 2016 23:46:37 -0400 Subject: [PATCH 13/13] Update watch in npm scripts --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 16f2898c5..a1013b38b 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "watch:css": "nodemon --watch src --ext scss -x 'npm run build:css && node website/update.js'", "watch:fast": "npm-run-all --parallel watch:css web:preview", "watch:js": "nodemon --watch src --ext js -x 'npm run build:bundle && node website/update.js'", - "watch": "npm-run-all --parallel watch:js watch:css node website/update.js", + "watch": "npm-run-all --parallel watch:js watch:css && node website/update.js", "web:build": "cd website && node update.js && ./node_modules/.bin/hexo generate --silent && node build-examples.js", "web:clean": "cd website && ./node_modules/.bin/hexo clean", "web:deploy": "npm run web:install && npm run web:disc && npm run docs && npm run web:build && ./bin/web-deploy", @@ -53,8 +53,8 @@ "homepage": "https://github.com/transloadit/uppy#readme", "devDependencies": { "autoprefixer": "6.3.6", - "babel-cli": "6.6.5", - "babel-core": "6.7.4", + "babel-cli": "6.9.0", + "babel-core": "6.7.7", "babel-eslint": "6.0.2", "babel-loader": "6.2.4", "babel-plugin-es6-promise": "1.0.0",