diff --git a/.babelrc b/.babelrc index 75c54b9..8739c8a 100644 --- a/.babelrc +++ b/.babelrc @@ -1,6 +1,7 @@ { "plugins": [ "check-es2015-constants", + "external-helpers", "transform-es2015-arrow-functions", "transform-es2015-block-scoped-functions", "transform-es2015-block-scoping", @@ -9,7 +10,6 @@ ["transform-es2015-classes", {"loose": true}], "transform-es2015-function-name", "transform-es2015-literals", - "transform-es2015-modules-commonjs", "transform-es2015-parameters", "transform-es2015-shorthand-properties", ["transform-es2015-spread", {"loose": true}], diff --git a/.eslintrc b/.eslintrc index 962e312..44bc092 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,58 +1,191 @@ { "parser": "babel-eslint", - "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "script" + }, "env": { - "browser": true, - "node": true + "browser": false, + "node": true, + "es6": true }, "rules": { - "comma-dangle": "off", - "comma-spacing": "error", - "consistent-return": "error", - "curly": ["error", "multi-line"], - "dot-notation": ["error", {"allowKeywords": true}], - "eqeqeq": ["error", "allow-null"], - "indent": ["error", 2, {"SwitchCase": 1}], - "max-len": ["error", 100], - "no-cond-assign": "error", - "no-console": "off", - "no-empty": "off", + // Logic + + "no-cond-assign": ["error", "except-parens"], + // "no-constant-condition": "error", + "no-control-regex": "error", + "no-debugger": "error", + "no-dupe-args": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty-character-class": "error", + "no-ex-assign": "error", "no-extra-boolean-cast": "error", + // "no-extra-parens": "error", "no-extra-semi": "error", "no-func-assign": "error", "no-inner-declarations": ["error", "both"], + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-obj-calls": "error", + "no-prototype-builtins": "error", + "no-regex-spaces": "error", + "no-sparse-arrays": "error", + "no-template-curly-in-string": "error", + "no-unexpected-multiline": "error", + "no-unreachable": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "use-isnan": "error", + "valid-typeof": "error", + "consistent-return": "error", + "default-case": "error", + "no-case-declarations": "error", + "eqeqeq": ["error", "allow-null"], + "no-else-return": "error", + "no-empty-function": ["error", {"allow": ["functions", "generatorFunctions", "methods", "generatorMethods", "constructors"]}], + "no-empty-pattern": "error", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-bind": "error", + "no-extra-label": "error", + "no-fallthrough": "error", + "no-global-assign": "error", + "no-implicit-coercion": "error", + "no-implicit-globals": "error", + "no-implied-eval": "error", + "no-invalid-this": "error", + // "no-labels": "error", + "no-lone-blocks": "error", "no-loop-func": "error", - "no-mixed-spaces-and-tabs": "error", + // "no-magic-numbers": "error", + "no-new": "error", + "no-new-func": "error", + "no-new-wrappers": "error", + "no-octal": "error", + "no-octal-escape": "error", + // "no-param-reassign": "error", + "no-proto": "error", + "no-redeclare": "error", + "no-return-assign": "error", + "no-script-url": "error", + "no-self-assign": "error", + "no-self-compare": "error", + "no-sequences": "error", + "no-throw-literal": "error", + "no-unmodified-loop-condition": "error", + "no-unused-expressions": "error", + // "no-unused-labels": "error", + "no-useless-call": "error", + "no-useless-concat": "error", + "no-useless-escape": "error", + "no-useless-return": "error", + "no-with": "error", + "radix": "error", + "require-await": "error", + "init-declarations": ["error", "always"], + "no-delete-var": "error", "no-restricted-globals": ["error", // window (browser) "alert", "blur", "confirm", "event", "fetch", "find", "focus", "history", "length", "location", "name", "navigator", "open", "parent", "print", "prompt", "scroll", "self", "status", "stop", "top", // global (node) - "root" + "root", + // other + "test", + // These global functions are broken + "isNaN", "isFinite" ], "no-shadow-restricted-names": "error", - "no-sparse-arrays": "off", - "no-throw-literal": "error", - // "no-trailing-spaces": "error", - "no-trailing-spaces": "off", - "no-unexpected-multiline": "error", - "no-unreachable": "error", - "no-unused-expressions": "error", - "no-unused-labels": "off", - "no-unused-vars": ["error", {"argsIgnorePattern": "^_", "varsIgnorePattern": "^_"}], - "no-var": "error", - "object-curly-spacing": ["error", "never"], - "object-shorthand": "error", + "no-undef": "error", + "no-undef-init": "off", + "no-unused-vars": ["error", {"argsIgnorePattern": "^_.", "varsIgnorePattern": "^_."}], + // "no-use-before-define": ["error", {"functions": false, "classes": false}], + // "global-require": "error", + "no-path-concat": "error", + // "no-bitwise": "error", + "strict": ["error", "safe"], + + // Style + + "curly": ["error", "multi-line"], + // "dot-location": "error", + "dot-notation": "error", + "no-floating-decimal": "error", + // "no-multi-spaces": ["error", {"exceptions": {"VariableDeclarator": true}}], + "no-multi-str": "error", + "no-warning-comments": ["error", {"terms": ["fixme"], "location": "anywhere"}], + "yoda": "error", + "no-label-var": "error", + "array-bracket-spacing": "error", + "block-spacing": ["error", "never"], + "brace-style": ["error", "stroustrup", {"allowSingleLine": true}], + // "camelcase": "error", + "comma-dangle": ["error", "always-multiline"], + "comma-spacing": "error", + "comma-style": "error", + "computed-property-spacing": "error", + "func-call-spacing": "error", + "func-names": ["error", "as-needed"], + // "func-style": ["error", "declaration"], + // "id-length": ["error", {"min": 3}], + "indent": ["error", 2, {"SwitchCase": 1}], + // "key-spacing": ["error", {"align": "value"}], + // "key-spacing": "error", + "keyword-spacing": "error", + "lines-around-comment": "error", + "lines-around-directive": "error", + "max-len": ["error", {"code": 120}], + // "new-cap": "error", + "new-parens": "error", + "no-array-constructor": "error", + "no-lonely-if": "error", + "no-mixed-operators": "error", + "no-mixed-spaces-and-tabs": "error", + // "no-multiple-empty-lines": "error", + "no-new-object": "error", + // "no-plusplus": "error", + "no-tabs": "error", + "no-unneeded-ternary": "error", + "no-whitespace-before-property": "error", + // "object-curly-newline": "error", + "object-curly-spacing": "error", "one-var": ["error", "never"], - "prefer-const": "error", + "operator-assignment": ["error", "always"], + "operator-linebreak": ["error", "after", {"overrides": {"?": "off", ":": "off"}}], + "padded-blocks": ["error", "never"], "quote-props": ["error", "as-needed"], - "quotes": ["error", "single", {"avoidEscape": true, "allowTemplateLiterals": true}], + "quotes": ["error", "single", {"allowTemplateLiterals": true, "avoidEscape": true}], "semi": ["error", "never"], "space-before-blocks": ["error", "always"], - "space-in-parens": ["error", "never"], + "space-in-parens": "error", + "space-infix-ops": "error", + "space-unary-ops": "error", "spaced-comment": ["error", "always"], - "valid-typeof": "error", - "yoda": "error" + // "arrow-body-style": ["error", "as-needed"], + "arrow-parens": ["error", "as-needed"], + "arrow-spacing": "error", + "constructor-super": "error", + "generator-star-spacing": ["error", "after"], + "no-class-assign": "error", + // "no-confusing-arrow": "error", + "no-const-assign": "error", + "no-dupe-class-members": "error", + "no-duplicate-imports": "error", + "no-new-symbol": "error", + "no-this-before-super": "error", + "no-useless-computed-key": "error", + "no-useless-constructor": "error", + "no-useless-rename": "error", + "no-var": "error", + "object-shorthand": "error", + "prefer-const": "error", + "prefer-numeric-literals": "error", + "prefer-spread": "error", + "prefer-template": "error", + // "require-yield": "error", + "rest-spread-spacing": "error", + "template-curly-spacing": "error" } } diff --git a/.gitignore b/.gitignore index 177f680..62f293f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ # Folders dist +es gh-pages node_modules mocks diff --git a/.travis.yml b/.travis.yml index f74a164..1210848 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: node -script: yarn run build +script: yarn run compile cache: yarn deploy: provider: pages diff --git a/docs/html/partials/overview.md b/docs/html/partials/overview.md index 54274ac..48f4290 100644 --- a/docs/html/partials/overview.md +++ b/docs/html/partials/overview.md @@ -6,7 +6,8 @@ Source Library for stateful and reactive programming: queues, observables, ownership -and lifetimes, procedural reactivity. Lightweight alternative to RxJS. +and lifetimes, procedural reactivity. Lightweight alternative to RxJS for GUI +programs. See sibling library [`fpx`](https://mitranim.com/fpx/) for functional programming utils. diff --git a/docs/scripts/.eslintrc b/docs/scripts/.eslintrc new file mode 100644 index 0000000..5ea7252 --- /dev/null +++ b/docs/scripts/.eslintrc @@ -0,0 +1,10 @@ +{ + "env": { + "browser": true, + "node": false, + "es6": false + }, + "parserOptions": { + "sourceType": "module" + } +} diff --git a/docs/scripts/docs.js b/docs/scripts/docs.js index 8d9ffa3..04d4884 100644 --- a/docs/scripts/docs.js +++ b/docs/scripts/docs.js @@ -1,7 +1,7 @@ -const {bind, procure} = require('fpx') -const {global, assign, each} = require('espo') -const {Throttle, getVisibleId, hasAttr, preventScrollSpill, findParent, - setHash, unsetHash, scrollIntoViewIfNeeded} = require('./utils') +import {bind, procure} from 'fpx' +import {global, assign, each} from 'espo' +import {Throttle, getVisibleId, hasAttr, preventScrollSpill, findParent, + setHash, unsetHash, scrollIntoViewIfNeeded} from './utils' const scroller = new Throttle(updateLinksAndHash, {delay: 250}) @@ -50,11 +50,13 @@ function deactivate (elem) { // REPL -const fpx = require('fpx') -const espo = require('espo') -const emerge = require('emerge') +/* eslint-disable no-duplicate-imports */ -assign(exports, {fpx, emerge, espo, scroller}, fpx, emerge, espo) +import * as fpx from 'fpx' +import * as espo from 'espo' +import * as emerge from 'emerge' + +const exports = assign({}, {fpx, emerge, espo, scroller}, fpx, emerge, espo) delete exports.isNaN delete exports.isFinite diff --git a/docs/scripts/utils.js b/docs/scripts/utils.js index 0544b05..7dc7184 100644 --- a/docs/scripts/utils.js +++ b/docs/scripts/utils.js @@ -1,5 +1,7 @@ -const {get, and, truthy, isFunction, validate} = require('fpx') -const {global, global: {history}} = require('espo') +import {get, and, truthy, isFunction, validate} from 'fpx' +import {global} from 'espo' + +const {history} = global // Pixel measurements are inaccurate when the browser is zoomed in or out, so we // have to use a small non-zero value in some geometry checks. @@ -16,7 +18,7 @@ export class Throttle { run () { if (this.timerId) this.tailPending = true - else restartThrottle.call(this) + else restartThrottle(this) } isPending () { @@ -29,14 +31,14 @@ export class Throttle { } } -function restartThrottle () { - this.stop() - this.timerId = setTimeout(() => { - this.timerId = null - if (this.tailPending) restartThrottle.call(this) - this.tailPending = false - this.fun(...arguments) - }, get(this.options, 'delay')) +function restartThrottle (throttle) { + throttle.stop() + throttle.timerId = setTimeout(() => { + throttle.timerId = null + if (throttle.tailPending) restartThrottle(throttle) + throttle.tailPending = false + throttle.fun(...arguments) + }, get(throttle.options, 'delay')) } export const getVisibleId = and(truthy, hasArea, withinViewport, elem => elem.id) @@ -57,8 +59,8 @@ function hasArea (elem) { function withinViewport (elem) { const {top, bottom} = elem.getBoundingClientRect() return ( - bottom > -PX_ERROR_MARGIN && bottom < global.innerHeight || - top > PX_ERROR_MARGIN && top < (global.innerHeight + PX_ERROR_MARGIN) + bottom > (-PX_ERROR_MARGIN && bottom < global.innerHeight) || + top > (PX_ERROR_MARGIN && top < (global.innerHeight + PX_ERROR_MARGIN)) ) } diff --git a/gulpfile.js b/gulpfile.js index 6b07eea..17253b1 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -7,73 +7,33 @@ const bs = require('browser-sync').create() const del = require('del') const gulp = require('gulp') const statilConfig = require('./statil') -const webpack = require('webpack') -const webpackConfig = require('./webpack.config') /* ******************************** Globals **********************************/ const src = { - lib: 'lib/**/*.js', - dist: 'dist/**/*.js', - docHtml: 'docs/html/**/*', + scripts: 'src/**/*.js', docScripts: 'docs/scripts/**/*.js', + docHtml: 'docs/html/**/*', docStyles: 'docs/styles/**/*.scss', docStylesMain: 'docs/styles/docs.scss', docFonts: 'node_modules/font-awesome/fonts/**/*', } const out = { - lib: 'dist', docRoot: 'gh-pages', docStyles: 'gh-pages/styles', docFonts: 'gh-pages/fonts', } -const Err = (pluginName, err) => new $.util.PluginError(pluginName, err, {showProperties: false}) - /* ********************************* Tasks ***********************************/ /* --------------------------------- Clear ---------------------------------- */ -gulp.task('lib:clear', () => ( - del(out.lib).catch(console.error.bind(console)) -)) - -gulp.task('docs:clear', () => ( +gulp.task('clear', () => ( // Skips dotfiles like `.git` and `.gitignore` - del(out.docRoot + '/*').catch(console.error.bind(console)) -)) - -gulp.task('clear', gulp.parallel('lib:clear', 'docs:clear')) - -/* ---------------------------------- Lib -----------------------------------*/ - -gulp.task('lib:compile', () => ( - gulp.src(src.lib) - .pipe($.babel()) - .pipe(gulp.dest(out.lib)) + del(`${out.docRoot}/*`).catch(console.error.bind(console)) )) -// For evaluating minified code size -gulp.task('lib:minify', () => ( - gulp.src(src.dist, {ignore: '**/*.min.js'}) - .pipe($.uglify({ - mangle: true, - compress: {warnings: false, screw_ie8: true}, - wrap: true - })) - .pipe($.rename(path => { - path.extname = '.min.js' - })) - .pipe(gulp.dest(out.lib)) -)) - -gulp.task('lib:build', gulp.series('lib:compile', 'lib:minify')) - -gulp.task('lib:watch', () => { - $.watch(src.lib, gulp.series('lib:build')) -}) - /* --------------------------------- HTML -----------------------------------*/ gulp.task('docs:html:build', () => ( @@ -96,7 +56,7 @@ gulp.task('docs:styles:build', () => ( keepSpecialComments: 0, aggressiveMerging: false, advanced: false, - compatibility: {properties: {colors: false}} + compatibility: {properties: {colors: false}}, })) .pipe(gulp.dest(out.docStyles)) )) @@ -115,36 +75,10 @@ gulp.task('docs:fonts:watch', () => { $.watch(src.docFonts, gulp.series('docs:fonts:build')) }) -/* ------------------------------- Scripts ----------------------------------*/ - -gulp.task('docs:scripts:build', done => { - webpack(webpackConfig, (err, stats) => { - if (err) { - done(Err('webpack', err)) - } - else { - $.util.log('[webpack]', stats.toString(webpackConfig.stats)) - done(stats.hasErrors() ? Err('webpack', 'plugin error') : null) - } - }) -}) - -gulp.task('docs:scripts:watch', () => { - function report (err, stats) { - $.util.log('[webpack]', stats.toString(webpackConfig.stats)) - if (err) console.error(err) - } - - const compiler = webpack(webpackConfig) - - // Call watcher.close() to stop - const _watcher = compiler.watch({}, report) -}) - /* --------------------------------- Lint ---------------------------------- */ gulp.task('lint', () => ( - gulp.src([src.lib, src.docScripts]) + gulp.src([src.scripts, src.docScripts]) .pipe($.eslint()) .pipe($.eslint.format()) .pipe($.eslint.failAfterError()) @@ -161,8 +95,8 @@ gulp.task('docs:server', () => ( (req, res, next) => { req.url = req.url.replace(/^\/espo\//, '').replace(/^[/]*/, '/') next() - } - ] + }, + ], }, port: 6539, files: 'gh-pages', @@ -170,28 +104,25 @@ gulp.task('docs:server', () => ( online: false, ui: false, ghostMode: false, - notify: false + notify: false, }) )) /* -------------------------------- Default ---------------------------------*/ gulp.task('buildup', gulp.parallel( - 'lib:build', 'docs:html:build', 'docs:styles:build', 'docs:fonts:build' )) gulp.task('watch', gulp.parallel( - 'lib:watch', 'docs:html:watch', 'docs:styles:watch', 'docs:fonts:watch', - 'docs:scripts:watch', 'docs:server' )) -gulp.task('build', gulp.series('clear', 'buildup', 'lint', 'docs:scripts:build')) +gulp.task('build', gulp.series('clear', 'buildup', 'lint')) gulp.task('default', gulp.series('build', 'watch')) diff --git a/lib/computation.js b/lib/computation.js deleted file mode 100644 index 69964ea..0000000 --- a/lib/computation.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict' - -const {isFunction, validate} = require('fpx') -const {Observable} = require('./observable') -const {Reaction} = require('./reaction') - -class Computation extends Observable { - constructor (def, equal) { - validate(isFunction, def) - validate(isFunction, equal) - super() - this.def = def - this.equal = equal - this.reaction = null - this.value = undefined - } - - deref () { - return this.value - } - - onInit () { - this.reaction = Reaction.loop(computationUpdate.bind(this)) - } - - onDeinit () { - this.reaction.deinit() - this.reaction = null - } -} - -exports.Computation = Computation - -function computationUpdate (reaction) { - const prev = this.value - const next = this.value = this.def(reaction) - if (!this.equal(prev, next)) this.trigger(this) -} diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index 5cb1a40..0000000 --- a/lib/index.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict' - -function reexport (foreignExport) { - for (const key in foreignExport) { - if (key in exports) throw Error(`Duplicate export: ${key}`) - exports[key] = foreignExport[key] - } -} - -reexport(require('./agent')) -reexport(require('./atom')) -reexport(require('./computation')) -reexport(require('./lifetime')) -reexport(require('./observable')) -reexport(require('./query')) -reexport(require('./ques')) -reexport(require('./reaction')) -reexport(require('./ref')) -reexport(require('./subscription')) -reexport(require('./utils')) diff --git a/package.json b/package.json index 7c92e06..c5b5907 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,13 @@ { "name": "espo", - "version": "0.0.14", + "version": "0.1.0", "description": "Library for stateful and reactive programming: queues, observables, ownership and lifetimes, procedural reactivity. Lightweight alternative to RxJS.", - "main": "dist/index.js", + "main": "dist/espo.js", + "module": "es/espo.js", "scripts": { - "start": "gulp", - "gulp": "gulp", - "build": "env NODE_ENV=production gulp build" + "start": "(gulp & rollup -cw)", + "compile": "NODE_ENV=production gulp build && rollup -c", + "prepublishOnly": "npm run compile" }, "keywords": [ "reactive", @@ -30,13 +31,13 @@ "url": "https://github.com/Mitranim/espo.git" }, "dependencies": { - "fpx": "^0.1.0 || ^0.2.0" + "fpx": "^0.3.0" }, "devDependencies": { - "babel-core": "6.24.0", + "babel-core": "6.26.0", "babel-eslint": "7.1.1", - "babel-loader": "6.2.10", "babel-plugin-check-es2015-constants": "6.8.0", + "babel-plugin-external-helpers": "6.22.0", "babel-plugin-transform-class-properties": "6.23.0", "babel-plugin-transform-es2015-arrow-functions": "6.8.0", "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", @@ -45,34 +46,34 @@ "babel-plugin-transform-es2015-destructuring": "6.19.0", "babel-plugin-transform-es2015-function-name": "6.22.0", "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.24.0", "babel-plugin-transform-es2015-parameters": "6.21.0", "babel-plugin-transform-es2015-shorthand-properties": "6.18.0", "babel-plugin-transform-es2015-spread": "6.8.0", "babel-plugin-transform-es2015-template-literals": "6.8.0", "babel-plugin-transform-object-rest-spread": "6.23.0", - "babel-plugin-transform-runtime": "6.23.0", "browser-sync": "2.18.5", "del": "2.2.2", - "emerge": "0.0.30", + "emerge": "0.1.0", "eslint_d": "4.2.1", "font-awesome": "4.7.0", "gulp": "github:gulpjs/gulp#4.0", "gulp-autoprefixer": "3.1.1", - "gulp-babel": "6.1.2", "gulp-clean-css": "2.3.2", "gulp-eslint": "3.0.1", "gulp-load-plugins": "1.4.0", "gulp-rename": "1.2.2", "gulp-sass": "3.1.0", "gulp-statil": "0.5.0", - "gulp-uglify": "2.0.0", "gulp-util": "3.0.8", "gulp-watch": "4.3.11", "gulp-wrap": "0.13.0", "highlight.js": "9.9.0", "marked": "0.3.6", - "stylific-lite": "0.0.1", - "webpack": "2.3.2" + "rollup": "0.47.6", + "rollup-plugin-alias": "1.3.1", + "rollup-plugin-babel": "3.0.2", + "rollup-plugin-node-resolve": "3.0.0", + "rollup-plugin-uglify": "2.0.1", + "stylific-lite": "0.0.1" } } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..6095575 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,43 @@ +'use strict' + +module.exports = [ + { + entry: 'src/index.js', + dest: 'es/espo.js', + format: 'es', + external: ['fpx'], + plugins: [ + require('rollup-plugin-babel')({exclude: 'node_modules/**'}), + ], + }, + { + entry: 'es/espo.js', + dest: 'dist/espo.js', + format: 'cjs', + external: ['fpx'], + }, + // For evaluating minified size + { + entry: 'dist/espo.js', + dest: 'dist/espo.min.js', + format: 'cjs', + external: ['fpx'], + plugins: [ + require('rollup-plugin-uglify')({ + mangle: true, + toplevel: true, + compress: true, + }), + ], + }, + { + entry: 'docs/scripts/docs.js', + dest: 'gh-pages/scripts/docs.js', + format: 'iife', + plugins: [ + require('rollup-plugin-babel')({exclude: 'node_modules/**'}), + require('rollup-plugin-alias')({espo: require('./package').module}), + require('rollup-plugin-node-resolve')({browser: true}), + ], + }, +] diff --git a/src/.eslintrc b/src/.eslintrc new file mode 100644 index 0000000..7b96a85 --- /dev/null +++ b/src/.eslintrc @@ -0,0 +1,10 @@ +{ + "env": { + "browser": true, + "node": true, + "es6": false + }, + "parserOptions": { + "sourceType": "module" + } +} diff --git a/lib/agent.js b/src/agent.js similarity index 70% rename from lib/agent.js rename to src/agent.js index 0616148..eecfbbd 100644 --- a/lib/agent.js +++ b/src/agent.js @@ -1,14 +1,11 @@ -'use strict' - -const {Atom, isAtom} = require('./atom') -const {deinitDiff, isOwner} = require('./lifetime') +import {Atom, isAtom} from './atom' +import {deinitDiff, isOwner} from './lifetime' /** * Interfaces */ -exports.isAgent = isAgent -function isAgent (value) { +export function isAgent (value) { return isAtom(value) && isOwner(value) } @@ -17,7 +14,7 @@ function isAgent (value) { */ // WTB better name -class Agent extends Atom { +export class Agent extends Atom { reset (next) { const prev = this.value try {super.reset(next)} @@ -42,5 +39,3 @@ class Agent extends Atom { finally {this.reset(undefined)} } } - -exports.Agent = Agent diff --git a/lib/atom.js b/src/atom.js similarity index 66% rename from lib/atom.js rename to src/atom.js index e144309..ff1c26c 100644 --- a/lib/atom.js +++ b/src/atom.js @@ -1,14 +1,11 @@ -'use strict' - -const {slice, is, isFunction, validate} = require('fpx') -const {Observable, isObservableRef} = require('./observable') +import {slice, is, isFunction, validate} from 'fpx' +import {Observable, isObservableRef} from './observable' /** * Interfaces */ -exports.isAtom = isAtom -function isAtom (value) { +export function isAtom (value) { return isObservableRef(value) && isFunction(value.swap) && isFunction(value.reset) } @@ -16,7 +13,7 @@ function isAtom (value) { * Classes */ -class Atom extends Observable { +export class Atom extends Observable { constructor (value) { super() this.value = value @@ -37,5 +34,3 @@ class Atom extends Observable { if (!is(prev, next)) this.trigger(this) } } - -exports.Atom = Atom diff --git a/src/computation.js b/src/computation.js new file mode 100644 index 0000000..f9cad1e --- /dev/null +++ b/src/computation.js @@ -0,0 +1,34 @@ +import {isFunction, validate} from 'fpx' +import {Observable} from './observable' +import {Reaction} from './reaction' + +export class Computation extends Observable { + constructor (def, equal) { + validate(isFunction, def) + validate(isFunction, equal) + super() + this.def = def + this.equal = equal + this.reaction = null + this.value = undefined + } + + deref () { + return this.value + } + + onInit () { + this.reaction = Reaction.loop(computationUpdate.bind(null, this)) + } + + onDeinit () { + this.reaction.deinit() + this.reaction = null + } +} + +function computationUpdate (computation, reaction) { + const prev = computation.value + const next = computation.value = computation.def(reaction) + if (!computation.equal(prev, next)) computation.trigger(computation) +} diff --git a/lib/experimental-rc.js b/src/experimental-rc.js similarity index 87% rename from lib/experimental-rc.js rename to src/experimental-rc.js index 7c6de5f..529685c 100644 --- a/lib/experimental-rc.js +++ b/src/experimental-rc.js @@ -1,15 +1,12 @@ -'use strict' - -const {isFunction, validate} = require('fpx') -const {isDeinitable} = require('./lifetime') -const {isRef} = require('./ref') +import {isFunction, validate} from 'fpx' +import {isDeinitable} from './lifetime' +import {isRef} from './ref' /** * Interfaces */ -exports.isRc = isRc -function isRc (value) { +export function isRc (value) { return ( isDeinitable(value) && isRef(value) && @@ -18,8 +15,7 @@ function isRc (value) { ) } -exports.isWeak = isWeak -function isWeak (value) { +export function isWeak (value) { return ( isRef(value) && isFunction(value.isEmpty) && @@ -29,8 +25,7 @@ function isWeak (value) { } // TODO duck-typed interface (currently subset of isWeak, easy to mistake) -exports.isLazyRc = isLazyRc -function isLazyRc (value) { +export function isLazyRc (value) { return value instanceof LazyRc } @@ -47,7 +42,7 @@ function isLazyRc (value) { // ... // rc1.deinit() // refcount = 1 // rc2.deinit() // refcount = 0, myDeinitable is dropped and deinited -class Rc { +export class Rc { constructor (ptr) { if (!(ptr instanceof RcPtr)) throw Error(`Expected an RcPtr`) if (ptr.isEmpty()) throw Error(`Expected non-empty RcPtr`) @@ -79,14 +74,12 @@ class Rc { } } -exports.Rc = Rc - Rc.prototype.states = { ALIVE: 'ALIVE', DEAD: 'DEAD', } -class Weak { +export class Weak { constructor (ptr) { if (!(ptr instanceof RcPtr)) throw Error(`Expected an RcPtr`) if (ptr.isEmpty()) throw Error(`Expected non-empty RcPtr`) @@ -110,9 +103,7 @@ class Weak { } } -exports.Weak = Weak - -class RcPtr { +export class RcPtr { constructor (value) { this.state = this.states.ALIVE this.value = value @@ -156,14 +147,12 @@ class RcPtr { // no deinit: value is shared-owned by Rcs } -exports.RcPtr = RcPtr - RcPtr.prototype.states = { ALIVE: 'ALIVE', DEAD: 'DEAD', } -class LazyRc { +export class LazyRc { constructor (construct) { validate(isFunction, construct) this.construct = construct @@ -185,5 +174,3 @@ class LazyRc { // no deinit: doesn't own its value } - -exports.LazyRc = LazyRc diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..b848576 --- /dev/null +++ b/src/index.js @@ -0,0 +1,11 @@ +export * from './agent' +export * from './atom' +export * from './computation' +export * from './lifetime' +export * from './observable' +export * from './query' +export * from './ques' +export * from './reaction' +export * from './ref' +export * from './subscription' +export * from './utils' diff --git a/lib/lifetime.js b/src/lifetime.js similarity index 73% rename from lib/lifetime.js rename to src/lifetime.js index c90d7bc..ce38dcf 100644 --- a/lib/lifetime.js +++ b/src/lifetime.js @@ -1,18 +1,14 @@ -'use strict' - -const {includes, is, isList, isArray, isDict, isObject, isFunction, validate} = require('fpx') +import {includes, is, isList, isArray, isDict, isObject, isFunction, validate} from 'fpx' /** * Interfaces */ -exports.isDeinitable = isDeinitable -function isDeinitable (value) { - return Boolean(value) && isFunction(value.deinit) +export function isDeinitable (value) { + return isObject(value) && isFunction(value.deinit) } -exports.isOwner = isOwner -function isOwner (value) { +export function isOwner (value) { return isDeinitable(value) && isFunction(value.unwrap) } @@ -20,18 +16,15 @@ function isOwner (value) { * Utils */ -exports.deinit = deinit -function deinit (value) { +export function deinit (value) { if (isDeinitable(value)) value.deinit() } -exports.deinitDiff = deinitDiff -function deinitDiff (prev, next) { +export function deinitDiff (prev, next) { deinitDiffAcyclic(prev, next, []) } -exports.unwrap = unwrap -function unwrap (value) { +export function unwrap (value) { return isOwner(value) ? value.unwrap() : undefined } @@ -64,8 +57,8 @@ function traverseDiffBy (fun, prev, next, visitedRefs) { validate(isFunction, fun) if (isList(prev)) { - let error - for (let i = -1; ++i < prev.length;) { + let error = null + for (let i = -1; (i += 1) < prev.length;) { const prevValue = prev[i] if (includes(next, prevValue)) continue const nextValue = isList(next) ? next[i] : undefined @@ -77,7 +70,7 @@ function traverseDiffBy (fun, prev, next, visitedRefs) { } if (isObject(prev)) { - let error + let error = null for (const key in prev) { const prevValue = prev[key] const nextValue = isObject(next) ? next[key] : undefined diff --git a/lib/observable.js b/src/observable.js similarity index 63% rename from lib/observable.js rename to src/observable.js index ce36a16..0c035ce 100644 --- a/lib/observable.js +++ b/src/observable.js @@ -1,23 +1,19 @@ -'use strict' - -const {isFunction, validate} = require('fpx') -const {Que} = require('./ques') -const {deinit, isDeinitable} = require('./lifetime') -const {Subscription} = require('./subscription') -const {forceEach, pull, flushBy} = require('./utils') -const {isRef} = require('./ref') +import {isFunction, validate} from 'fpx' +import {Que} from './ques' +import {deinit, isDeinitable} from './lifetime' +import {Subscription} from './subscription' +import {forceEach, pull, flushBy} from './utils' +import {isRef} from './ref' /** * Interfaces */ -exports.isObservable = isObservable -function isObservable (value) { +export function isObservable (value) { return isDeinitable(value) && isFunction(value.subscribe) && isFunction(value.unsubscribe) } -exports.isObservableRef = isObservableRef -function isObservableRef (value) { +export function isObservableRef (value) { return isRef(value) && isObservable(value) } @@ -25,11 +21,11 @@ function isObservableRef (value) { * Classes */ -class Observable { +export class Observable { constructor () { this.state = this.states.IDLE this.subscriptions = [] - this.que = new Que(triggerSubscriptions.bind(this)) + this.que = new Que(triggerSubscriptions.bind(null, this)) } // override in subclass @@ -68,15 +64,13 @@ class Observable { } } -exports.Observable = Observable - Observable.prototype.states = { IDLE: 'IDLE', ACTIVE: 'ACTIVE', } -function triggerSubscriptions (args) { - forceEach(this.subscriptions.slice(), triggerSubscription, args) +function triggerSubscriptions ({subscriptions}, args) { + forceEach(subscriptions.slice(), triggerSubscription, args) } function triggerSubscription (subscription, args) { diff --git a/lib/query.js b/src/query.js similarity index 56% rename from lib/query.js rename to src/query.js index de822d3..92ff38b 100644 --- a/lib/query.js +++ b/src/query.js @@ -1,10 +1,8 @@ -'use strict' +import {getAt, pipe, every, isList, isPrimitive, isFunction, validate} from 'fpx' +import {Observable, isObservableRef} from './observable' +import {deref} from './ref' -const {getAt, pipe, every, isList, isPrimitive, isFunction, validate} = require('fpx') -const {Observable, isObservableRef} = require('./observable') -const {deref} = require('./ref') - -class Query extends Observable { +export class Query extends Observable { constructor (observableRef, query, equal) { super() validate(isObservableRef, observableRef) @@ -22,7 +20,7 @@ class Query extends Observable { } onInit () { - this.sub = this.observableRef.subscribe(onTrigger.bind(this)) + this.sub = this.observableRef.subscribe(onTrigger.bind(null, this)) this.value = this.query(this.observableRef.deref()) } @@ -32,23 +30,19 @@ class Query extends Observable { } } -exports.Query = Query - -function onTrigger (observableRef) { - const prev = this.value - const next = this.value = this.query(observableRef.deref()) - if (!this.equal(prev, next)) this.trigger(this) +function onTrigger (query, observableRef) { + const prev = query.value + const next = query.value = query.query(observableRef.deref()) + if (!query.equal(prev, next)) query.trigger(query) } -class PathQuery extends Query { +export class PathQuery extends Query { constructor (observableRef, path, equal) { validate(isPath, path) super(observableRef, pipe(deref, getAt.bind(null, path)), equal) } } -exports.PathQuery = PathQuery - function isPath (value) { return isList(value) && every(isPrimitive, value) } diff --git a/lib/ques.js b/src/ques.js similarity index 81% rename from lib/ques.js rename to src/ques.js index bb0fada..f92e9fe 100644 --- a/lib/ques.js +++ b/src/ques.js @@ -1,11 +1,9 @@ -'use strict' +import {call, slice, isFunction, validate} from 'fpx' +import {Subscription} from './subscription' +import {deinit} from './lifetime' +import {pull, flushBy, forceEach} from './utils' -const {call, slice, isFunction, validate} = require('fpx') -const {Subscription} = require('./subscription') -const {deinit} = require('./lifetime') -const {pull, flushBy, forceEach} = require('./utils') - -class Que { +export class Que { constructor (deque) { validate(isFunction, deque) this.state = this.states.IDLE @@ -46,8 +44,6 @@ class Que { } } -exports.Que = Que - Que.prototype.states = { IDLE: 'IDLE', DAMMED: 'DAMMED', @@ -56,10 +52,10 @@ Que.prototype.states = { // Masks extra args from flushBy function deque (value) { - this.deque(value) + this.deque(value) // eslint-disable-line no-invalid-this } -class TaskQue extends Que { +export class TaskQue extends Que { constructor () { super(call) } @@ -72,9 +68,7 @@ class TaskQue extends Que { } } -exports.TaskQue = TaskQue - -class MessageQue extends TaskQue { +export class MessageQue extends TaskQue { constructor () { super() this.subscriptions = [] @@ -100,10 +94,8 @@ class MessageQue extends TaskQue { } } -exports.MessageQue = MessageQue - function triggerSubscriptions (args) { - forceEach(this.subscriptions.slice(), triggerSubscription, args) + forceEach(this.subscriptions.slice(), triggerSubscription, args) // eslint-disable-line no-invalid-this } function triggerSubscription (subscription, args) { diff --git a/lib/reaction.js b/src/reaction.js similarity index 86% rename from lib/reaction.js rename to src/reaction.js index d950613..c8ef201 100644 --- a/lib/reaction.js +++ b/src/reaction.js @@ -1,13 +1,11 @@ -'use strict' - -const {isFunction, validate} = require('fpx') -const {isObservable} = require('./observable') -const {isRef} = require('./ref') -const {isSubscription} = require('./subscription') -const {deinit} = require('./lifetime') -const {flushBy} = require('./utils') - -class Reaction { +import {isFunction, validate} from 'fpx' +import {isObservable} from './observable' +import {isRef} from './ref' +import {isSubscription} from './subscription' +import {deinit} from './lifetime' +import {flushBy} from './utils' + +export class Reaction { constructor () { this.nextContext = null this.lastContext = null @@ -72,8 +70,6 @@ class Reaction { } } -exports.Reaction = Reaction - class ReactionContext { constructor (reaction, onTrigger) { this.state = this.states.PENDING diff --git a/lib/ref.js b/src/ref.js similarity index 57% rename from lib/ref.js rename to src/ref.js index c483081..9054ef7 100644 --- a/lib/ref.js +++ b/src/ref.js @@ -1,22 +1,18 @@ -'use strict' - -const {get, isFunction} = require('fpx') +import {get, isFunction, isObject} from 'fpx' /** * Interfaces */ -exports.isRef = isRef -function isRef (value) { - return Boolean(value) && isFunction(value.deref) +export function isRef (value) { + return isObject(value) && isFunction(value.deref) } /** * Utils */ -exports.deref = deref -function deref (ref) { +export function deref (ref) { if (isRef(ref)) { const value = ref.deref() return value === ref ? value : deref(value) @@ -24,8 +20,7 @@ function deref (ref) { return ref } -exports.derefIn = derefIn -function derefIn (ref, path) { +export function derefIn (ref, path) { return deref(path.reduce(derefByKey, ref)) } @@ -37,7 +32,6 @@ function derefByKey (cursor, key) { return get(cursor, key) } -exports.derefAt = derefAt -function derefAt (path, ref) { +export function derefAt (path, ref) { return derefIn(ref, path) } diff --git a/lib/subscription.js b/src/subscription.js similarity index 71% rename from lib/subscription.js rename to src/subscription.js index 283c20e..5e9bc5b 100644 --- a/lib/subscription.js +++ b/src/subscription.js @@ -1,15 +1,12 @@ -'use strict' - -const {isFunction, validate} = require('fpx') -const {isDeinitable} = require('./lifetime') +import {isFunction, isObject, validate} from 'fpx' +import {isDeinitable} from './lifetime' /** * Interfaces */ // Happens to be a subset of `isObservable`. Potential confusion. How to fix? -exports.isSubscription = isSubscription -function isSubscription (value) { +export function isSubscription (value) { return isDeinitable(value) && isFunction(value.trigger) } @@ -17,7 +14,7 @@ function isSubscription (value) { * Classes */ -class Subscription { +export class Subscription { constructor (observable, callback) { validate(isObservable, observable) validate(isFunction, callback) @@ -40,8 +37,6 @@ class Subscription { } } -exports.Subscription = Subscription - Subscription.prototype.states = { ACTIVE: 'ACTIVE', IDLE: 'IDLE', @@ -49,5 +44,5 @@ Subscription.prototype.states = { // Duplicated to avoid circular dependency function isObservable (value) { - return Boolean(value) && isFunction(value.subscribe) && isFunction(value.unsubscribe) + return isObject(value) && isFunction(value.subscribe) && isFunction(value.unsubscribe) } diff --git a/lib/utils.js b/src/utils.js similarity index 67% rename from lib/utils.js rename to src/utils.js index c373d8b..934640d 100644 --- a/lib/utils.js +++ b/src/utils.js @@ -1,20 +1,18 @@ -'use strict' +/* eslint-disable no-invalid-this */ + +import {slice, indexOf, isComplex, isFunction, isArray, isList, isObject, validate} from 'fpx' -const {slice, indexOf, isComplex, isFunction, isArray, isList, isObject, validate} = require('fpx') const {isFrozen, defineProperty} = Object -const pub = exports -pub.global = typeof self !== 'undefined' && self || Function('return this')() // eslint-disable-line +export const global = typeof self !== 'undefined' && self || Function('return this')() // eslint-disable-line -pub.isMutable = isMutable -function isMutable (value) { +export function isMutable (value) { return isComplex(value) && !isFrozen(value) } // Binds enumerables, therefore doesn't work with spec-compliant classes. // TODO support non-enumerable methods. -pub.bindAll = bindAll -function bindAll (object) { +export function bindAll (object) { for (const key in object) { const value = object[key] if (isFunction(value)) object[key] = value.bind(object) @@ -24,25 +22,21 @@ function bindAll (object) { // TODO document or remove. // Like `const`, but for object properties. -pub.final = final -function final (object, key, value) { +export function final (object, key, value) { return defineProperty(object, key, {value, enumerable: true, writable: false}) } // TODO document or remove. -pub.priv = priv -function priv (object, key, value) { +export function priv (object, key, value) { return defineProperty(object, key, {value, enumerable: false, writable: true}) } // TODO document or remove. -pub.privFinal = privFinal -function privFinal (object, key, value) { +export function privFinal (object, key, value) { return defineProperty(object, key, {value, enumerable: false, writable: false}) } -pub.assign = assign -function assign (object) { +export function assign (object) { validate(isMutable, object) return slice(arguments, 1).reduce(assignOne, object) } @@ -52,17 +46,15 @@ function assignOne (object, src) { return object } -pub.pull = pull -function pull (array, value) { +export function pull (array, value) { validate(isArray, array) const index = indexOf(array, value) - if (~index) array.splice(index, 1) + if (index !== -1) array.splice(index, 1) return array } // TODO finalise the API, then document -pub.each = each -function each (value, fun) { +export function each (value, fun) { if (isList(value)) eachElem(value, fun) else if (isObject(value)) eachProp(value, fun) } @@ -70,7 +62,7 @@ function each (value, fun) { function eachElem (value, fun) { validate(isList, value) validate(isFunction, fun) - for (let i = -1; ++i < value.length;) fun(value[i], i) + for (let i = -1; (i += 1) < value.length;) fun(value[i], i) } function eachProp (value, fun) { @@ -80,13 +72,12 @@ function eachProp (value, fun) { } // TODO finalise the API, then document -pub.forceEach = forceEach -function forceEach (list, fun, a, b, c) { +export function forceEach (list, fun, a, b, c) { validate(isList, list) validate(isFunction, fun) - let error - for (let i = -1; ++i < list.length;) { + let error = null + for (let i = -1; (i += 1) < list.length;) { try {fun.call(this, list[i], a, b, c)} catch (err) {error = err} } @@ -94,8 +85,7 @@ function forceEach (list, fun, a, b, c) { } // TODO finalise the API, then document -pub.flushBy = flushBy -function flushBy (values, fun, a, b, c) { +export function flushBy (values, fun, a, b, c) { validate(isFunction, fun) validate(isArray, values) validate(isMutable, values) @@ -112,8 +102,7 @@ function flushBy (values, fun, a, b, c) { // Dangerous // TODO consider documenting -pub.retryBy = retryBy -function retryBy (fun, a, b, c) { +export function retryBy (fun, a, b, c) { if (!isFunction(fun)) { throw Error(`Expected a function, got ${fun}`) } diff --git a/statil.js b/statil.js index 5cb6b71..48ff25d 100644 --- a/statil.js +++ b/statil.js @@ -11,7 +11,7 @@ marked.setOptions({ smartypants: true, highlight (code, lang) { return (lang ? hljs.highlight(lang, code) : hljs.highlightAuto(code)).value - } + }, }) marked.Renderer.prototype.heading = function (text, level, raw) { diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 5ad8cab..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict' - -const pt = require('path') -const prod = process.env.NODE_ENV === 'production' - -module.exports = { - entry: { - docs: pt.resolve('docs/scripts/docs.js'), - }, - - output: { - path: pt.resolve('gh-pages/scripts'), - filename: '[name].js' - }, - - module: { - rules: [ - { - test: /\.js$/, - include: [ - pt.resolve('docs/scripts'), - pt.resolve('lib'), - ], - use: { - loader: 'babel-loader', - }, - }, - ], - }, - - resolve: { - alias: { - // espo: process.cwd(), - espo: pt.resolve('lib'), - } - }, - - devtool: prod ? 'source-map' : false, - - // For static build. See gulpfile. - stats: { - colors: true, - chunks: false, - version: false, - hash: false, - assets: false, - } -} diff --git a/yarn.lock b/yarn.lock index 0ae4752..dfcbc31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13,12 +13,6 @@ accepts@1.3.3, accepts@~1.3.3: mime-types "~2.1.11" negotiator "0.6.1" -acorn-dynamic-import@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" - dependencies: - acorn "^4.0.3" - acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -35,10 +29,6 @@ acorn@^3.0.4, acorn@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.3, acorn@^4.0.4: - version "4.0.11" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" - acorn@^5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" @@ -47,7 +37,7 @@ after@0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" -ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: +ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -58,14 +48,6 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" @@ -187,14 +169,6 @@ arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asn1.js@^4.0.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -207,12 +181,6 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - async-done@^1.2.0, async-done@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.2.2.tgz#ba4280da55a16e15f4bb8bf3a844a91878740e31" @@ -244,16 +212,6 @@ async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" - dependencies: - lodash "^4.14.0" - -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -277,37 +235,37 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" +babel-code-frame@^6.16.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: - chalk "^1.1.0" + chalk "^1.1.3" esutils "^2.0.2" - js-tokens "^3.0.0" + js-tokens "^3.0.2" -babel-core@6.24.0, babel-core@^6.0.2, babel-core@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02" +babel-core@6.26.0, babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: - babel-code-frame "^6.22.0" - babel-generator "^6.24.0" - babel-helpers "^6.23.0" + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" babel-messages "^6.23.0" - babel-register "^6.24.0" - babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.1" - babel-types "^6.23.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" slash "^1.0.0" - source-map "^0.5.0" + source-map "^0.5.6" babel-eslint@7.1.1: version "7.1.1" @@ -319,17 +277,17 @@ babel-eslint@7.1.1: babylon "^6.13.0" lodash.pickby "^4.6.0" -babel-generator@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.0.tgz#eba270a8cc4ce6e09a61be43465d7c62c1f87c56" +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" dependencies: babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" detect-indent "^4.0.0" jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" + lodash "^4.17.4" + source-map "^0.5.6" trim-right "^1.0.1" babel-helper-call-delegate@^6.18.0: @@ -392,21 +350,12 @@ babel-helper-replace-supers@^6.23.0: babel-traverse "^6.23.0" babel-types "^6.23.0" -babel-helpers@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992" +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" dependencies: babel-runtime "^6.22.0" - babel-template "^6.23.0" - -babel-loader@6.2.10: - version "6.2.10" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.10.tgz#adefc2b242320cd5d15e65b31cea0e8b1b02d4b0" - dependencies: - find-cache-dir "^0.1.1" - loader-utils "^0.2.11" - mkdirp "^0.5.1" - object-assign "^4.0.1" + babel-template "^6.24.1" babel-messages@^6.23.0: version "6.23.0" @@ -420,6 +369,12 @@ babel-plugin-check-es2015-constants@6.8.0: dependencies: babel-runtime "^6.0.0" +babel-plugin-external-helpers@6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" @@ -493,15 +448,6 @@ babel-plugin-transform-es2015-literals@6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-commonjs@6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f" - dependencies: - babel-plugin-transform-strict-mode "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-types "^6.23.0" - babel-plugin-transform-es2015-parameters@6.21.0: version "6.21.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" @@ -539,74 +485,61 @@ babel-plugin-transform-object-rest-spread@6.23.0: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-runtime@6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-strict-mode@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-register@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.0.tgz#5e89f8463ba9970356d02eb07dabe3308b080cfd" - dependencies: - babel-core "^6.24.0" - babel-runtime "^6.22.0" - core-js "^2.4.0" + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" home-or-tmp "^2.0.0" - lodash "^4.2.0" + lodash "^4.17.4" mkdirp "^0.5.1" - source-map-support "^0.4.2" + source-map-support "^0.4.15" -babel-runtime@^6.0.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" +babel-runtime@^6.0.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: core-js "^2.4.0" - regenerator-runtime "^0.10.0" + regenerator-runtime "^0.11.0" -babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" +babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.23.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" - babylon "^6.11.0" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" -babel-traverse@^6.15.0, babel-traverse@^6.21.0, babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1: - version "6.23.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" +babel-traverse@^6.15.0, babel-traverse@^6.21.0, babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: - babel-code-frame "^6.22.0" + babel-code-frame "^6.26.0" babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.23.0" - babylon "^6.15.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.15.0, babel-types@^6.18.0, babel-types@^6.21.0, babel-types@^6.22.0, babel-types@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" - dependencies: - babel-runtime "^6.22.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.15.0, babel-types@^6.18.0, babel-types@^6.21.0, babel-types@^6.22.0, babel-types@^6.23.0, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" + lodash "^4.17.4" + to-fast-properties "^1.0.3" -babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: - version "6.16.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" +babylon@^6.13.0, babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" bach@^1.0.0: version "1.1.0" @@ -626,18 +559,14 @@ backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" -base64-js@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" - base64id@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" @@ -662,10 +591,6 @@ better-assert@~1.0.0: dependencies: callsite "1.0.0" -big.js@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" - binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" @@ -684,21 +609,17 @@ bluebird@^3.1.1: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" dependencies: hoek "2.x.x" -brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" dependencies: - balanced-match "^0.4.1" + balanced-match "^1.0.0" concat-map "0.0.1" braces@^1.8.2: @@ -709,9 +630,11 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" +browser-resolve@^1.11.0: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" browser-sync-client@2.4.4: version "2.4.4" @@ -762,57 +685,6 @@ browser-sync@2.18.5: ua-parser-js "0.7.12" yargs "6.4.0" -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" - dependencies: - buffer-xor "^1.0.2" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - inherits "^2.0.1" - -browserify-cipher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - dependencies: - pako "~0.2.0" - browserslist@^1.7.6: version "1.7.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" @@ -847,18 +719,6 @@ buffer-shims@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" -buffer-xor@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - bufferstreams@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-1.0.1.tgz#cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a" @@ -871,14 +731,10 @@ bufferstreams@^1.1.1: dependencies: readable-stream "^2.0.2" -builtin-modules@^1.0.0: +builtin-modules@^1.0.0, builtin-modules@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -900,7 +756,7 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" -camelcase@^1.0.2, camelcase@^1.2.1: +camelcase@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" @@ -924,13 +780,6 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -956,12 +805,6 @@ chokidar@1.6.1, chokidar@^1.4.3, chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" -cipher-base@^1.0.0, cipher-base@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" - dependencies: - inherits "^2.0.1" - circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" @@ -983,14 +826,6 @@ cli-width@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - cliui@^3.0.3, cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -1030,21 +865,15 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.8.x, commander@^2.2.0: +commander@2.8.x: version "2.8.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" dependencies: graceful-readlink ">= 1.0.0" -commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" +commander@^2.2.0, commander@^2.9.0, commander@~2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" component-bind@1.0.0: version "1.0.0" @@ -1095,12 +924,6 @@ connect@3.5.0: parseurl "~1.3.1" utils-merge "1.0.0" -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -1111,11 +934,7 @@ consolidate@^0.14.1: dependencies: bluebird "^3.1.1" -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - -convert-source-map@^1.1.0, convert-source-map@^1.1.1: +convert-source-map@^1.1.1, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1123,37 +942,14 @@ cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" -core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -create-ecdh@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - ripemd160 "^1.0.0" - sha.js "^2.3.6" - -create-hmac@^1.1.0, create-hmac@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170" - dependencies: - create-hash "^1.1.0" - inherits "^2.0.1" - cross-spawn@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" @@ -1167,21 +963,6 @@ cryptiles@2.x.x: dependencies: boom "2.x.x" -crypto-browserify@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -1200,10 +981,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - dateformat@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" @@ -1220,11 +997,11 @@ debug@2.3.3: dependencies: ms "0.7.2" -debug@^2.1.1, debug@^2.2.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" +debug@^2.1.1, debug@^2.2.0, debug@^2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: - ms "0.7.2" + ms "2.0.0" decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" @@ -1266,13 +1043,6 @@ depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" @@ -1293,14 +1063,6 @@ dev-ip@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" -diffie-hellman@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - doctrine@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" @@ -1308,10 +1070,6 @@ doctrine@^2.0.0: esutils "^2.0.2" isarray "^1.0.0" -domain-browser@^1.1.1: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" - duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -1353,30 +1111,14 @@ electron-to-chromium@^1.2.7: version "1.3.2" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.2.tgz#b8ce5c93b308db0e92f6d0435c46ddec8f6363ab" -elliptic@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emerge@0.0.30: - version "0.0.30" - resolved "https://registry.yarnpkg.com/emerge/-/emerge-0.0.30.tgz#bd86f8a1bfb3dd62508f8d06d69c04bc4a13da31" +emerge@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/emerge/-/emerge-0.1.0.tgz#da6f5f207f2bba9ea76a68c264215d2f0e2a3c21" emitter-steward@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - encodeurl@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" @@ -1432,21 +1174,6 @@ engine.io@1.8.0: engine.io-parser "1.3.1" ws "1.1.1" -enhanced-resolve@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - object-assign "^4.0.1" - tapable "^0.2.5" - -errno@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" - error-ex@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" @@ -1608,6 +1335,10 @@ estraverse@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -1631,16 +1362,6 @@ eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" -events@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -evp_bytestokey@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" - dependencies: - create-hash "^1.1.1" - exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -1741,14 +1462,6 @@ finalhandler@0.5.0: statuses "~1.3.0" unpipe "~1.0.0" -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1836,9 +1549,9 @@ formidable@1.0.x: version "1.0.17" resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" -"fpx@^0.1.0 || ^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/fpx/-/fpx-0.2.0.tgz#f59df3e64da35b68e98e78a54cfcae716b0fb29f" +fpx@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fpx/-/fpx-0.3.0.tgz#3ac5c5cdecb5b7dd8d6f92889f1356a4d388eb2b" fresh@0.3.0, fresh@^0.3.0: version "0.3.0" @@ -2018,9 +1731,9 @@ global-prefix@^0.1.4: is-windows "^0.2.0" which "^1.2.12" -globals@^9.0.0, globals@^9.14.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" +globals@^9.14.0, globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" globby@^5.0.0: version "5.0.0" @@ -2065,17 +1778,6 @@ gulp-autoprefixer@3.1.1: through2 "^2.0.0" vinyl-sourcemaps-apply "^0.2.0" -gulp-babel@6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-6.1.2.tgz#7c0176e4ba3f244c60588a0c4b320a45d1adefce" - dependencies: - babel-core "^6.0.2" - gulp-util "^3.0.0" - object-assign "^4.0.1" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - gulp-clean-css@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-2.3.2.tgz#7410769c4474c12ccd55e98ea74b1898d428acd0" @@ -2163,19 +1865,6 @@ gulp-statil@0.5.0: through2 "^2.0.3" vinyl "^1.1.1" -gulp-uglify@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-2.0.0.tgz#cbe4aae4fe0b6bdd760335bc46f200fff699c4af" - dependencies: - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash "^4.13.1" - make-error-cause "^1.1.1" - through2 "^2.0.0" - uglify-js "2.7.0" - uglify-save-license "^0.4.1" - vinyl-sourcemaps-apply "^0.2.0" - gulp-util@3.0.8, gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.3, gulp-util@^3.0.6, gulp-util@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" @@ -2300,12 +1989,6 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" - dependencies: - inherits "^2.0.1" - hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" @@ -2319,14 +2002,6 @@ highlight.js@9.9.0: version "9.9.0" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.9.0.tgz#b9995dcfdc2773e307a34f0460d92b9a474782c0" -hmac-drbg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.0.tgz#3db471f45aae4a994a0688322171f51b8b91bee5" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" @@ -2371,14 +2046,6 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - ignore@^3.2.0: version "3.2.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.6.tgz#26e8da0644be0bb4cb39516f6c79f0e0f4ffe48c" @@ -2416,10 +2083,6 @@ inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, i version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -2446,7 +2109,7 @@ interpret@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d" -invariant@^2.2.0: +invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -2533,6 +2196,10 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" @@ -2671,9 +2338,9 @@ js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" -js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" js-yaml@^3.2.6, js-yaml@^3.5.1: version "3.8.2" @@ -2690,10 +2357,6 @@ jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" -json-loader@^0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" - json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -2712,7 +2375,7 @@ json3@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" -json5@^0.5.0: +json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -2758,10 +2421,6 @@ last-run@^1.1.0: default-resolution "^2.0.0" es6-weak-map "^2.0.1" -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -2809,19 +2468,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -loader-runner@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" - -loader-utils@^0.2.11, loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - localtunnel@1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.2.tgz#913051e8328b51f75ad8a22ad1f5c5b8c599a359" @@ -2978,7 +2624,7 @@ lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.2.0, lodash@^4.3.0: +lodash@^4.0.0, lodash@^4.11.1, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -2986,10 +2632,6 @@ lodash@~4.16.4: version "4.16.6" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" @@ -3016,16 +2658,6 @@ magic-string@^0.14.0: dependencies: vlq "^0.2.1" -make-error-cause@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d" - dependencies: - make-error "^1.2.0" - -make-error@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.2.3.tgz#6c4402df732e0977ac6faf754a5074b3d2b1d19d" - make-iterator@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-0.1.1.tgz#873d27b8198a465a81483b6f5d16da4e863ecf5b" @@ -3059,13 +2691,6 @@ matchdep@^1.0.0: resolve "~1.1.6" stack-trace "0.0.9" -memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -3105,13 +2730,6 @@ micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7, micromatch@^2.3.8: parse-glob "^3.0.4" regex-cache "^0.4.2" -miller-rabin@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@~1.27.0: version "1.27.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" @@ -3130,19 +2748,11 @@ mime@1.3.4, "mime@>= 0.0.1": version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" -minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: - brace-expansion "^1.0.0" + brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" @@ -3156,7 +2766,7 @@ mkdirp@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3170,6 +2780,10 @@ ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + multipipe@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" @@ -3218,34 +2832,6 @@ node-gyp@^3.3.1: tar "^2.0.0" which "1" -node-libs-browser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.1.4" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^1.0.0" - https-browserify "0.0.1" - os-browserify "^0.2.0" - path-browserify "0.0.0" - process "^0.11.0" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.0.5" - stream-browserify "^2.0.1" - stream-http "^2.3.1" - string_decoder "^0.10.25" - timers-browserify "^2.0.2" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" - node-pre-gyp@^0.6.29: version "0.6.34" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" @@ -3449,10 +3035,6 @@ ordered-read-streams@^0.3.0: is-stream "^1.0.1" readable-stream "^2.0.1" -os-browserify@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" - os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -3474,20 +3056,6 @@ osenv@0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - -parse-asn1@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - parse-filepath@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" @@ -3537,10 +3105,6 @@ parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -3581,12 +3145,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -pbkdf2@^3.0.3: - version "3.0.9" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" - dependencies: - create-hmac "^1.1.2" - performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" @@ -3605,12 +3163,6 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - pluralize@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" @@ -3647,7 +3199,7 @@ pretty-hrtime@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" -private@^0.1.6: +private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -3655,37 +3207,15 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -process@^0.11.0: - version "0.11.9" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" - progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - pseudomap@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -public-encrypt@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -3705,14 +3235,6 @@ qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -3720,10 +3242,6 @@ randomatic@^1.1.3: is-number "^2.0.2" kind-of "^3.0.2" -randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" - range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" @@ -3770,7 +3288,7 @@ readable-stream@^1.0.33, readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: version "2.2.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816" dependencies: @@ -3812,9 +3330,9 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -regenerator-runtime@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" regex-cache@^0.4.2: version "0.4.3" @@ -3927,16 +3445,16 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" +resolve@1.1.7, resolve@~1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + resolve@^1.1.6, resolve@^1.1.7: version "1.3.2" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235" dependencies: path-parse "^1.0.5" -resolve@~1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - resp-modifier@6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" @@ -3951,21 +3469,49 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" -ripemd160@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" +rollup-plugin-alias@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.3.1.tgz#a9152fec4b6a6510dae93989517ca7853c32a6fa" + dependencies: + slash "^1.0.0" + +rollup-plugin-babel@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.2.tgz#a2765dea0eaa8aece351c983573300d17497495b" + dependencies: + rollup-pluginutils "^1.5.0" + +rollup-plugin-node-resolve@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" + dependencies: + browser-resolve "^1.11.0" + builtin-modules "^1.1.0" + is-module "^1.0.0" + resolve "^1.1.6" + +rollup-plugin-uglify@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-2.0.1.tgz#67b37ad1efdafbd83af4c36b40c189ee4866c969" + dependencies: + uglify-js "^3.0.9" + +rollup-pluginutils@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" + +rollup@0.47.6: + version "0.47.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.47.6.tgz#83b90a1890dd3321a3f8d0b2bd216e88483f33de" run-async@^0.1.0: version "0.1.0" @@ -4063,20 +3609,10 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - setprototypeof@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" -sha.js@^2.3.6: - version "2.4.8" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" - dependencies: - inherits "^2.0.1" - shelljs@^0.7.5: version "0.7.7" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" @@ -4147,13 +3683,9 @@ socket.io@1.6.0: socket.io-client "1.6.0" socket.io-parser "2.3.1" -source-list-map@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4" - -source-map-support@^0.4.2: - version "0.4.14" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" +source-map-support@^0.4.15: + version "0.4.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8" dependencies: source-map "^0.5.6" @@ -4163,7 +3695,7 @@ source-map@0.4.x: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: +source-map@^0.5.1, source-map@^0.5.6, source-map@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -4226,27 +3758,10 @@ stdout-stream@^1.4.0: dependencies: readable-stream "^2.0.1" -stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-exhaust@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.1.tgz#c0c4455e54ce5a179ca8736e73334b4e7fd67553" -stream-http@^2.3.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.2.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" @@ -4273,7 +3788,7 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" -string_decoder@^0.10.25, string_decoder@~0.10.x: +string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -4329,7 +3844,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: +supports-color@^3.1.2, supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -4346,10 +3861,6 @@ table@^3.7.8: slice-ansi "0.0.4" string-width "^2.0.0" -tapable@^0.2.5, tapable@~0.2.5: - version "0.2.6" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" - tar-pack@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" @@ -4417,12 +3928,6 @@ time-stamp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" -timers-browserify@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" - dependencies: - setimmediate "^1.0.4" - to-absolute-glob@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" @@ -4433,13 +3938,9 @@ to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - -to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" tough-cookie@~2.3.0: version "2.3.2" @@ -4459,10 +3960,6 @@ tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -4491,31 +3988,12 @@ ua-parser-js@0.7.12: version "0.7.12" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" -uglify-js@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.0.tgz#f021e38ba2ca740860f5bd5c695c2a817345f0ec" +uglify-js@^3.0.9: + version "3.0.27" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.27.tgz#a97db8c8ba6b9dba4e2f88d86aa9548fa6320034" dependencies: - async "~0.2.6" + commander "~2.11.0" source-map "~0.5.1" - uglify-to-browserify "~1.0.0" - yargs "~3.10.0" - -uglify-js@^2.8.5: - version "2.8.21" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.21.tgz#1733f669ae6f82fc90c7b25ec0f5c783ee375314" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-save-license@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/uglify-save-license/-/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" uid-number@^0.0.6: version "0.0.6" @@ -4562,13 +4040,6 @@ unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" @@ -4583,12 +4054,6 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@0.10.3, util@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - utils-merge@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" @@ -4685,52 +4150,6 @@ vlq@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c" -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - -watchpack@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" - dependencies: - async "^2.1.2" - chokidar "^1.4.3" - graceful-fs "^4.1.2" - -webpack-sources@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" - dependencies: - source-list-map "^1.1.1" - source-map "~0.5.3" - -webpack@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.3.2.tgz#7d521e6f0777a3a58985c69425263fdfe977b458" - dependencies: - acorn "^4.0.4" - acorn-dynamic-import "^2.0.0" - ajv "^4.7.0" - ajv-keywords "^1.1.1" - async "^2.1.2" - enhanced-resolve "^3.0.0" - interpret "^1.0.0" - json-loader "^0.5.4" - loader-runner "^2.3.0" - loader-utils "^0.2.16" - memory-fs "~0.4.1" - mkdirp "~0.5.0" - node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^3.1.0" - tapable "~0.2.5" - uglify-js "^2.8.5" - watchpack "^1.3.1" - webpack-sources "^0.2.3" - yargs "^6.0.0" - weinre@^2.0.0-pre-I0Z7U9OV: version "2.0.0-pre-I0Z7U9OV" resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813" @@ -4755,10 +4174,6 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.1" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - window-size@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" @@ -4767,10 +4182,6 @@ window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -4850,7 +4261,7 @@ yargs@3.29.0, yargs@^3.28.0: window-size "^0.1.2" y18n "^3.2.0" -yargs@6.4.0, yargs@^6.0.0: +yargs@6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" dependencies: @@ -4888,15 +4299,6 @@ yargs@^4.6.0, yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"