From 83ec9661135d96df1b21c275de409e760c510419 Mon Sep 17 00:00:00 2001 From: Ian Storm Taylor Date: Tue, 6 Feb 2018 19:41:03 -0800 Subject: [PATCH] refactor rollup, prettier and benchmark configuration --- .gitignore | 5 +- .prettierignore | 1 + .prettierrc | 5 + package.json | 18 +- rollup.config.js | 9 +- .../compare.js} | 4 +- .../reporter.js} | 0 support/rollup/examples.js | 194 ++++--- support/rollup/factory.js | 170 ------ support/rollup/packages.js | 148 +++++ yarn.lock | 515 +++++++++++++++++- 11 files changed, 769 insertions(+), 300 deletions(-) create mode 100644 .prettierrc rename support/{benchmark-compare.js => benchmark/compare.js} (91%) rename support/{benchmark-reporter.js => benchmark/reporter.js} (100%) delete mode 100644 support/rollup/factory.js create mode 100644 support/rollup/packages.js diff --git a/.gitignore b/.gitignore index ee27f4c4e..ca88ee137 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ # Build files. +*.js.map dist -examples/build.dev.js -examples/build.dev.js.map -examples/build.prod.js +examples/build.*.js lib # Temporary files. diff --git a/.prettierignore b/.prettierignore index a790ef1b4..3a6ae342a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ examples/build.prod.js +node_modules/ package.json packages/*/dist/ packages/*/lib/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..0b4951088 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "singleQuote": true, + "semi": false, + "trailingComma": "es5" +} diff --git a/package.json b/package.json index 0b4dbabaf..ef44442cc 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,8 @@ "rollup-plugin-babel": "^3.0.3", "rollup-plugin-commonjs": "^8.3.0", "rollup-plugin-json": "^2.3.0", + "rollup-plugin-node-builtins": "^2.1.2", + "rollup-plugin-node-globals": "^1.1.0", "rollup-plugin-node-resolve": "^3.0.2", "rollup-plugin-replace": "^2.0.0", "rollup-plugin-sourcemaps": "^0.4.2", @@ -74,12 +76,12 @@ "slate-schema-violations": "*" }, "scripts": { - "benchmark": "mkdir -p ./tmp && cross-env BABEL_ENV=test babel-node ./node_modules/.bin/_matcha --reporter ./support/benchmark-reporter ./packages/*/benchmark/index.js > ./tmp/benchmark-comparison.json && cross-env BABEL_ENV=test babel-node ./support/benchmark-compare", - "benchmark:save": "mkdir -p ./tmp && cross-env BABEL_ENV=test babel-node ./node_modules/.bin/_matcha --reporter ./support/benchmark-reporter ./packages/*/benchmark/index.js > ./tmp/benchmark-baseline.json", + "benchmark": "mkdir -p ./tmp && cross-env BABEL_ENV=test babel-node ./node_modules/.bin/_matcha --reporter ./support/benchmark/reporter ./packages/*/benchmark/index.js > ./tmp/benchmark-comparison.json && cross-env BABEL_ENV=test babel-node ./support/benchmark/compare", + "benchmark:save": "mkdir -p ./tmp && cross-env BABEL_ENV=test babel-node ./node_modules/.bin/_matcha --reporter ./support/benchmark/reporter ./packages/*/benchmark/index.js > ./tmp/benchmark-baseline.json", "bootstrap": "lerna bootstrap && yarn build", - "build": "cross-env NODE_ENV=production rollup --config", + "build": "rollup --config", "clean": "lerna run clean && rm -rf ./node_modules ./dist ./examples/build.*.js", - "gh-pages": "yarn build && gh-pages --dist ./examples", + "gh-pages": "cross-env NODE_ENV=production yarn build && gh-pages --dist ./examples", "lint": "eslint packages/*/src packages/*/test examples/*/*.js examples/dev/*/*.js && prettier --list-different '**/*.{js,jsx}'", "open": "open http://localhost:8080/dev.html", "prettier": "prettier --write '**/*.{js,jsx}'", @@ -87,12 +89,6 @@ "server": "http-server ./examples", "start": "npm-run-all --parallel --print-label watch server", "test": "cross-env BABEL_ENV=test mocha --require babel-core/register ./packages/*/test/index.js", - "watch": "rollup --config --watch", - "watch:packages": "cross-env SKIP_EXAMPLES=true yarn watch" - }, - "prettier": { - "singleQuote": true, - "semi": false, - "trailingComma": "es5" + "watch": "rollup --config --watch" } } diff --git a/rollup.config.js b/rollup.config.js index 69fba6b83..ddc0bd946 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,5 +1,5 @@ -import factory from './support/rollup/factory' -import examplesConfig from './support/rollup/examples' +import factory from './support/rollup/packages' +import examples from './support/rollup/examples' import slate from './packages/slate/package.json' import slateBase64Serializer from './packages/slate-base64-serializer/package.json' import slateDevLogger from './packages/slate-dev-logger/package.json' @@ -22,10 +22,7 @@ const configurations = [ ...factory(slateReact), ...factory(slateSchemaViolations), ...factory(slateSimulator), + ...examples, ] -if (!process.env.SKIP_EXAMPLES) { - configurations.push(...examplesConfig) -} - export default configurations diff --git a/support/benchmark-compare.js b/support/benchmark/compare.js similarity index 91% rename from support/benchmark-compare.js rename to support/benchmark/compare.js index d75285d61..87d18fc9f 100644 --- a/support/benchmark-compare.js +++ b/support/benchmark/compare.js @@ -1,8 +1,8 @@ /* eslint-disable no-console */ import chalk from 'chalk' -import baseline from '../tmp/benchmark-baseline' -import comparison from '../tmp/benchmark-comparison' +import baseline from '../../tmp/benchmark-baseline' +import comparison from '../../tmp/benchmark-comparison' /** * Constants. diff --git a/support/benchmark-reporter.js b/support/benchmark/reporter.js similarity index 100% rename from support/benchmark-reporter.js rename to support/benchmark/reporter.js diff --git a/support/rollup/examples.js b/support/rollup/examples.js index 20a0e04f8..01fd8630f 100644 --- a/support/rollup/examples.js +++ b/support/rollup/examples.js @@ -1,113 +1,103 @@ -import path from 'path' -import { cloneDeep } from 'lodash' -import alias from 'rollup-plugin-alias' -import resolve from 'rollup-plugin-node-resolve' +import babel from 'rollup-plugin-babel' +import builtins from 'rollup-plugin-node-builtins' import commonjs from 'rollup-plugin-commonjs' +import globals from 'rollup-plugin-node-globals' import json from 'rollup-plugin-json' import replace from 'rollup-plugin-replace' -import babel from 'rollup-plugin-babel' -import uglify from 'rollup-plugin-uglify' +import resolve from 'rollup-plugin-node-resolve' import sourcemaps from 'rollup-plugin-sourcemaps' +import uglify from 'rollup-plugin-uglify' import pkg from '../../package.json' -const environment = process.env.NODE_ENV || 'development' +/** + * Return a Rollup configuration for the examples with `env`. + * + * @param {String} env + * @return {Object} + */ -const configurations = [] +function configure(env) { + const isDev = env === 'development' + const isProd = env === 'production' -const output = { - umd: pkg.umd, - umdMin: pkg.umdMin, + return { + input: 'examples/index.js', + output: { + file: isProd ? pkg.umdMin : pkg.umd, + name: 'slate-examples', + format: 'umd', + exports: 'named', + sourcemap: isDev, + }, + watch: { + include: ['examples/**', 'packages/*/lib/*.es.js'], + }, + plugins: [ + // Allow Rollup to resolve modules from `node_modules`, since it only + // resolves local modules by default. + resolve({ + browser: true, + }), + + // Allow Rollup to resolve CommonJS modules, since it only resolves ES2015 + // modules by default. + commonjs({ + exclude: ['examples/**'], + // HACK: Sometimes the CommonJS plugin can't identify named exports, so + // we have to manually specify named exports here for them to work. + // https://github.com/rollup/rollup-plugin-commonjs#custom-named-exports + namedExports: { + esrever: ['reverse'], + immutable: [ + 'List', + 'Map', + 'Record', + 'OrderedSet', + 'Set', + 'Stack', + 'is', + ], + 'react-dom': ['findDOMNode'], + 'react-dom/server': ['renderToStaticMarkup'], + }, + }), + + // Convert JSON imports to ES6 modules. + json(), + + // Replace `process.env.NODE_ENV` with its value, which enables some + // modules like React and Slate to use their production variant. + replace({ + 'process.env.NODE_ENV': JSON.stringify(env), + }), + + // Register Node.js builtins for browserify compatibility. + builtins(), + + // Use Babel to transpile the result, limiting it to the source code. + babel({ + include: ['examples/**'], + }), + + // Register Node.js globals for browserify compatibility. + globals(), + + // Only minify the output in production, since it is very slow. + isProd && uglify(), + + // Only add sourcemaps in development. + isDev && sourcemaps(), + ].filter(Boolean), + } } -const umdConfig = { - input: 'examples/index.js', - output: { - file: output.umd, - name: 'slate-examples', - format: 'umd', - exports: 'named', - sourcemap: environment === 'development', - }, - plugins: [ - // Force rollup to use the browser variants of `debug` and `react-dom/server` - // The main variant of `debug` relies on Node.js globals, while the main - // variant of `react-dom/server` relies on Node.js's Stream. - alias({ - debug: path.resolve(__dirname, 'node_modules/debug/src/browser'), - 'react-dom/server': path.resolve( - __dirname, - 'node_modules/react-dom/cjs/react-dom-server.browser.production.min' - ), - }), +/** + * Export. + * + * @type {Array} + */ - // Allow rollup to resolve modules that are npm dependencies - // (by default, it can only resolve local modules). - resolve(), - - // Allow rollup to resolve npm dependencies that are CommonJS - // (by default, it can only handle ES2015 syntax). - commonjs({ - exclude: ['examples/**'], - - // The CommonJS plugin sometimes cannot correctly identify named - // exports of CommonJS modules, so we manually specify here to - // hint that e.g. `import { List } from 'immutable'` is a reference - // to a valid named export. - namedExports: { - esrever: ['reverse'], - immutable: [ - 'List', - 'Map', - 'Record', - 'OrderedSet', - 'Set', - 'Stack', - 'is', - ], - 'react-dom': ['findDOMNode'], - 'react-dom/server': ['renderToStaticMarkup'], - }, - }), - - // Convert JSON imports to ES6 modules. - json(), - - // Replace `process.env.NODE_ENV` with its value -- needed for - // some modules like React to use their production variant (and - // one place within Slate itself). - replace({ - 'process.env.NODE_ENV': JSON.stringify(environment), - }), - - // Use babel to transpile the result -- limit to package src - // to prevent babel from trying to transpile npm dependencies. - babel({ - include: ['examples/**'], - }), - ], - // Limit rollup's file watching to example src files and the - // built output of packages -- helps keep it from watching - // too much and choking. - watch: { - include: ['examples/**', 'packages/*/lib/*.es.js'], - }, -} - -if (environment === 'production') { - // Only build the minified UMD variant in production -- - // it makes each rebuild take substantially longer. - const umdConfigMin = cloneDeep(umdConfig) - umdConfigMin.output.file = output.umdMin - umdConfigMin.plugins.push(uglify()) - configurations.push(umdConfigMin) -} else { - // In development, add the sourcemaps plugin so they - // are emitted alongside the dist file. - umdConfig.plugins.push(sourcemaps()) - - // Only build the unminified variant in development -- - // it serves no purpose in production. - configurations.push(umdConfig) -} - -export default configurations +export default [ + configure('development'), + process.env.NODE_ENV === 'production' && configure('production'), +].filter(Boolean) diff --git a/support/rollup/factory.js b/support/rollup/factory.js deleted file mode 100644 index 13a0f8498..000000000 --- a/support/rollup/factory.js +++ /dev/null @@ -1,170 +0,0 @@ -import path from 'path' -import { startCase, cloneDeep } from 'lodash' -import alias from 'rollup-plugin-alias' -import resolve from 'rollup-plugin-node-resolve' -import commonjs from 'rollup-plugin-commonjs' -import babel from 'rollup-plugin-babel' -import replace from 'rollup-plugin-replace' -import uglify from 'rollup-plugin-uglify' - -const environment = process.env.NODE_ENV || 'development' - -export default pkg => { - const pkgName = pkg.name - const output = { - cjs: pkg.main, - es: pkg.module, - umd: pkg.umd, - umdMin: pkg.umdMin, - } - const umdGlobals = pkg.umdGlobals - - // Generate list of external dependencies from package.json - let dependencies = [] - if (pkg.dependencies) { - dependencies = dependencies.concat(Object.keys(pkg.dependencies)) - } - if (pkg.peerDependencies) { - dependencies = dependencies.concat(Object.keys(pkg.peerDependencies)) - } - - // Consider a dependency external if: - // 1. It is directly located in the package.json dependencies/peerDependencies (e.g. `react`), or - // 2. It is part of a package.json dependency (e.g. `lodash/omit`) - // External dependencies are expected to be present at runtime (rather than being bundled into - // our built dist). - const isExternalDependency = id => - !!dependencies.find(dep => dep === id || id.startsWith(`${dep}/`)) - - // UMD build for browsers - const umdConfig = { - input: `packages/${pkgName}/src/index.js`, - - output: { - file: `packages/${pkgName}/${output.umd}`, - format: 'umd', - exports: 'named', - - // For a package name such as `slate-react`, the UMD name - // should be SlateReact. - name: startCase(pkgName).replace(/ /g, ''), - - // Some packages contain `umdGlobals` in their package.json, which - // indicates external dependencies that should be treated as globals - // rather than bundled into our dist, such as Immutable and React. - globals: umdGlobals, - }, - - // `external` tells rollup to treat the umdGlobals as external (and - // thus skip bundling them). - external: Object.keys(umdGlobals || {}), - - plugins: [ - // Force rollup to use the browser variant of `debug`. - // The main variant of `debug` relies on Node.js globals. - alias({ - debug: path.resolve(__dirname, 'node_modules/debug/src/browser'), - }), - - // Allow rollup to resolve modules that are npm dependencies - // (by default, it can only resolve local modules). - resolve(), - - // Allow rollup to resolve npm dependencies that are CommonJS - // (by default, it can only handle ES2015 syntax). - commonjs({ - exclude: [`packages/${pkgName}/src/**`], - - // The CommonJS plugin sometimes cannot correctly identify named - // exports of CommonJS modules, so we manually specify here to - // hint that e.g. `import { List } from 'immutable'` is a reference - // to a valid named export. - namedExports: { - esrever: ['reverse'], - immutable: [ - 'List', - 'Map', - 'Record', - 'OrderedSet', - 'Set', - 'Stack', - 'is', - ], - 'react-dom': ['findDOMNode'], - 'react-dom/server': ['renderToStaticMarkup'], - }, - }), - - // Replace `process.env.NODE_ENV` with its value -- needed for - // some modules like React to use their production variant (and - // one place within Slate itself). - replace({ - 'process.env.NODE_ENV': JSON.stringify('production'), - }), - - // Use babel to transpile the result -- limit to package src - // to prevent babel from trying to transpile npm dependencies. - babel({ - include: [`packages/${pkgName}/src/**`], - }), - ], - } - - // Additional UMD minified build based off of the unminified config - const umdConfigMin = cloneDeep(umdConfig) - umdConfigMin.output.file = `packages/${pkgName}/${output.umdMin}` - umdConfigMin.plugins.push(uglify()) - - // CommonJS (for Node) and ES module (for bundlers) build. - const moduleConfig = { - input: `packages/${pkgName}/src/index.js`, - output: [ - { - file: `packages/${pkgName}/${output.es}`, - format: 'es', - sourcemap: environment === 'development', - }, - { - file: `packages/${pkgName}/${output.cjs}`, - format: 'cjs', - exports: 'named', - }, - ], - external: isExternalDependency, - plugins: [ - // Force rollup to use the browser variant of `debug`. - // The main variant of `debug` relies on Node.js globals. - alias({ - debug: path.resolve(__dirname, 'node_modules/debug/src/browser'), - }), - - // Allow rollup to resolve modules that are npm dependencies - // (by default, it can only resolve local modules). - resolve(), - - // Replace `process.env.NODE_ENV` with its value -- needed for - // some modules like React to use their production variant (and - // one place within Slate itself). - replace({ - 'process.env.NODE_ENV': JSON.stringify(environment), - }), - - // Use babel to transpile the result -- limit to package src - // to prevent babel from trying to transpile npm dependencies. - babel({ - include: [`packages/${pkgName}/src/**`], - }), - ], - } - - const configurations = [moduleConfig] - - if (environment === 'production') { - // In development, we only build the module version to - // reduce rebuild times. In production, we add the - // configs for the UMD variants here. - configurations.push(umdConfig, umdConfigMin) - } - - return configurations -} diff --git a/support/rollup/packages.js b/support/rollup/packages.js new file mode 100644 index 000000000..32e4ae3cb --- /dev/null +++ b/support/rollup/packages.js @@ -0,0 +1,148 @@ +import babel from 'rollup-plugin-babel' +import builtins from 'rollup-plugin-node-builtins' +import commonjs from 'rollup-plugin-commonjs' +import globals from 'rollup-plugin-node-globals' +import json from 'rollup-plugin-json' +import replace from 'rollup-plugin-replace' +import resolve from 'rollup-plugin-node-resolve' +import uglify from 'rollup-plugin-uglify' +import { startCase } from 'lodash' + +/** + * Return a Rollup configuration for a `pkg` with `env` and `target`. + * + * @param {Object} pkg + * @param {String} env + * @param {String} format + * @return {Object} + */ + +function configure(pkg, env, target) { + const isDev = env === 'development' + const isProd = env === 'production' + const isUmd = target === 'umd' + const isModule = target === 'module' + const input = `packages/${pkg.name}/src/index.js` + const deps = [] + .concat(pkg.dependencies ? Object.keys(pkg.dependencies) : []) + .concat(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []) + + const plugins = [ + // Allow Rollup to resolve modules from `node_modules`, since it only + // resolves local modules by default. + resolve({ + browser: true, + }), + + // Allow Rollup to resolve CommonJS modules, since it only resolves ES2015 + // modules by default. + isUmd && + commonjs({ + exclude: [`packages/${pkg.name}/src/**`], + // HACK: Sometimes the CommonJS plugin can't identify named exports, so + // we have to manually specify named exports here for them to work. + // https://github.com/rollup/rollup-plugin-commonjs#custom-named-exports + namedExports: { + esrever: ['reverse'], + immutable: [ + 'List', + 'Map', + 'Record', + 'OrderedSet', + 'Set', + 'Stack', + 'is', + ], + 'react-dom': ['findDOMNode'], + 'react-dom/server': ['renderToStaticMarkup'], + }, + }), + + // Convert JSON imports to ES6 modules. + json(), + + // Replace `process.env.NODE_ENV` with its value, which enables some modules + // like React and Slate to use their production variant. + replace({ + 'process.env.NODE_ENV': JSON.stringify(env), + }), + + // Register Node.js builtins for browserify compatibility. + builtins(), + + // Use Babel to transpile the result, limiting it to the source code. + babel({ + include: [`packages/${pkg.name}/src/**`], + }), + + // Register Node.js globals for browserify compatibility. + globals(), + + // Only minify the output in production, since it is very slow. And only + // for UMD builds, since modules will be bundled by the consumer. + isUmd && isProd && uglify(), + ].filter(Boolean) + + if (isUmd) { + return { + plugins, + input, + output: { + format: 'umd', + file: `packages/${pkg.name}/${isProd ? pkg.umdMin : pkg.umd}`, + exports: 'named', + name: startCase(pkg.name).replace(/ /g, ''), + globals: pkg.umdGlobals, + }, + external: Object.keys(pkg.umdGlobals || {}), + } + } + + if (isModule) { + return { + plugins, + input, + output: [ + { + file: `packages/${pkg.name}/${pkg.module}`, + format: 'es', + sourcemap: isDev, + }, + { + file: `packages/${pkg.name}/${pkg.main}`, + format: 'cjs', + exports: 'named', + }, + ], + // We need to explicitly state which modules are external, meaning that + // they are present at runtime. In the case of non-UMD configs, this means + // all non-Slate packages. + external: id => { + return !!deps.find(dep => dep === id || id.startsWith(`${dep}/`)) + }, + } + } +} + +/** + * Return a Rollup configuration for a `pkg`. + * + * @return {Array} + */ + +function factory(pkg) { + const isProd = process.env.NODE_ENV === 'production' + return [ + configure(pkg, 'development', 'module'), + isProd && configure(pkg, 'development', 'umd'), + isProd && configure(pkg, 'production', 'umd'), + ].filter(Boolean) +} + +/** + * Export. + * + * @type {Function} + */ + +export default factory diff --git a/yarn.lock b/yarn.lock index e19057e32..3b5af0767 100644 --- a/yarn.lock +++ b/yarn.lock @@ -69,6 +69,12 @@ abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" +abstract-leveldown@~0.12.0, abstract-leveldown@~0.12.1: + version "0.12.4" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410" + dependencies: + xtend "~3.0.0" + acorn-globals@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" @@ -85,6 +91,10 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" +acorn@^4.0.1: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + acorn@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" @@ -228,6 +238,14 @@ asap@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" +asn1.js@^4.0.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" + 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" @@ -1040,6 +1058,16 @@ bl@^0.7.0: dependencies: readable-stream "~1.0.2" +bl@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-0.8.2.tgz#c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e" + dependencies: + readable-stream "~1.0.26" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + boom@4.x.x: version "4.3.1" resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" @@ -1074,6 +1102,10 @@ 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-process-hrtime@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" @@ -1086,6 +1118,60 @@ browser-unpack@^0.2.3: esprima-fb "3001.1.0-dev-harmony-fb" minimist "0.0.5" +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.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-fs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f" + dependencies: + level-filesystem "^1.0.1" + level-js "^2.1.3" + levelup "^0.18.2" + +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" + browserslist@^2.1.2: version "2.11.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" @@ -1093,6 +1179,14 @@ browserslist@^2.1.2: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" +buffer-es6@^4.9.1, buffer-es6@^4.9.2: + version "4.9.3" + resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + builtin-modules@^1.0.0, builtin-modules@^1.1.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1179,6 +1273,13 @@ ci-info@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.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" @@ -1221,6 +1322,10 @@ clone@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" +clone@~0.1.9: + version "0.1.19" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85" + cmd-shim@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" @@ -1306,7 +1411,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.10, concat-stream@^1.6.0: +concat-stream@^1.4.10, concat-stream@^1.4.4, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1501,12 +1606,39 @@ corser@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" +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-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: capture-stack-trace "^1.0.0" +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^2.0.0" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + cross-env@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7" @@ -1528,6 +1660,22 @@ cryptiles@3.x.x: dependencies: boom "5.x.x" +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + 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" + randomfill "^1.0.3" + cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -1621,6 +1769,12 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +deferred-leveldown@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4" + dependencies: + abstract-leveldown "~0.12.1" + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -1652,6 +1806,13 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" +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" + detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -1666,6 +1827,14 @@ diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" +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" + direction@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/direction/-/direction-0.1.5.tgz#ce5d797f97e26f8be7beff53f7dc40e1c1a9ec4c" @@ -1751,12 +1920,30 @@ electron@0.4.x: dependencies: drip "1.1.x" +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" + encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" dependencies: iconv-lite "~0.4.13" +errno@^0.1.1, errno@~0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" + dependencies: + prr "~1.0.1" + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" @@ -1987,6 +2174,13 @@ eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -2170,7 +2364,7 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" -foreach@^2.0.5: +foreach@^2.0.5, foreach@~2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -2227,6 +2421,12 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" +fwd-stream@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa" + dependencies: + readable-stream "~1.0.26-4" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2499,6 +2699,26 @@ has@^1.0.1: dependencies: function-bind "^1.0.2" +hash-base@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + dependencies: + inherits "^2.0.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + hawk@~6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" @@ -2531,6 +2751,14 @@ history@^4.5.1, history@^4.6.0: value-equal "^0.2.0" warning "^3.0.0" +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hoek@4.x.x: version "4.2.0" resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" @@ -2592,6 +2820,10 @@ iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +idb-wrapper@^1.5.0: + version "1.7.2" + resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2" + ignore@^3.3.3: version "3.3.7" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" @@ -2614,6 +2846,10 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" +indexof@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2621,7 +2857,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2766,6 +3002,10 @@ is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" +is-object@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -2862,6 +3102,10 @@ is-windows@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" +is@~0.2.6: + version "0.2.7" + resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -2870,6 +3114,10 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +isbuffer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3112,6 +3360,82 @@ lerna@^2.7.1: write-pkg "^3.1.0" yargs "^8.0.2" +level-blobs@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf" + dependencies: + level-peek "1.0.6" + once "^1.3.0" + readable-stream "^1.0.26-4" + +level-filesystem@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3" + dependencies: + concat-stream "^1.4.4" + errno "^0.1.1" + fwd-stream "^1.0.4" + level-blobs "^0.1.7" + level-peek "^1.0.6" + level-sublevel "^5.2.0" + octal "^1.0.0" + once "^1.3.0" + xtend "^2.2.0" + +level-fix-range@2.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548" + dependencies: + clone "~0.1.9" + +level-fix-range@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828" + +"level-hooks@>=4.4.0 <5": + version "4.5.0" + resolved "https://registry.yarnpkg.com/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93" + dependencies: + string-range "~1.2" + +level-js@^2.1.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697" + dependencies: + abstract-leveldown "~0.12.0" + idb-wrapper "^1.5.0" + isbuffer "~0.0.0" + ltgt "^2.1.2" + typedarray-to-buffer "~1.0.0" + xtend "~2.1.2" + +level-peek@1.0.6, level-peek@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f" + dependencies: + level-fix-range "~1.0.2" + +level-sublevel@^5.2.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a" + dependencies: + level-fix-range "2.0" + level-hooks ">=4.4.0 <5" + string-range "~1.2.1" + xtend "~2.0.4" + +levelup@^0.18.2: + version "0.18.6" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb" + dependencies: + bl "~0.8.1" + deferred-leveldown "~0.2.0" + errno "~0.1.1" + prr "~0.0.0" + readable-stream "~1.0.26" + semver "~2.3.1" + xtend "~3.0.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3215,6 +3539,16 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +ltgt@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.0.tgz#b65ba5fcb349a29924c8e333f7c6a5562f2e4842" + +magic-string@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a" + dependencies: + vlq "^0.2.1" + magic-string@^0.22.4: version "0.22.4" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.4.tgz#31039b4e40366395618c1d6cf8193c53917475ff" @@ -3246,6 +3580,13 @@ matcha@^0.7.0: electron "0.4.x" v8-argv "0.1.x" +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -3291,6 +3632,13 @@ micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + 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" @@ -3323,6 +3671,14 @@ mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" +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@0.3: version "0.3.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" @@ -3494,6 +3850,18 @@ object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" +object-keys@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67" + dependencies: + foreach "~2.0.1" + indexof "~0.0.1" + is "~0.2.6" + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -3501,6 +3869,10 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +octal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -3580,6 +3952,16 @@ package-json@^4.0.1: registry-url "^3.0.3" semver "^5.1.0" +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-github-repo-url@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" @@ -3674,6 +4056,16 @@ pause-stream@0.0.11: dependencies: through "~2.3" +pbkdf2@^3.0.3: + version "3.0.14" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -3751,6 +4143,10 @@ private@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" +process-es6@^0.11.2, process-es6@^0.11.3: + version "0.11.6" + resolved "https://registry.yarnpkg.com/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778" + 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" @@ -3786,6 +4182,14 @@ prop-types@^15.6.0: loose-envify "^1.3.1" object-assign "^4.1.1" +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + ps-tree@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" @@ -3796,6 +4200,16 @@ pseudomap@^1.0.2: 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.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -3848,6 +4262,19 @@ randomatic@^1.1.3: is-number "^2.0.2" kind-of "^3.0.2" +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + rc@^1.0.1, rc@^1.1.6: version "1.2.3" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.3.tgz#51575a900f8dd68381c710b4712c2154c3e2035b" @@ -3988,6 +4415,15 @@ read-yaml@^1.0.0: extend-shallow "^2.0.1" js-yaml "^3.8.2" +readable-stream@^1.0.26-4: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" @@ -4000,7 +4436,7 @@ readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@~1.0.2: +readable-stream@~1.0.2, readable-stream@~1.0.26, readable-stream@~1.0.26-4: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -4195,6 +4631,13 @@ rimraf@^2.6.1: dependencies: glob "^7.0.5" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" + rollup-plugin-alias@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.4.0.tgz#120cba7c46621c03138f0ca6fd5dd2ade9872db9" @@ -4223,6 +4666,26 @@ rollup-plugin-json@^2.3.0: dependencies: rollup-pluginutils "^2.0.1" +rollup-plugin-node-builtins@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9" + dependencies: + browserify-fs "^1.0.0" + buffer-es6 "^4.9.2" + crypto-browserify "^3.11.0" + process-es6 "^0.11.2" + +rollup-plugin-node-globals@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.1.0.tgz#7efd8d611d132737829e804e9f51f50962af451f" + dependencies: + acorn "^4.0.1" + buffer-es6 "^4.9.1" + estree-walker "^0.2.1" + magic-string "^0.16.0" + process-es6 "^0.11.3" + rollup-pluginutils "^1.5.2" + rollup-plugin-node-resolve@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.2.tgz#38babc12fd404cc2ba1ff68648fe43fa3ffee6b0" @@ -4252,7 +4715,7 @@ rollup-plugin-uglify@^3.0.0: dependencies: uglify-es "^3.3.7" -rollup-pluginutils@^1.5.0: +rollup-pluginutils@^1.5.0, rollup-pluginutils@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" dependencies: @@ -4286,7 +4749,7 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -4310,6 +4773,10 @@ semver@^5.3.0: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" +semver@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-2.3.2.tgz#b9848f25d6cf36333073ec9ef8856d42f1233e52" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -4318,6 +4785,13 @@ setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.10" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.10.tgz#b1fde5cd7d11a5626638a07c604ab909cfa31f9b" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -4490,6 +4964,10 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" +string-range@~1.2, string-range@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd" + string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -4788,6 +5266,10 @@ type-of@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" +typedarray-to-buffer@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -5020,6 +5502,27 @@ xml-name-validator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" +xtend@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" + +xtend@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee" + dependencies: + is-object "~0.1.2" + object-keys "~0.2.0" + +xtend@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + dependencies: + object-keys "~0.4.0" + +xtend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" + xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"