Initial commit
Brian Vaughn committed
Jan 22, 2019 at 11:04 UTC
5e0dfdac54e509a97483af1f78af09451c03bfbb
43 files changed
+12581
.babelrc
new
+7
@@ -0,0 +1,7 @@
1
+{
2
+ "plugins": [
3
+ ["@babel/plugin-transform-flow-strip-types"],
4
+ ["@babel/plugin-proposal-class-properties", { "loose": false }]
5
+ ],
6
+ "presets": ["@babel/preset-env", "@babel/preset-react", "@babel/preset-flow"]
7
+}
.flowconfig
new
+31
@@ -0,0 +1,31 @@
1
+[ignore]
2
+.*/react/node_modules/.*
3
+.*/electron/node_modules/.*
4
+.*node_modules/archiver-utils
5
+.*node_modules/babel.*
6
+.*node_modules/browserify-zlib/.*
7
+.*node_modules/classnames.*
8
+.*node_modules/gh-pages/.*
9
+.*node_modules/invariant/.*
10
+.*node_modules/json-loader.*
11
+.*node_modules/json5.*
12
+.*node_modules/node-libs-browser.*
13
+.*node_modules/webpack.*
14
+.*node_modules/fbjs/flow.*
15
+.*node_modules/web-ext.*
16
+
17
+[include]
18
+
19
+[libs]
20
+./flow.js
21
+
22
+[lints]
23
+
24
+[options]
25
+esproposal.class_instance_fields=enable
26
+suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe
27
+suppress_comment=\\(.\\|\n\\)*\\$FlowIssue
28
+suppress_comment=\\(.\\|\n\\)*\\$FlowIgnore
29
+module.name_mapper='^src' ->'<PROJECT_ROOT>/src'
30
+
31
+[strict]
.gitignore
new
+9
@@ -0,0 +1,9 @@
1
+/shells/chrome.crx
2
+/shells/chrome.pem
3
+/shells/firefox/*.xpi
4
+build
5
+node_modules
6
+npm-debug.log
7
+yarn-error.log
8
+.DS_Store
9
+yarn-error.log
README.md
flow.js
new
+11
@@ -0,0 +1,11 @@
1
+// @flow
2
+
3
+declare module 'events' {
4
+ declare class EventEmitter {
5
+ addListener: (type: string, fn: Function) => void;
6
+ emit: (type: string, data: any) => void;
7
+ removeListener: (type: string, fn: Function) => void;
8
+ }
9
+
10
+ declare export default typeof EventEmitter;
11
+}
package.json
new
+80
@@ -0,0 +1,80 @@
1
+{
2
+ "dependencies": {
3
+ "@babel/core": "^7.1.6",
4
+ "@babel/plugin-proposal-class-properties": "^7.1.0",
5
+ "@babel/plugin-transform-flow-strip-types": "^7.1.6",
6
+ "@babel/preset-env": "^7.1.6",
7
+ "@babel/preset-flow": "^7.0.0",
8
+ "@babel/preset-react": "^7.0.0",
9
+ "adm-zip": "^0.4.7",
10
+ "babel-core": "^7.0.0-bridge",
11
+ "babel-eslint": "6",
12
+ "babel-jest": "^23.6.0",
13
+ "babel-loader": "^8.0.4",
14
+ "child-process-promise": "^2.2.1",
15
+ "classnames": "2.2.1",
16
+ "cli-spinners": "^1.0.0",
17
+ "clipboard-js": "^0.3.3",
18
+ "css-loader": "^1.0.1",
19
+ "error-stack-parser": "^2.0.2",
20
+ "es6-symbol": "3.0.2",
21
+ "eslint": "2.10.2",
22
+ "eslint-plugin-react": "5.1.1",
23
+ "events": "^3.0.0",
24
+ "fbjs": "0.5.1",
25
+ "fbjs-scripts": "0.7.0",
26
+ "flow-bin": "^0.91.0",
27
+ "fs-extra": "^3.0.1",
28
+ "gh-pages": "^1.0.0",
29
+ "immutable": "3.7.6",
30
+ "jest": "22.1.4",
31
+ "log-update": "^2.0.0",
32
+ "lru-cache": "^4.1.3",
33
+ "memoize-one": "^3.1.1",
34
+ "node-libs-browser": "0.5.3",
35
+ "nullthrows": "^1.0.0",
36
+ "object-assign": "4.0.1",
37
+ "prop-types": "^15.6.1",
38
+ "react": "^16.8.0-alpha.1",
39
+ "react-color": "^2.11.7",
40
+ "react-dom": "^16.8.0-alpha.1",
41
+ "react-portal": "^3.1.0",
42
+ "react-virtualized-auto-sizer": "^1.0.2",
43
+ "react-window": "^1.1.1",
44
+ "semver": "^5.5.1",
45
+ "style-loader": "^0.23.1",
46
+ "webpack": "^4.26.0",
47
+ "webpack-cli": "^3.1.2"
48
+ },
49
+ "license": "BSD-3-Clause",
50
+ "repository": "facebook/react-devtools",
51
+ "private": true,
52
+ "workspaces": [
53
+ "packages/*"
54
+ ],
55
+ "scripts": {
56
+ "build:extension": "yarn run build:extension:chrome && yarn run build:extension:firefox",
57
+ "build:extension:chrome": "node ./shells/chrome/build",
58
+ "build:extension:firefox": "node ./shells/firefox/build",
59
+ "build:standalone": "cd packages/react-devtools-core && yarn run build",
60
+ "deploy": "cd ./shells/theme-preview && ./build.sh && gh-pages -d .",
61
+ "lint": "eslint .",
62
+ "start": "cd ./shells/dev && open ./index.html && webpack --config webpack.config.js --watch",
63
+ "test": "jest",
64
+ "test:chrome": "node ./shells/chrome/test",
65
+ "test:firefox": "node ./shells/firefox/test",
66
+ "test:standalone": "cd packages/react-devtools && yarn start",
67
+ "typecheck": "flow check"
68
+ },
69
+ "jest": {
70
+ "modulePathIgnorePatterns": [
71
+ "<rootDir>/shells"
72
+ ]
73
+ },
74
+ "devDependencies": {
75
+ "chrome-launch": "^1.1.4",
76
+ "firefox-profile": "^1.0.2",
77
+ "lerna": "^2.8.0",
78
+ "web-ext": "^1.10.1"
79
+ }
80
+}
shells/browser/chrome/manifest.json
new
+6
@@ -0,0 +1,6 @@
1
+{
2
+ "name": "React v16 DevTools",
3
+ "version": "0.1",
4
+ "description": "DevTools for React version 16.0+",
5
+ "manifest_version": 2
6
+}
shells/browser/webpack.backend.js
new
+36
@@ -0,0 +1,36 @@
1
+/**
2
+ * Copyright (c) 2015-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ */
10
+'use strict';
11
+
12
+const {readFileSync} = require('fs');
13
+const {resolve} = require('path');
14
+
15
+const __DEV__ = process.env.NODE_ENV !== 'production';
16
+
17
+module.exports = {
18
+ mode: __DEV__ ? 'development' : 'production',
19
+ devtool: __DEV__ ? 'cheap-module-eval-source-map' : false,
20
+ entry: {
21
+ backend: './src/backend.js',
22
+ },
23
+ output: {
24
+ path: __dirname + '/build',
25
+ filename: '[name].js',
26
+ },
27
+ module: {
28
+ rules: [
29
+ {
30
+ test: /\.js$/,
31
+ loader: 'babel-loader',
32
+ options: JSON.parse(readFileSync(resolve(__dirname, '../../.babelrc'))),
33
+ },
34
+ ],
35
+ },
36
+};
shells/browser/webpack.config.js
new
+63
@@ -0,0 +1,63 @@
1
+/**
2
+ * Copyright (c) 2015-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ */
10
+'use strict';
11
+
12
+const {readFileSync} = require('fs');
13
+const {resolve} = require('path');
14
+const webpack = require('webpack');
15
+
16
+const __DEV__ = process.env.NODE_ENV !== 'production';
17
+
18
+module.exports = {
19
+ mode: __DEV__ ? 'development' : 'production',
20
+ devtool: __DEV__ ? 'cheap-module-eval-source-map' : false,
21
+ entry: {
22
+ background: './src/background.js',
23
+ contentScript: './src/contentScript.js',
24
+ inject: './src/GlobalHook.js',
25
+ main: './src/main.js',
26
+ panel: './src/panel.js',
27
+ },
28
+ output: {
29
+ path: __dirname + '/build',
30
+ filename: '[name].js',
31
+ },
32
+ plugins: __DEV__ ? [] : [
33
+ // Ensure we get production React
34
+ new webpack.DefinePlugin({
35
+ 'process.env.NODE_ENV': '"production"',
36
+ }),
37
+ ],
38
+ module: {
39
+ rules: [
40
+ {
41
+ test: /\.js$/,
42
+ loader: 'babel-loader',
43
+ options: JSON.parse(readFileSync(resolve(__dirname, '../../.babelrc'))),
44
+ },
45
+ {
46
+ test: /\.css$/,
47
+ use: [
48
+ {
49
+ loader: 'style-loader',
50
+ },
51
+ {
52
+ loader: 'css-loader',
53
+ options: {
54
+ sourceMap: true,
55
+ modules: true,
56
+ localIdentName: '[local]___[hash:base64:5]',
57
+ },
58
+ },
59
+ ],
60
+ },
61
+ ],
62
+ },
63
+};
shells/createConfig.js
new
+150
@@ -0,0 +1,150 @@
1
+const path = require('path')
2
+const webpack = require('webpack')
3
+const merge = require('webpack-merge')
4
+const { VueLoaderPlugin } = require('vue-loader')
5
+const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
6
+
7
+module.exports = (config, target = { chrome: 52, firefox: 48 }) => {
8
+ const bubleOptions = {
9
+ target,
10
+ objectAssign: 'Object.assign',
11
+ transforms: {
12
+ forOf: false,
13
+ modules: false
14
+ }
15
+ }
16
+
17
+ const baseConfig = {
18
+ mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
19
+ resolve: {
20
+ alias: {
21
+ src: path.resolve(__dirname, '../src'),
22
+ views: path.resolve(__dirname, '../src/devtools/views'),
23
+ components: path.resolve(__dirname, '../src/devtools/components'),
24
+ filters: path.resolve(__dirname, '../src/devtools/filters')
25
+ }
26
+ },
27
+ module: {
28
+ rules: [
29
+ {
30
+ test: /\.js$/,
31
+ loader: 'buble-loader',
32
+ exclude: /node_modules|vue\/dist|vuex\/dist/,
33
+ options: bubleOptions
34
+ },
35
+ {
36
+ test: /\.vue$/,
37
+ loader: 'vue-loader',
38
+ options: {
39
+ compilerOptions: {
40
+ preserveWhitespace: false
41
+ },
42
+ transpileOptions: bubleOptions
43
+ }
44
+ },
45
+ {
46
+ test: /\.css$/,
47
+ use: [
48
+ 'vue-style-loader',
49
+ 'css-loader',
50
+ 'postcss-loader'
51
+ ]
52
+ },
53
+ {
54
+ test: /\.styl(us)?$/,
55
+ use: [
56
+ 'vue-style-loader',
57
+ 'css-loader',
58
+ 'postcss-loader',
59
+ 'stylus-loader',
60
+ {
61
+ loader: 'style-resources-loader',
62
+ options: {
63
+ patterns: [
64
+ path.resolve(__dirname, '../src/devtools/style/imports.styl')
65
+ ]
66
+ }
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ test: /\.(png|woff2)$/,
72
+ loader: 'url-loader?limit=0'
73
+ }
74
+ ]
75
+ },
76
+ performance: {
77
+ hints: false
78
+ },
79
+ plugins: [
80
+ new VueLoaderPlugin(),
81
+ ...(process.env.VUE_DEVTOOL_TEST ? [] : [new FriendlyErrorsPlugin()]),
82
+ new webpack.DefinePlugin({
83
+ 'process.env.RELEASE_CHANNEL': JSON.stringify(process.env.RELEASE_CHANNEL || 'stable')
84
+ })
85
+ ],
86
+ devServer: {
87
+ port: process.env.PORT
88
+ },
89
+ stats: {
90
+ colors: true
91
+ }
92
+ }
93
+
94
+ if (process.env.NODE_ENV === 'production') {
95
+ const UglifyPlugin = require('uglifyjs-webpack-plugin')
96
+ baseConfig.plugins.push(
97
+ new webpack.DefinePlugin({
98
+ 'process.env.NODE_ENV': '"production"'
99
+ })
100
+ )
101
+ baseConfig.optimization = {
102
+ minimizer: [
103
+ new UglifyPlugin({
104
+ exclude: /backend/,
105
+ uglifyOptions: {
106
+ compress: {
107
+ // turn off flags with small gains to speed up minification
108
+ arrows: false,
109
+ collapse_vars: false, // 0.3kb
110
+ comparisons: false,
111
+ computed_props: false,
112
+ hoist_funs: false,
113
+ hoist_props: false,
114
+ hoist_vars: false,
115
+ inline: false,
116
+ loops: false,
117
+ negate_iife: false,
118
+ properties: false,
119
+ reduce_funcs: false,
120
+ reduce_vars: false,
121
+ switches: false,
122
+ toplevel: false,
123
+ typeofs: false,
124
+
125
+ // a few flags with noticable gains/speed ratio
126
+ // numbers based on out of the box vendor bundle
127
+ booleans: true, // 0.7kb
128
+ if_return: true, // 0.4kb
129
+ sequences: true, // 0.7kb
130
+ unused: true, // 2.3kb
131
+
132
+ // required features to drop conditional branches
133
+ conditionals: true,
134
+ dead_code: true,
135
+ evaluate: true
136
+ },
137
+ mangle: {
138
+ safari10: true
139
+ }
140
+ },
141
+ sourceMap: false,
142
+ cache: true,
143
+ parallel: true
144
+ })
145
+ ]
146
+ }
147
+ }
148
+
149
+ return merge(baseConfig, config)
150
+}
\ No newline at end of file
shells/dev/app/App.css
new
+6
@@ -0,0 +1,6 @@
1
+.App {
2
+ /* GitHub.com frontend fonts */
3
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
4
+ font-size: 14px;
5
+ line-height: 1.5;
6
+}
\ No newline at end of file
shells/dev/app/ElementTypes/index.js
new
+54
@@ -0,0 +1,54 @@
1
+// @flow
2
+
3
+import React, {
4
+ createContext,
5
+ forwardRef,
6
+ lazy,
7
+ memo,
8
+ Component,
9
+ ConcurrentMode,
10
+ Fragment,
11
+ Profiler,
12
+ StrictMode,
13
+ Suspense,
14
+} from 'react';
15
+
16
+class ClassComponent extends Component {
17
+ render() {
18
+ return null;
19
+ }
20
+}
21
+
22
+function FunctionComponent() {
23
+ return null;
24
+}
25
+
26
+const MemoFunctionComponent = memo(FunctionComponent);
27
+
28
+const ForwardRefComponent = forwardRef((props, ref) => (
29
+ <ClassComponent ref={ref} {...props} />
30
+));
31
+
32
+const LazyComponent = lazy(() => Promise.resolve({
33
+ default: FunctionComponent,
34
+}));
35
+
36
+export default function ElementTypes() {
37
+ return (
38
+ <Profiler id="test" onRender={() => {}}>
39
+ <Fragment>
40
+ <StrictMode>
41
+ <ConcurrentMode>
42
+ <Suspense fallback={<div>Loading...</div>}>
43
+ <ClassComponent />
44
+ <FunctionComponent />
45
+ <MemoFunctionComponent />
46
+ <ForwardRefComponent />
47
+ <LazyComponent />
48
+ </Suspense>
49
+ </ConcurrentMode>
50
+ </StrictMode>
51
+ </Fragment>
52
+ </Profiler>
53
+ )
54
+}
\ No newline at end of file
shells/dev/app/ToDoList/List.css
new
+22
@@ -0,0 +1,22 @@
1
+.Header {
2
+ font-size: 1.5rem;
3
+ font-weight: bold;
4
+ margin-bottom: 0.5rem;
5
+}
6
+
7
+.Input {
8
+ font-size: 1rem;
9
+ padding: 0.25rem;
10
+}
11
+
12
+.IconButton {
13
+ padding: 0.25rem;
14
+ border: none;
15
+ background: none;
16
+ cursor: pointer;
17
+}
18
+
19
+.List {
20
+ margin: 0.5rem 0 0;
21
+ padding: 0;
22
+}
shells/dev/app/ToDoList/List.js
new
+94
@@ -0,0 +1,94 @@
1
+// @flow
2
+
3
+import React, { Fragment, useCallback, useState } from 'react';
4
+import ListItem from './ListItem';
5
+import styles from './List.css';
6
+
7
+export type Item = {|
8
+ id: number,
9
+ isComplete: boolean,
10
+ text: string,
11
+|};
12
+
13
+type Props = {||};
14
+
15
+export default function List({}: Props) {
16
+ const [newItemText, setNewItemText] = useState<string>('');
17
+ const [items, setItems] = useState<Array<Item>>([
18
+ {id: 1, isComplete: true, text: "First"},
19
+ {id: 2, isComplete: true, text: "Second"},
20
+ {id: 3, isComplete: false, text: "Third"},
21
+ ]);
22
+ const [uid, setUID] = useState<number>(4);
23
+
24
+ const handleClick = useCallback(() => {
25
+ if (newItemText !== '') {
26
+ setItems([...items, {
27
+ id: uid,
28
+ isComplete: false,
29
+ text: newItemText,
30
+ }]);
31
+ setUID(uid + 1);
32
+ setNewItemText('');
33
+ }
34
+ }, [newItemText]);
35
+
36
+ const handleKeyPress = useCallback(event => {
37
+ if (event.key === 'Enter') {
38
+ handleClick();
39
+ }
40
+ }, [handleClick]);
41
+
42
+ const handleChange = useCallback(event => {
43
+ setNewItemText(event.currentTarget.value);
44
+ }, [setNewItemText]);
45
+
46
+ const removeItem = useCallback(itemToRemove => {
47
+ setItems(
48
+ items.filter(item => item !== itemToRemove)
49
+ );
50
+ }, [items]);
51
+
52
+ const toggleItem = useCallback(itemToToggle => {
53
+ const index = items.indexOf(itemToToggle);
54
+
55
+ setItems(
56
+ items
57
+ .slice(0, index)
58
+ .concat({
59
+ ...itemToToggle,
60
+ isComplete: !itemToToggle.isComplete,
61
+ })
62
+ .concat(items.slice(index + 1))
63
+ );
64
+ }, [items]);
65
+
66
+ return (
67
+ <Fragment>
68
+ <div className={styles.Header}>List</div>
69
+ <input
70
+ type="text"
71
+ placeholder="New list item..."
72
+ className={styles.Input}
73
+ value={newItemText}
74
+ onChange={handleChange}
75
+ onKeyPress={handleKeyPress}
76
+ />
77
+ <button
78
+ className={styles.IconButton}
79
+ disabled={newItemText === ''}
80
+ onClick={handleClick}
81
+ >➕</button>
82
+ <ul className={styles.List}>
83
+ {items.map(item => (
84
+ <ListItem
85
+ key={item.id}
86
+ item={item}
87
+ removeItem={removeItem}
88
+ toggleItem={toggleItem}
89
+ />
90
+ ))}
91
+ </ul>
92
+ </Fragment>
93
+ );
94
+}
\ No newline at end of file
shells/dev/app/ToDoList/ListItem.css
new
+23
@@ -0,0 +1,23 @@
1
+.ListItem {
2
+ list-style-type: none;
3
+}
4
+
5
+.Input {
6
+ cursor: pointer;
7
+}
8
+
9
+.Label {
10
+ cursor: pointer;
11
+ padding: 0.25rem;
12
+ color: #555;
13
+}
14
+.Label:hover {
15
+ color: #000;
16
+}
17
+
18
+.IconButton {
19
+ padding: 0.25rem;
20
+ border: none;
21
+ background: none;
22
+ cursor: pointer;
23
+}
shells/dev/app/ToDoList/ListItem.js
new
+36
@@ -0,0 +1,36 @@
1
+// @flow
2
+
3
+import React, { Fragment, useCallback, useState } from 'react';
4
+import styles from './ListItem.css';
5
+
6
+import type {Item} from './List';
7
+
8
+type Props = {|
9
+ item: Item,
10
+ removeItem: (item: Item) => void,
11
+ toggleItem: (item: Item) => void,
12
+|};
13
+
14
+export default function ListItem({ item, removeItem, toggleItem }: Props) {
15
+ const handleDelete = useCallback(() => {
16
+ removeItem(item);
17
+ }, [item, removeItem]);
18
+
19
+ const handleToggle = useCallback(() => {
20
+ toggleItem(item);
21
+ }, [item, toggleItem]);
22
+
23
+ return (
24
+ <li className={styles.ListItem}>
25
+ <button className={styles.IconButton} onClick={handleDelete}>🗑</button>
26
+ <label className={styles.Label}>
27
+ <input
28
+ className={styles.Input}
29
+ checked={item.isComplete}
30
+ onChange={handleToggle}
31
+ type="checkbox"
32
+ /> {item.text}
33
+ </label>
34
+ </li>
35
+ )
36
+}
\ No newline at end of file
shells/dev/app/ToDoList/index.js
new
+5
@@ -0,0 +1,5 @@
1
+// @flow
2
+
3
+import List from './List';
4
+
5
+export default List;
\ No newline at end of file
shells/dev/app/app.js
new
+15
@@ -0,0 +1,15 @@
1
+// @flow
2
+
3
+import React from 'react';
4
+import List from './ToDoList';
5
+import ElementTypes from './ElementTypes';
6
+import styles from './App.css';
7
+
8
+export default function App() {
9
+ return (
10
+ <div className={styles.App}>
11
+ <List />
12
+ <ElementTypes />
13
+ </div>
14
+ )
15
+}
\ No newline at end of file
shells/dev/app/index.js
new
+11
@@ -0,0 +1,11 @@
1
+/** @flow */
2
+
3
+import { createElement } from 'react';
4
+import { render } from 'react-dom';
5
+import App from './App';
6
+
7
+const container = document.createElement('div');
8
+
9
+render(createElement(App), container);
10
+
11
+((document.body: any): HTMLBodyElement).appendChild(container);
\ No newline at end of file
shells/dev/index.html
new
+44
@@ -0,0 +1,44 @@
1
+<!doctype html>
2
+<html>
3
+ <head>
4
+ <meta charset="utf8">
5
+ <title>React DevTools</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <style>
8
+ #target {
9
+ flex: 1;
10
+ border: none;
11
+ border-bottom: 1px solid #ccc;
12
+ }
13
+ #devtools {
14
+ display: flex;
15
+ height: 400px;
16
+ max-height: 50%;
17
+ overflow: hidden;
18
+ }
19
+ body {
20
+ display: flex;
21
+ flex-direction: column;
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ right: 0;
26
+ bottom: 0;
27
+ margin: 0;
28
+ padding: 0;
29
+ }
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <!-- React test app (shells/dev/app) is injected here -->
34
+ <!-- DevTools backend (shells/dev/src) is injected here -->
35
+ <!-- global "hook" is defined on the iframe's contentWindow -->
36
+ <iframe id="target"></iframe>
37
+
38
+ <!-- DevTools frontend UI (shells/dev/src) renders here -->
39
+ <div id="devtools"></div>
40
+
41
+ <!-- This script installs the hook, injects the backend, and renders the DevTools UI -->
42
+ <script src="build/devtools.js"></script>
43
+ </body>
44
+</html>
\ No newline at end of file
shells/dev/src/backend.js
new
+21
@@ -0,0 +1,21 @@
1
+/** @flow */
2
+
3
+import Agent from 'src/backend/agent';
4
+import Bridge from 'src/bridge'
5
+import { initBackend } from 'src/backend';
6
+
7
+const bridge = new Bridge({
8
+ listen (fn) {
9
+ window.addEventListener('message', event => {
10
+ fn(event.data);
11
+ });
12
+ },
13
+ send (data) {
14
+ window.parent.postMessage(data, '*')
15
+ }
16
+})
17
+
18
+const agent = new Agent();
19
+agent.addBridge(bridge);
20
+
21
+initBackend(window.__REACT_DEVTOOLS_GLOBAL_HOOK__, agent);
shells/dev/src/devtools.js
new
+52
@@ -0,0 +1,52 @@
1
+/** @flow */
2
+
3
+import { createElement } from 'react';
4
+import {render } from 'react-dom';
5
+import Bridge from 'src/bridge';
6
+import { installHook } from 'src/hook';
7
+import { initDevTools } from 'src/devtools';
8
+import App from 'src/devtools/views/App';
9
+
10
+const iframe = ((document.getElementById('target'): any): HTMLIFrameElement);
11
+
12
+const {contentDocument, contentWindow} = iframe;
13
+
14
+installHook(contentWindow);
15
+
16
+initDevTools({
17
+ connect(cb) {
18
+ inject('./build/backend.js', () => {
19
+ const bridge = new Bridge({
20
+ listen(fn) {
21
+ contentWindow.parent.addEventListener('message', ({ data }) => {
22
+ fn(data)
23
+ });
24
+ },
25
+ send(data) {
26
+ contentWindow.postMessage(data, '*');
27
+ }
28
+ });
29
+
30
+ cb(bridge);
31
+
32
+ render(
33
+ createElement(App, {bridge}),
34
+ ((document.getElementById('devtools'): any): HTMLElement),
35
+ );
36
+ });
37
+ },
38
+
39
+ onReload(reloadFn) {
40
+ iframe.onload = reloadFn;
41
+ }
42
+});
43
+
44
+inject('./build/app.js');
45
+
46
+function inject(sourcePath, callback) {
47
+ const script = contentDocument.createElement('script')
48
+ script.onload = callback;
49
+ script.src = sourcePath;
50
+
51
+ ((contentDocument.body: any): HTMLBodyElement).appendChild(script);
52
+}
\ No newline at end of file
shells/dev/webpack.config.js
new
+48
@@ -0,0 +1,48 @@
1
+const {readFileSync} = require('fs');
2
+const {resolve} = require('path');
3
+
4
+// TODO Share Webpack configs like alias
5
+
6
+module.exports = {
7
+ mode: 'development',
8
+ devtool: false,
9
+ entry: {
10
+ app: './app/index.js',
11
+ backend: './src/backend.js',
12
+ devtools: './src/devtools.js',
13
+ },
14
+ output: {
15
+ path: __dirname + '/build',
16
+ filename: '[name].js',
17
+ },
18
+ resolve: {
19
+ alias: {
20
+ src: resolve(__dirname, '../../src'),
21
+ },
22
+ },
23
+ module: {
24
+ rules: [
25
+ {
26
+ test: /\.js$/,
27
+ loader: 'babel-loader',
28
+ options: JSON.parse(readFileSync(resolve(__dirname, '../../.babelrc'))),
29
+ },
30
+ {
31
+ test: /\.css$/,
32
+ use: [
33
+ {
34
+ loader: 'style-loader',
35
+ },
36
+ {
37
+ loader: 'css-loader',
38
+ options: {
39
+ sourceMap: true,
40
+ modules: true,
41
+ localIdentName: '[local]___[hash:base64:5]',
42
+ },
43
+ },
44
+ ],
45
+ },
46
+ ],
47
+ },
48
+};
src/backend/agent.js
new
+159
@@ -0,0 +1,159 @@
1
+// @flow
2
+
3
+import nullthrows from 'nullthrows';
4
+import EventEmitter from 'events';
5
+import {guid} from './utils';
6
+import {ElementTypeOtherOrUnknown} from 'src/devtools/types';
7
+
8
+import type {Fiber, RendererData, RendererID, RendererInterface} from './types';
9
+import type {Bridge} from '../types';
10
+import type {Element} from 'src/devtools/types';
11
+
12
+export default class Agent extends EventEmitter {
13
+ fiberToID: WeakMap<Fiber, string> = new WeakMap();
14
+ idToElement: Map<string, Element> = new Map();
15
+ idToFiber: Map<string, Fiber> = new Map();
16
+ idToRendererData: Map<string, RendererData> = new Map();
17
+ idToRendererID: Map<string, RendererID> = new Map();
18
+ rendererInterfaces: {[key: RendererID]: RendererInterface} = {};
19
+ roots: Set<RendererID> = new Set();
20
+
21
+ addBridge(bridge: Bridge) {
22
+ // TODO Listen to bridge for things like selection.
23
+ // bridge.on('...'), this...);
24
+
25
+ this.addListener('root', id => bridge.send('root', id));
26
+ this.addListener('mount', data => bridge.send('mount', data));
27
+ this.addListener('update', data => bridge.send('update', data));
28
+ this.addListener('unmount', data => bridge.send('unmount', data));
29
+ // TODO Add other methods for e.g. profiling.
30
+ }
31
+
32
+ setRendererInterface(rendererID: RendererID, rendererInterface: RendererInterface) {
33
+ this.rendererInterfaces[rendererID] = rendererInterface;
34
+ }
35
+
36
+ _getId(fiber: Fiber): string {
37
+ if (typeof fiber !== 'object' || !fiber) {
38
+ return fiber;
39
+ }
40
+ if (!this.fiberToID.has(fiber)) {
41
+ this.fiberToID.set(fiber, guid());
42
+ this.idToFiber.set(
43
+ nullthrows(this.fiberToID.get(fiber)),
44
+ fiber
45
+ );
46
+ }
47
+ return nullthrows(this.fiberToID.get(fiber));
48
+ }
49
+
50
+ _crawl(parent: Element, id: string): void {
51
+ const data: RendererData = ((this.idToRendererData.get(id): any): RendererData);
52
+ if (data.type === ElementTypeOtherOrUnknown) {
53
+ data.children.forEach(childFiber => {
54
+ if (childFiber !== null) {
55
+ this._crawl(parent, this._getId(childFiber))
56
+ }
57
+ });
58
+ } else {
59
+ parent.children.push(id);
60
+
61
+ this._createOrUpdateElement(id, data);
62
+ }
63
+ }
64
+
65
+ _createOrUpdateElement(id: string, data: RendererData): void {
66
+ const prevElement: ?Element = this.idToElement.get(id);
67
+ const nextElement: Element = {
68
+ id,
69
+ key: data.key,
70
+ displayName: data.displayName,
71
+ children: [],
72
+ type: data.type,
73
+ };
74
+
75
+ this.idToElement.set(id, nextElement);
76
+
77
+ data.children.forEach(childFiber => {
78
+ if (childFiber !== null) {
79
+ this._crawl(nextElement, this._getId(childFiber))
80
+ }
81
+ });
82
+
83
+ if (prevElement == null) {
84
+console.log('%cAgent%c emit("mount")', 'color: blue; font-weight: bold;', 'font-weight: bold;', id, nextElement)
85
+ this.emit('mount', nextElement);
86
+ } else if (!areElementsEqual(prevElement, nextElement)) {
87
+console.log('%cAgent%c emit("update")', 'color: blue; font-weight: bold;', 'font-weight: bold;', id, nextElement)
88
+ this.emit('update', nextElement);
89
+ }
90
+ }
91
+
92
+ onHookMount = ({data, fiber, renderer}: {data: RendererData, fiber: Fiber, renderer: RendererID}) => {
93
+ const id = this._getId(fiber);
94
+
95
+ this.idToRendererData.set(id, data);
96
+ this.idToRendererID.set(id, renderer);
97
+ };
98
+
99
+ onHookRootCommitted = ({data, fiber, renderer}: {data: RendererData, fiber: Fiber, renderer: RendererID}) => {
100
+ const id = this._getId(fiber);
101
+console.log('%cAgent%c onHookRootCommitted()', 'color: blue; font-weight: bold;', 'font-weight: bold;', id);
102
+
103
+ this._createOrUpdateElement(id, data);
104
+
105
+ if (!this.roots.has(id)) {
106
+ this.roots.add(id);
107
+
108
+ this.emit('root', id);
109
+ }
110
+ };
111
+
112
+ onHookUnmount = ({fiber}: {fiber: Fiber}) => {
113
+ const id = this._getId(fiber);
114
+
115
+ if (this.roots.has(id)) {
116
+ this.roots.delete(id);
117
+ this.emit('rootUnmounted', id);
118
+ }
119
+
120
+ if (this.idToElement.has(id)) {
121
+ this.idToElement.delete(id);
122
+console.log('%cAgent%c emit("unmount")', 'color: blue; font-weight: bold;', 'font-weight: bold;', id)
123
+ this.emit('unmount', id);
124
+ }
125
+
126
+ this.fiberToID.delete(fiber);
127
+ this.idToRendererData.delete(id);
128
+ this.idToRendererID.delete(id);
129
+ };
130
+
131
+ onHookUpdate = ({data, fiber}: {data: RendererData, fiber: Fiber}) => {
132
+ const id = this._getId(fiber);
133
+
134
+ this.idToRendererData.set(id, data);
135
+ };
136
+}
137
+
138
+function areElementsEqual(prevElement: ?Element, nextElement: ?Element): boolean {
139
+ if (!prevElement || !nextElement) {
140
+ return false;
141
+ }
142
+
143
+ if (
144
+ prevElement.key !== nextElement.key ||
145
+ prevElement.displayName !== nextElement.displayName ||
146
+ prevElement.children.length !== nextElement.children.length ||
147
+ prevElement.type !== nextElement.type
148
+ ) {
149
+ return false;
150
+ }
151
+
152
+ for (let i = 0; i < prevElement.children.length; i++) {
153
+ if (prevElement.children[i] !== nextElement.children[i]) {
154
+ return false;
155
+ }
156
+ }
157
+
158
+ return true;
159
+}
src/backend/index.js
new
+51
@@ -0,0 +1,51 @@
1
+// @flow
2
+
3
+import type {Hook} from './types';
4
+import type {Bridge} from '../types';
5
+import Agent from './agent';
6
+
7
+import { attach } from './renderer';
8
+
9
+export function initBackend(hook: Hook, agent: Agent): void {
10
+ const subs = [
11
+ hook.sub('renderer-attached', ({id, renderer, rendererInterface}) => {
12
+ agent.setRendererInterface(id, rendererInterface);
13
+ rendererInterface.walkTree();
14
+ }),
15
+
16
+ hook.sub('rootCommitted', agent.onHookRootCommitted),
17
+ hook.sub('mount', agent.onHookMount),
18
+ hook.sub('update', agent.onHookUpdate),
19
+ hook.sub('unmount', agent.onHookUnmount),
20
+
21
+ // TODO Add additional subscriptions required for profiling mode
22
+ ];
23
+
24
+ const attachRenderer = (id, renderer) => {
25
+ const rendererInterface = attach(hook, id, renderer);
26
+ hook.rendererInterfaces[id] = rendererInterface;
27
+ hook.emit('renderer-attached', {
28
+ id,
29
+ renderer,
30
+ rendererInterface
31
+ });
32
+ };
33
+
34
+ // Connect renderers that have already injected themselves.
35
+ for (let id in hook.renderers) {
36
+ const renderer = hook.renderers[id];
37
+ attachRenderer(id, renderer);
38
+ }
39
+
40
+ // Connect any new renderers that injected themselves.
41
+ hook.on('renderer', ({id, renderer}) => {
42
+ attachRenderer(id, renderer);
43
+ });
44
+
45
+ hook.emit('react-devtools', agent);
46
+ hook.reactDevtoolsAgent = agent;
47
+ agent.addListener('shutdown', () => {
48
+ subs.forEach(fn => fn());
49
+ hook.reactDevtoolsAgent = null;
50
+ });
51
+};
src/backend/renderer.js
new
+718
@@ -0,0 +1,718 @@
1
+// @flow
2
+
3
+import {gte} from 'semver';
4
+import {
5
+ ElementTypeClassOrFunction,
6
+ ElementTypeContext,
7
+ ElementTypeForwardRef,
8
+ ElementTypeMemo,
9
+ ElementTypeOtherOrUnknown,
10
+ ElementTypeProfiler,
11
+ ElementTypeSuspense,
12
+} from 'src/devtools/types';
13
+import { getDisplayName } from './utils';
14
+
15
+import type {Fiber, Hook, ReactRenderer, RendererData, RendererInterface} from './types';
16
+
17
+// TODO: If we're profiling, process update
18
+// TODO: Throttle process update to app tree
19
+
20
+// Taken from ReactElement.
21
+function resolveDefaultProps(Component: any, baseProps: Object): Object {
22
+ if (Component && Component.defaultProps) {
23
+ // Resolve default props. Taken from ReactElement
24
+ const props = Object.assign({}, baseProps);
25
+ const defaultProps = Component.defaultProps;
26
+ for (const propName in defaultProps) {
27
+ if (props[propName] === undefined) {
28
+ props[propName] = defaultProps[propName];
29
+ }
30
+ }
31
+ return props;
32
+ }
33
+ return baseProps;
34
+}
35
+
36
+function getInternalReactConstants(version) {
37
+ const ReactSymbols = {
38
+ CONCURRENT_MODE_NUMBER: 0xeacf,
39
+ CONCURRENT_MODE_SYMBOL_STRING: 'Symbol(react.concurrent_mode)',
40
+ DEPRECATED_ASYNC_MODE_SYMBOL_STRING: 'Symbol(react.async_mode)',
41
+ CONTEXT_CONSUMER_NUMBER: 0xeace,
42
+ CONTEXT_CONSUMER_SYMBOL_STRING: 'Symbol(react.context)',
43
+ CONTEXT_PROVIDER_NUMBER: 0xeacd,
44
+ CONTEXT_PROVIDER_SYMBOL_STRING: 'Symbol(react.provider)',
45
+ FORWARD_REF_NUMBER: 0xead0,
46
+ FORWARD_REF_SYMBOL_STRING: 'Symbol(react.forward_ref)',
47
+ MEMO_NUMBER: 0xead3,
48
+ MEMO_SYMBOL_STRING: 'Symbol(react.memo)',
49
+ PROFILER_NUMBER: 0xead2,
50
+ PROFILER_SYMBOL_STRING: 'Symbol(react.profiler)',
51
+ STRICT_MODE_NUMBER: 0xeacc,
52
+ STRICT_MODE_SYMBOL_STRING: 'Symbol(react.strict_mode)',
53
+ SUSPENSE_NUMBER: 0xead1,
54
+ SUSPENSE_SYMBOL_STRING: 'Symbol(react.suspense)',
55
+ DEPRECATED_PLACEHOLDER_SYMBOL_STRING: 'Symbol(react.placeholder)',
56
+ };
57
+
58
+ const ReactTypeOfSideEffect = {
59
+ PerformedWork: 1,
60
+ };
61
+
62
+ let ReactTypeOfWork;
63
+
64
+ // **********************************************************
65
+ // The section below is copied from files in React repo.
66
+ // Keep it in sync, and add version guards if it changes.
67
+ // **********************************************************
68
+ if (gte(version, '16.6.0-beta.0')) {
69
+ ReactTypeOfWork = {
70
+ ClassComponent: 1,
71
+ ContextConsumer: 9,
72
+ ContextProvider: 10,
73
+ CoroutineComponent: -1, // Removed
74
+ CoroutineHandlerPhase: -1, // Removed
75
+ ForwardRef: 11,
76
+ Fragment: 7,
77
+ FunctionComponent: 0,
78
+ HostComponent: 5,
79
+ HostPortal: 4,
80
+ HostRoot: 3,
81
+ HostText: 6,
82
+ IncompleteClassComponent: 17,
83
+ IndeterminateComponent: 2,
84
+ LazyComponent: 16,
85
+ MemoComponent: 14,
86
+ Mode: 8,
87
+ Profiler: 12,
88
+ SimpleMemoComponent: 15,
89
+ SuspenseComponent: 13,
90
+ YieldComponent: -1, // Removed
91
+ };
92
+ } else if (gte(version, '16.4.3-alpha')) {
93
+ ReactTypeOfWork = {
94
+ ClassComponent: 2,
95
+ ContextConsumer: 11,
96
+ ContextProvider: 12,
97
+ CoroutineComponent: -1, // Removed
98
+ CoroutineHandlerPhase: -1, // Removed
99
+ ForwardRef: 13,
100
+ Fragment: 9,
101
+ FunctionComponent: 0,
102
+ HostComponent: 7,
103
+ HostPortal: 6,
104
+ HostRoot: 5,
105
+ HostText: 8,
106
+ IncompleteClassComponent: -1, // Doesn't exist yet
107
+ IndeterminateComponent: 4,
108
+ LazyComponent: -1, // Doesn't exist yet
109
+ MemoComponent: -1, // Doesn't exist yet
110
+ Mode: 10,
111
+ Profiler: 15,
112
+ SimpleMemoComponent: -1, // Doesn't exist yet
113
+ SuspenseComponent: 16,
114
+ YieldComponent: -1, // Removed
115
+ };
116
+ } else {
117
+ ReactTypeOfWork = {
118
+ ClassComponent: 2,
119
+ ContextConsumer: 12,
120
+ ContextProvider: 13,
121
+ CoroutineComponent: 7,
122
+ CoroutineHandlerPhase: 8,
123
+ ForwardRef: 14,
124
+ Fragment: 10,
125
+ FunctionComponent: 1,
126
+ HostComponent: 5,
127
+ HostPortal: 4,
128
+ HostRoot: 3,
129
+ HostText: 6,
130
+ IncompleteClassComponent: -1, // Doesn't exist yet
131
+ IndeterminateComponent: 0,
132
+ LazyComponent: -1, // Doesn't exist yet
133
+ MemoComponent: -1, // Doesn't exist yet
134
+ Mode: 11,
135
+ Profiler: 15,
136
+ SimpleMemoComponent: -1, // Doesn't exist yet
137
+ SuspenseComponent: 16,
138
+ YieldComponent: 9,
139
+ };
140
+ }
141
+ // **********************************************************
142
+ // End of copied code.
143
+ // **********************************************************
144
+
145
+ return {
146
+ ReactTypeOfWork,
147
+ ReactSymbols,
148
+ ReactTypeOfSideEffect,
149
+ };
150
+}
151
+
152
+export function attach(
153
+ hook: Hook,
154
+ rendererID: string,
155
+ renderer: ReactRenderer,
156
+): RendererInterface {
157
+ const {overrideProps} = renderer;
158
+ const {ReactTypeOfWork, ReactSymbols, ReactTypeOfSideEffect} = getInternalReactConstants(renderer.version);
159
+ const {PerformedWork} = ReactTypeOfSideEffect;
160
+ const {
161
+ FunctionComponent,
162
+ ClassComponent,
163
+ ContextConsumer,
164
+ Fragment,
165
+ ForwardRef,
166
+ HostRoot,
167
+ HostPortal,
168
+ HostComponent,
169
+ HostText,
170
+ IncompleteClassComponent,
171
+ IndeterminateComponent,
172
+ MemoComponent,
173
+ SimpleMemoComponent,
174
+ } = ReactTypeOfWork;
175
+ const {
176
+ CONCURRENT_MODE_NUMBER,
177
+ CONCURRENT_MODE_SYMBOL_STRING,
178
+ DEPRECATED_ASYNC_MODE_SYMBOL_STRING,
179
+ CONTEXT_CONSUMER_NUMBER,
180
+ CONTEXT_CONSUMER_SYMBOL_STRING,
181
+ CONTEXT_PROVIDER_NUMBER,
182
+ CONTEXT_PROVIDER_SYMBOL_STRING,
183
+ PROFILER_NUMBER,
184
+ PROFILER_SYMBOL_STRING,
185
+ STRICT_MODE_NUMBER,
186
+ STRICT_MODE_SYMBOL_STRING,
187
+ SUSPENSE_NUMBER,
188
+ SUSPENSE_SYMBOL_STRING,
189
+ DEPRECATED_PLACEHOLDER_SYMBOL_STRING,
190
+ } = ReactSymbols;
191
+
192
+ const primaryFibers: WeakSet<Fiber> = new WeakSet();
193
+
194
+ // TODO: we might want to change the data structure
195
+ // once we no longer suppport Stack versions of `getData`.
196
+ // TODO: Keep in sync with getElementType()
197
+ function getRendererDataFromFiber(fiber: Fiber): RendererData {
198
+ const { elementType, type, key, tag } = fiber;
199
+
200
+ // This is to support lazy components with a Promise as the type.
201
+ // see https://github.com/facebook/react/pull/13397
202
+ let resolvedType = type;
203
+ if (typeof type === 'object' && type !== null) {
204
+ if (typeof type.then === 'function') {
205
+ resolvedType = type._reactResult;
206
+ }
207
+ }
208
+
209
+ // Suspense has some special behavior when timed out that we have to handle.
210
+ // see https://github.com/facebook/react/pull/13823
211
+ let isTimedOutSuspense: boolean = false;
212
+
213
+ let rendererData: RendererData = ((null: any): RendererData);
214
+ let displayName: string = ((null: any): string);
215
+ let resolvedContext: any = null;
216
+
217
+ switch (tag) {
218
+ case ClassComponent:
219
+ case FunctionComponent:
220
+ case IncompleteClassComponent:
221
+ case IndeterminateComponent:
222
+ rendererData = {
223
+ children: [],
224
+ displayName: getDisplayName(resolvedType),
225
+ key,
226
+ type: ElementTypeClassOrFunction,
227
+ };
228
+ break;
229
+ case ForwardRef:
230
+ const functionName = getDisplayName(resolvedType.render, '');
231
+ displayName = resolvedType.displayName || (
232
+ functionName !== ''
233
+ ? `ForwardRef(${functionName})`
234
+ : 'ForwardRef'
235
+ );
236
+ rendererData = {
237
+ children: [],
238
+ displayName,
239
+ key,
240
+ type: ElementTypeForwardRef,
241
+ };
242
+ break;
243
+ case HostRoot:
244
+ case HostPortal:
245
+ case HostComponent:
246
+ case HostText:
247
+ case Fragment:
248
+ // Not displayed in Elements tree
249
+ rendererData = {
250
+ children: [],
251
+ displayName: null,
252
+ key,
253
+ type: ElementTypeOtherOrUnknown,
254
+ };
255
+ break;
256
+ case MemoComponent:
257
+ case SimpleMemoComponent:
258
+ if (elementType.displayName) {
259
+ displayName = elementType.displayName;
260
+ } else {
261
+ displayName = type.displayName || type.name;
262
+ displayName = displayName ? `Memo(${displayName})` : 'Memo';
263
+ }
264
+ rendererData = {
265
+ children: [],
266
+ displayName,
267
+ key,
268
+ type: ElementTypeMemo,
269
+ };
270
+ break;
271
+ default:
272
+ const symbolOrNumber = typeof type === 'object' && type !== null
273
+ ? type.$$typeof
274
+ : type;
275
+
276
+ // $FlowFixMe facebook/flow/issues/2362
277
+ const switchValue = typeof symbolOrNumber === 'symbol'
278
+ ? symbolOrNumber.toString()
279
+ : symbolOrNumber;
280
+
281
+ switch (switchValue) {
282
+ case CONCURRENT_MODE_NUMBER:
283
+ case CONCURRENT_MODE_SYMBOL_STRING:
284
+ case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:
285
+ // Not displayed in Elements tree
286
+ rendererData = {
287
+ children: [],
288
+ displayName: null,
289
+ key,
290
+ type: ElementTypeOtherOrUnknown,
291
+ };
292
+ break;
293
+ case CONTEXT_PROVIDER_NUMBER:
294
+ case CONTEXT_PROVIDER_SYMBOL_STRING:
295
+ // 16.3.0 exposed the context object as "context"
296
+ // PR #12501 changed it to "_context" for 16.3.1+
297
+ resolvedContext = fiber.type._context || fiber.type.context;
298
+ displayName = `${resolvedContext.displayName || 'Context'}.Provider`;
299
+
300
+ rendererData = {
301
+ children: [],
302
+ displayName,
303
+ key,
304
+ type: ElementTypeContext,
305
+ };
306
+ break;
307
+ case CONTEXT_CONSUMER_NUMBER:
308
+ case CONTEXT_CONSUMER_SYMBOL_STRING:
309
+ // 16.3-16.5 read from "type" because the Consumer is the actual context object.
310
+ // 16.6+ should read from "type._context" because Consumer can be different (in DEV).
311
+ resolvedContext = fiber.type._context || fiber.type;
312
+
313
+ // NOTE: TraceUpdatesBackendManager depends on the name ending in '.Consumer'
314
+ // If you change the name, figure out a more resilient way to detect it.
315
+ displayName = `${resolvedContext.displayName || 'Context'}.Consumer`;
316
+
317
+ rendererData = {
318
+ children: [],
319
+ displayName,
320
+ key,
321
+ type: ElementTypeContext,
322
+ };
323
+ break;
324
+ case STRICT_MODE_NUMBER:
325
+ case STRICT_MODE_SYMBOL_STRING:
326
+ rendererData = {
327
+ children: [],
328
+ displayName: null,
329
+ key,
330
+ type: ElementTypeOtherOrUnknown,
331
+ };
332
+ break;
333
+ case SUSPENSE_NUMBER:
334
+ case SUSPENSE_SYMBOL_STRING:
335
+ case DEPRECATED_PLACEHOLDER_SYMBOL_STRING:
336
+ // Suspense components only have a non-null memoizedState if they're timed-out.
337
+ isTimedOutSuspense = fiber.memoizedState !== null;
338
+
339
+ rendererData = {
340
+ children: [],
341
+ displayName: 'Suspense',
342
+ key,
343
+ type: ElementTypeSuspense,
344
+ };
345
+ break;
346
+ case PROFILER_NUMBER:
347
+ case PROFILER_SYMBOL_STRING:
348
+ rendererData = {
349
+ children: [],
350
+ displayName: `Profiler(${fiber.memoizedProps.id})`,
351
+ key,
352
+ type: ElementTypeProfiler,
353
+ };
354
+ break;
355
+ default:
356
+ // Unknown element type.
357
+ // This may mean a new element type that has not yet been added to DevTools.
358
+ rendererData = {
359
+ children: [],
360
+ displayName: null,
361
+ key,
362
+ type: ElementTypeOtherOrUnknown,
363
+ };
364
+ break;
365
+ }
366
+ break;
367
+ }
368
+
369
+ const {children} = rendererData;
370
+ if (isTimedOutSuspense) {
371
+ // The behavior of timed-out Suspense trees is unique.
372
+ // Rather than unmount the timed out content (and possibly lose important state),
373
+ // React re-parents this content within a hidden Fragment while the fallback is showing.
374
+ // This behavior doesn't need to be observable in the DevTools though.
375
+ // It might even result in a bad user experience for e.g. node selection in the Elements panel.
376
+ // The easiest fix is to strip out the intermediate Fragment fibers,
377
+ // so the Elements panel and Profiler don't need to special case them.
378
+ const primaryChildFragment = fiber.child;
379
+ const primaryChild = primaryChildFragment.child;
380
+ const fallbackChildFragment = primaryChildFragment.sibling;
381
+ const fallbackChild = fallbackChildFragment.child;
382
+ children.push(primaryChild);
383
+ children.push(fallbackChild);
384
+ } else {
385
+ let child = fiber.child;
386
+ while (child) {
387
+ children.push(getPrimaryFiber(child));
388
+ child = child.sibling;
389
+ }
390
+ }
391
+
392
+ return rendererData;
393
+ }
394
+
395
+ // This is a slightly annoying indirection.
396
+ // It is currently necessary because DevTools wants to use unique objects as keys for instances.
397
+ // However fibers have two versions.
398
+ // We use this set to remember first encountered fiber for each conceptual instance.
399
+ function getPrimaryFiber(fiber: Fiber): Fiber {
400
+ if (primaryFibers.has(fiber)) {
401
+ return fiber;
402
+ }
403
+ const {alternate} = fiber;
404
+ if (alternate != null && primaryFibers.has(alternate)) {
405
+ return alternate;
406
+ }
407
+ primaryFibers.add(fiber);
408
+ return fiber;
409
+ }
410
+
411
+ function hasDataChanged(prevFiber: Fiber, nextFiber: Fiber): boolean {
412
+ switch (nextFiber.tag) {
413
+ case ClassComponent:
414
+ case FunctionComponent:
415
+ case ContextConsumer:
416
+ case MemoComponent:
417
+ case SimpleMemoComponent:
418
+ // For types that execute user code, we check PerformedWork effect.
419
+ // We don't reflect bailouts (either referential or sCU) in DevTools.
420
+ // eslint-disable-next-line no-bitwise
421
+ return (nextFiber.effectTag & PerformedWork) === PerformedWork;
422
+ // Note: ContextConsumer only gets PerformedWork effect in 16.3.3+
423
+ // so it won't get highlighted with React 16.3.0 to 16.3.2.
424
+ default:
425
+ // For host components and other types, we compare inputs
426
+ // to determine whether something is an update.
427
+ return (
428
+ prevFiber.memoizedProps !== nextFiber.memoizedProps ||
429
+ prevFiber.memoizedState !== nextFiber.memoizedState ||
430
+ prevFiber.ref !== nextFiber.ref
431
+ );
432
+ }
433
+ }
434
+
435
+ function haveProfilerTimesChanged(prevFiber: Fiber, nextFiber: Fiber): boolean {
436
+ return (
437
+ prevFiber.actualDuration !== undefined && // Short-circuit check for non-profiling builds
438
+ (
439
+ prevFiber.actualDuration !== nextFiber.actualDuration ||
440
+ prevFiber.actualStartTime !== nextFiber.actualStartTime ||
441
+ prevFiber.treeBaseDuration !== nextFiber.treeBaseDuration
442
+ )
443
+ );
444
+ }
445
+
446
+ let pendingEvents = [];
447
+
448
+ // TODO: Do we still need to send events like this?
449
+ function flushPendingEvents() {
450
+ const events = pendingEvents;
451
+ pendingEvents = [];
452
+ for (let i = 0; i < events.length; i++) {
453
+ const event = events[i];
454
+ hook.emit(event.type, event);
455
+ }
456
+ }
457
+
458
+ function enqueueMount(fiber) {
459
+ pendingEvents.push({
460
+ fiber: getPrimaryFiber(fiber),
461
+ data: getRendererDataFromFiber(fiber),
462
+ renderer: rendererID,
463
+ type: 'mount',
464
+ });
465
+
466
+ const isRoot = fiber.tag === HostRoot;
467
+ if (isRoot) {
468
+ pendingEvents.push({
469
+ fiber: getPrimaryFiber(fiber),
470
+ renderer: rendererID,
471
+ type: 'root',
472
+ });
473
+ }
474
+ }
475
+
476
+ function enqueueUpdateIfNecessary(fiber, hasChildOrderChanged) {
477
+ const data = getRendererDataFromFiber(fiber);
478
+
479
+ if (
480
+ !hasChildOrderChanged &&
481
+ !hasDataChanged(fiber.alternate, fiber)
482
+ ) {
483
+ // If only timing information has changed, we still need to update the nodes.
484
+ // But we can do it in a faster way since we know it's safe to skip the children.
485
+ // It's also important to avoid emitting an "update" signal for the node in this case,
486
+ // Since that would indicate to the Profiler that it was part of the "commit" when it wasn't.
487
+ if (haveProfilerTimesChanged(fiber.alternate, fiber)) {
488
+ pendingEvents.push({
489
+ fiber: getPrimaryFiber(fiber),
490
+ data,
491
+ renderer: rendererID,
492
+ type: 'updateProfileTimes',
493
+ });
494
+ }
495
+ return;
496
+ }
497
+ pendingEvents.push({
498
+ fiber: getPrimaryFiber(fiber),
499
+ data,
500
+ renderer: rendererID,
501
+ type: 'update',
502
+ });
503
+ }
504
+
505
+ function enqueueUnmount(fiber) {
506
+ const isRoot = fiber.tag === HostRoot;
507
+ const primaryFiber = getPrimaryFiber(fiber);
508
+ const event = {
509
+ fiber: primaryFiber,
510
+ renderer: rendererID,
511
+ type: 'unmount',
512
+ };
513
+ if (isRoot) {
514
+ pendingEvents.push(event);
515
+ } else {
516
+ // Non-root fibers are deleted during the commit phase.
517
+ // They are deleted in the child-first order. However
518
+ // DevTools currently expects deletions to be parent-first.
519
+ // This is why we unshift deletions rather than push them.
520
+ pendingEvents.unshift(event);
521
+ }
522
+ primaryFibers.delete(primaryFiber);
523
+ }
524
+
525
+ function markRootCommitted(fiber) {
526
+ pendingEvents.push({
527
+ fiber: getPrimaryFiber(fiber),
528
+ data: getRendererDataFromFiber(fiber),
529
+ renderer: rendererID,
530
+ type: 'rootCommitted',
531
+ });
532
+ }
533
+
534
+ function mountFiber(fiber) {
535
+ // Depth-first.
536
+ // Logs mounting of children first, parents later.
537
+ let node = fiber;
538
+ outer: while (true) {
539
+ if (node.child) {
540
+ node.child.return = node;
541
+ node = node.child;
542
+ continue;
543
+ }
544
+ enqueueMount(node);
545
+ if (node == fiber) {
546
+ return;
547
+ }
548
+ if (node.sibling) {
549
+ node.sibling.return = node.return;
550
+ node = node.sibling;
551
+ continue;
552
+ }
553
+ while (node.return) {
554
+ node = node.return;
555
+ enqueueMount(node);
556
+ if (node == fiber) {
557
+ return;
558
+ }
559
+ if (node.sibling) {
560
+ node.sibling.return = node.return;
561
+ node = node.sibling;
562
+ continue outer;
563
+ }
564
+ }
565
+ return;
566
+ }
567
+ }
568
+
569
+ function updateFiber(nextFiber, prevFiber) {
570
+ // Suspense components only have a non-null memoizedState if they're timed-out.
571
+ const isTimedOutSuspense = (
572
+ nextFiber.tag === ReactTypeOfWork.SuspenseComponent &&
573
+ nextFiber.memoizedState !== null
574
+ );
575
+
576
+ if (isTimedOutSuspense) {
577
+ // The behavior of timed-out Suspense trees is unique.
578
+ // Rather than unmount the timed out content (and possibly lose important state),
579
+ // React re-parents this content within a hidden Fragment while the fallback is showing.
580
+ // This behavior doesn't need to be observable in the DevTools though.
581
+ // It might even result in a bad user experience for e.g. node selection in the Elements panel.
582
+ // The easiest fix is to strip out the intermediate Fragment fibers,
583
+ // so the Elements panel and Profiler don't need to special case them.
584
+ const primaryChildFragment = nextFiber.child;
585
+ const fallbackChildFragment = primaryChildFragment.sibling;
586
+ const fallbackChild = fallbackChildFragment.child;
587
+ // The primary, hidden child is never actually updated in this case,
588
+ // so we can skip any updates to its tree.
589
+ // We only need to track updates to the Fallback UI for now.
590
+ if (fallbackChild.alternate) {
591
+ updateFiber(fallbackChild, fallbackChild.alternate);
592
+ } else {
593
+ mountFiber(fallbackChild);
594
+ }
595
+ enqueueUpdateIfNecessary(nextFiber, false);
596
+ } else {
597
+ let hasChildOrderChanged = false;
598
+ if (nextFiber.child !== prevFiber.child) {
599
+ // If the first child is different, we need to traverse them.
600
+ // Each next child will be either a new child (mount) or an alternate (update).
601
+ let nextChild = nextFiber.child;
602
+ let prevChildAtSameIndex = prevFiber.child;
603
+ while (nextChild) {
604
+ // We already know children will be referentially different because
605
+ // they are either new mounts or alternates of previous children.
606
+ // Schedule updates and mounts depending on whether alternates exist.
607
+ // We don't track deletions here because they are reported separately.
608
+ if (nextChild.alternate) {
609
+ const prevChild = nextChild.alternate;
610
+ updateFiber(nextChild, prevChild);
611
+ // However we also keep track if the order of the children matches
612
+ // the previous order. They are always different referentially, but
613
+ // if the instances line up conceptually we'll want to know that.
614
+ if (!hasChildOrderChanged && prevChild !== prevChildAtSameIndex) {
615
+ hasChildOrderChanged = true;
616
+ }
617
+ } else {
618
+ mountFiber(nextChild);
619
+ if (!hasChildOrderChanged) {
620
+ hasChildOrderChanged = true;
621
+ }
622
+ }
623
+ // Try the next child.
624
+ nextChild = nextChild.sibling;
625
+ // Advance the pointer in the previous list so that we can
626
+ // keep comparing if they line up.
627
+ if (!hasChildOrderChanged && prevChildAtSameIndex != null) {
628
+ prevChildAtSameIndex = prevChildAtSameIndex.sibling;
629
+ }
630
+ }
631
+ // If we have no more children, but used to, they don't line up.
632
+ if (!hasChildOrderChanged && prevChildAtSameIndex != null) {
633
+ hasChildOrderChanged = true;
634
+ }
635
+ }
636
+ enqueueUpdateIfNecessary(nextFiber, hasChildOrderChanged);
637
+ }
638
+ }
639
+
640
+ function cleanup() {
641
+ // We don't patch any methods so there is no cleanup.
642
+ }
643
+
644
+ function walkTree() {
645
+ hook.getFiberRoots(rendererID).forEach(root => {
646
+ // Hydrate all the roots for the first time.
647
+ mountFiber(root.current);
648
+ markRootCommitted(root.current);
649
+ });
650
+ flushPendingEvents();
651
+ }
652
+
653
+ function handleCommitFiberUnmount(fiber) {
654
+ // This is not recursive.
655
+ // We can't traverse fibers after unmounting so instead
656
+ // we rely on React telling us about each unmount.
657
+ enqueueUnmount(fiber);
658
+ }
659
+
660
+ function handleCommitFiberRoot(root) {
661
+ const current = root.current;
662
+ const alternate = current.alternate;
663
+
664
+ if (alternate) {
665
+ // TODO: relying on this seems a bit fishy.
666
+ const wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null;
667
+ const isMounted = current.memoizedState != null && current.memoizedState.element != null;
668
+ if (!wasMounted && isMounted) {
669
+ // Mount a new root.
670
+ mountFiber(current);
671
+ } else if (wasMounted && isMounted) {
672
+ // Update an existing root.
673
+ updateFiber(current, alternate);
674
+ } else if (wasMounted && !isMounted) {
675
+ // Unmount an existing root.
676
+ enqueueUnmount(current);
677
+ }
678
+ } else {
679
+ // Mount a new root.
680
+ mountFiber(current);
681
+ }
682
+ markRootCommitted(current);
683
+ // We're done here.
684
+ flushPendingEvents();
685
+ }
686
+
687
+ // The naming is confusing.
688
+ // They deal with opaque nodes (fibers), not elements.
689
+ function getNativeFromReactElement(fiber) {
690
+ try {
691
+ const primaryFiber = fiber;
692
+ const hostInstance = renderer.findHostInstanceByFiber(primaryFiber);
693
+ return hostInstance;
694
+ } catch (err) {
695
+ // The fiber might have unmounted by now.
696
+ return null;
697
+ }
698
+ }
699
+ function getReactElementFromNative(hostInstance) {
700
+ const fiber = renderer.findFiberByHostInstance(hostInstance);
701
+ if (fiber != null) {
702
+ // TODO: type fibers.
703
+ const primaryFiber = getPrimaryFiber((fiber: any));
704
+ return primaryFiber;
705
+ }
706
+ return null;
707
+ }
708
+
709
+ return {
710
+ getNativeFromReactElement,
711
+ getReactElementFromNative,
712
+ handleCommitFiberRoot,
713
+ handleCommitFiberUnmount,
714
+ cleanup,
715
+ walkTree,
716
+ renderer,
717
+ };
718
+}
\ No newline at end of file
src/backend/types.js
new
+77
@@ -0,0 +1,77 @@
1
+// @flow
2
+
3
+import type {ElementType} from 'src/devtools/types';
4
+
5
+type BundleType =
6
+ | 0 // PROD
7
+ | 1; // DEV
8
+
9
+type CompositeUpdater = {
10
+ canUpdate: boolean,
11
+ setInProps: ?(path: Array<string>, value: any) => void,
12
+ setInState: ?(path: Array<string>, value: any) => void,
13
+ setInContext: ?(path: Array<string>, value: any) => void,
14
+};
15
+
16
+type NativeUpdater = {
17
+ setNativeProps: ?(nativeProps: {[key: string]: any}) => void,
18
+};
19
+
20
+// TODO: Better type for Fiber
21
+export type Fiber = Object;
22
+
23
+// TODO: If it's useful for the frontend to know which types of data an Element has
24
+// (e.g. props, state, context, hooks) then we could add a bitmask field for this
25
+// to keep the number of attributes small.
26
+export type RendererData = {|
27
+ key: React$Key | null,
28
+ displayName: string | null,
29
+ children: Array<Fiber>,
30
+ type: ElementType,
31
+|};
32
+
33
+export type Interaction = {|
34
+ name: string,
35
+ timestamp: number,
36
+|};
37
+
38
+export type NativeType = {};
39
+export type RendererID = string;
40
+
41
+export type ReactRenderer = {
42
+ findHostInstanceByFiber: (fiber: Object) => ?NativeType,
43
+ findFiberByHostInstance: (hostInstance: NativeType) => ?Fiber,
44
+ version: string,
45
+ bundleType: BundleType,
46
+ overrideProps?: ?(fiber: Object, path: Array<string | number>, value: any) => void,
47
+};
48
+
49
+export type RendererInterface = {
50
+ cleanup: () => void,
51
+ getNativeFromReactElement?: ?(component: Fiber) => ?NativeType,
52
+ getReactElementFromNative?: ?(component: NativeType) => ?Fiber,
53
+ handleCommitFiberRoot: (fiber: Object) => void,
54
+ renderer: ReactRenderer | null,
55
+ walkTree: () => void,
56
+};
57
+
58
+export type Handler = (data: any) => void;
59
+
60
+export type Hook = {
61
+ listeners: {[key: string]: Array<Handler>},
62
+ rendererInterfaces: {[key: string]: RendererInterface},
63
+ renderers: {[key: string]: ReactRenderer},
64
+
65
+ emit: (evt: string, data: any) => void,
66
+ getFiberRoots: (rendererID : string) => Set<Object>,
67
+ inject: (renderer: ReactRenderer) => string | null,
68
+ on: (evt: string, handler: Handler) => void,
69
+ off: (evt: string, handler: Handler) => void,
70
+ reactDevtoolsAgent?: ?Object,
71
+ sub: (evt: string, handler: Handler) => () => void,
72
+
73
+ // React uses these methods.
74
+ checkDCE: (fn: Function) => void,
75
+ onCommitFiberUnmount: (rendererID: RendererID, fiber: Object) => void,
76
+ onCommitFiberRoot: (rendererID: RendererID, fiber: Object) => void,
77
+};
src/backend/utils.js
new
+47
@@ -0,0 +1,47 @@
1
+// @flow
2
+
3
+const FB_MODULE_RE = /^(.*) \[from (.*)\]$/;
4
+const cachedDisplayNames: WeakMap<Function, string> = new WeakMap();
5
+
6
+export function getDisplayName(type: Function, fallbackName: string = 'Unknown'): string {
7
+ const nameFromCache = cachedDisplayNames.get(type);
8
+ if (nameFromCache != null) {
9
+ return nameFromCache;
10
+ }
11
+
12
+ let displayName;
13
+
14
+ // The displayName property is not guaranteed to be a string.
15
+ // It's only safe to use for our purposes if it's a string.
16
+ // github.com/facebook/react-devtools/issues/803
17
+ if (typeof type.displayName === 'string') {
18
+ displayName = type.displayName;
19
+ }
20
+
21
+ if (!displayName) {
22
+ displayName = type.name || fallbackName;
23
+ }
24
+
25
+ // Facebook-specific hack to turn "Image [from Image.react]" into just "Image".
26
+ // We need displayName with module name for error reports but it clutters the DevTools.
27
+ const match = displayName.match(FB_MODULE_RE);
28
+ if (match) {
29
+ const componentName = match[1];
30
+ const moduleName = match[2];
31
+ if (componentName && moduleName) {
32
+ if (
33
+ moduleName === componentName ||
34
+ moduleName.startsWith(componentName + '.')
35
+ ) {
36
+ displayName = componentName;
37
+ }
38
+ }
39
+ }
40
+
41
+ cachedDisplayNames.set(type, displayName);
42
+ return displayName;
43
+}
44
+
45
+export function guid(): string {
46
+ return 'g' + Math.random().toString(16).substr(2);
47
+}
\ No newline at end of file
src/bridge.js
new
+91
@@ -0,0 +1,91 @@
1
+// @flow
2
+
3
+import EventEmitter from 'events';
4
+
5
+import type {Wall} from './types';
6
+
7
+const BATCH_DURATION = 100;
8
+
9
+type Message = {|
10
+ event: string,
11
+ payload: any,
12
+|};
13
+
14
+export default class Bridge extends EventEmitter {
15
+ _messageQueue: Array<Message> = [];
16
+ _time: number | null = null;
17
+ _timeoutID: TimeoutID | null = null;
18
+
19
+ wall: Wall;
20
+
21
+ constructor (wall: Wall) {
22
+ super();
23
+
24
+ this.wall = wall;
25
+ wall.listen(messages => {
26
+ if (Array.isArray(messages)) {
27
+ messages.forEach(message => this._emit(message))
28
+ } else {
29
+ this._emit(messages)
30
+ }
31
+ })
32
+ }
33
+
34
+ /**
35
+ * Send an event.
36
+ *
37
+ * @param {String} event
38
+ * @param {*} payload
39
+ */
40
+
41
+ send (event: string, payload: any) {
42
+ const time = this._time;
43
+
44
+ if (time === null) {
45
+ this.wall.send([{ event, payload }])
46
+ this._time = Date.now()
47
+ } else {
48
+ this._messageQueue.push({
49
+ event,
50
+ payload
51
+ })
52
+
53
+ const now = Date.now()
54
+ if (now - time > BATCH_DURATION) {
55
+ this._flush()
56
+ } else {
57
+ this._timeoutID = setTimeout(() => this._flush(), BATCH_DURATION)
58
+ }
59
+ }
60
+ }
61
+
62
+ /**
63
+ * Log a message to the devtools background page.
64
+ *
65
+ * @param {String} message
66
+ */
67
+
68
+ log (message: string): void {
69
+ this.send('log', message)
70
+ }
71
+
72
+ _flush () {
73
+ if (this._messageQueue.length) {
74
+ this.wall.send(this._messageQueue)
75
+ }
76
+ if (this._timeoutID !== null) {
77
+ clearTimeout(this._timeoutID)
78
+ this._timeoutID = null;
79
+ }
80
+ this._messageQueue = []
81
+ this._time = null
82
+ }
83
+
84
+ _emit (message: string | Message) {
85
+ if (typeof message === 'string') {
86
+ this.emit(message)
87
+ } else {
88
+ this.emit(message.event, message.payload)
89
+ }
90
+ }
91
+}
\ No newline at end of file
src/devtools/index.js
new
+14
@@ -0,0 +1,14 @@
1
+// @flow
2
+
3
+import type { Bridge } from '../types';
4
+
5
+type Shell = {|
6
+ connect: (callback: Function) => void,
7
+ onReload: (reloadFn: Function) => void,
8
+|};
9
+
10
+export function initDevTools(shell: Shell) {
11
+ shell.connect((bridge: Bridge) => {
12
+ // TODO ...
13
+ });
14
+}
\ No newline at end of file
src/devtools/store.js
new
+78
@@ -0,0 +1,78 @@
1
+// @flow
2
+
3
+import EventEmitter from 'events';
4
+
5
+import type { Element } from './types';
6
+import type { Bridge } from '../types';
7
+
8
+/**
9
+ * The store is the single source of truth for updates from the backend.
10
+ * ContextProviders can subscribe to the Store for specific things they want to provide.
11
+ */
12
+class Store extends EventEmitter {
13
+ _idToElement: Map<string, Element> = new Map();
14
+ _idToParentID: Map<string, string> = new Map();
15
+
16
+ roots: Set<string> = new Set();
17
+
18
+ constructor(bridge: Bridge) {
19
+ super();
20
+
21
+ bridge.on('root', this.onBridgeRoot);
22
+ bridge.on('mount', this.onBridgeMount);
23
+ bridge.on('update', this.onBridgeUpdated);
24
+ bridge.on('unmount', this.onBridgeUnmounted);
25
+ }
26
+
27
+ getElement(id: string) {
28
+ return this._idToElement.get(id);
29
+ }
30
+
31
+ geParent(id: string) {
32
+ return this._idToParentID.get(id);
33
+ }
34
+
35
+ onBridgeMount = (element: Element) => {
36
+ const {id} = element;
37
+ console.log('%cStore%c onBridgeMount()', 'color: red; font-weight: bold;', 'font-weight: bold;', element);
38
+ this._idToElement.set(id, element);
39
+
40
+ element.children.forEach(childID => {
41
+ this._idToParentID.set(childID, id);
42
+ });
43
+
44
+ this.emit(id);
45
+ };
46
+
47
+ onBridgeRoot = (id: string) => {
48
+ console.log('%cStore%c onBridgeRoot()', 'color: red; font-weight: bold;', 'font-weight: bold;', id);
49
+ if (!this.roots.has(id)) {
50
+ this.roots.add(id);
51
+ this.emit('roots');
52
+ }
53
+ };
54
+
55
+ onBridgeUnmounted = (id: string) => {
56
+ console.log('%cStore%c onBridgeUnmounted()', 'color: red; font-weight: bold;', 'font-weight: bold;', id);
57
+ this._idToElement.delete(id);
58
+
59
+ if (this._idToParentID.has(id)) {
60
+ this._idToParentID.delete(id);
61
+ }
62
+
63
+ if (this.roots.has(id)) {
64
+ this.roots.delete(id);
65
+ this.emit('roots');
66
+ }
67
+ };
68
+
69
+ onBridgeUpdated = (element: Element) => {
70
+ const {id} = element;
71
+ console.log('%cStore%c onBridgeUpdated()', 'color: red; font-weight: bold;', 'font-weight: bold;', element);
72
+ this._idToElement.set(id, element);
73
+
74
+ this.emit(id);
75
+ };
76
+}
77
+
78
+export default Store;
\ No newline at end of file
src/devtools/types.js
new
+38
@@ -0,0 +1,38 @@
1
+// @flow
2
+
3
+export const ElementTypeClassOrFunction = 1;
4
+export const ElementTypeContext = 2;
5
+export const ElementTypeForwardRef = 3;
6
+export const ElementTypeMemo = 4;
7
+export const ElementTypeOtherOrUnknown = 5;
8
+export const ElementTypeProfiler = 6;
9
+export const ElementTypeSuspense = 7;
10
+
11
+export type ElementType =
12
+ | 1
13
+ | 2
14
+ | 3
15
+ | 4
16
+ | 5
17
+ | 6
18
+ | 7;
19
+
20
+// TODO: Add profiling node
21
+
22
+export type Element = {|
23
+ id: string,
24
+ type: ElementType,
25
+ key: React$Key | null,
26
+ displayName: string | null,
27
+ children: Array<string>,
28
+|};
29
+
30
+export type InspectedElement = {|
31
+ id: string,
32
+ context: Object | null,
33
+ hooks: Object | null,
34
+ props: Object | null,
35
+ state: Object | null,
36
+ canEditProps: boolean,
37
+ source: Object,
38
+|};
src/devtools/views/App.css
new
+49
@@ -0,0 +1,49 @@
1
+:root {
2
+ /* TODO */
3
+ --color-base00: #ffffff;
4
+ --color-base01: #f3f3f3;
5
+ --color-base02: #eeeeee;
6
+ --color-base03: #dadada;
7
+ --color-base04: #333333;
8
+ --color-base05: #5a5a5a;
9
+ --color-special00: #8155cb;
10
+ --color-special01: #222222;
11
+ --color-special02: #1a1aa6;
12
+ --color-special03: #c80000;
13
+ --color-special04: #236e25;
14
+ --color-special05: #aa0d91;
15
+ --color-special06: #ef6632;
16
+ --color-special07: #777d88;
17
+ --color-state00: #0088FA;
18
+ --color-state01: #dadada;
19
+ --color-state02: #ffffff;
20
+ --color-state03: #ebf1fb;
21
+ --color-state04: #FFFF00;
22
+ --color-state05: #222222;
23
+ --color-state06: #222222;
24
+
25
+ --color-component: var(--color-special00);
26
+ --color-tree-tag: var(--color-base04);
27
+ --color-tree-attr-name: var(--color-special06);
28
+ --color-tree-attr-value: var(--color-special02);
29
+
30
+ --line-height-tree-compact: 1.5;
31
+ --line-height-tree-normal: 1.5;
32
+
33
+ /* GitHub.com system fonts */
34
+ --font-family-monospace: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
35
+ --font-size-tree-compact: 12px;
36
+ --font-size-tree-normal: 14px;
37
+}
38
+
39
+.App {
40
+ width: 100%;
41
+ height: 100%;
42
+ overflow: auto;
43
+
44
+ -webkit-font-smoothing: antialiased;
45
+}
46
+
47
+* {
48
+ box-sizing: border-box;
49
+}
\ No newline at end of file
src/devtools/views/App.js
new
+25
@@ -0,0 +1,25 @@
1
+// @flow
2
+
3
+import React, { useMemo } from 'react';
4
+import Store from '../store';
5
+import Tree from './Tree';
6
+import {StoreContext} from './contexts';
7
+import styles from './App.css';
8
+
9
+import type {Bridge} from '../../types';
10
+
11
+type Props = {|
12
+ bridge: Bridge,
13
+|};
14
+
15
+export default function App({ bridge }: Props) {
16
+ const store = useMemo(() => new Store(bridge), []);
17
+
18
+ return (
19
+ <StoreContext.Provider value={store}>
20
+ <div className={styles.App}>
21
+ <Tree />
22
+ </div>
23
+ </StoreContext.Provider>
24
+ );
25
+}
\ No newline at end of file
src/devtools/views/Element.css
new
+46
@@ -0,0 +1,46 @@
1
+.Element {
2
+ width: 100%;
3
+ border-radius: 0.25em;
4
+ cursor: pointer;
5
+ position: relative;
6
+}
7
+.Element:hover {
8
+ background-color: var(--color-state03);
9
+}
10
+
11
+.ArrowClosed,
12
+.ArrowOpen {
13
+ position: absolute;
14
+ margin-left: -1rem;
15
+ width: 1rem;
16
+ height: 1rem;
17
+ background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23777d88' d='M8 5v14l11-7z'/%3E%3Cpath fill='none' d='M0 24V0h24v24H0z'/%3E%3C/svg%3E");
18
+ background-size: 12px 12px;
19
+ background-repeat: no-repeat;
20
+ background-position: center;
21
+}
22
+.ArrowOpen {
23
+ transform: rotate(90deg);
24
+}
25
+
26
+.Component {
27
+ color: var(--color-component);
28
+}
29
+.Component:before {
30
+ white-space: nowrap;
31
+ content: "<";
32
+ color: var(--color-tree-tag);
33
+}
34
+.Component:after {
35
+ white-space: nowrap;
36
+ content: ">";
37
+ color: var(--color-tree-tag);
38
+}
39
+
40
+.AttributeName {
41
+ color: var(--color-tree-attr-name);
42
+}
43
+
44
+.AttributeValue {
45
+ color: var(--color-tree-attr-value);
46
+}
\ No newline at end of file
src/devtools/views/Element.js
new
+43
@@ -0,0 +1,43 @@
1
+// @flow
2
+
3
+import React, {Fragment, useContext} from 'react';
4
+import {useElement} from './hooks';
5
+import {StoreContext} from './contexts';
6
+
7
+import styles from './Element.css';
8
+
9
+type Props = {|
10
+ depth: number,
11
+ id: string,
12
+|};
13
+
14
+export default function Element({depth, id}: Props) {
15
+ const store = useContext(StoreContext);
16
+ const element = useElement(store, id);
17
+
18
+ const {children, displayName, key} = element;
19
+
20
+ // TODO: Toggle open/close state
21
+
22
+ return (
23
+ <Fragment>
24
+ <div className={styles.Element} style={{paddingLeft: `${1 + depth}rem`}}>
25
+ {children.length > 0 && (
26
+ <span className={styles.ArrowOpen}></span>
27
+ )}
28
+
29
+ <span className={styles.Component}>
30
+ {displayName}{key && (
31
+ <Fragment>
32
+ <span className={styles.AttributeName}>key</span>=<span className={styles.AttributeValue}>"{key}"</span>
33
+ </Fragment>
34
+ )}
35
+ </span>
36
+ </div>
37
+
38
+ {children.map(childID => (
39
+ <Element key={childID} depth={depth + 1} id={childID} />
40
+ ))}
41
+ </Fragment>
42
+ );
43
+}
\ No newline at end of file
src/devtools/views/Tree.css
new
+11
@@ -0,0 +1,11 @@
1
+.Tree {
2
+ width: 100%;
3
+ padding: 0.25rem;
4
+ overflow: auto;
5
+
6
+ font-family: var(--font-family-monospace);
7
+ font-size: var(--font-size-tree-compact);
8
+
9
+ /* TODO */
10
+ line-height: var(--line-height-tree-compact);
11
+}
\ No newline at end of file
src/devtools/views/Tree.js
new
+34
@@ -0,0 +1,34 @@
1
+// @flow
2
+
3
+import React, {useContext} from 'react';
4
+import Element from './Element';
5
+import {StoreContext} from './contexts';
6
+import {useElement, useRoots} from './hooks';
7
+
8
+import styles from './Tree.css';
9
+
10
+type TreeProps = {||};
11
+
12
+export default function Tree({}: TreeProps) {
13
+ const store = useContext(StoreContext);
14
+ const roots = useRoots(store);
15
+
16
+ return (
17
+ <div className={styles.Tree}>
18
+ {roots.map(id => <Root key={id} id={id} />)}
19
+ </div>
20
+ );
21
+}
22
+
23
+type RootProps = {|
24
+ id: string,
25
+|};
26
+
27
+function Root({id}: RootProps) {
28
+ const store = useContext(StoreContext);
29
+ const element = useElement(store, id);
30
+
31
+ return element.children.map(childID => (
32
+ <Element key={childID} depth={0} id={childID} />
33
+ ));
34
+}
\ No newline at end of file
src/devtools/views/contexts.js
new
+8
@@ -0,0 +1,8 @@
1
+// @flow
2
+
3
+import { createContext } from 'react';
4
+
5
+import Store from '../store';
6
+
7
+export const RootsContext = createContext<Array<string>>([]);
8
+export const StoreContext = createContext<Store>(((null: any): Store));
\ No newline at end of file
src/devtools/views/hooks.js
new
+30
@@ -0,0 +1,30 @@
1
+// @flow
2
+
3
+import {createContext, useLayoutEffect, useRef, useState} from 'react';
4
+
5
+import type {Element} from '../types';
6
+import Store from '../store';
7
+
8
+export function useElement(store: Store, id: string): Element {
9
+ const [element, setElement] = useState<Element>(((store.getElement(id): any): Element));
10
+
11
+ useLayoutEffect(() => {
12
+ const handler = () => setElement(((store.getElement(id): any): Element));
13
+ store.addListener(id, handler);
14
+ return () => store.removeListener(id, handler);
15
+ }, [store, id]);
16
+
17
+ return element;
18
+}
19
+
20
+export function useRoots(store: Store): Array<string> {
21
+ const [roots, setRoots] = useState<Array<string>>(Array.from(store.roots));
22
+
23
+ useLayoutEffect(() => {
24
+ const handler = () => setRoots(Array.from(store.roots));
25
+ store.addListener('roots', handler);
26
+ return () => store.removeListener('roots', handler);
27
+ }, [store]);
28
+
29
+ return roots;
30
+}
\ No newline at end of file
src/hook.js
new
+182
@@ -0,0 +1,182 @@
1
+/**
2
+ * Install the hook on window, which is an event emitter.
3
+ * Note because Chrome content scripts cannot directly modify the window object,
4
+ * we are evaling this function by inserting a script tag.
5
+ * That's why we have to inline the whole event emitter implementation here.
6
+ *
7
+ * @flow
8
+ */
9
+
10
+import type {Hook} from './types';
11
+
12
+declare var window: any;
13
+
14
+export function installHook(target: any): Hook {
15
+ if (target.hasOwnProperty('__REACT_DEVTOOLS_GLOBAL_HOOK__')) return
16
+
17
+ function detectReactBuildType(renderer) {
18
+ try {
19
+ if (typeof renderer.version === 'string') {
20
+ if (renderer.bundleType > 0) {
21
+ // This is not a production build.
22
+ // We are currently only using 0 (PROD) and 1 (DEV)
23
+ // but might add 2 (PROFILE) in the future.
24
+ return 'development';
25
+ }
26
+
27
+ // React 16 uses flat bundles. If we report the bundle as production
28
+ // version, it means we also minified and envified it ourselves.
29
+ return 'production';
30
+
31
+ // Note: There is still a risk that the CommonJS entry point has not
32
+ // been envified or uglified. In this case the user would have *both*
33
+ // development and production bundle, but only the prod one would run.
34
+ // This would be really bad. We have a separate check for this because
35
+ // it happens *outside* of the renderer injection. See `checkDCE` below.
36
+ }
37
+ } catch (err) {}
38
+
39
+ return 'production';
40
+ }
41
+
42
+ function checkDCE(fn: Function) {
43
+ // This runs for production versions of React.
44
+ // Needs to be super safe.
45
+ try {
46
+ const toString = Function.prototype.toString;
47
+ const code = toString.call(fn);
48
+
49
+ // This is a string embedded in the passed function under DEV-only
50
+ // condition. However the function executes only in PROD. Therefore,
51
+ // if we see it, dead code elimination did not work.
52
+ if (code.indexOf('^_^') > -1) {
53
+ // Remember to report during next injection.
54
+ hasDetectedBadDCE = true;
55
+
56
+ // Bonus: throw an exception hoping that it gets picked up by a reporting system.
57
+ // Not synchronously so that it doesn't break the calling code.
58
+ setTimeout(function() {
59
+ throw new Error(
60
+ 'React is running in production mode, but dead code ' +
61
+ 'elimination has not been applied. Read how to correctly ' +
62
+ 'configure React for production: ' +
63
+ 'https://fb.me/react-perf-use-the-production-build'
64
+ );
65
+ });
66
+ }
67
+ } catch (err) {}
68
+ }
69
+
70
+ function inject(renderer) {
71
+ const id = Math.random().toString(16).slice(2);
72
+ renderers[id] = renderer;
73
+
74
+ const reactBuildType = hasDetectedBadDCE ? 'deadcode' : detectReactBuildType(renderer);
75
+
76
+ hook.emit('renderer', {id, renderer, reactBuildType});
77
+
78
+ return id;
79
+ }
80
+
81
+ let hasDetectedBadDCE = false;
82
+
83
+ function sub(event, fn) {
84
+ hook.on(event, fn);
85
+ return () => hook.off(event, fn);
86
+ }
87
+
88
+ function on(event, fn) {
89
+ if (!listeners[event]) {
90
+ listeners[event] = [];
91
+ }
92
+ listeners[event].push(fn);
93
+ }
94
+
95
+ function off(event, fn) {
96
+ if (!listeners[event]) {
97
+ return;
98
+ }
99
+ const index = listeners[event].indexOf(fn);
100
+ if (index !== -1) {
101
+ listeners[event].splice(index, 1);
102
+ }
103
+ if (!listeners[event].length) {
104
+ delete listeners[event];
105
+ }
106
+ }
107
+
108
+ function emit(event, data) {
109
+ if (listeners[event]) {
110
+ listeners[event].map(fn => fn(data));
111
+ }
112
+ }
113
+
114
+ function getFiberRoots(rendererID) {
115
+ const roots = fiberRoots;
116
+ if (!roots[rendererID]) {
117
+ roots[rendererID] = new Set();
118
+ }
119
+ return roots[rendererID];
120
+ }
121
+
122
+ function onCommitFiberUnmount(rendererID, fiber) {
123
+ // TODO: can we use hook for roots too?
124
+ if (rendererInterfaces[rendererID]) {
125
+ rendererInterfaces[rendererID].handleCommitFiberUnmount(fiber);
126
+ }
127
+ }
128
+
129
+ function onCommitFiberRoot(rendererID, root) {
130
+ const mountedRoots = hook.getFiberRoots(rendererID);
131
+ const current = root.current;
132
+ const isKnownRoot = mountedRoots.has(root);
133
+ const isUnmounting = current.memoizedState == null || current.memoizedState.element == null;
134
+
135
+ // Keep track of mounted roots so we can hydrate when DevTools connect.
136
+ if (!isKnownRoot && !isUnmounting) {
137
+ mountedRoots.add(root);
138
+ } else if (isKnownRoot && isUnmounting) {
139
+ mountedRoots.delete(root);
140
+ }
141
+ if (rendererInterfaces[rendererID]) {
142
+ rendererInterfaces[rendererID].handleCommitFiberRoot(root);
143
+ }
144
+ }
145
+
146
+ // TODO: More meaningful names for "rendererInterfaces" and "renderers".
147
+ const fiberRoots = {};
148
+ const rendererInterfaces = {};
149
+ const listeners = {};
150
+ const renderers = {};
151
+
152
+ const hook: Hook = ({
153
+ rendererInterfaces,
154
+ listeners,
155
+ renderers,
156
+
157
+ emit,
158
+ getFiberRoots,
159
+ inject,
160
+ on,
161
+ off,
162
+ sub,
163
+
164
+ // This is a legacy flag.
165
+ // React v16 checks the hook for this to ensure DevTools is new enough.
166
+ supportsFiber: true,
167
+
168
+ // React calls these methods.
169
+ checkDCE,
170
+ onCommitFiberUnmount,
171
+ onCommitFiberRoot,
172
+ });
173
+
174
+ Object.defineProperty(target, '__REACT_DEVTOOLS_GLOBAL_HOOK__', ({
175
+ enumerable: false,
176
+ get () {
177
+ return hook
178
+ }
179
+ }: Object));
180
+
181
+ return hook;
182
+}
\ No newline at end of file
src/types.js
new
+12
@@ -0,0 +1,12 @@
1
+// @flow
2
+
3
+// TODO
4
+export type Bridge = any;
5
+
6
+// TODO
7
+export type Hook = any;
8
+
9
+export type Wall = {|
10
+ listen: (fn: Function) => void,
11
+ send: (data: any) => void,
12
+|};
\ No newline at end of file
yarn.lock
new
+10044
@@ -0,0 +1,10044 @@
1
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+# yarn lockfile v1
3
+
4
+
5
+"@babel/code-frame@^7.0.0":
6
+ version "7.0.0"
7
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
8
+ integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
9
+ dependencies:
10
+ "@babel/highlight" "^7.0.0"
11
+
12
+"@babel/code-frame@^7.0.0-beta.35":
13
+ version "7.0.0-beta.39"
14
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.39.tgz#91c90bb65207fc5a55128cb54956ded39e850457"
15
+ dependencies:
16
+ chalk "^2.0.0"
17
+ esutils "^2.0.2"
18
+ js-tokens "^3.0.0"
19
+
20
+"@babel/core@^7.1.6":
21
+ version "7.1.6"
22
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.1.6.tgz#3733cbee4317429bc87c62b29cf8587dba7baeb3"
23
+ integrity sha512-Hz6PJT6e44iUNpAn8AoyAs6B3bl60g7MJQaI0rZEar6ECzh6+srYO1xlIdssio34mPaUtAb1y+XlkkSJzok3yw==
24
+ dependencies:
25
+ "@babel/code-frame" "^7.0.0"
26
+ "@babel/generator" "^7.1.6"
27
+ "@babel/helpers" "^7.1.5"
28
+ "@babel/parser" "^7.1.6"
29
+ "@babel/template" "^7.1.2"
30
+ "@babel/traverse" "^7.1.6"
31
+ "@babel/types" "^7.1.6"
32
+ convert-source-map "^1.1.0"
33
+ debug "^4.1.0"
34
+ json5 "^2.1.0"
35
+ lodash "^4.17.10"
36
+ resolve "^1.3.2"
37
+ semver "^5.4.1"
38
+ source-map "^0.5.0"
39
+
40
+"@babel/generator@^7.1.6":
41
+ version "7.1.6"
42
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.6.tgz#001303cf87a5b9d093494a4bf251d7b5d03d3999"
43
+ integrity sha512-brwPBtVvdYdGxtenbQgfCdDPmtkmUBZPjUoK5SXJEBuHaA5BCubh9ly65fzXz7R6o5rA76Rs22ES8Z+HCc0YIQ==
44
+ dependencies:
45
+ "@babel/types" "^7.1.6"
46
+ jsesc "^2.5.1"
47
+ lodash "^4.17.10"
48
+ source-map "^0.5.0"
49
+ trim-right "^1.0.1"
50
+
51
+"@babel/helper-annotate-as-pure@^7.0.0":
52
+ version "7.0.0"
53
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
54
+ integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
55
+ dependencies:
56
+ "@babel/types" "^7.0.0"
57
+
58
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
59
+ version "7.1.0"
60
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
61
+ integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
62
+ dependencies:
63
+ "@babel/helper-explode-assignable-expression" "^7.1.0"
64
+ "@babel/types" "^7.0.0"
65
+
66
+"@babel/helper-builder-react-jsx@^7.0.0":
67
+ version "7.0.0"
68
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz#fa154cb53eb918cf2a9a7ce928e29eb649c5acdb"
69
+ integrity sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==
70
+ dependencies:
71
+ "@babel/types" "^7.0.0"
72
+ esutils "^2.0.0"
73
+
74
+"@babel/helper-call-delegate@^7.1.0":
75
+ version "7.1.0"
76
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a"
77
+ integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==
78
+ dependencies:
79
+ "@babel/helper-hoist-variables" "^7.0.0"
80
+ "@babel/traverse" "^7.1.0"
81
+ "@babel/types" "^7.0.0"
82
+
83
+"@babel/helper-define-map@^7.1.0":
84
+ version "7.1.0"
85
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c"
86
+ integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==
87
+ dependencies:
88
+ "@babel/helper-function-name" "^7.1.0"
89
+ "@babel/types" "^7.0.0"
90
+ lodash "^4.17.10"
91
+
92
+"@babel/helper-explode-assignable-expression@^7.1.0":
93
+ version "7.1.0"
94
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
95
+ integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
96
+ dependencies:
97
+ "@babel/traverse" "^7.1.0"
98
+ "@babel/types" "^7.0.0"
99
+
100
+"@babel/helper-function-name@^7.1.0":
101
+ version "7.1.0"
102
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
103
+ integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
104
+ dependencies:
105
+ "@babel/helper-get-function-arity" "^7.0.0"
106
+ "@babel/template" "^7.1.0"
107
+ "@babel/types" "^7.0.0"
108
+
109
+"@babel/helper-get-function-arity@^7.0.0":
110
+ version "7.0.0"
111
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
112
+ integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
113
+ dependencies:
114
+ "@babel/types" "^7.0.0"
115
+
116
+"@babel/helper-hoist-variables@^7.0.0":
117
+ version "7.0.0"
118
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88"
119
+ integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==
120
+ dependencies:
121
+ "@babel/types" "^7.0.0"
122
+
123
+"@babel/helper-member-expression-to-functions@^7.0.0":
124
+ version "7.0.0"
125
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
126
+ integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==
127
+ dependencies:
128
+ "@babel/types" "^7.0.0"
129
+
130
+"@babel/helper-module-imports@^7.0.0":
131
+ version "7.0.0"
132
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
133
+ integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
134
+ dependencies:
135
+ "@babel/types" "^7.0.0"
136
+
137
+"@babel/helper-module-transforms@^7.1.0":
138
+ version "7.1.0"
139
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz#470d4f9676d9fad50b324cdcce5fbabbc3da5787"
140
+ integrity sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==
141
+ dependencies:
142
+ "@babel/helper-module-imports" "^7.0.0"
143
+ "@babel/helper-simple-access" "^7.1.0"
144
+ "@babel/helper-split-export-declaration" "^7.0.0"
145
+ "@babel/template" "^7.1.0"
146
+ "@babel/types" "^7.0.0"
147
+ lodash "^4.17.10"
148
+
149
+"@babel/helper-optimise-call-expression@^7.0.0":
150
+ version "7.0.0"
151
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
152
+ integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
153
+ dependencies:
154
+ "@babel/types" "^7.0.0"
155
+
156
+"@babel/helper-plugin-utils@^7.0.0":
157
+ version "7.0.0"
158
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
159
+ integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
160
+
161
+"@babel/helper-regex@^7.0.0":
162
+ version "7.0.0"
163
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27"
164
+ integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==
165
+ dependencies:
166
+ lodash "^4.17.10"
167
+
168
+"@babel/helper-remap-async-to-generator@^7.1.0":
169
+ version "7.1.0"
170
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
171
+ integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
172
+ dependencies:
173
+ "@babel/helper-annotate-as-pure" "^7.0.0"
174
+ "@babel/helper-wrap-function" "^7.1.0"
175
+ "@babel/template" "^7.1.0"
176
+ "@babel/traverse" "^7.1.0"
177
+ "@babel/types" "^7.0.0"
178
+
179
+"@babel/helper-replace-supers@^7.1.0":
180
+ version "7.1.0"
181
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362"
182
+ integrity sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==
183
+ dependencies:
184
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
185
+ "@babel/helper-optimise-call-expression" "^7.0.0"
186
+ "@babel/traverse" "^7.1.0"
187
+ "@babel/types" "^7.0.0"
188
+
189
+"@babel/helper-simple-access@^7.1.0":
190
+ version "7.1.0"
191
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
192
+ integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
193
+ dependencies:
194
+ "@babel/template" "^7.1.0"
195
+ "@babel/types" "^7.0.0"
196
+
197
+"@babel/helper-split-export-declaration@^7.0.0":
198
+ version "7.0.0"
199
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
200
+ integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==
201
+ dependencies:
202
+ "@babel/types" "^7.0.0"
203
+
204
+"@babel/helper-wrap-function@^7.1.0":
205
+ version "7.1.0"
206
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz#8cf54e9190706067f016af8f75cb3df829cc8c66"
207
+ integrity sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==
208
+ dependencies:
209
+ "@babel/helper-function-name" "^7.1.0"
210
+ "@babel/template" "^7.1.0"
211
+ "@babel/traverse" "^7.1.0"
212
+ "@babel/types" "^7.0.0"
213
+
214
+"@babel/helpers@^7.1.5":
215
+ version "7.1.5"
216
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.1.5.tgz#68bfc1895d685f2b8f1995e788dbfe1f6ccb1996"
217
+ integrity sha512-2jkcdL02ywNBry1YNFAH/fViq4fXG0vdckHqeJk+75fpQ2OH+Az6076tX/M0835zA45E0Cqa6pV5Kiv9YOqjEg==
218
+ dependencies:
219
+ "@babel/template" "^7.1.2"
220
+ "@babel/traverse" "^7.1.5"
221
+ "@babel/types" "^7.1.5"
222
+
223
+"@babel/highlight@^7.0.0":
224
+ version "7.0.0"
225
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
226
+ integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
227
+ dependencies:
228
+ chalk "^2.0.0"
229
+ esutils "^2.0.2"
230
+ js-tokens "^4.0.0"
231
+
232
+"@babel/parser@^7.1.2", "@babel/parser@^7.1.6":
233
+ version "7.1.6"
234
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.6.tgz#16e97aca1ec1062324a01c5a6a7d0df8dd189854"
235
+ integrity sha512-dWP6LJm9nKT6ALaa+bnL247GHHMWir3vSlZ2+IHgHgktZQx0L3Uvq2uAWcuzIe+fujRsYWBW2q622C5UvGK9iQ==
236
+
237
+"@babel/plugin-proposal-async-generator-functions@^7.1.0":
238
+ version "7.1.0"
239
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz#41c1a702e10081456e23a7b74d891922dd1bb6ce"
240
+ integrity sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==
241
+ dependencies:
242
+ "@babel/helper-plugin-utils" "^7.0.0"
243
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
244
+ "@babel/plugin-syntax-async-generators" "^7.0.0"
245
+
246
+"@babel/plugin-proposal-class-properties@^7.1.0":
247
+ version "7.1.0"
248
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.1.0.tgz#9af01856b1241db60ec8838d84691aa0bd1e8df4"
249
+ integrity sha512-/PCJWN+CKt5v1xcGn4vnuu13QDoV+P7NcICP44BoonAJoPSGwVkgrXihFIQGiEjjPlUDBIw1cM7wYFLARS2/hw==
250
+ dependencies:
251
+ "@babel/helper-function-name" "^7.1.0"
252
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
253
+ "@babel/helper-optimise-call-expression" "^7.0.0"
254
+ "@babel/helper-plugin-utils" "^7.0.0"
255
+ "@babel/helper-replace-supers" "^7.1.0"
256
+ "@babel/plugin-syntax-class-properties" "^7.0.0"
257
+
258
+"@babel/plugin-proposal-json-strings@^7.0.0":
259
+ version "7.0.0"
260
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e"
261
+ integrity sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==
262
+ dependencies:
263
+ "@babel/helper-plugin-utils" "^7.0.0"
264
+ "@babel/plugin-syntax-json-strings" "^7.0.0"
265
+
266
+"@babel/plugin-proposal-object-rest-spread@^7.0.0":
267
+ version "7.0.0"
268
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e"
269
+ integrity sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==
270
+ dependencies:
271
+ "@babel/helper-plugin-utils" "^7.0.0"
272
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
273
+
274
+"@babel/plugin-proposal-optional-catch-binding@^7.0.0":
275
+ version "7.0.0"
276
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425"
277
+ integrity sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==
278
+ dependencies:
279
+ "@babel/helper-plugin-utils" "^7.0.0"
280
+ "@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
281
+
282
+"@babel/plugin-proposal-unicode-property-regex@^7.0.0":
283
+ version "7.0.0"
284
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33"
285
+ integrity sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==
286
+ dependencies:
287
+ "@babel/helper-plugin-utils" "^7.0.0"
288
+ "@babel/helper-regex" "^7.0.0"
289
+ regexpu-core "^4.2.0"
290
+
291
+"@babel/plugin-syntax-async-generators@^7.0.0":
292
+ version "7.0.0"
293
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c"
294
+ integrity sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==
295
+ dependencies:
296
+ "@babel/helper-plugin-utils" "^7.0.0"
297
+
298
+"@babel/plugin-syntax-class-properties@^7.0.0":
299
+ version "7.0.0"
300
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz#e051af5d300cbfbcec4a7476e37a803489881634"
301
+ integrity sha512-cR12g0Qzn4sgkjrbrzWy2GE7m9vMl/sFkqZ3gIpAQdrvPDnLM8180i+ANDFIXfjHo9aqp0ccJlQ0QNZcFUbf9w==
302
+ dependencies:
303
+ "@babel/helper-plugin-utils" "^7.0.0"
304
+
305
+"@babel/plugin-syntax-flow@^7.0.0":
306
+ version "7.0.0"
307
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0.tgz#70638aeaad9ee426bc532e51523cff8ff02f6f17"
308
+ integrity sha512-zGcuZWiWWDa5qTZ6iAnpG0fnX/GOu49pGR5PFvkQ9GmKNaSphXQnlNXh/LG20sqWtNrx/eB6krzfEzcwvUyeFA==
309
+ dependencies:
310
+ "@babel/helper-plugin-utils" "^7.0.0"
311
+
312
+"@babel/plugin-syntax-json-strings@^7.0.0":
313
+ version "7.0.0"
314
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd"
315
+ integrity sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==
316
+ dependencies:
317
+ "@babel/helper-plugin-utils" "^7.0.0"
318
+
319
+"@babel/plugin-syntax-jsx@^7.0.0":
320
+ version "7.0.0"
321
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0.tgz#034d5e2b4e14ccaea2e4c137af7e4afb39375ffd"
322
+ integrity sha512-PdmL2AoPsCLWxhIr3kG2+F9v4WH06Q3z+NoGVpQgnUNGcagXHq5sB3OXxkSahKq9TLdNMN/AJzFYSOo8UKDMHg==
323
+ dependencies:
324
+ "@babel/helper-plugin-utils" "^7.0.0"
325
+
326
+"@babel/plugin-syntax-object-rest-spread@^7.0.0":
327
+ version "7.0.0"
328
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b"
329
+ integrity sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==
330
+ dependencies:
331
+ "@babel/helper-plugin-utils" "^7.0.0"
332
+
333
+"@babel/plugin-syntax-optional-catch-binding@^7.0.0":
334
+ version "7.0.0"
335
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475"
336
+ integrity sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==
337
+ dependencies:
338
+ "@babel/helper-plugin-utils" "^7.0.0"
339
+
340
+"@babel/plugin-transform-arrow-functions@^7.0.0":
341
+ version "7.0.0"
342
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749"
343
+ integrity sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==
344
+ dependencies:
345
+ "@babel/helper-plugin-utils" "^7.0.0"
346
+
347
+"@babel/plugin-transform-async-to-generator@^7.1.0":
348
+ version "7.1.0"
349
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz#109e036496c51dd65857e16acab3bafdf3c57811"
350
+ integrity sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==
351
+ dependencies:
352
+ "@babel/helper-module-imports" "^7.0.0"
353
+ "@babel/helper-plugin-utils" "^7.0.0"
354
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
355
+
356
+"@babel/plugin-transform-block-scoped-functions@^7.0.0":
357
+ version "7.0.0"
358
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07"
359
+ integrity sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==
360
+ dependencies:
361
+ "@babel/helper-plugin-utils" "^7.0.0"
362
+
363
+"@babel/plugin-transform-block-scoping@^7.1.5":
364
+ version "7.1.5"
365
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.1.5.tgz#3e8e0bc9a5104519923302a24f748f72f2f61f37"
366
+ integrity sha512-jlYcDrz+5ayWC7mxgpn1Wj8zj0mmjCT2w0mPIMSwO926eXBRxpEgoN/uQVRBfjtr8ayjcmS+xk2G1jaP8JjMJQ==
367
+ dependencies:
368
+ "@babel/helper-plugin-utils" "^7.0.0"
369
+ lodash "^4.17.10"
370
+
371
+"@babel/plugin-transform-classes@^7.1.0":
372
+ version "7.1.0"
373
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz#ab3f8a564361800cbc8ab1ca6f21108038432249"
374
+ integrity sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==
375
+ dependencies:
376
+ "@babel/helper-annotate-as-pure" "^7.0.0"
377
+ "@babel/helper-define-map" "^7.1.0"
378
+ "@babel/helper-function-name" "^7.1.0"
379
+ "@babel/helper-optimise-call-expression" "^7.0.0"
380
+ "@babel/helper-plugin-utils" "^7.0.0"
381
+ "@babel/helper-replace-supers" "^7.1.0"
382
+ "@babel/helper-split-export-declaration" "^7.0.0"
383
+ globals "^11.1.0"
384
+
385
+"@babel/plugin-transform-computed-properties@^7.0.0":
386
+ version "7.0.0"
387
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31"
388
+ integrity sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==
389
+ dependencies:
390
+ "@babel/helper-plugin-utils" "^7.0.0"
391
+
392
+"@babel/plugin-transform-destructuring@^7.0.0":
393
+ version "7.1.3"
394
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz#e69ff50ca01fac6cb72863c544e516c2b193012f"
395
+ integrity sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==
396
+ dependencies:
397
+ "@babel/helper-plugin-utils" "^7.0.0"
398
+
399
+"@babel/plugin-transform-dotall-regex@^7.0.0":
400
+ version "7.0.0"
401
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58"
402
+ integrity sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==
403
+ dependencies:
404
+ "@babel/helper-plugin-utils" "^7.0.0"
405
+ "@babel/helper-regex" "^7.0.0"
406
+ regexpu-core "^4.1.3"
407
+
408
+"@babel/plugin-transform-duplicate-keys@^7.0.0":
409
+ version "7.0.0"
410
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86"
411
+ integrity sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==
412
+ dependencies:
413
+ "@babel/helper-plugin-utils" "^7.0.0"
414
+
415
+"@babel/plugin-transform-exponentiation-operator@^7.1.0":
416
+ version "7.1.0"
417
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz#9c34c2ee7fd77e02779cfa37e403a2e1003ccc73"
418
+ integrity sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==
419
+ dependencies:
420
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
421
+ "@babel/helper-plugin-utils" "^7.0.0"
422
+
423
+"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.1.6":
424
+ version "7.1.6"
425
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.1.6.tgz#4b7be62604d39e63cfe23b1d00d63e9fb7e763ba"
426
+ integrity sha512-0tyFAAjJmnRlr8MVJV39ASn1hv+PbdVP71hf7aAseqLfQ0o9QXk9htbMbq7/ZYXnUIp6gDw0lUUP0+PQMbbtmg==
427
+ dependencies:
428
+ "@babel/helper-plugin-utils" "^7.0.0"
429
+ "@babel/plugin-syntax-flow" "^7.0.0"
430
+
431
+"@babel/plugin-transform-for-of@^7.0.0":
432
+ version "7.0.0"
433
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39"
434
+ integrity sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==
435
+ dependencies:
436
+ "@babel/helper-plugin-utils" "^7.0.0"
437
+
438
+"@babel/plugin-transform-function-name@^7.1.0":
439
+ version "7.1.0"
440
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz#29c5550d5c46208e7f730516d41eeddd4affadbb"
441
+ integrity sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==
442
+ dependencies:
443
+ "@babel/helper-function-name" "^7.1.0"
444
+ "@babel/helper-plugin-utils" "^7.0.0"
445
+
446
+"@babel/plugin-transform-literals@^7.0.0":
447
+ version "7.0.0"
448
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86"
449
+ integrity sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==
450
+ dependencies:
451
+ "@babel/helper-plugin-utils" "^7.0.0"
452
+
453
+"@babel/plugin-transform-modules-amd@^7.1.0":
454
+ version "7.1.0"
455
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz#f9e0a7072c12e296079b5a59f408ff5b97bf86a8"
456
+ integrity sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==
457
+ dependencies:
458
+ "@babel/helper-module-transforms" "^7.1.0"
459
+ "@babel/helper-plugin-utils" "^7.0.0"
460
+
461
+"@babel/plugin-transform-modules-commonjs@^7.1.0":
462
+ version "7.1.0"
463
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz#0a9d86451cbbfb29bd15186306897c67f6f9a05c"
464
+ integrity sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==
465
+ dependencies:
466
+ "@babel/helper-module-transforms" "^7.1.0"
467
+ "@babel/helper-plugin-utils" "^7.0.0"
468
+ "@babel/helper-simple-access" "^7.1.0"
469
+
470
+"@babel/plugin-transform-modules-systemjs@^7.0.0":
471
+ version "7.1.3"
472
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz#2119a3e3db612fd74a19d88652efbfe9613a5db0"
473
+ integrity sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==
474
+ dependencies:
475
+ "@babel/helper-hoist-variables" "^7.0.0"
476
+ "@babel/helper-plugin-utils" "^7.0.0"
477
+
478
+"@babel/plugin-transform-modules-umd@^7.1.0":
479
+ version "7.1.0"
480
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz#a29a7d85d6f28c3561c33964442257cc6a21f2a8"
481
+ integrity sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==
482
+ dependencies:
483
+ "@babel/helper-module-transforms" "^7.1.0"
484
+ "@babel/helper-plugin-utils" "^7.0.0"
485
+
486
+"@babel/plugin-transform-new-target@^7.0.0":
487
+ version "7.0.0"
488
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a"
489
+ integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==
490
+ dependencies:
491
+ "@babel/helper-plugin-utils" "^7.0.0"
492
+
493
+"@babel/plugin-transform-object-super@^7.1.0":
494
+ version "7.1.0"
495
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz#b1ae194a054b826d8d4ba7ca91486d4ada0f91bb"
496
+ integrity sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==
497
+ dependencies:
498
+ "@babel/helper-plugin-utils" "^7.0.0"
499
+ "@babel/helper-replace-supers" "^7.1.0"
500
+
501
+"@babel/plugin-transform-parameters@^7.1.0":
502
+ version "7.1.0"
503
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz#44f492f9d618c9124026e62301c296bf606a7aed"
504
+ integrity sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==
505
+ dependencies:
506
+ "@babel/helper-call-delegate" "^7.1.0"
507
+ "@babel/helper-get-function-arity" "^7.0.0"
508
+ "@babel/helper-plugin-utils" "^7.0.0"
509
+
510
+"@babel/plugin-transform-react-display-name@^7.0.0":
511
+ version "7.0.0"
512
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0.tgz#93759e6c023782e52c2da3b75eca60d4f10533ee"
513
+ integrity sha512-BX8xKuQTO0HzINxT6j/GiCwoJB0AOMs0HmLbEnAvcte8U8rSkNa/eSCAY+l1OA4JnCVq2jw2p6U8QQryy2fTPg==
514
+ dependencies:
515
+ "@babel/helper-plugin-utils" "^7.0.0"
516
+
517
+"@babel/plugin-transform-react-jsx-self@^7.0.0":
518
+ version "7.0.0"
519
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0.tgz#a84bb70fea302d915ea81d9809e628266bb0bc11"
520
+ integrity sha512-pymy+AK12WO4safW1HmBpwagUQRl9cevNX+82AIAtU1pIdugqcH+nuYP03Ja6B+N4gliAaKWAegIBL/ymALPHA==
521
+ dependencies:
522
+ "@babel/helper-plugin-utils" "^7.0.0"
523
+ "@babel/plugin-syntax-jsx" "^7.0.0"
524
+
525
+"@babel/plugin-transform-react-jsx-source@^7.0.0":
526
+ version "7.0.0"
527
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0.tgz#28e00584f9598c0dd279f6280eee213fa0121c3c"
528
+ integrity sha512-OSeEpFJEH5dw/TtxTg4nijl4nHBbhqbKL94Xo/Y17WKIf2qJWeIk/QeXACF19lG1vMezkxqruwnTjVizaW7u7w==
529
+ dependencies:
530
+ "@babel/helper-plugin-utils" "^7.0.0"
531
+ "@babel/plugin-syntax-jsx" "^7.0.0"
532
+
533
+"@babel/plugin-transform-react-jsx@^7.0.0":
534
+ version "7.1.6"
535
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.1.6.tgz#e6188e7d2a2dcd2796d45a87f8b0a8c906f57d1a"
536
+ integrity sha512-iU/IUlPEYDRwuqLwqVobzPAZkBOQoZ9xRTBmj6ANuk5g/Egn/zdNGnXlSoKeNmKoYVeIRxx5GZhWmMhLik8dag==
537
+ dependencies:
538
+ "@babel/helper-builder-react-jsx" "^7.0.0"
539
+ "@babel/helper-plugin-utils" "^7.0.0"
540
+ "@babel/plugin-syntax-jsx" "^7.0.0"
541
+
542
+"@babel/plugin-transform-regenerator@^7.0.0":
543
+ version "7.0.0"
544
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1"
545
+ integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==
546
+ dependencies:
547
+ regenerator-transform "^0.13.3"
548
+
549
+"@babel/plugin-transform-shorthand-properties@^7.0.0":
550
+ version "7.0.0"
551
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15"
552
+ integrity sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==
553
+ dependencies:
554
+ "@babel/helper-plugin-utils" "^7.0.0"
555
+
556
+"@babel/plugin-transform-spread@^7.0.0":
557
+ version "7.0.0"
558
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b"
559
+ integrity sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==
560
+ dependencies:
561
+ "@babel/helper-plugin-utils" "^7.0.0"
562
+
563
+"@babel/plugin-transform-sticky-regex@^7.0.0":
564
+ version "7.0.0"
565
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366"
566
+ integrity sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==
567
+ dependencies:
568
+ "@babel/helper-plugin-utils" "^7.0.0"
569
+ "@babel/helper-regex" "^7.0.0"
570
+
571
+"@babel/plugin-transform-template-literals@^7.0.0":
572
+ version "7.0.0"
573
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65"
574
+ integrity sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==
575
+ dependencies:
576
+ "@babel/helper-annotate-as-pure" "^7.0.0"
577
+ "@babel/helper-plugin-utils" "^7.0.0"
578
+
579
+"@babel/plugin-transform-typeof-symbol@^7.0.0":
580
+ version "7.0.0"
581
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9"
582
+ integrity sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==
583
+ dependencies:
584
+ "@babel/helper-plugin-utils" "^7.0.0"
585
+
586
+"@babel/plugin-transform-unicode-regex@^7.0.0":
587
+ version "7.0.0"
588
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc"
589
+ integrity sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==
590
+ dependencies:
591
+ "@babel/helper-plugin-utils" "^7.0.0"
592
+ "@babel/helper-regex" "^7.0.0"
593
+ regexpu-core "^4.1.3"
594
+
595
+"@babel/preset-env@^7.1.6":
596
+ version "7.1.6"
597
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.1.6.tgz#a0bf4b96b6bfcf6e000afc5b72b4abe7cc13ae97"
598
+ integrity sha512-YIBfpJNQMBkb6MCkjz/A9J76SNCSuGVamOVBgoUkLzpJD/z8ghHi9I42LQ4pulVX68N/MmImz6ZTixt7Azgexw==
599
+ dependencies:
600
+ "@babel/helper-module-imports" "^7.0.0"
601
+ "@babel/helper-plugin-utils" "^7.0.0"
602
+ "@babel/plugin-proposal-async-generator-functions" "^7.1.0"
603
+ "@babel/plugin-proposal-json-strings" "^7.0.0"
604
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
605
+ "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
606
+ "@babel/plugin-proposal-unicode-property-regex" "^7.0.0"
607
+ "@babel/plugin-syntax-async-generators" "^7.0.0"
608
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
609
+ "@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
610
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
611
+ "@babel/plugin-transform-async-to-generator" "^7.1.0"
612
+ "@babel/plugin-transform-block-scoped-functions" "^7.0.0"
613
+ "@babel/plugin-transform-block-scoping" "^7.1.5"
614
+ "@babel/plugin-transform-classes" "^7.1.0"
615
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
616
+ "@babel/plugin-transform-destructuring" "^7.0.0"
617
+ "@babel/plugin-transform-dotall-regex" "^7.0.0"
618
+ "@babel/plugin-transform-duplicate-keys" "^7.0.0"
619
+ "@babel/plugin-transform-exponentiation-operator" "^7.1.0"
620
+ "@babel/plugin-transform-for-of" "^7.0.0"
621
+ "@babel/plugin-transform-function-name" "^7.1.0"
622
+ "@babel/plugin-transform-literals" "^7.0.0"
623
+ "@babel/plugin-transform-modules-amd" "^7.1.0"
624
+ "@babel/plugin-transform-modules-commonjs" "^7.1.0"
625
+ "@babel/plugin-transform-modules-systemjs" "^7.0.0"
626
+ "@babel/plugin-transform-modules-umd" "^7.1.0"
627
+ "@babel/plugin-transform-new-target" "^7.0.0"
628
+ "@babel/plugin-transform-object-super" "^7.1.0"
629
+ "@babel/plugin-transform-parameters" "^7.1.0"
630
+ "@babel/plugin-transform-regenerator" "^7.0.0"
631
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
632
+ "@babel/plugin-transform-spread" "^7.0.0"
633
+ "@babel/plugin-transform-sticky-regex" "^7.0.0"
634
+ "@babel/plugin-transform-template-literals" "^7.0.0"
635
+ "@babel/plugin-transform-typeof-symbol" "^7.0.0"
636
+ "@babel/plugin-transform-unicode-regex" "^7.0.0"
637
+ browserslist "^4.1.0"
638
+ invariant "^2.2.2"
639
+ js-levenshtein "^1.1.3"
640
+ semver "^5.3.0"
641
+
642
+"@babel/preset-flow@^7.0.0":
643
+ version "7.0.0"
644
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2"
645
+ integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==
646
+ dependencies:
647
+ "@babel/helper-plugin-utils" "^7.0.0"
648
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
649
+
650
+"@babel/preset-react@^7.0.0":
651
+ version "7.0.0"
652
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
653
+ integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==
654
+ dependencies:
655
+ "@babel/helper-plugin-utils" "^7.0.0"
656
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
657
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
658
+ "@babel/plugin-transform-react-jsx-self" "^7.0.0"
659
+ "@babel/plugin-transform-react-jsx-source" "^7.0.0"
660
+
661
+"@babel/template@^7.1.0", "@babel/template@^7.1.2":
662
+ version "7.1.2"
663
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644"
664
+ integrity sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==
665
+ dependencies:
666
+ "@babel/code-frame" "^7.0.0"
667
+ "@babel/parser" "^7.1.2"
668
+ "@babel/types" "^7.1.2"
669
+
670
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.1.6":
671
+ version "7.1.6"
672
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.6.tgz#c8db9963ab4ce5b894222435482bd8ea854b7b5c"
673
+ integrity sha512-CXedit6GpISz3sC2k2FsGCUpOhUqKdyL0lqNrImQojagnUMXf8hex4AxYFRuMkNGcvJX5QAFGzB5WJQmSv8SiQ==
674
+ dependencies:
675
+ "@babel/code-frame" "^7.0.0"
676
+ "@babel/generator" "^7.1.6"
677
+ "@babel/helper-function-name" "^7.1.0"
678
+ "@babel/helper-split-export-declaration" "^7.0.0"
679
+ "@babel/parser" "^7.1.6"
680
+ "@babel/types" "^7.1.6"
681
+ debug "^4.1.0"
682
+ globals "^11.1.0"
683
+ lodash "^4.17.10"
684
+
685
+"@babel/types@^7.0.0", "@babel/types@^7.1.2", "@babel/types@^7.1.5", "@babel/types@^7.1.6":
686
+ version "7.1.6"
687
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.6.tgz#0adb330c3a281348a190263aceb540e10f04bcce"
688
+ integrity sha512-DMiUzlY9DSjVsOylJssxLHSgj6tWM9PRFJOGW/RaOglVOK9nzTxoOMfTfRQXGUCUQ/HmlG2efwC+XqUEJ5ay4w==
689
+ dependencies:
690
+ esutils "^2.0.2"
691
+ lodash "^4.17.10"
692
+ to-fast-properties "^2.0.0"
693
+
694
+"@webassemblyjs/ast@1.7.11":
695
+ version "1.7.11"
696
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace"
697
+ integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==
698
+ dependencies:
699
+ "@webassemblyjs/helper-module-context" "1.7.11"
700
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
701
+ "@webassemblyjs/wast-parser" "1.7.11"
702
+
703
+"@webassemblyjs/floating-point-hex-parser@1.7.11":
704
+ version "1.7.11"
705
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313"
706
+ integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==
707
+
708
+"@webassemblyjs/helper-api-error@1.7.11":
709
+ version "1.7.11"
710
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a"
711
+ integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==
712
+
713
+"@webassemblyjs/helper-buffer@1.7.11":
714
+ version "1.7.11"
715
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b"
716
+ integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==
717
+
718
+"@webassemblyjs/helper-code-frame@1.7.11":
719
+ version "1.7.11"
720
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b"
721
+ integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==
722
+ dependencies:
723
+ "@webassemblyjs/wast-printer" "1.7.11"
724
+
725
+"@webassemblyjs/helper-fsm@1.7.11":
726
+ version "1.7.11"
727
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181"
728
+ integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==
729
+
730
+"@webassemblyjs/helper-module-context@1.7.11":
731
+ version "1.7.11"
732
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209"
733
+ integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==
734
+
735
+"@webassemblyjs/helper-wasm-bytecode@1.7.11":
736
+ version "1.7.11"
737
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06"
738
+ integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==
739
+
740
+"@webassemblyjs/helper-wasm-section@1.7.11":
741
+ version "1.7.11"
742
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a"
743
+ integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==
744
+ dependencies:
745
+ "@webassemblyjs/ast" "1.7.11"
746
+ "@webassemblyjs/helper-buffer" "1.7.11"
747
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
748
+ "@webassemblyjs/wasm-gen" "1.7.11"
749
+
750
+"@webassemblyjs/ieee754@1.7.11":
751
+ version "1.7.11"
752
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b"
753
+ integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==
754
+ dependencies:
755
+ "@xtuc/ieee754" "^1.2.0"
756
+
757
+"@webassemblyjs/leb128@1.7.11":
758
+ version "1.7.11"
759
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63"
760
+ integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==
761
+ dependencies:
762
+ "@xtuc/long" "4.2.1"
763
+
764
+"@webassemblyjs/utf8@1.7.11":
765
+ version "1.7.11"
766
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82"
767
+ integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==
768
+
769
+"@webassemblyjs/wasm-edit@1.7.11":
770
+ version "1.7.11"
771
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005"
772
+ integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==
773
+ dependencies:
774
+ "@webassemblyjs/ast" "1.7.11"
775
+ "@webassemblyjs/helper-buffer" "1.7.11"
776
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
777
+ "@webassemblyjs/helper-wasm-section" "1.7.11"
778
+ "@webassemblyjs/wasm-gen" "1.7.11"
779
+ "@webassemblyjs/wasm-opt" "1.7.11"
780
+ "@webassemblyjs/wasm-parser" "1.7.11"
781
+ "@webassemblyjs/wast-printer" "1.7.11"
782
+
783
+"@webassemblyjs/wasm-gen@1.7.11":
784
+ version "1.7.11"
785
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8"
786
+ integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==
787
+ dependencies:
788
+ "@webassemblyjs/ast" "1.7.11"
789
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
790
+ "@webassemblyjs/ieee754" "1.7.11"
791
+ "@webassemblyjs/leb128" "1.7.11"
792
+ "@webassemblyjs/utf8" "1.7.11"
793
+
794
+"@webassemblyjs/wasm-opt@1.7.11":
795
+ version "1.7.11"
796
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7"
797
+ integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==
798
+ dependencies:
799
+ "@webassemblyjs/ast" "1.7.11"
800
+ "@webassemblyjs/helper-buffer" "1.7.11"
801
+ "@webassemblyjs/wasm-gen" "1.7.11"
802
+ "@webassemblyjs/wasm-parser" "1.7.11"
803
+
804
+"@webassemblyjs/wasm-parser@1.7.11":
805
+ version "1.7.11"
806
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a"
807
+ integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==
808
+ dependencies:
809
+ "@webassemblyjs/ast" "1.7.11"
810
+ "@webassemblyjs/helper-api-error" "1.7.11"
811
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
812
+ "@webassemblyjs/ieee754" "1.7.11"
813
+ "@webassemblyjs/leb128" "1.7.11"
814
+ "@webassemblyjs/utf8" "1.7.11"
815
+
816
+"@webassemblyjs/wast-parser@1.7.11":
817
+ version "1.7.11"
818
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c"
819
+ integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==
820
+ dependencies:
821
+ "@webassemblyjs/ast" "1.7.11"
822
+ "@webassemblyjs/floating-point-hex-parser" "1.7.11"
823
+ "@webassemblyjs/helper-api-error" "1.7.11"
824
+ "@webassemblyjs/helper-code-frame" "1.7.11"
825
+ "@webassemblyjs/helper-fsm" "1.7.11"
826
+ "@xtuc/long" "4.2.1"
827
+
828
+"@webassemblyjs/wast-printer@1.7.11":
829
+ version "1.7.11"
830
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813"
831
+ integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==
832
+ dependencies:
833
+ "@webassemblyjs/ast" "1.7.11"
834
+ "@webassemblyjs/wast-parser" "1.7.11"
835
+ "@xtuc/long" "4.2.1"
836
+
837
+"@xtuc/ieee754@^1.2.0":
838
+ version "1.2.0"
839
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
840
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
841
+
842
+"@xtuc/long@4.2.1":
843
+ version "4.2.1"
844
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8"
845
+ integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==
846
+
847
+Base64@~0.2.0:
848
+ version "0.2.1"
849
+ resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028"
850
+ integrity sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=
851
+
852
+JSONSelect@0.2.1:
853
+ version "0.2.1"
854
+ resolved "https://registry.yarnpkg.com/JSONSelect/-/JSONSelect-0.2.1.tgz#415418a526d33fe31d74b4defa3c836d485ec203"
855
+
856
+JSONStream@^1.0.4:
857
+ version "1.3.2"
858
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea"
859
+ dependencies:
860
+ jsonparse "^1.2.0"
861
+ through ">=2.2.7 <3"
862
+
863
+abab@^1.0.4:
864
+ version "1.0.4"
865
+ resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
866
+
867
+abbrev@1:
868
+ version "1.1.1"
869
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
870
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
871
+
872
+acorn-dynamic-import@^3.0.0:
873
+ version "3.0.0"
874
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
875
+ integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==
876
+ dependencies:
877
+ acorn "^5.0.0"
878
+
879
+acorn-globals@^4.1.0:
880
+ version "4.1.0"
881
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538"
882
+ dependencies:
883
+ acorn "^5.0.0"
884
+
885
+acorn-jsx@^3.0.0:
886
+ version "3.0.1"
887
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
888
+ dependencies:
889
+ acorn "^3.0.4"
890
+
891
+acorn@^3.0.4, acorn@^3.1.0:
892
+ version "3.3.0"
893
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
894
+
895
+acorn@^5.0.0, acorn@^5.3.0:
896
+ version "5.3.0"
897
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822"
898
+
899
+acorn@^5.0.1:
900
+ version "5.1.1"
901
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75"
902
+
903
+acorn@^5.6.2:
904
+ version "5.7.3"
905
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
906
+ integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
907
+
908
+add-stream@^1.0.0:
909
+ version "1.0.0"
910
+ resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
911
+
912
+addons-linter@0.22.3:
913
+ version "0.22.3"
914
+ resolved "https://registry.yarnpkg.com/addons-linter/-/addons-linter-0.22.3.tgz#c954a32c569afd68281c37acb263c65374c6f5ad"
915
+ dependencies:
916
+ ajv "5.2.0"
917
+ chalk "1.1.3"
918
+ cheerio "0.22.0"
919
+ columnify "1.5.4"
920
+ crx-parser "0.1.2"
921
+ dispensary "0.10.10"
922
+ es6-promisify "5.0.0"
923
+ eslint "3.19.0"
924
+ eslint-plugin-no-unsafe-innerhtml "1.0.16"
925
+ esprima "3.1.3"
926
+ first-chunk-stream "2.0.0"
927
+ jed "1.1.1"
928
+ pino "^4.6.0"
929
+ postcss "6.0.2"
930
+ relaxed-json "1.0.1"
931
+ semver "5.3.0"
932
+ source-map-support "0.4.15"
933
+ strip-bom-stream "3.0.0"
934
+ whatwg-url "5.0.0"
935
+ xmldom "0.1.27"
936
+ yargs "8.0.2"
937
+ yauzl "2.8.0"
938
+
939
+adm-zip@^0.4.7:
940
+ version "0.4.11"
941
+ resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a"
942
+ integrity sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==
943
+
944
+adm-zip@~0.4.x:
945
+ version "0.4.7"
946
+ resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1"
947
+
948
+ajv-errors@^1.0.0:
949
+ version "1.0.0"
950
+ resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59"
951
+ integrity sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=
952
+
953
+ajv-keywords@^1.0.0:
954
+ version "1.5.1"
955
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
956
+
957
+ajv-keywords@^3.1.0:
958
+ version "3.2.0"
959
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
960
+ integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=
961
+
962
+ajv@5.2.0:
963
+ version "5.2.0"
964
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.0.tgz#c1735024c5da2ef75cc190713073d44f098bf486"
965
+ dependencies:
966
+ co "^4.6.0"
967
+ fast-deep-equal "^0.1.0"
968
+ json-schema-traverse "^0.3.0"
969
+ json-stable-stringify "^1.0.1"
970
+
971
+ajv@^4.7.0:
972
+ version "4.11.2"
973
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz#f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6"
974
+ dependencies:
975
+ co "^4.6.0"
976
+ json-stable-stringify "^1.0.1"
977
+
978
+ajv@^4.9.1:
979
+ version "4.11.8"
980
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
981
+ dependencies:
982
+ co "^4.6.0"
983
+ json-stable-stringify "^1.0.1"
984
+
985
+ajv@^5.1.0:
986
+ version "5.5.2"
987
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
988
+ dependencies:
989
+ co "^4.6.0"
990
+ fast-deep-equal "^1.0.0"
991
+ fast-json-stable-stringify "^2.0.0"
992
+ json-schema-traverse "^0.3.0"
993
+
994
+ajv@^6.1.0:
995
+ version "6.5.5"
996
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1"
997
+ integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==
998
+ dependencies:
999
+ fast-deep-equal "^2.0.1"
1000
+ fast-json-stable-stringify "^2.0.0"
1001
+ json-schema-traverse "^0.4.1"
1002
+ uri-js "^4.2.2"
1003
+
1004
+align-text@^0.1.1, align-text@^0.1.3:
1005
+ version "0.1.4"
1006
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
1007
+ integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
1008
+ dependencies:
1009
+ kind-of "^3.0.2"
1010
+ longest "^1.0.1"
1011
+ repeat-string "^1.5.2"
1012
+
1013
+amdefine@>=0.0.4:
1014
+ version "1.0.1"
1015
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
1016
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
1017
+
1018
+ansi-align@^2.0.0:
1019
+ version "2.0.0"
1020
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
1021
+ dependencies:
1022
+ string-width "^2.0.0"
1023
+
1024
+ansi-escapes@^1.0.0, ansi-escapes@^1.1.0:
1025
+ version "1.4.0"
1026
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
1027
+
1028
+ansi-escapes@^3.0.0:
1029
+ version "3.0.0"
1030
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
1031
+
1032
+ansi-regex@^2.0.0:
1033
+ version "2.1.1"
1034
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
1035
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
1036
+
1037
+ansi-regex@^3.0.0:
1038
+ version "3.0.0"
1039
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
1040
+
1041
+ansi-styles@^2.2.1:
1042
+ version "2.2.1"
1043
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
1044
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
1045
+
1046
+ansi-styles@^3.1.0:
1047
+ version "3.1.0"
1048
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.1.0.tgz#09c202d5c917ec23188caa5c9cb9179cd9547750"
1049
+ dependencies:
1050
+ color-convert "^1.0.0"
1051
+
1052
+ansi-styles@^3.2.0:
1053
+ version "3.2.0"
1054
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
1055
+ dependencies:
1056
+ color-convert "^1.9.0"
1057
+
1058
+ansi-styles@^3.2.1:
1059
+ version "3.2.1"
1060
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
1061
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
1062
+ dependencies:
1063
+ color-convert "^1.9.0"
1064
+
1065
+any-promise@^1.0.0, any-promise@^1.1.0, any-promise@~1.3.0:
1066
+ version "1.3.0"
1067
+ resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
1068
+
1069
+anymatch@^1.3.0:
1070
+ version "1.3.2"
1071
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
1072
+ integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
1073
+ dependencies:
1074
+ micromatch "^2.1.5"
1075
+ normalize-path "^2.0.0"
1076
+
1077
+anymatch@^2.0.0:
1078
+ version "2.0.0"
1079
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
1080
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
1081
+ dependencies:
1082
+ micromatch "^3.1.4"
1083
+ normalize-path "^2.1.1"
1084
+
1085
+append-transform@^0.4.0:
1086
+ version "0.4.0"
1087
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
1088
+ dependencies:
1089
+ default-require-extensions "^1.0.0"
1090
+
1091
+aproba@^1.0.3, aproba@^1.1.1:
1092
+ version "1.2.0"
1093
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
1094
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
1095
+
1096
+archiver-utils@^1.3.0:
1097
+ version "1.3.0"
1098
+ resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174"
1099
+ dependencies:
1100
+ glob "^7.0.0"
1101
+ graceful-fs "^4.1.0"
1102
+ lazystream "^1.0.0"
1103
+ lodash "^4.8.0"
1104
+ normalize-path "^2.0.0"
1105
+ readable-stream "^2.0.0"
1106
+
1107
+archiver@~1.3.0:
1108
+ version "1.3.0"
1109
+ resolved "https://registry.yarnpkg.com/archiver/-/archiver-1.3.0.tgz#4f2194d6d8f99df3f531e6881f14f15d55faaf22"
1110
+ dependencies:
1111
+ archiver-utils "^1.3.0"
1112
+ async "^2.0.0"
1113
+ buffer-crc32 "^0.2.1"
1114
+ glob "^7.0.0"
1115
+ lodash "^4.8.0"
1116
+ readable-stream "^2.0.0"
1117
+ tar-stream "^1.5.0"
1118
+ walkdir "^0.0.11"
1119
+ zip-stream "^1.1.0"
1120
+
1121
+are-we-there-yet@~1.1.2:
1122
+ version "1.1.5"
1123
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
1124
+ integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
1125
+ dependencies:
1126
+ delegates "^1.0.0"
1127
+ readable-stream "^2.0.6"
1128
+
1129
+argparse@^1.0.7:
1130
+ version "1.0.9"
1131
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
1132
+ dependencies:
1133
+ sprintf-js "~1.0.2"
1134
+
1135
+arr-diff@^2.0.0:
1136
+ version "2.0.0"
1137
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
1138
+ integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
1139
+ dependencies:
1140
+ arr-flatten "^1.0.1"
1141
+
1142
+arr-diff@^4.0.0:
1143
+ version "4.0.0"
1144
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
1145
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
1146
+
1147
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
1148
+ version "1.1.0"
1149
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
1150
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
1151
+
1152
+arr-union@^3.1.0:
1153
+ version "3.1.0"
1154
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
1155
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
1156
+
1157
+array-differ@^1.0.0:
1158
+ version "1.0.0"
1159
+ resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
1160
+
1161
+array-equal@^1.0.0:
1162
+ version "1.0.0"
1163
+ resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
1164
+
1165
+array-filter@~0.0.0:
1166
+ version "0.0.1"
1167
+ resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
1168
+
1169
+array-find-index@^1.0.1:
1170
+ version "1.0.2"
1171
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
1172
+
1173
+array-from@2.1.1:
1174
+ version "2.1.1"
1175
+ resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
1176
+
1177
+array-ify@^1.0.0:
1178
+ version "1.0.0"
1179
+ resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
1180
+
1181
+array-map@~0.0.0:
1182
+ version "0.0.0"
1183
+ resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
1184
+
1185
+array-reduce@~0.0.0:
1186
+ version "0.0.0"
1187
+ resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
1188
+
1189
+array-union@^1.0.1:
1190
+ version "1.0.2"
1191
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
1192
+ dependencies:
1193
+ array-uniq "^1.0.1"
1194
+
1195
+array-uniq@^1.0.1, array-uniq@^1.0.2:
1196
+ version "1.0.3"
1197
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
1198
+
1199
+array-unique@^0.2.1:
1200
+ version "0.2.1"
1201
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
1202
+ integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
1203
+
1204
+array-unique@^0.3.2:
1205
+ version "0.3.2"
1206
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
1207
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
1208
+
1209
+arrify@^1.0.0, arrify@^1.0.1:
1210
+ version "1.0.1"
1211
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
1212
+
1213
+asap@~2.0.3:
1214
+ version "2.0.5"
1215
+ resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
1216
+
1217
+asn1.js@^4.0.0:
1218
+ version "4.10.1"
1219
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
1220
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
1221
+ dependencies:
1222
+ bn.js "^4.0.0"
1223
+ inherits "^2.0.1"
1224
+ minimalistic-assert "^1.0.0"
1225
+
1226
+asn1@~0.2.3:
1227
+ version "0.2.4"
1228
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
1229
+ integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
1230
+ dependencies:
1231
+ safer-buffer "~2.1.0"
1232
+
1233
+assert-plus@1.0.0, assert-plus@^1.0.0:
1234
+ version "1.0.0"
1235
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
1236
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
1237
+
1238
+assert-plus@^0.2.0:
1239
+ version "0.2.0"
1240
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
1241
+ integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ=
1242
+
1243
+assert@^1.1.1:
1244
+ version "1.4.1"
1245
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
1246
+ integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=
1247
+ dependencies:
1248
+ util "0.10.3"
1249
+
1250
+assign-symbols@^1.0.0:
1251
+ version "1.0.0"
1252
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
1253
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
1254
+
1255
+astral-regex@^1.0.0:
1256
+ version "1.0.0"
1257
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
1258
+
1259
+async-each@^1.0.0:
1260
+ version "1.0.1"
1261
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
1262
+ integrity sha1-GdOGodntxufByF04iu28xW0zYC0=
1263
+
1264
+async-limiter@~1.0.0:
1265
+ version "1.0.0"
1266
+ resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
1267
+
1268
+async@2.1.4:
1269
+ version "2.1.4"
1270
+ resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
1271
+ dependencies:
1272
+ lodash "^4.14.0"
1273
+
1274
+async@^1.4.0, async@^1.5.0, async@^1.5.2:
1275
+ version "1.5.2"
1276
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
1277
+
1278
+async@^2.0.0, async@~2.4.1:
1279
+ version "2.4.1"
1280
+ resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7"
1281
+ dependencies:
1282
+ lodash "^4.14.0"
1283
+
1284
+async@^2.1.2:
1285
+ version "2.5.0"
1286
+ resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d"
1287
+ dependencies:
1288
+ lodash "^4.14.0"
1289
+
1290
+async@^2.1.4:
1291
+ version "2.6.0"
1292
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
1293
+ dependencies:
1294
+ lodash "^4.14.0"
1295
+
1296
+async@~0.2.6:
1297
+ version "0.2.10"
1298
+ resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
1299
+ integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E=
1300
+
1301
+async@~2.1.2:
1302
+ version "2.1.5"
1303
+ resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
1304
+ dependencies:
1305
+ lodash "^4.14.0"
1306
+
1307
+asynckit@^0.4.0:
1308
+ version "0.4.0"
1309
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
1310
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
1311
+
1312
+atob@^2.1.1:
1313
+ version "2.1.2"
1314
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
1315
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
1316
+
1317
+aws-sign2@~0.6.0:
1318
+ version "0.6.0"
1319
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
1320
+ integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8=
1321
+
1322
+aws-sign2@~0.7.0:
1323
+ version "0.7.0"
1324
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
1325
+
1326
+aws4@^1.2.1:
1327
+ version "1.8.0"
1328
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
1329
+ integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
1330
+
1331
+aws4@^1.6.0:
1332
+ version "1.6.0"
1333
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
1334
+
1335
+babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.3.13:
1336
+ version "6.22.0"
1337
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
1338
+ dependencies:
1339
+ chalk "^1.1.0"
1340
+ esutils "^2.0.2"
1341
+ js-tokens "^3.0.0"
1342
+
1343
+babel-code-frame@^6.26.0:
1344
+ version "6.26.0"
1345
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
1346
+ dependencies:
1347
+ chalk "^1.1.3"
1348
+ esutils "^2.0.2"
1349
+ js-tokens "^3.0.2"
1350
+
1351
+babel-core@^6.0.0:
1352
+ version "6.3.21"
1353
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.3.21.tgz#807f72b7702508c3e577b29eebad0d833baa65f9"
1354
+ dependencies:
1355
+ babel-code-frame "^6.3.13"
1356
+ babel-generator "^6.3.21"
1357
+ babel-helpers "^6.3.13"
1358
+ babel-messages "^6.3.13"
1359
+ babel-register "^6.3.13"
1360
+ babel-runtime "^5.0.0"
1361
+ babel-template "^6.3.13"
1362
+ babel-traverse "^6.3.21"
1363
+ babel-types "^6.3.21"
1364
+ babylon "^6.3.21"
1365
+ convert-source-map "^1.1.0"
1366
+ debug "^2.1.1"
1367
+ json5 "^0.4.0"
1368
+ lodash "^3.10.0"
1369
+ minimatch "^2.0.3"
1370
+ path-exists "^1.0.0"
1371
+ path-is-absolute "^1.0.0"
1372
+ private "^0.1.6"
1373
+ shebang-regex "^1.0.0"
1374
+ slash "^1.0.0"
1375
+ source-map "^0.5.0"
1376
+
1377
+babel-core@^6.22.0, babel-core@^6.7.2:
1378
+ version "6.22.1"
1379
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648"
1380
+ dependencies:
1381
+ babel-code-frame "^6.22.0"
1382
+ babel-generator "^6.22.0"
1383
+ babel-helpers "^6.22.0"
1384
+ babel-messages "^6.22.0"
1385
+ babel-register "^6.22.0"
1386
+ babel-runtime "^6.22.0"
1387
+ babel-template "^6.22.0"
1388
+ babel-traverse "^6.22.1"
1389
+ babel-types "^6.22.0"
1390
+ babylon "^6.11.0"
1391
+ convert-source-map "^1.1.0"
1392
+ debug "^2.1.1"
1393
+ json5 "^0.5.0"
1394
+ lodash "^4.2.0"
1395
+ minimatch "^3.0.2"
1396
+ path-is-absolute "^1.0.0"
1397
+ private "^0.1.6"
1398
+ slash "^1.0.0"
1399
+ source-map "^0.5.0"
1400
+
1401
+babel-core@^7.0.0-bridge:
1402
+ version "7.0.0-bridge.0"
1403
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
1404
+ integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
1405
+
1406
+babel-eslint@6:
1407
+ version "6.1.2"
1408
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f"
1409
+ integrity sha1-UpNBn+NnLWZZjTJ9qWlFZ7pqXy8=
1410
+ dependencies:
1411
+ babel-traverse "^6.0.20"
1412
+ babel-types "^6.0.19"
1413
+ babylon "^6.0.18"
1414
+ lodash.assign "^4.0.0"
1415
+ lodash.pickby "^4.0.0"
1416
+
1417
+babel-generator@^6.18.0:
1418
+ version "6.26.0"
1419
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
1420
+ dependencies:
1421
+ babel-messages "^6.23.0"
1422
+ babel-runtime "^6.26.0"
1423
+ babel-types "^6.26.0"
1424
+ detect-indent "^4.0.0"
1425
+ jsesc "^1.3.0"
1426
+ lodash "^4.17.4"
1427
+ source-map "^0.5.6"
1428
+ trim-right "^1.0.1"
1429
+
1430
+babel-generator@^6.22.0, babel-generator@^6.3.21:
1431
+ version "6.22.0"
1432
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805"
1433
+ dependencies:
1434
+ babel-messages "^6.22.0"
1435
+ babel-runtime "^6.22.0"
1436
+ babel-types "^6.22.0"
1437
+ detect-indent "^4.0.0"
1438
+ jsesc "^1.3.0"
1439
+ lodash "^4.2.0"
1440
+ source-map "^0.5.0"
1441
+
1442
+babel-helper-call-delegate@^6.22.0:
1443
+ version "6.22.0"
1444
+ resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef"
1445
+ dependencies:
1446
+ babel-helper-hoist-variables "^6.22.0"
1447
+ babel-runtime "^6.22.0"
1448
+ babel-traverse "^6.22.0"
1449
+ babel-types "^6.22.0"
1450
+
1451
+babel-helper-define-map@^6.22.0:
1452
+ version "6.22.0"
1453
+ resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7"
1454
+ dependencies:
1455
+ babel-helper-function-name "^6.22.0"
1456
+ babel-runtime "^6.22.0"
1457
+ babel-types "^6.22.0"
1458
+ lodash "^4.2.0"
1459
+
1460
+babel-helper-function-name@^6.22.0:
1461
+ version "6.22.0"
1462
+ resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc"
1463
+ dependencies:
1464
+ babel-helper-get-function-arity "^6.22.0"
1465
+ babel-runtime "^6.22.0"
1466
+ babel-template "^6.22.0"
1467
+ babel-traverse "^6.22.0"
1468
+ babel-types "^6.22.0"
1469
+
1470
+babel-helper-get-function-arity@^6.22.0:
1471
+ version "6.22.0"
1472
+ resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
1473
+ dependencies:
1474
+ babel-runtime "^6.22.0"
1475
+ babel-types "^6.22.0"
1476
+
1477
+babel-helper-hoist-variables@^6.22.0:
1478
+ version "6.22.0"
1479
+ resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72"
1480
+ dependencies:
1481
+ babel-runtime "^6.22.0"
1482
+ babel-types "^6.22.0"
1483
+
1484
+babel-helper-optimise-call-expression@^6.22.0:
1485
+ version "6.22.0"
1486
+ resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15"
1487
+ dependencies:
1488
+ babel-runtime "^6.22.0"
1489
+ babel-types "^6.22.0"
1490
+
1491
+babel-helper-replace-supers@^6.22.0:
1492
+ version "6.22.0"
1493
+ resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42"
1494
+ dependencies:
1495
+ babel-helper-optimise-call-expression "^6.22.0"
1496
+ babel-messages "^6.22.0"
1497
+ babel-runtime "^6.22.0"
1498
+ babel-template "^6.22.0"
1499
+ babel-traverse "^6.22.0"
1500
+ babel-types "^6.22.0"
1501
+
1502
+babel-helpers@^6.22.0, babel-helpers@^6.3.13:
1503
+ version "6.22.0"
1504
+ resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c"
1505
+ dependencies:
1506
+ babel-runtime "^6.22.0"
1507
+ babel-template "^6.22.0"
1508
+
1509
+babel-jest@^22.1.0:
1510
+ version "22.1.0"
1511
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.1.0.tgz#7fae6f655fffe77e818a8c2868c754a42463fdfd"
1512
+ dependencies:
1513
+ babel-plugin-istanbul "^4.1.5"
1514
+ babel-preset-jest "^22.1.0"
1515
+
1516
+babel-jest@^23.6.0:
1517
+ version "23.6.0"
1518
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1"
1519
+ integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==
1520
+ dependencies:
1521
+ babel-plugin-istanbul "^4.1.6"
1522
+ babel-preset-jest "^23.2.0"
1523
+
1524
+babel-loader@^8.0.4:
1525
+ version "8.0.4"
1526
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.4.tgz#7bbf20cbe4560629e2e41534147692d3fecbdce6"
1527
+ integrity sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==
1528
+ dependencies:
1529
+ find-cache-dir "^1.0.0"
1530
+ loader-utils "^1.0.2"
1531
+ mkdirp "^0.5.1"
1532
+ util.promisify "^1.0.0"
1533
+
1534
+babel-messages@^6.22.0, babel-messages@^6.3.13:
1535
+ version "6.22.0"
1536
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575"
1537
+ dependencies:
1538
+ babel-runtime "^6.22.0"
1539
+
1540
+babel-messages@^6.23.0:
1541
+ version "6.23.0"
1542
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
1543
+ dependencies:
1544
+ babel-runtime "^6.22.0"
1545
+
1546
+babel-plugin-check-es2015-constants@^6.7.2:
1547
+ version "6.22.0"
1548
+ resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
1549
+ dependencies:
1550
+ babel-runtime "^6.22.0"
1551
+
1552
+babel-plugin-istanbul@^4.1.5:
1553
+ version "4.1.5"
1554
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e"
1555
+ dependencies:
1556
+ find-up "^2.1.0"
1557
+ istanbul-lib-instrument "^1.7.5"
1558
+ test-exclude "^4.1.1"
1559
+
1560
+babel-plugin-istanbul@^4.1.6:
1561
+ version "4.1.6"
1562
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
1563
+ integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==
1564
+ dependencies:
1565
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
1566
+ find-up "^2.1.0"
1567
+ istanbul-lib-instrument "^1.10.1"
1568
+ test-exclude "^4.2.1"
1569
+
1570
+babel-plugin-jest-hoist@^22.1.0:
1571
+ version "22.1.0"
1572
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.1.0.tgz#c1281dd7887d77a1711dc760468c3b8285dde9ee"
1573
+
1574
+babel-plugin-jest-hoist@^23.2.0:
1575
+ version "23.2.0"
1576
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167"
1577
+ integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=
1578
+
1579
+babel-plugin-syntax-class-properties@^6.8.0:
1580
+ version "6.13.0"
1581
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
1582
+
1583
+babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.5.0:
1584
+ version "6.18.0"
1585
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
1586
+
1587
+babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.5.0, babel-plugin-syntax-object-rest-spread@^6.8.0:
1588
+ version "6.13.0"
1589
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
1590
+
1591
+babel-plugin-syntax-trailing-function-commas@^6.5.0:
1592
+ version "6.22.0"
1593
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
1594
+
1595
+babel-plugin-transform-class-properties@^6.6.0:
1596
+ version "6.22.0"
1597
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8"
1598
+ dependencies:
1599
+ babel-helper-function-name "^6.22.0"
1600
+ babel-plugin-syntax-class-properties "^6.8.0"
1601
+ babel-runtime "^6.22.0"
1602
+ babel-template "^6.22.0"
1603
+
1604
+babel-plugin-transform-es2015-arrow-functions@^6.5.2:
1605
+ version "6.22.0"
1606
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
1607
+ dependencies:
1608
+ babel-runtime "^6.22.0"
1609
+
1610
+babel-plugin-transform-es2015-block-scoped-functions@^6.6.5:
1611
+ version "6.22.0"
1612
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
1613
+ dependencies:
1614
+ babel-runtime "^6.22.0"
1615
+
1616
+babel-plugin-transform-es2015-block-scoping@^6.7.1:
1617
+ version "6.22.0"
1618
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e"
1619
+ dependencies:
1620
+ babel-runtime "^6.22.0"
1621
+ babel-template "^6.22.0"
1622
+ babel-traverse "^6.22.0"
1623
+ babel-types "^6.22.0"
1624
+ lodash "^4.2.0"
1625
+
1626
+babel-plugin-transform-es2015-classes@^6.6.5:
1627
+ version "6.22.0"
1628
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14"
1629
+ dependencies:
1630
+ babel-helper-define-map "^6.22.0"
1631
+ babel-helper-function-name "^6.22.0"
1632
+ babel-helper-optimise-call-expression "^6.22.0"
1633
+ babel-helper-replace-supers "^6.22.0"
1634
+ babel-messages "^6.22.0"
1635
+ babel-runtime "^6.22.0"
1636
+ babel-template "^6.22.0"
1637
+ babel-traverse "^6.22.0"
1638
+ babel-types "^6.22.0"
1639
+
1640
+babel-plugin-transform-es2015-computed-properties@^6.6.5:
1641
+ version "6.22.0"
1642
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7"
1643
+ dependencies:
1644
+ babel-runtime "^6.22.0"
1645
+ babel-template "^6.22.0"
1646
+
1647
+babel-plugin-transform-es2015-destructuring@^6.6.5:
1648
+ version "6.22.0"
1649
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6"
1650
+ dependencies:
1651
+ babel-runtime "^6.22.0"
1652
+
1653
+babel-plugin-transform-es2015-for-of@^6.6.0:
1654
+ version "6.22.0"
1655
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265"
1656
+ dependencies:
1657
+ babel-runtime "^6.22.0"
1658
+
1659
+babel-plugin-transform-es2015-literals@^6.5.0:
1660
+ version "6.22.0"
1661
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
1662
+ dependencies:
1663
+ babel-runtime "^6.22.0"
1664
+
1665
+babel-plugin-transform-es2015-modules-commonjs@^6.7.0:
1666
+ version "6.22.0"
1667
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145"
1668
+ dependencies:
1669
+ babel-plugin-transform-strict-mode "^6.22.0"
1670
+ babel-runtime "^6.22.0"
1671
+ babel-template "^6.22.0"
1672
+ babel-types "^6.22.0"
1673
+
1674
+babel-plugin-transform-es2015-object-super@^6.6.5:
1675
+ version "6.22.0"
1676
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc"
1677
+ dependencies:
1678
+ babel-helper-replace-supers "^6.22.0"
1679
+ babel-runtime "^6.22.0"
1680
+
1681
+babel-plugin-transform-es2015-parameters@^6.7.0:
1682
+ version "6.22.0"
1683
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb"
1684
+ dependencies:
1685
+ babel-helper-call-delegate "^6.22.0"
1686
+ babel-helper-get-function-arity "^6.22.0"
1687
+ babel-runtime "^6.22.0"
1688
+ babel-template "^6.22.0"
1689
+ babel-traverse "^6.22.0"
1690
+ babel-types "^6.22.0"
1691
+
1692
+babel-plugin-transform-es2015-shorthand-properties@^6.5.0:
1693
+ version "6.22.0"
1694
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723"
1695
+ dependencies:
1696
+ babel-runtime "^6.22.0"
1697
+ babel-types "^6.22.0"
1698
+
1699
+babel-plugin-transform-es2015-spread@^6.6.5:
1700
+ version "6.22.0"
1701
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
1702
+ dependencies:
1703
+ babel-runtime "^6.22.0"
1704
+
1705
+babel-plugin-transform-es2015-template-literals@^6.6.5:
1706
+ version "6.22.0"
1707
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
1708
+ dependencies:
1709
+ babel-runtime "^6.22.0"
1710
+
1711
+babel-plugin-transform-es3-member-expression-literals@^6.5.0:
1712
+ version "6.22.0"
1713
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz#733d3444f3ecc41bef8ed1a6a4e09657b8969ebb"
1714
+ dependencies:
1715
+ babel-runtime "^6.22.0"
1716
+
1717
+babel-plugin-transform-es3-property-literals@^6.5.0:
1718
+ version "6.22.0"
1719
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz#b2078d5842e22abf40f73e8cde9cd3711abd5758"
1720
+ dependencies:
1721
+ babel-runtime "^6.22.0"
1722
+
1723
+babel-plugin-transform-flow-strip-types@^6.7.0:
1724
+ version "6.22.0"
1725
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf"
1726
+ dependencies:
1727
+ babel-plugin-syntax-flow "^6.18.0"
1728
+ babel-runtime "^6.22.0"
1729
+
1730
+babel-plugin-transform-object-rest-spread@^6.6.5:
1731
+ version "6.22.0"
1732
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz#1d419b55e68d2e4f64a5ff3373bd67d73c8e83bc"
1733
+ dependencies:
1734
+ babel-plugin-syntax-object-rest-spread "^6.8.0"
1735
+ babel-runtime "^6.22.0"
1736
+
1737
+babel-plugin-transform-strict-mode@^6.22.0:
1738
+ version "6.22.0"
1739
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c"
1740
+ dependencies:
1741
+ babel-runtime "^6.22.0"
1742
+ babel-types "^6.22.0"
1743
+
1744
+babel-polyfill@6.16.0:
1745
+ version "6.16.0"
1746
+ resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422"
1747
+ dependencies:
1748
+ babel-runtime "^6.9.1"
1749
+ core-js "^2.4.0"
1750
+ regenerator-runtime "^0.9.5"
1751
+
1752
+babel-polyfill@6.20.0:
1753
+ version "6.20.0"
1754
+ resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.20.0.tgz#de4a371006139e20990aac0be367d398331204e7"
1755
+ dependencies:
1756
+ babel-runtime "^6.20.0"
1757
+ core-js "^2.4.0"
1758
+ regenerator-runtime "^0.10.0"
1759
+
1760
+babel-preset-fbjs@^1.0.0:
1761
+ version "1.0.0"
1762
+ resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-1.0.0.tgz#c972e5c9b301d4ec9e7971f4aec3e14ac017a8b0"
1763
+ dependencies:
1764
+ babel-plugin-check-es2015-constants "^6.7.2"
1765
+ babel-plugin-syntax-flow "^6.5.0"
1766
+ babel-plugin-syntax-object-rest-spread "^6.5.0"
1767
+ babel-plugin-syntax-trailing-function-commas "^6.5.0"
1768
+ babel-plugin-transform-class-properties "^6.6.0"
1769
+ babel-plugin-transform-es2015-arrow-functions "^6.5.2"
1770
+ babel-plugin-transform-es2015-block-scoped-functions "^6.6.5"
1771
+ babel-plugin-transform-es2015-block-scoping "^6.7.1"
1772
+ babel-plugin-transform-es2015-classes "^6.6.5"
1773
+ babel-plugin-transform-es2015-computed-properties "^6.6.5"
1774
+ babel-plugin-transform-es2015-destructuring "^6.6.5"
1775
+ babel-plugin-transform-es2015-for-of "^6.6.0"
1776
+ babel-plugin-transform-es2015-literals "^6.5.0"
1777
+ babel-plugin-transform-es2015-modules-commonjs "^6.7.0"
1778
+ babel-plugin-transform-es2015-object-super "^6.6.5"
1779
+ babel-plugin-transform-es2015-parameters "^6.7.0"
1780
+ babel-plugin-transform-es2015-shorthand-properties "^6.5.0"
1781
+ babel-plugin-transform-es2015-spread "^6.6.5"
1782
+ babel-plugin-transform-es2015-template-literals "^6.6.5"
1783
+ babel-plugin-transform-es3-member-expression-literals "^6.5.0"
1784
+ babel-plugin-transform-es3-property-literals "^6.5.0"
1785
+ babel-plugin-transform-flow-strip-types "^6.7.0"
1786
+ babel-plugin-transform-object-rest-spread "^6.6.5"
1787
+ object-assign "^4.0.1"
1788
+
1789
+babel-preset-jest@^22.1.0:
1790
+ version "22.1.0"
1791
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.1.0.tgz#ff4e704102f9642765e2254226050561d8942ec9"
1792
+ dependencies:
1793
+ babel-plugin-jest-hoist "^22.1.0"
1794
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
1795
+
1796
+babel-preset-jest@^23.2.0:
1797
+ version "23.2.0"
1798
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46"
1799
+ integrity sha1-jsegOhOPABoaj7HoETZSvxpV2kY=
1800
+ dependencies:
1801
+ babel-plugin-jest-hoist "^23.2.0"
1802
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
1803
+
1804
+babel-register@^6.22.0, babel-register@^6.3.13:
1805
+ version "6.22.0"
1806
+ resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63"
1807
+ dependencies:
1808
+ babel-core "^6.22.0"
1809
+ babel-runtime "^6.22.0"
1810
+ core-js "^2.4.0"
1811
+ home-or-tmp "^2.0.0"
1812
+ lodash "^4.2.0"
1813
+ mkdirp "^0.5.1"
1814
+ source-map-support "^0.4.2"
1815
+
1816
+babel-runtime@6.23.0, babel-runtime@^6.20.0, babel-runtime@^6.9.1:
1817
+ version "6.23.0"
1818
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
1819
+ dependencies:
1820
+ core-js "^2.4.0"
1821
+ regenerator-runtime "^0.10.0"
1822
+
1823
+babel-runtime@^5.0.0:
1824
+ version "5.8.38"
1825
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-5.8.38.tgz#1c0b02eb63312f5f087ff20450827b425c9d4c19"
1826
+ dependencies:
1827
+ core-js "^1.0.0"
1828
+
1829
+babel-runtime@^6.22.0:
1830
+ version "6.22.0"
1831
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
1832
+ dependencies:
1833
+ core-js "^2.4.0"
1834
+ regenerator-runtime "^0.10.0"
1835
+
1836
+babel-runtime@^6.26.0:
1837
+ version "6.26.0"
1838
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
1839
+ dependencies:
1840
+ core-js "^2.4.0"
1841
+ regenerator-runtime "^0.11.0"
1842
+
1843
+babel-template@^6.16.0:
1844
+ version "6.26.0"
1845
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
1846
+ dependencies:
1847
+ babel-runtime "^6.26.0"
1848
+ babel-traverse "^6.26.0"
1849
+ babel-types "^6.26.0"
1850
+ babylon "^6.18.0"
1851
+ lodash "^4.17.4"
1852
+
1853
+babel-template@^6.22.0, babel-template@^6.3.13:
1854
+ version "6.22.0"
1855
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb"
1856
+ dependencies:
1857
+ babel-runtime "^6.22.0"
1858
+ babel-traverse "^6.22.0"
1859
+ babel-types "^6.22.0"
1860
+ babylon "^6.11.0"
1861
+ lodash "^4.2.0"
1862
+
1863
+babel-traverse@^6.0.20, babel-traverse@^6.18.0, babel-traverse@^6.26.0:
1864
+ version "6.26.0"
1865
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
1866
+ dependencies:
1867
+ babel-code-frame "^6.26.0"
1868
+ babel-messages "^6.23.0"
1869
+ babel-runtime "^6.26.0"
1870
+ babel-types "^6.26.0"
1871
+ babylon "^6.18.0"
1872
+ debug "^2.6.8"
1873
+ globals "^9.18.0"
1874
+ invariant "^2.2.2"
1875
+ lodash "^4.17.4"
1876
+
1877
+babel-traverse@^6.22.0, babel-traverse@^6.22.1, babel-traverse@^6.3.21:
1878
+ version "6.22.1"
1879
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f"
1880
+ dependencies:
1881
+ babel-code-frame "^6.22.0"
1882
+ babel-messages "^6.22.0"
1883
+ babel-runtime "^6.22.0"
1884
+ babel-types "^6.22.0"
1885
+ babylon "^6.15.0"
1886
+ debug "^2.2.0"
1887
+ globals "^9.0.0"
1888
+ invariant "^2.2.0"
1889
+ lodash "^4.2.0"
1890
+
1891
+babel-types@^6.0.19, babel-types@^6.18.0, babel-types@^6.26.0:
1892
+ version "6.26.0"
1893
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
1894
+ dependencies:
1895
+ babel-runtime "^6.26.0"
1896
+ esutils "^2.0.2"
1897
+ lodash "^4.17.4"
1898
+ to-fast-properties "^1.0.3"
1899
+
1900
+babel-types@^6.22.0, babel-types@^6.3.21:
1901
+ version "6.22.0"
1902
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db"
1903
+ dependencies:
1904
+ babel-runtime "^6.22.0"
1905
+ esutils "^2.0.2"
1906
+ lodash "^4.2.0"
1907
+ to-fast-properties "^1.0.1"
1908
+
1909
+babylon@^6.0.18, babylon@^6.18.0:
1910
+ version "6.18.0"
1911
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
1912
+
1913
+babylon@^6.11.0, babylon@^6.15.0, babylon@^6.3.21:
1914
+ version "6.15.0"
1915
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
1916
+
1917
+balanced-match@^1.0.0:
1918
+ version "1.0.0"
1919
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
1920
+
1921
+base64-js@0.0.8:
1922
+ version "0.0.8"
1923
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978"
1924
+ integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=
1925
+
1926
+base64-js@^1.0.2:
1927
+ version "1.3.0"
1928
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
1929
+ integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
1930
+
1931
+base64url@2.0.0, base64url@^2.0.0:
1932
+ version "2.0.0"
1933
+ resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb"
1934
+
1935
+base@^0.11.1:
1936
+ version "0.11.2"
1937
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
1938
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
1939
+ dependencies:
1940
+ cache-base "^1.0.1"
1941
+ class-utils "^0.3.5"
1942
+ component-emitter "^1.2.1"
1943
+ define-property "^1.0.0"
1944
+ isobject "^3.0.1"
1945
+ mixin-deep "^1.2.0"
1946
+ pascalcase "^0.1.1"
1947
+
1948
+bcrypt-pbkdf@^1.0.0:
1949
+ version "1.0.2"
1950
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
1951
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
1952
+ dependencies:
1953
+ tweetnacl "^0.14.3"
1954
+
1955
+beeper@^1.0.0:
1956
+ version "1.1.1"
1957
+ resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
1958
+
1959
+big.js@^3.1.3:
1960
+ version "3.2.0"
1961
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
1962
+ integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==
1963
+
1964
+binary-extensions@^1.0.0:
1965
+ version "1.12.0"
1966
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14"
1967
+ integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==
1968
+
1969
+bl@^1.0.0:
1970
+ version "1.2.0"
1971
+ resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98"
1972
+ dependencies:
1973
+ readable-stream "^2.0.5"
1974
+
1975
+block-stream@*:
1976
+ version "0.0.9"
1977
+ resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
1978
+ integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
1979
+ dependencies:
1980
+ inherits "~2.0.0"
1981
+
1982
+bluebird@^3.5.1:
1983
+ version "3.5.3"
1984
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"
1985
+ integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==
1986
+
1987
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
1988
+ version "4.11.8"
1989
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
1990
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
1991
+
1992
+boolbase@~1.0.0:
1993
+ version "1.0.0"
1994
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
1995
+
1996
+boom@2.x.x:
1997
+ version "2.10.1"
1998
+ resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
1999
+ integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=
2000
+ dependencies:
2001
+ hoek "2.x.x"
2002
+
2003
+boom@4.x.x:
2004
+ version "4.3.1"
2005
+ resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
2006
+ dependencies:
2007
+ hoek "4.x.x"
2008
+
2009
+boom@5.x.x:
2010
+ version "5.2.0"
2011
+ resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
2012
+ dependencies:
2013
+ hoek "4.x.x"
2014
+
2015
+boxen@^1.0.0:
2016
+ version "1.2.0"
2017
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.0.tgz#03478d84be7fe02189b80904d81d6a80384368f1"
2018
+ dependencies:
2019
+ ansi-align "^2.0.0"
2020
+ camelcase "^4.0.0"
2021
+ chalk "^2.0.1"
2022
+ cli-boxes "^1.0.0"
2023
+ string-width "^2.0.0"
2024
+ term-size "^1.2.0"
2025
+ widest-line "^1.0.0"
2026
+
2027
+brace-expansion@^1.0.0:
2028
+ version "1.1.11"
2029
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
2030
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
2031
+ dependencies:
2032
+ balanced-match "^1.0.0"
2033
+ concat-map "0.0.1"
2034
+
2035
+brace-expansion@^1.1.7:
2036
+ version "1.1.8"
2037
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
2038
+ dependencies:
2039
+ balanced-match "^1.0.0"
2040
+ concat-map "0.0.1"
2041
+
2042
+braces@^1.8.2:
2043
+ version "1.8.5"
2044
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
2045
+ integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
2046
+ dependencies:
2047
+ expand-range "^1.8.1"
2048
+ preserve "^0.2.0"
2049
+ repeat-element "^1.1.2"
2050
+
2051
+braces@^2.3.0, braces@^2.3.1:
2052
+ version "2.3.2"
2053
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
2054
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
2055
+ dependencies:
2056
+ arr-flatten "^1.1.0"
2057
+ array-unique "^0.3.2"
2058
+ extend-shallow "^2.0.1"
2059
+ fill-range "^4.0.0"
2060
+ isobject "^3.0.1"
2061
+ repeat-element "^1.1.2"
2062
+ snapdragon "^0.8.1"
2063
+ snapdragon-node "^2.0.1"
2064
+ split-string "^3.0.2"
2065
+ to-regex "^3.0.1"
2066
+
2067
+brorand@^1.0.1:
2068
+ version "1.1.0"
2069
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
2070
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
2071
+
2072
+browser-process-hrtime@^0.1.2:
2073
+ version "0.1.2"
2074
+ resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"
2075
+
2076
+browser-resolve@^1.11.2:
2077
+ version "1.11.2"
2078
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
2079
+ dependencies:
2080
+ resolve "1.1.7"
2081
+
2082
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
2083
+ version "1.2.0"
2084
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
2085
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
2086
+ dependencies:
2087
+ buffer-xor "^1.0.3"
2088
+ cipher-base "^1.0.0"
2089
+ create-hash "^1.1.0"
2090
+ evp_bytestokey "^1.0.3"
2091
+ inherits "^2.0.1"
2092
+ safe-buffer "^5.0.1"
2093
+
2094
+browserify-cipher@^1.0.0:
2095
+ version "1.0.1"
2096
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
2097
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
2098
+ dependencies:
2099
+ browserify-aes "^1.0.4"
2100
+ browserify-des "^1.0.0"
2101
+ evp_bytestokey "^1.0.0"
2102
+
2103
+browserify-des@^1.0.0:
2104
+ version "1.0.2"
2105
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
2106
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
2107
+ dependencies:
2108
+ cipher-base "^1.0.1"
2109
+ des.js "^1.0.0"
2110
+ inherits "^2.0.1"
2111
+ safe-buffer "^5.1.2"
2112
+
2113
+browserify-rsa@^4.0.0:
2114
+ version "4.0.1"
2115
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
2116
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
2117
+ dependencies:
2118
+ bn.js "^4.1.0"
2119
+ randombytes "^2.0.1"
2120
+
2121
+browserify-sign@^4.0.0:
2122
+ version "4.0.4"
2123
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
2124
+ integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
2125
+ dependencies:
2126
+ bn.js "^4.1.1"
2127
+ browserify-rsa "^4.0.0"
2128
+ create-hash "^1.1.0"
2129
+ create-hmac "^1.1.2"
2130
+ elliptic "^6.0.0"
2131
+ inherits "^2.0.1"
2132
+ parse-asn1 "^5.0.0"
2133
+
2134
+browserify-zlib@^0.2.0:
2135
+ version "0.2.0"
2136
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
2137
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
2138
+ dependencies:
2139
+ pako "~1.0.5"
2140
+
2141
+browserify-zlib@~0.1.4:
2142
+ version "0.1.4"
2143
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
2144
+ integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=
2145
+ dependencies:
2146
+ pako "~0.2.0"
2147
+
2148
+browserslist@^4.1.0:
2149
+ version "4.3.4"
2150
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.4.tgz#4477b737db6a1b07077275b24791e680d4300425"
2151
+ integrity sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==
2152
+ dependencies:
2153
+ caniuse-lite "^1.0.30000899"
2154
+ electron-to-chromium "^1.3.82"
2155
+ node-releases "^1.0.1"
2156
+
2157
+bser@^2.0.0:
2158
+ version "2.0.0"
2159
+ resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
2160
+ dependencies:
2161
+ node-int64 "^0.4.0"
2162
+
2163
+buffer-crc32@^0.2.1, buffer-crc32@~0.2.3:
2164
+ version "0.2.13"
2165
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
2166
+
2167
+buffer-equal-constant-time@1.0.1:
2168
+ version "1.0.1"
2169
+ resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
2170
+
2171
+buffer-from@^1.0.0:
2172
+ version "1.1.1"
2173
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
2174
+ integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
2175
+
2176
+buffer-shims@^1.0.0:
2177
+ version "1.0.0"
2178
+ resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
2179
+ integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=
2180
+
2181
+buffer-xor@^1.0.3:
2182
+ version "1.0.3"
2183
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
2184
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
2185
+
2186
+buffer@^3.0.3:
2187
+ version "3.6.0"
2188
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb"
2189
+ integrity sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=
2190
+ dependencies:
2191
+ base64-js "0.0.8"
2192
+ ieee754 "^1.1.4"
2193
+ isarray "^1.0.0"
2194
+
2195
+buffer@^4.3.0:
2196
+ version "4.9.1"
2197
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
2198
+ integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
2199
+ dependencies:
2200
+ base64-js "^1.0.2"
2201
+ ieee754 "^1.1.4"
2202
+ isarray "^1.0.0"
2203
+
2204
+builtin-modules@^1.0.0:
2205
+ version "1.1.1"
2206
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
2207
+
2208
+builtin-status-codes@^3.0.0:
2209
+ version "3.0.0"
2210
+ resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
2211
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
2212
+
2213
+bunyan@1.8.10:
2214
+ version "1.8.10"
2215
+ resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.10.tgz#201fedd26c7080b632f416072f53a90b9a52981c"
2216
+ optionalDependencies:
2217
+ dtrace-provider "~0.8"
2218
+ moment "^2.10.6"
2219
+ mv "~2"
2220
+ safe-json-stringify "~1"
2221
+
2222
+byline@^5.0.0:
2223
+ version "5.0.0"
2224
+ resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
2225
+
2226
+cacache@^11.0.2:
2227
+ version "11.3.1"
2228
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f"
2229
+ integrity sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==
2230
+ dependencies:
2231
+ bluebird "^3.5.1"
2232
+ chownr "^1.0.1"
2233
+ figgy-pudding "^3.1.0"
2234
+ glob "^7.1.2"
2235
+ graceful-fs "^4.1.11"
2236
+ lru-cache "^4.1.3"
2237
+ mississippi "^3.0.0"
2238
+ mkdirp "^0.5.1"
2239
+ move-concurrently "^1.0.1"
2240
+ promise-inflight "^1.0.1"
2241
+ rimraf "^2.6.2"
2242
+ ssri "^6.0.0"
2243
+ unique-filename "^1.1.0"
2244
+ y18n "^4.0.0"
2245
+
2246
+cache-base@^1.0.1:
2247
+ version "1.0.1"
2248
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
2249
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
2250
+ dependencies:
2251
+ collection-visit "^1.0.0"
2252
+ component-emitter "^1.2.1"
2253
+ get-value "^2.0.6"
2254
+ has-value "^1.0.0"
2255
+ isobject "^3.0.1"
2256
+ set-value "^2.0.0"
2257
+ to-object-path "^0.3.0"
2258
+ union-value "^1.0.0"
2259
+ unset-value "^1.0.0"
2260
+
2261
+caller-path@^0.1.0:
2262
+ version "0.1.0"
2263
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
2264
+ dependencies:
2265
+ callsites "^0.2.0"
2266
+
2267
+callsites@^0.2.0:
2268
+ version "0.2.0"
2269
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
2270
+
2271
+callsites@^2.0.0:
2272
+ version "2.0.0"
2273
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
2274
+
2275
+camelcase-keys@^2.0.0:
2276
+ version "2.1.0"
2277
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
2278
+ dependencies:
2279
+ camelcase "^2.0.0"
2280
+ map-obj "^1.0.0"
2281
+
2282
+camelcase@4.1.0, camelcase@^4.0.0, camelcase@^4.1.0:
2283
+ version "4.1.0"
2284
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
2285
+
2286
+camelcase@^1.0.2:
2287
+ version "1.2.1"
2288
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
2289
+ integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
2290
+
2291
+camelcase@^2.0.0:
2292
+ version "2.1.1"
2293
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
2294
+
2295
+camelcase@^3.0.0:
2296
+ version "3.0.0"
2297
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
2298
+
2299
+camelcase@^5.0.0:
2300
+ version "5.0.0"
2301
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
2302
+ integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
2303
+
2304
+caniuse-lite@^1.0.30000899:
2305
+ version "1.0.30000910"
2306
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000910.tgz#755d5181d4b006e5a2b59b1ffa05d0a0470039f5"
2307
+ integrity sha512-u/nxtHGAzCGZzIxt3dA/tpSPOcirBZFWKwz1EPz4aaupnBI2XR0Rbr74g0zc6Hzy41OEM4uMoZ38k56TpYAWjQ==
2308
+
2309
+capture-stack-trace@^1.0.0:
2310
+ version "1.0.0"
2311
+ resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
2312
+
2313
+caseless@~0.11.0:
2314
+ version "0.11.0"
2315
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
2316
+ integrity sha1-cVuW6phBWTzDMGeSP17GDr2k99c=
2317
+
2318
+caseless@~0.12.0:
2319
+ version "0.12.0"
2320
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
2321
+
2322
+center-align@^0.1.1:
2323
+ version "0.1.3"
2324
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
2325
+ integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
2326
+ dependencies:
2327
+ align-text "^0.1.3"
2328
+ lazy-cache "^1.0.3"
2329
+
2330
+chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
2331
+ version "1.1.3"
2332
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
2333
+ dependencies:
2334
+ ansi-styles "^2.2.1"
2335
+ escape-string-regexp "^1.0.2"
2336
+ has-ansi "^2.0.0"
2337
+ strip-ansi "^3.0.0"
2338
+ supports-color "^2.0.0"
2339
+
2340
+chalk@^2.0.0, chalk@^2.1.0:
2341
+ version "2.3.0"
2342
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
2343
+ dependencies:
2344
+ ansi-styles "^3.1.0"
2345
+ escape-string-regexp "^1.0.5"
2346
+ supports-color "^4.0.0"
2347
+
2348
+chalk@^2.0.1:
2349
+ version "2.0.1"
2350
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d"
2351
+ dependencies:
2352
+ ansi-styles "^3.1.0"
2353
+ escape-string-regexp "^1.0.5"
2354
+ supports-color "^4.0.0"
2355
+
2356
+chalk@^2.4.1:
2357
+ version "2.4.1"
2358
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
2359
+ integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==
2360
+ dependencies:
2361
+ ansi-styles "^3.2.1"
2362
+ escape-string-regexp "^1.0.5"
2363
+ supports-color "^5.3.0"
2364
+
2365
+chardet@^0.4.0:
2366
+ version "0.4.2"
2367
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
2368
+
2369
+cheerio@0.22.0:
2370
+ version "0.22.0"
2371
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
2372
+ dependencies:
2373
+ css-select "~1.2.0"
2374
+ dom-serializer "~0.1.0"
2375
+ entities "~1.1.1"
2376
+ htmlparser2 "^3.9.1"
2377
+ lodash.assignin "^4.0.9"
2378
+ lodash.bind "^4.1.4"
2379
+ lodash.defaults "^4.0.1"
2380
+ lodash.filter "^4.4.0"
2381
+ lodash.flatten "^4.2.0"
2382
+ lodash.foreach "^4.3.0"
2383
+ lodash.map "^4.4.0"
2384
+ lodash.merge "^4.4.0"
2385
+ lodash.pick "^4.2.1"
2386
+ lodash.reduce "^4.4.0"
2387
+ lodash.reject "^4.4.0"
2388
+ lodash.some "^4.4.0"
2389
+
2390
+child-process-promise@^2.2.1:
2391
+ version "2.2.1"
2392
+ resolved "https://registry.yarnpkg.com/child-process-promise/-/child-process-promise-2.2.1.tgz#4730a11ef610fad450b8f223c79d31d7bdad8074"
2393
+ dependencies:
2394
+ cross-spawn "^4.0.2"
2395
+ node-version "^1.0.0"
2396
+ promise-polyfill "^6.0.1"
2397
+
2398
+chokidar@^1.4.3:
2399
+ version "1.7.0"
2400
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
2401
+ dependencies:
2402
+ anymatch "^1.3.0"
2403
+ async-each "^1.0.0"
2404
+ glob-parent "^2.0.0"
2405
+ inherits "^2.0.1"
2406
+ is-binary-path "^1.0.0"
2407
+ is-glob "^2.0.0"
2408
+ path-is-absolute "^1.0.0"
2409
+ readdirp "^2.0.0"
2410
+ optionalDependencies:
2411
+ fsevents "^1.0.0"
2412
+
2413
+chokidar@^2.0.2:
2414
+ version "2.0.4"
2415
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26"
2416
+ integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==
2417
+ dependencies:
2418
+ anymatch "^2.0.0"
2419
+ async-each "^1.0.0"
2420
+ braces "^2.3.0"
2421
+ glob-parent "^3.1.0"
2422
+ inherits "^2.0.1"
2423
+ is-binary-path "^1.0.0"
2424
+ is-glob "^4.0.0"
2425
+ lodash.debounce "^4.0.8"
2426
+ normalize-path "^2.1.1"
2427
+ path-is-absolute "^1.0.0"
2428
+ readdirp "^2.0.0"
2429
+ upath "^1.0.5"
2430
+ optionalDependencies:
2431
+ fsevents "^1.2.2"
2432
+
2433
+chownr@^1.0.1, chownr@^1.1.1:
2434
+ version "1.1.1"
2435
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
2436
+ integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
2437
+
2438
+chrome-launch@^1.1.4:
2439
+ version "1.1.4"
2440
+ resolved "https://registry.yarnpkg.com/chrome-launch/-/chrome-launch-1.1.4.tgz#c8985bd022635a5cc897099bafd19831838a7252"
2441
+ dependencies:
2442
+ chrome-location "^1.2.0"
2443
+ quick-tmp "0.0.0"
2444
+ rimraf "^2.2.8"
2445
+ shallow-copy "0.0.1"
2446
+
2447
+chrome-location@^1.2.0:
2448
+ version "1.2.1"
2449
+ resolved "https://registry.yarnpkg.com/chrome-location/-/chrome-location-1.2.1.tgz#6911511a4eac55027625c73b937ca5ca7ab94995"
2450
+ dependencies:
2451
+ userhome "^1.0.0"
2452
+ which "^1.0.5"
2453
+
2454
+chrome-trace-event@^1.0.0:
2455
+ version "1.0.0"
2456
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48"
2457
+ integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==
2458
+ dependencies:
2459
+ tslib "^1.9.0"
2460
+
2461
+ci-info@^1.0.0:
2462
+ version "1.1.2"
2463
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4"
2464
+
2465
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
2466
+ version "1.0.4"
2467
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
2468
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
2469
+ dependencies:
2470
+ inherits "^2.0.1"
2471
+ safe-buffer "^5.0.1"
2472
+
2473
+circular-json@^0.3.1:
2474
+ version "0.3.1"
2475
+ resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
2476
+
2477
+class-utils@^0.3.5:
2478
+ version "0.3.6"
2479
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
2480
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
2481
+ dependencies:
2482
+ arr-union "^3.1.0"
2483
+ define-property "^0.2.5"
2484
+ isobject "^3.0.0"
2485
+ static-extend "^0.1.1"
2486
+
2487
+classnames@2.2.1:
2488
+ version "2.2.1"
2489
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.1.tgz#4d1a3d02d037d45e00b096c0be6f5496dcbf288a"
2490
+
2491
+cli-boxes@^1.0.0:
2492
+ version "1.0.0"
2493
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
2494
+
2495
+cli-cursor@^1.0.1:
2496
+ version "1.0.2"
2497
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
2498
+ dependencies:
2499
+ restore-cursor "^1.0.1"
2500
+
2501
+cli-cursor@^2.0.0, cli-cursor@^2.1.0:
2502
+ version "2.1.0"
2503
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
2504
+ dependencies:
2505
+ restore-cursor "^2.0.0"
2506
+
2507
+cli-spinners@^1.0.0:
2508
+ version "1.0.0"
2509
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
2510
+
2511
+cli-width@^2.0.0:
2512
+ version "2.1.0"
2513
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
2514
+
2515
+clipboard-js@^0.3.3:
2516
+ version "0.3.3"
2517
+ resolved "https://registry.yarnpkg.com/clipboard-js/-/clipboard-js-0.3.3.tgz#62264c17c80ebf84f4022286f032501e890b8922"
2518
+
2519
+cliui@^2.1.0:
2520
+ version "2.1.0"
2521
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
2522
+ integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
2523
+ dependencies:
2524
+ center-align "^0.1.1"
2525
+ right-align "^0.1.1"
2526
+ wordwrap "0.0.2"
2527
+
2528
+cliui@^3.2.0:
2529
+ version "3.2.0"
2530
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
2531
+ dependencies:
2532
+ string-width "^1.0.1"
2533
+ strip-ansi "^3.0.1"
2534
+ wrap-ansi "^2.0.0"
2535
+
2536
+cliui@^4.0.0:
2537
+ version "4.0.0"
2538
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc"
2539
+ dependencies:
2540
+ string-width "^2.1.1"
2541
+ strip-ansi "^4.0.0"
2542
+ wrap-ansi "^2.0.0"
2543
+
2544
+clone-stats@^0.0.1:
2545
+ version "0.0.1"
2546
+ resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
2547
+
2548
+clone@^1.0.0:
2549
+ version "1.0.2"
2550
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
2551
+
2552
+clone@^1.0.2:
2553
+ version "1.0.4"
2554
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
2555
+ integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
2556
+
2557
+cmd-shim@^2.0.2:
2558
+ version "2.0.2"
2559
+ resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb"
2560
+ dependencies:
2561
+ graceful-fs "^4.1.2"
2562
+ mkdirp "~0.5.0"
2563
+
2564
+co@^4.6.0:
2565
+ version "4.6.0"
2566
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
2567
+
2568
+code-point-at@^1.0.0:
2569
+ version "1.1.0"
2570
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
2571
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
2572
+
2573
+collection-visit@^1.0.0:
2574
+ version "1.0.0"
2575
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
2576
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
2577
+ dependencies:
2578
+ map-visit "^1.0.0"
2579
+ object-visit "^1.0.0"
2580
+
2581
+color-convert@^1.0.0:
2582
+ version "1.9.0"
2583
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
2584
+ dependencies:
2585
+ color-name "^1.1.1"
2586
+
2587
+color-convert@^1.9.0:
2588
+ version "1.9.1"
2589
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
2590
+ dependencies:
2591
+ color-name "^1.1.1"
2592
+
2593
+color-name@^1.1.1:
2594
+ version "1.1.2"
2595
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
2596
+
2597
+colors@0.5.x:
2598
+ version "0.5.1"
2599
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
2600
+
2601
+columnify@1.5.4, columnify@^1.5.4:
2602
+ version "1.5.4"
2603
+ resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
2604
+ dependencies:
2605
+ strip-ansi "^3.0.0"
2606
+ wcwidth "^1.0.0"
2607
+
2608
+combined-stream@^1.0.5, combined-stream@~1.0.5:
2609
+ version "1.0.7"
2610
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
2611
+ integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
2612
+ dependencies:
2613
+ delayed-stream "~1.0.0"
2614
+
2615
+command-join@^2.0.0:
2616
+ version "2.0.0"
2617
+ resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf"
2618
+
2619
+commander@2.9.0:
2620
+ version "2.9.0"
2621
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
2622
+ dependencies:
2623
+ graceful-readlink ">= 1.0.0"
2624
+
2625
+commander@^2.6.0:
2626
+ version "2.11.0"
2627
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
2628
+
2629
+commander@^2.9.0:
2630
+ version "2.19.0"
2631
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
2632
+ integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
2633
+
2634
+commander@~2.17.1:
2635
+ version "2.17.1"
2636
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
2637
+ integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
2638
+
2639
+commondir@^1.0.1:
2640
+ version "1.0.1"
2641
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
2642
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
2643
+
2644
+compare-func@^1.3.1:
2645
+ version "1.3.2"
2646
+ resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648"
2647
+ dependencies:
2648
+ array-ify "^1.0.0"
2649
+ dot-prop "^3.0.0"
2650
+
2651
+component-emitter@^1.2.1:
2652
+ version "1.2.1"
2653
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
2654
+ integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
2655
+
2656
+compress-commons@^1.2.0:
2657
+ version "1.2.0"
2658
+ resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.0.tgz#58587092ef20d37cb58baf000112c9278ff73b9f"
2659
+ dependencies:
2660
+ buffer-crc32 "^0.2.1"
2661
+ crc32-stream "^2.0.0"
2662
+ normalize-path "^2.0.0"
2663
+ readable-stream "^2.0.0"
2664
+
2665
+concat-map@0.0.1:
2666
+ version "0.0.1"
2667
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
2668
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
2669
+
2670
+concat-stream@^1.4.10, concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2:
2671
+ version "1.6.0"
2672
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
2673
+ dependencies:
2674
+ inherits "^2.0.3"
2675
+ readable-stream "^2.2.2"
2676
+ typedarray "^0.0.6"
2677
+
2678
+concat-stream@^1.5.0:
2679
+ version "1.6.2"
2680
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
2681
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
2682
+ dependencies:
2683
+ buffer-from "^1.0.0"
2684
+ inherits "^2.0.3"
2685
+ readable-stream "^2.2.2"
2686
+ typedarray "^0.0.6"
2687
+
2688
+configstore@^3.0.0:
2689
+ version "3.1.0"
2690
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.0.tgz#45df907073e26dfa1cf4b2d52f5b60545eaa11d1"
2691
+ dependencies:
2692
+ dot-prop "^4.1.0"
2693
+ graceful-fs "^4.1.2"
2694
+ make-dir "^1.0.0"
2695
+ unique-string "^1.0.0"
2696
+ write-file-atomic "^2.0.0"
2697
+ xdg-basedir "^3.0.0"
2698
+
2699
+console-browserify@^1.1.0:
2700
+ version "1.1.0"
2701
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
2702
+ integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=
2703
+ dependencies:
2704
+ date-now "^0.1.4"
2705
+
2706
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
2707
+ version "1.1.0"
2708
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
2709
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
2710
+
2711
+constants-browserify@0.0.1:
2712
+ version "0.0.1"
2713
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2"
2714
+ integrity sha1-kld9tSe6bEzwpFaNhLwDH0QeIfI=
2715
+
2716
+constants-browserify@^1.0.0:
2717
+ version "1.0.0"
2718
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
2719
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
2720
+
2721
+content-type-parser@^1.0.2:
2722
+ version "1.0.2"
2723
+ resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7"
2724
+
2725
+conventional-changelog-angular@^1.6.1:
2726
+ version "1.6.1"
2727
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.1.tgz#e1434d017c854032b272f690424a8c0ca16dc318"
2728
+ dependencies:
2729
+ compare-func "^1.3.1"
2730
+ q "^1.4.1"
2731
+
2732
+conventional-changelog-atom@^0.2.0:
2733
+ version "0.2.0"
2734
+ resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.0.tgz#72f18e5c74e3d8807411252fe013818ddffa7157"
2735
+ dependencies:
2736
+ q "^1.4.1"
2737
+
2738
+conventional-changelog-cli@^1.3.2:
2739
+ version "1.3.8"
2740
+ resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.8.tgz#3b3f3591cb8d1f154bdb28e1819c5fcd8d967536"
2741
+ dependencies:
2742
+ add-stream "^1.0.0"
2743
+ conventional-changelog "^1.1.10"
2744
+ lodash "^4.1.0"
2745
+ meow "^3.7.0"
2746
+ tempfile "^1.1.1"
2747
+
2748
+conventional-changelog-codemirror@^0.3.0:
2749
+ version "0.3.0"
2750
+ resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.0.tgz#4dd8abb9f521a638cab49f683496c26b8a5c6d31"
2751
+ dependencies:
2752
+ q "^1.4.1"
2753
+
2754
+conventional-changelog-core@^2.0.0:
2755
+ version "2.0.0"
2756
+ resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.0.tgz#1bdf7d21f3d066427ff9e07db0a2c5dd60015b9f"
2757
+ dependencies:
2758
+ conventional-changelog-writer "^3.0.0"
2759
+ conventional-commits-parser "^2.1.0"
2760
+ dateformat "^1.0.12"
2761
+ get-pkg-repo "^1.0.0"
2762
+ git-raw-commits "^1.3.0"
2763
+ git-remote-origin-url "^2.0.0"
2764
+ git-semver-tags "^1.3.0"
2765
+ lodash "^4.0.0"
2766
+ normalize-package-data "^2.3.5"
2767
+ q "^1.4.1"
2768
+ read-pkg "^1.1.0"
2769
+ read-pkg-up "^1.0.1"
2770
+ through2 "^2.0.0"
2771
+
2772
+conventional-changelog-ember@^0.3.1:
2773
+ version "0.3.1"
2774
+ resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.1.tgz#bc71dc0a57e5c7ed0bf0538c32e44220691871d1"
2775
+ dependencies:
2776
+ q "^1.4.1"
2777
+
2778
+conventional-changelog-eslint@^1.0.0:
2779
+ version "1.0.0"
2780
+ resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.0.tgz#c63cd9d6f09d4e204530ae7369d7a20a167bc6bc"
2781
+ dependencies:
2782
+ q "^1.4.1"
2783
+
2784
+conventional-changelog-express@^0.3.0:
2785
+ version "0.3.0"
2786
+ resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.0.tgz#5ed006f48682d8615ee0ab5f53cacb26fbd3e1c8"
2787
+ dependencies:
2788
+ q "^1.4.1"
2789
+
2790
+conventional-changelog-jquery@^0.1.0:
2791
+ version "0.1.0"
2792
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510"
2793
+ dependencies:
2794
+ q "^1.4.1"
2795
+
2796
+conventional-changelog-jscs@^0.1.0:
2797
+ version "0.1.0"
2798
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c"
2799
+ dependencies:
2800
+ q "^1.4.1"
2801
+
2802
+conventional-changelog-jshint@^0.3.0:
2803
+ version "0.3.0"
2804
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.0.tgz#0393fd468113baf73cba911d17c5826423366a28"
2805
+ dependencies:
2806
+ compare-func "^1.3.1"
2807
+ q "^1.4.1"
2808
+
2809
+conventional-changelog-writer@^3.0.0:
2810
+ version "3.0.0"
2811
+ resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.0.tgz#e106154ed94341e387d717b61be2181ff53254cc"
2812
+ dependencies:
2813
+ compare-func "^1.3.1"
2814
+ conventional-commits-filter "^1.1.1"
2815
+ dateformat "^1.0.11"
2816
+ handlebars "^4.0.2"
2817
+ json-stringify-safe "^5.0.1"
2818
+ lodash "^4.0.0"
2819
+ meow "^3.3.0"
2820
+ semver "^5.0.1"
2821
+ split "^1.0.0"
2822
+ through2 "^2.0.0"
2823
+
2824
+conventional-changelog@^1.1.10:
2825
+ version "1.1.10"
2826
+ resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.10.tgz#d9bb3aad9086152d283e4707fb45a5b7a28e9e98"
2827
+ dependencies:
2828
+ conventional-changelog-angular "^1.6.1"
2829
+ conventional-changelog-atom "^0.2.0"
2830
+ conventional-changelog-codemirror "^0.3.0"
2831
+ conventional-changelog-core "^2.0.0"
2832
+ conventional-changelog-ember "^0.3.1"
2833
+ conventional-changelog-eslint "^1.0.0"
2834
+ conventional-changelog-express "^0.3.0"
2835
+ conventional-changelog-jquery "^0.1.0"
2836
+ conventional-changelog-jscs "^0.1.0"
2837
+ conventional-changelog-jshint "^0.3.0"
2838
+
2839
+conventional-commits-filter@^1.1.1:
2840
+ version "1.1.1"
2841
+ resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.1.tgz#72172319c0c88328a015b30686b55527b3a5e54a"
2842
+ dependencies:
2843
+ is-subset "^0.1.1"
2844
+ modify-values "^1.0.0"
2845
+
2846
+conventional-commits-parser@^2.1.0:
2847
+ version "2.1.0"
2848
+ resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.0.tgz#9b4b7c91124bf2a1a9a2cc1c72760d382cbbb229"
2849
+ dependencies:
2850
+ JSONStream "^1.0.4"
2851
+ is-text-path "^1.0.0"
2852
+ lodash "^4.2.1"
2853
+ meow "^3.3.0"
2854
+ split2 "^2.0.0"
2855
+ through2 "^2.0.0"
2856
+ trim-off-newlines "^1.0.0"
2857
+
2858
+conventional-recommended-bump@^1.0.1:
2859
+ version "1.2.0"
2860
+ resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.2.0.tgz#864fb955825d9c6056620cee4657b0dc0628a3e9"
2861
+ dependencies:
2862
+ concat-stream "^1.4.10"
2863
+ conventional-commits-filter "^1.1.1"
2864
+ conventional-commits-parser "^2.1.0"
2865
+ git-raw-commits "^1.3.0"
2866
+ git-semver-tags "^1.3.0"
2867
+ meow "^3.3.0"
2868
+ object-assign "^4.0.1"
2869
+
2870
+convert-source-map@^1.1.0:
2871
+ version "1.3.0"
2872
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
2873
+
2874
+convert-source-map@^1.4.0:
2875
+ version "1.5.1"
2876
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
2877
+
2878
+copy-concurrently@^1.0.0:
2879
+ version "1.0.5"
2880
+ resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
2881
+ integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
2882
+ dependencies:
2883
+ aproba "^1.1.1"
2884
+ fs-write-stream-atomic "^1.0.8"
2885
+ iferr "^0.1.5"
2886
+ mkdirp "^0.5.1"
2887
+ rimraf "^2.5.4"
2888
+ run-queue "^1.0.0"
2889
+
2890
+copy-descriptor@^0.1.0:
2891
+ version "0.1.1"
2892
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
2893
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
2894
+
2895
+core-js@^1.0.0:
2896
+ version "1.2.7"
2897
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
2898
+
2899
+core-js@^2.4.0:
2900
+ version "2.4.1"
2901
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
2902
+
2903
+core-util-is@1.0.2, core-util-is@~1.0.0:
2904
+ version "1.0.2"
2905
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
2906
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
2907
+
2908
+crc32-stream@^2.0.0:
2909
+ version "2.0.0"
2910
+ resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4"
2911
+ dependencies:
2912
+ crc "^3.4.4"
2913
+ readable-stream "^2.0.0"
2914
+
2915
+crc@^3.4.4:
2916
+ version "3.4.4"
2917
+ resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b"
2918
+
2919
+create-ecdh@^4.0.0:
2920
+ version "4.0.3"
2921
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
2922
+ integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
2923
+ dependencies:
2924
+ bn.js "^4.1.0"
2925
+ elliptic "^6.0.0"
2926
+
2927
+create-error-class@^3.0.0:
2928
+ version "3.0.2"
2929
+ resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
2930
+ dependencies:
2931
+ capture-stack-trace "^1.0.0"
2932
+
2933
+create-hash@^1.1.0, create-hash@^1.1.2:
2934
+ version "1.2.0"
2935
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
2936
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
2937
+ dependencies:
2938
+ cipher-base "^1.0.1"
2939
+ inherits "^2.0.1"
2940
+ md5.js "^1.3.4"
2941
+ ripemd160 "^2.0.1"
2942
+ sha.js "^2.4.0"
2943
+
2944
+create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
2945
+ version "1.1.7"
2946
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
2947
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
2948
+ dependencies:
2949
+ cipher-base "^1.0.3"
2950
+ create-hash "^1.1.0"
2951
+ inherits "^2.0.1"
2952
+ ripemd160 "^2.0.0"
2953
+ safe-buffer "^5.0.1"
2954
+ sha.js "^2.4.8"
2955
+
2956
+cross-spawn-async@^2.2.2:
2957
+ version "2.2.5"
2958
+ resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc"
2959
+ dependencies:
2960
+ lru-cache "^4.0.0"
2961
+ which "^1.2.8"
2962
+
2963
+cross-spawn@^2.1.5:
2964
+ version "2.2.3"
2965
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-2.2.3.tgz#fac56202dfd3d0dd861778f2da203bf434bb821c"
2966
+ dependencies:
2967
+ cross-spawn-async "^2.2.2"
2968
+ spawn-sync "^1.0.15"
2969
+
2970
+cross-spawn@^4.0.0, cross-spawn@^4.0.2:
2971
+ version "4.0.2"
2972
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
2973
+ dependencies:
2974
+ lru-cache "^4.0.1"
2975
+ which "^1.2.9"
2976
+
2977
+cross-spawn@^5.0.1:
2978
+ version "5.1.0"
2979
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
2980
+ dependencies:
2981
+ lru-cache "^4.0.1"
2982
+ shebang-command "^1.2.0"
2983
+ which "^1.2.9"
2984
+
2985
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
2986
+ version "6.0.5"
2987
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
2988
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
2989
+ dependencies:
2990
+ nice-try "^1.0.4"
2991
+ path-key "^2.0.1"
2992
+ semver "^5.5.0"
2993
+ shebang-command "^1.2.0"
2994
+ which "^1.2.9"
2995
+
2996
+crx-parser@0.1.2:
2997
+ version "0.1.2"
2998
+ resolved "https://registry.yarnpkg.com/crx-parser/-/crx-parser-0.1.2.tgz#7eeeed9eddc95e22c189382e34624044a89a5a6d"
2999
+
3000
+cryptiles@2.x.x:
3001
+ version "2.0.5"
3002
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
3003
+ integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=
3004
+ dependencies:
3005
+ boom "2.x.x"
3006
+
3007
+cryptiles@3.x.x:
3008
+ version "3.1.2"
3009
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
3010
+ dependencies:
3011
+ boom "5.x.x"
3012
+
3013
+crypto-browserify@^3.11.0:
3014
+ version "3.12.0"
3015
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
3016
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
3017
+ dependencies:
3018
+ browserify-cipher "^1.0.0"
3019
+ browserify-sign "^4.0.0"
3020
+ create-ecdh "^4.0.0"
3021
+ create-hash "^1.1.0"
3022
+ create-hmac "^1.1.0"
3023
+ diffie-hellman "^5.0.0"
3024
+ inherits "^2.0.1"
3025
+ pbkdf2 "^3.0.3"
3026
+ public-encrypt "^4.0.0"
3027
+ randombytes "^2.0.0"
3028
+ randomfill "^1.0.3"
3029
+
3030
+crypto-browserify@~3.2.6:
3031
+ version "3.2.8"
3032
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.2.8.tgz#b9b11dbe6d9651dd882a01e6cc467df718ecf189"
3033
+ integrity sha1-ubEdvm2WUd2IKgHmzEZ99xjs8Yk=
3034
+ dependencies:
3035
+ pbkdf2-compat "2.0.1"
3036
+ ripemd160 "0.2.0"
3037
+ sha.js "2.2.6"
3038
+
3039
+crypto-random-string@^1.0.0:
3040
+ version "1.0.0"
3041
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
3042
+
3043
+css-loader@^1.0.1:
3044
+ version "1.0.1"
3045
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe"
3046
+ integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==
3047
+ dependencies:
3048
+ babel-code-frame "^6.26.0"
3049
+ css-selector-tokenizer "^0.7.0"
3050
+ icss-utils "^2.1.0"
3051
+ loader-utils "^1.0.2"
3052
+ lodash "^4.17.11"
3053
+ postcss "^6.0.23"
3054
+ postcss-modules-extract-imports "^1.2.0"
3055
+ postcss-modules-local-by-default "^1.2.0"
3056
+ postcss-modules-scope "^1.1.0"
3057
+ postcss-modules-values "^1.3.0"
3058
+ postcss-value-parser "^3.3.0"
3059
+ source-list-map "^2.0.0"
3060
+
3061
+css-select@~1.2.0:
3062
+ version "1.2.0"
3063
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
3064
+ dependencies:
3065
+ boolbase "~1.0.0"
3066
+ css-what "2.1"
3067
+ domutils "1.5.1"
3068
+ nth-check "~1.0.1"
3069
+
3070
+css-selector-tokenizer@^0.7.0:
3071
+ version "0.7.1"
3072
+ resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
3073
+ integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==
3074
+ dependencies:
3075
+ cssesc "^0.1.0"
3076
+ fastparse "^1.1.1"
3077
+ regexpu-core "^1.0.0"
3078
+
3079
+css-what@2.1:
3080
+ version "2.1.0"
3081
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
3082
+
3083
+cssesc@^0.1.0:
3084
+ version "0.1.0"
3085
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
3086
+ integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=
3087
+
3088
+cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
3089
+ version "0.3.2"
3090
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b"
3091
+
3092
+"cssstyle@>= 0.2.37 < 0.3.0":
3093
+ version "0.2.37"
3094
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54"
3095
+ dependencies:
3096
+ cssom "0.3.x"
3097
+
3098
+currently-unhandled@^0.4.1:
3099
+ version "0.4.1"
3100
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
3101
+ dependencies:
3102
+ array-find-index "^1.0.1"
3103
+
3104
+cyclist@~0.2.2:
3105
+ version "0.2.2"
3106
+ resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
3107
+ integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
3108
+
3109
+d@^0.1.1, d@~0.1.1:
3110
+ version "0.1.1"
3111
+ resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309"
3112
+ dependencies:
3113
+ es5-ext "~0.10.2"
3114
+
3115
+dargs@^4.0.1:
3116
+ version "4.1.0"
3117
+ resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
3118
+ dependencies:
3119
+ number-is-nan "^1.0.0"
3120
+
3121
+dashdash@^1.12.0:
3122
+ version "1.14.1"
3123
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
3124
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
3125
+ dependencies:
3126
+ assert-plus "^1.0.0"
3127
+
3128
+date-now@^0.1.4:
3129
+ version "0.1.4"
3130
+ resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
3131
+ integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
3132
+
3133
+dateformat@^1.0.11, dateformat@^1.0.12:
3134
+ version "1.0.12"
3135
+ resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
3136
+ dependencies:
3137
+ get-stdin "^4.0.1"
3138
+ meow "^3.3.0"
3139
+
3140
+dateformat@^2.0.0:
3141
+ version "2.0.0"
3142
+ resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"
3143
+
3144
+debounce@1.0.2:
3145
+ version "1.0.2"
3146
+ resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.0.2.tgz#503cc674d8d7f737099664fb75ddbd36b9626dc6"
3147
+
3148
+debug@^2.1.1, debug@^2.2.0:
3149
+ version "2.6.0"
3150
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
3151
+ dependencies:
3152
+ ms "0.7.2"
3153
+
3154
+debug@^2.1.2, debug@^2.3.3, debug@^2.6.8:
3155
+ version "2.6.9"
3156
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
3157
+ dependencies:
3158
+ ms "2.0.0"
3159
+
3160
+debug@^3.1.0:
3161
+ version "3.1.0"
3162
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
3163
+ dependencies:
3164
+ ms "2.0.0"
3165
+
3166
+debug@^4.1.0:
3167
+ version "4.1.0"
3168
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87"
3169
+ integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==
3170
+ dependencies:
3171
+ ms "^2.1.1"
3172
+
3173
+decamelize@1.2.0, decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
3174
+ version "1.2.0"
3175
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
3176
+
3177
+decode-uri-component@^0.2.0:
3178
+ version "0.2.0"
3179
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
3180
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
3181
+
3182
+dedent@^0.7.0:
3183
+ version "0.7.0"
3184
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
3185
+
3186
+deep-extend@^0.6.0:
3187
+ version "0.6.0"
3188
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
3189
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
3190
+
3191
+deep-extend@~0.4.0:
3192
+ version "0.4.2"
3193
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
3194
+ integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=
3195
+
3196
+deep-is@~0.1.3:
3197
+ version "0.1.3"
3198
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
3199
+
3200
+deepcopy@0.6.3:
3201
+ version "0.6.3"
3202
+ resolved "https://registry.yarnpkg.com/deepcopy/-/deepcopy-0.6.3.tgz#634780f2f8656ab771af8fa8431ed1ccee55c7b0"
3203
+
3204
+default-require-extensions@^1.0.0:
3205
+ version "1.0.0"
3206
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
3207
+ dependencies:
3208
+ strip-bom "^2.0.0"
3209
+
3210
+defaults@^1.0.3:
3211
+ version "1.0.3"
3212
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
3213
+ dependencies:
3214
+ clone "^1.0.2"
3215
+
3216
+define-properties@^1.1.2:
3217
+ version "1.1.2"
3218
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
3219
+ dependencies:
3220
+ foreach "^2.0.5"
3221
+ object-keys "^1.0.8"
3222
+
3223
+define-property@^0.2.5:
3224
+ version "0.2.5"
3225
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
3226
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
3227
+ dependencies:
3228
+ is-descriptor "^0.1.0"
3229
+
3230
+define-property@^1.0.0:
3231
+ version "1.0.0"
3232
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
3233
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
3234
+ dependencies:
3235
+ is-descriptor "^1.0.0"
3236
+
3237
+define-property@^2.0.2:
3238
+ version "2.0.2"
3239
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
3240
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
3241
+ dependencies:
3242
+ is-descriptor "^1.0.2"
3243
+ isobject "^3.0.1"
3244
+
3245
+del@^2.0.2:
3246
+ version "2.2.2"
3247
+ resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
3248
+ dependencies:
3249
+ globby "^5.0.0"
3250
+ is-path-cwd "^1.0.0"
3251
+ is-path-in-cwd "^1.0.0"
3252
+ object-assign "^4.0.1"
3253
+ pify "^2.0.0"
3254
+ pinkie-promise "^2.0.0"
3255
+ rimraf "^2.2.8"
3256
+
3257
+delayed-stream@~1.0.0:
3258
+ version "1.0.0"
3259
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
3260
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
3261
+
3262
+delegates@^1.0.0:
3263
+ version "1.0.0"
3264
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
3265
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
3266
+
3267
+des.js@^1.0.0:
3268
+ version "1.0.0"
3269
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
3270
+ integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
3271
+ dependencies:
3272
+ inherits "^2.0.1"
3273
+ minimalistic-assert "^1.0.0"
3274
+
3275
+detect-indent@^4.0.0:
3276
+ version "4.0.0"
3277
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
3278
+ dependencies:
3279
+ repeating "^2.0.0"
3280
+
3281
+detect-indent@^5.0.0:
3282
+ version "5.0.0"
3283
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
3284
+
3285
+detect-libc@^1.0.2:
3286
+ version "1.0.3"
3287
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
3288
+
3289
+detect-newline@^2.1.0:
3290
+ version "2.1.0"
3291
+ resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
3292
+
3293
+diff@^3.2.0:
3294
+ version "3.4.0"
3295
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
3296
+
3297
+diffie-hellman@^5.0.0:
3298
+ version "5.0.3"
3299
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
3300
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
3301
+ dependencies:
3302
+ bn.js "^4.1.0"
3303
+ miller-rabin "^4.0.0"
3304
+ randombytes "^2.0.0"
3305
+
3306
+dispensary@0.10.10:
3307
+ version "0.10.10"
3308
+ resolved "https://registry.yarnpkg.com/dispensary/-/dispensary-0.10.10.tgz#cb7140c2e98ae84b951ebd6816760e4d402fc31e"
3309
+ dependencies:
3310
+ array-from "2.1.1"
3311
+ async "^2.0.0"
3312
+ eslint "3.19.0"
3313
+ natural-compare-lite "^1.4.0"
3314
+ pino "^4.6.0"
3315
+ request "^2.81.0"
3316
+ semver "5.3.0"
3317
+ sha.js "^2.4.4"
3318
+ source-map-support "0.4.15"
3319
+ yargs "^8.0.1"
3320
+
3321
+doctrine@^1.2.1:
3322
+ version "1.5.0"
3323
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
3324
+ dependencies:
3325
+ esutils "^2.0.2"
3326
+ isarray "^1.0.0"
3327
+
3328
+doctrine@^2.0.0:
3329
+ version "2.0.0"
3330
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
3331
+ dependencies:
3332
+ esutils "^2.0.2"
3333
+ isarray "^1.0.0"
3334
+
3335
+dom-serializer@0, dom-serializer@~0.1.0:
3336
+ version "0.1.0"
3337
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
3338
+ dependencies:
3339
+ domelementtype "~1.1.1"
3340
+ entities "~1.1.1"
3341
+
3342
+domain-browser@^1.1.1:
3343
+ version "1.2.0"
3344
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
3345
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
3346
+
3347
+domelementtype@1, domelementtype@^1.3.0:
3348
+ version "1.3.0"
3349
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
3350
+
3351
+domelementtype@~1.1.1:
3352
+ version "1.1.3"
3353
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
3354
+
3355
+domexception@^1.0.0:
3356
+ version "1.0.1"
3357
+ resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
3358
+ dependencies:
3359
+ webidl-conversions "^4.0.2"
3360
+
3361
+domhandler@^2.3.0:
3362
+ version "2.4.1"
3363
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
3364
+ dependencies:
3365
+ domelementtype "1"
3366
+
3367
+domutils@1.5.1:
3368
+ version "1.5.1"
3369
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
3370
+ dependencies:
3371
+ dom-serializer "0"
3372
+ domelementtype "1"
3373
+
3374
+domutils@^1.5.1:
3375
+ version "1.6.2"
3376
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff"
3377
+ dependencies:
3378
+ dom-serializer "0"
3379
+ domelementtype "1"
3380
+
3381
+dot-prop@^3.0.0:
3382
+ version "3.0.0"
3383
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
3384
+ dependencies:
3385
+ is-obj "^1.0.0"
3386
+
3387
+dot-prop@^4.1.0:
3388
+ version "4.1.1"
3389
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1"
3390
+ dependencies:
3391
+ is-obj "^1.0.0"
3392
+
3393
+dtrace-provider@~0.8:
3394
+ version "0.8.3"
3395
+ resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.3.tgz#ba1bfc6493285ccfcfc6ab69cd5c61d74c2a43bf"
3396
+ dependencies:
3397
+ nan "^2.3.3"
3398
+
3399
+duplexer2@0.0.2:
3400
+ version "0.0.2"
3401
+ resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
3402
+ dependencies:
3403
+ readable-stream "~1.1.9"
3404
+
3405
+duplexer3@^0.1.4:
3406
+ version "0.1.4"
3407
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
3408
+
3409
+duplexer@^0.1.1:
3410
+ version "0.1.1"
3411
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
3412
+
3413
+duplexify@^3.4.2, duplexify@^3.6.0:
3414
+ version "3.6.1"
3415
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125"
3416
+ integrity sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==
3417
+ dependencies:
3418
+ end-of-stream "^1.0.0"
3419
+ inherits "^2.0.1"
3420
+ readable-stream "^2.0.0"
3421
+ stream-shift "^1.0.0"
3422
+
3423
+ecc-jsbn@~0.1.1:
3424
+ version "0.1.2"
3425
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
3426
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
3427
+ dependencies:
3428
+ jsbn "~0.1.0"
3429
+ safer-buffer "^2.1.0"
3430
+
3431
+ecdsa-sig-formatter@1.0.9:
3432
+ version "1.0.9"
3433
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz#4bc926274ec3b5abb5016e7e1d60921ac262b2a1"
3434
+ dependencies:
3435
+ base64url "^2.0.0"
3436
+ safe-buffer "^5.0.1"
3437
+
3438
+electron-to-chromium@^1.3.82:
3439
+ version "1.3.84"
3440
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz#2e55df59e818f150a9f61b53471ebf4f0feecc65"
3441
+ integrity sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==
3442
+
3443
+elliptic@^6.0.0:
3444
+ version "6.4.1"
3445
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
3446
+ integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==
3447
+ dependencies:
3448
+ bn.js "^4.4.0"
3449
+ brorand "^1.0.1"
3450
+ hash.js "^1.0.0"
3451
+ hmac-drbg "^1.0.0"
3452
+ inherits "^2.0.1"
3453
+ minimalistic-assert "^1.0.0"
3454
+ minimalistic-crypto-utils "^1.0.0"
3455
+
3456
+emojis-list@^2.0.0:
3457
+ version "2.1.0"
3458
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
3459
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
3460
+
3461
+encoding@^0.1.11:
3462
+ version "0.1.12"
3463
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
3464
+ dependencies:
3465
+ iconv-lite "~0.4.13"
3466
+
3467
+end-of-stream@^1.0.0, end-of-stream@~1.1.0:
3468
+ version "1.1.0"
3469
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.1.0.tgz#e9353258baa9108965efc41cb0ef8ade2f3cfb07"
3470
+ dependencies:
3471
+ once "~1.3.0"
3472
+
3473
+end-of-stream@^1.1.0:
3474
+ version "1.4.0"
3475
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206"
3476
+ dependencies:
3477
+ once "^1.4.0"
3478
+
3479
+enhanced-resolve@^4.1.0:
3480
+ version "4.1.0"
3481
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"
3482
+ integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==
3483
+ dependencies:
3484
+ graceful-fs "^4.1.2"
3485
+ memory-fs "^0.4.0"
3486
+ tapable "^1.0.0"
3487
+
3488
+entities@^1.1.1, entities@~1.1.1:
3489
+ version "1.1.1"
3490
+ resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
3491
+
3492
+errno@^0.1.3, errno@~0.1.7:
3493
+ version "0.1.7"
3494
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
3495
+ integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
3496
+ dependencies:
3497
+ prr "~1.0.1"
3498
+
3499
+error-ex@^1.2.0:
3500
+ version "1.3.0"
3501
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
3502
+ dependencies:
3503
+ is-arrayish "^0.2.1"
3504
+
3505
+error-ex@^1.3.1:
3506
+ version "1.3.1"
3507
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
3508
+ dependencies:
3509
+ is-arrayish "^0.2.1"
3510
+
3511
+error-stack-parser@^2.0.2:
3512
+ version "2.0.2"
3513
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d"
3514
+ integrity sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==
3515
+ dependencies:
3516
+ stackframe "^1.0.4"
3517
+
3518
+es-abstract@^1.5.1:
3519
+ version "1.10.0"
3520
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
3521
+ dependencies:
3522
+ es-to-primitive "^1.1.1"
3523
+ function-bind "^1.1.1"
3524
+ has "^1.0.1"
3525
+ is-callable "^1.1.3"
3526
+ is-regex "^1.0.4"
3527
+
3528
+es-to-primitive@^1.1.1:
3529
+ version "1.1.1"
3530
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
3531
+ dependencies:
3532
+ is-callable "^1.1.1"
3533
+ is-date-object "^1.0.1"
3534
+ is-symbol "^1.0.1"
3535
+
3536
+es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.10, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7:
3537
+ version "0.10.12"
3538
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047"
3539
+ dependencies:
3540
+ es6-iterator "2"
3541
+ es6-symbol "~3.1"
3542
+
3543
+es6-error@4.0.0:
3544
+ version "4.0.0"
3545
+ resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.0.tgz#f094c7041f662599bb12720da059d6b9c7ff0f40"
3546
+
3547
+es6-error@4.0.2:
3548
+ version "4.0.2"
3549
+ resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98"
3550
+
3551
+es6-iterator@2:
3552
+ version "2.0.0"
3553
+ resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac"
3554
+ dependencies:
3555
+ d "^0.1.1"
3556
+ es5-ext "^0.10.7"
3557
+ es6-symbol "3"
3558
+
3559
+es6-map@^0.1.3:
3560
+ version "0.1.4"
3561
+ resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897"
3562
+ dependencies:
3563
+ d "~0.1.1"
3564
+ es5-ext "~0.10.11"
3565
+ es6-iterator "2"
3566
+ es6-set "~0.1.3"
3567
+ es6-symbol "~3.1.0"
3568
+ event-emitter "~0.3.4"
3569
+
3570
+es6-promise@^2.0.1:
3571
+ version "2.3.0"
3572
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-2.3.0.tgz#96edb9f2fdb01995822b263dd8aadab6748181bc"
3573
+
3574
+es6-promise@^4.0.3:
3575
+ version "4.1.1"
3576
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.1.1.tgz#8811e90915d9a0dba36274f0b242dbda78f9c92a"
3577
+
3578
+es6-promisify@5.0.0:
3579
+ version "5.0.0"
3580
+ resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
3581
+ dependencies:
3582
+ es6-promise "^4.0.3"
3583
+
3584
+es6-set@~0.1.3:
3585
+ version "0.1.4"
3586
+ resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8"
3587
+ dependencies:
3588
+ d "~0.1.1"
3589
+ es5-ext "~0.10.11"
3590
+ es6-iterator "2"
3591
+ es6-symbol "3"
3592
+ event-emitter "~0.3.4"
3593
+
3594
+es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0:
3595
+ version "3.1.0"
3596
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa"
3597
+ dependencies:
3598
+ d "~0.1.1"
3599
+ es5-ext "~0.10.11"
3600
+
3601
+es6-symbol@3.0.2:
3602
+ version "3.0.2"
3603
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.0.2.tgz#1e928878c6f5e63541625b4bb4df4af07d154219"
3604
+ dependencies:
3605
+ d "~0.1.1"
3606
+ es5-ext "~0.10.10"
3607
+
3608
+es6-weak-map@^2.0.1:
3609
+ version "2.0.1"
3610
+ resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81"
3611
+ dependencies:
3612
+ d "^0.1.1"
3613
+ es5-ext "^0.10.8"
3614
+ es6-iterator "2"
3615
+ es6-symbol "3"
3616
+
3617
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
3618
+ version "1.0.5"
3619
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
3620
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
3621
+
3622
+escodegen@^1.9.0:
3623
+ version "1.9.0"
3624
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852"
3625
+ dependencies:
3626
+ esprima "^3.1.3"
3627
+ estraverse "^4.2.0"
3628
+ esutils "^2.0.2"
3629
+ optionator "^0.8.1"
3630
+ optionalDependencies:
3631
+ source-map "~0.5.6"
3632
+
3633
+escope@^3.6.0:
3634
+ version "3.6.0"
3635
+ resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
3636
+ dependencies:
3637
+ es6-map "^0.1.3"
3638
+ es6-weak-map "^2.0.1"
3639
+ esrecurse "^4.1.0"
3640
+ estraverse "^4.1.1"
3641
+
3642
+eslint-plugin-no-unsafe-innerhtml@1.0.16:
3643
+ version "1.0.16"
3644
+ resolved "https://registry.yarnpkg.com/eslint-plugin-no-unsafe-innerhtml/-/eslint-plugin-no-unsafe-innerhtml-1.0.16.tgz#7d02878c8e9bf7916b88836d5ac122b42f151932"
3645
+ dependencies:
3646
+ eslint "^3.7.1"
3647
+
3648
+eslint-plugin-react@5.1.1:
3649
+ version "5.1.1"
3650
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-5.1.1.tgz#869b1dc078a34fe7eab1f587c2bc3cd998befdd6"
3651
+
3652
+eslint-scope@^4.0.0:
3653
+ version "4.0.0"
3654
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
3655
+ integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==
3656
+ dependencies:
3657
+ esrecurse "^4.1.0"
3658
+ estraverse "^4.1.1"
3659
+
3660
+eslint@2.10.2:
3661
+ version "2.10.2"
3662
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-2.10.2.tgz#b2309482fef043d3203365a321285e6cce01c3d7"
3663
+ dependencies:
3664
+ chalk "^1.1.3"
3665
+ concat-stream "^1.4.6"
3666
+ debug "^2.1.1"
3667
+ doctrine "^1.2.1"
3668
+ es6-map "^0.1.3"
3669
+ escope "^3.6.0"
3670
+ espree "3.1.4"
3671
+ estraverse "^4.2.0"
3672
+ esutils "^2.0.2"
3673
+ file-entry-cache "^1.1.1"
3674
+ glob "^7.0.3"
3675
+ globals "^9.2.0"
3676
+ ignore "^3.1.2"
3677
+ imurmurhash "^0.1.4"
3678
+ inquirer "^0.12.0"
3679
+ is-my-json-valid "^2.10.0"
3680
+ is-resolvable "^1.0.0"
3681
+ js-yaml "^3.5.1"
3682
+ json-stable-stringify "^1.0.0"
3683
+ lodash "^4.0.0"
3684
+ mkdirp "^0.5.0"
3685
+ optionator "^0.8.1"
3686
+ path-is-absolute "^1.0.0"
3687
+ path-is-inside "^1.0.1"
3688
+ pluralize "^1.2.1"
3689
+ progress "^1.1.8"
3690
+ require-uncached "^1.0.2"
3691
+ shelljs "^0.6.0"
3692
+ strip-json-comments "~1.0.1"
3693
+ table "^3.7.8"
3694
+ text-table "~0.2.0"
3695
+ user-home "^2.0.0"
3696
+
3697
+eslint@3.19.0, eslint@^3.7.1:
3698
+ version "3.19.0"
3699
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
3700
+ dependencies:
3701
+ babel-code-frame "^6.16.0"
3702
+ chalk "^1.1.3"
3703
+ concat-stream "^1.5.2"
3704
+ debug "^2.1.1"
3705
+ doctrine "^2.0.0"
3706
+ escope "^3.6.0"
3707
+ espree "^3.4.0"
3708
+ esquery "^1.0.0"
3709
+ estraverse "^4.2.0"
3710
+ esutils "^2.0.2"
3711
+ file-entry-cache "^2.0.0"
3712
+ glob "^7.0.3"
3713
+ globals "^9.14.0"
3714
+ ignore "^3.2.0"
3715
+ imurmurhash "^0.1.4"
3716
+ inquirer "^0.12.0"
3717
+ is-my-json-valid "^2.10.0"
3718
+ is-resolvable "^1.0.0"
3719
+ js-yaml "^3.5.1"
3720
+ json-stable-stringify "^1.0.0"
3721
+ levn "^0.3.0"
3722
+ lodash "^4.0.0"
3723
+ mkdirp "^0.5.0"
3724
+ natural-compare "^1.4.0"
3725
+ optionator "^0.8.2"
3726
+ path-is-inside "^1.0.1"
3727
+ pluralize "^1.2.1"
3728
+ progress "^1.1.8"
3729
+ require-uncached "^1.0.2"
3730
+ shelljs "^0.7.5"
3731
+ strip-bom "^3.0.0"
3732
+ strip-json-comments "~2.0.1"
3733
+ table "^3.7.8"
3734
+ text-table "~0.2.0"
3735
+ user-home "^2.0.0"
3736
+
3737
+espree@3.1.4:
3738
+ version "3.1.4"
3739
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.4.tgz#0726d7ac83af97a7c8498da9b363a3609d2a68a1"
3740
+ dependencies:
3741
+ acorn "^3.1.0"
3742
+ acorn-jsx "^3.0.0"
3743
+
3744
+espree@^3.4.0:
3745
+ version "3.4.3"
3746
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374"
3747
+ dependencies:
3748
+ acorn "^5.0.1"
3749
+ acorn-jsx "^3.0.0"
3750
+
3751
+esprima@3.1.3, esprima@^3.1.3:
3752
+ version "3.1.3"
3753
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
3754
+
3755
+esprima@^2.6.0:
3756
+ version "2.7.3"
3757
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
3758
+
3759
+esprima@^4.0.0:
3760
+ version "4.0.0"
3761
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
3762
+
3763
+esquery@^1.0.0:
3764
+ version "1.0.0"
3765
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
3766
+ dependencies:
3767
+ estraverse "^4.0.0"
3768
+
3769
+esrecurse@^4.1.0:
3770
+ version "4.1.0"
3771
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
3772
+ dependencies:
3773
+ estraverse "~4.1.0"
3774
+ object-assign "^4.0.1"
3775
+
3776
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
3777
+ version "4.2.0"
3778
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
3779
+
3780
+estraverse@~4.1.0:
3781
+ version "4.1.1"
3782
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
3783
+
3784
+esutils@^2.0.0, esutils@^2.0.2:
3785
+ version "2.0.2"
3786
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
3787
+
3788
+event-emitter@~0.3.4:
3789
+ version "0.3.4"
3790
+ resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5"
3791
+ dependencies:
3792
+ d "~0.1.1"
3793
+ es5-ext "~0.10.7"
3794
+
3795
+event-to-promise@0.8.0:
3796
+ version "0.8.0"
3797
+ resolved "https://registry.yarnpkg.com/event-to-promise/-/event-to-promise-0.8.0.tgz#4b84f11772b6f25f7752fc74d971531ac6f5b626"
3798
+
3799
+events@^1.0.0:
3800
+ version "1.1.1"
3801
+ resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
3802
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
3803
+
3804
+events@^3.0.0:
3805
+ version "3.0.0"
3806
+ resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
3807
+ integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==
3808
+
3809
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
3810
+ version "1.0.3"
3811
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
3812
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
3813
+ dependencies:
3814
+ md5.js "^1.3.4"
3815
+ safe-buffer "^5.1.1"
3816
+
3817
+exec-sh@^0.2.0:
3818
+ version "0.2.0"
3819
+ resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10"
3820
+ dependencies:
3821
+ merge "^1.1.3"
3822
+
3823
+execa@^0.10.0:
3824
+ version "0.10.0"
3825
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"
3826
+ integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==
3827
+ dependencies:
3828
+ cross-spawn "^6.0.0"
3829
+ get-stream "^3.0.0"
3830
+ is-stream "^1.1.0"
3831
+ npm-run-path "^2.0.0"
3832
+ p-finally "^1.0.0"
3833
+ signal-exit "^3.0.0"
3834
+ strip-eof "^1.0.0"
3835
+
3836
+execa@^0.5.0:
3837
+ version "0.5.1"
3838
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36"
3839
+ dependencies:
3840
+ cross-spawn "^4.0.0"
3841
+ get-stream "^2.2.0"
3842
+ is-stream "^1.1.0"
3843
+ npm-run-path "^2.0.0"
3844
+ p-finally "^1.0.0"
3845
+ signal-exit "^3.0.0"
3846
+ strip-eof "^1.0.0"
3847
+
3848
+execa@^0.7.0:
3849
+ version "0.7.0"
3850
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
3851
+ dependencies:
3852
+ cross-spawn "^5.0.1"
3853
+ get-stream "^3.0.0"
3854
+ is-stream "^1.1.0"
3855
+ npm-run-path "^2.0.0"
3856
+ p-finally "^1.0.0"
3857
+ signal-exit "^3.0.0"
3858
+ strip-eof "^1.0.0"
3859
+
3860
+execa@^0.8.0:
3861
+ version "0.8.0"
3862
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
3863
+ dependencies:
3864
+ cross-spawn "^5.0.1"
3865
+ get-stream "^3.0.0"
3866
+ is-stream "^1.1.0"
3867
+ npm-run-path "^2.0.0"
3868
+ p-finally "^1.0.0"
3869
+ signal-exit "^3.0.0"
3870
+ strip-eof "^1.0.0"
3871
+
3872
+exit-hook@^1.0.0:
3873
+ version "1.1.1"
3874
+ resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
3875
+
3876
+exit@^0.1.2:
3877
+ version "0.1.2"
3878
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
3879
+
3880
+expand-brackets@^0.1.4:
3881
+ version "0.1.5"
3882
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
3883
+ integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
3884
+ dependencies:
3885
+ is-posix-bracket "^0.1.0"
3886
+
3887
+expand-brackets@^2.1.4:
3888
+ version "2.1.4"
3889
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
3890
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
3891
+ dependencies:
3892
+ debug "^2.3.3"
3893
+ define-property "^0.2.5"
3894
+ extend-shallow "^2.0.1"
3895
+ posix-character-classes "^0.1.0"
3896
+ regex-not "^1.0.0"
3897
+ snapdragon "^0.8.1"
3898
+ to-regex "^3.0.1"
3899
+
3900
+expand-range@^1.8.1:
3901
+ version "1.8.2"
3902
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
3903
+ integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
3904
+ dependencies:
3905
+ fill-range "^2.1.0"
3906
+
3907
+expect@^22.1.0:
3908
+ version "22.1.0"
3909
+ resolved "https://registry.yarnpkg.com/expect/-/expect-22.1.0.tgz#f8f9b019ab275d859cbefed531fbaefe8972431d"
3910
+ dependencies:
3911
+ ansi-styles "^3.2.0"
3912
+ jest-diff "^22.1.0"
3913
+ jest-get-type "^22.1.0"
3914
+ jest-matcher-utils "^22.1.0"
3915
+ jest-message-util "^22.1.0"
3916
+ jest-regex-util "^22.1.0"
3917
+
3918
+extend-shallow@^2.0.1:
3919
+ version "2.0.1"
3920
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
3921
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
3922
+ dependencies:
3923
+ is-extendable "^0.1.0"
3924
+
3925
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
3926
+ version "3.0.2"
3927
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
3928
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
3929
+ dependencies:
3930
+ assign-symbols "^1.0.0"
3931
+ is-extendable "^1.0.1"
3932
+
3933
+extend@~3.0.0:
3934
+ version "3.0.2"
3935
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
3936
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
3937
+
3938
+extend@~3.0.1:
3939
+ version "3.0.1"
3940
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
3941
+
3942
+external-editor@^2.0.4:
3943
+ version "2.1.0"
3944
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
3945
+ dependencies:
3946
+ chardet "^0.4.0"
3947
+ iconv-lite "^0.4.17"
3948
+ tmp "^0.0.33"
3949
+
3950
+extglob@^0.3.1:
3951
+ version "0.3.2"
3952
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
3953
+ integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
3954
+ dependencies:
3955
+ is-extglob "^1.0.0"
3956
+
3957
+extglob@^2.0.4:
3958
+ version "2.0.4"
3959
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
3960
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
3961
+ dependencies:
3962
+ array-unique "^0.3.2"
3963
+ define-property "^1.0.0"
3964
+ expand-brackets "^2.1.4"
3965
+ extend-shallow "^2.0.1"
3966
+ fragment-cache "^0.2.1"
3967
+ regex-not "^1.0.0"
3968
+ snapdragon "^0.8.1"
3969
+ to-regex "^3.0.1"
3970
+
3971
+extsprintf@1.3.0:
3972
+ version "1.3.0"
3973
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
3974
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
3975
+
3976
+extsprintf@^1.2.0:
3977
+ version "1.4.0"
3978
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
3979
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
3980
+
3981
+fancy-log@^1.1.0:
3982
+ version "1.3.0"
3983
+ resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948"
3984
+ dependencies:
3985
+ chalk "^1.1.1"
3986
+ time-stamp "^1.0.0"
3987
+
3988
+fast-deep-equal@^0.1.0:
3989
+ version "0.1.0"
3990
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-0.1.0.tgz#5c6f4599aba6b333ee3342e2ed978672f1001f8d"
3991
+
3992
+fast-deep-equal@^1.0.0:
3993
+ version "1.0.0"
3994
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
3995
+
3996
+fast-deep-equal@^2.0.1:
3997
+ version "2.0.1"
3998
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
3999
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
4000
+
4001
+fast-json-parse@^1.0.0:
4002
+ version "1.0.2"
4003
+ resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.2.tgz#3fb1ca12db68a85933612cc3fab4d7060cfff1d7"
4004
+
4005
+fast-json-stable-stringify@^2.0.0:
4006
+ version "2.0.0"
4007
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
4008
+
4009
+fast-levenshtein@~2.0.4:
4010
+ version "2.0.6"
4011
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
4012
+
4013
+fast-safe-stringify@^1.0.8, fast-safe-stringify@^1.1.11:
4014
+ version "1.2.0"
4015
+ resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-1.2.0.tgz#ebd42666fd18fe4f2ba4f0d295065f3f85cade96"
4016
+
4017
+fastparse@^1.1.1:
4018
+ version "1.1.2"
4019
+ resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
4020
+ integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
4021
+
4022
+fb-watchman@^2.0.0:
4023
+ version "2.0.0"
4024
+ resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
4025
+ dependencies:
4026
+ bser "^2.0.0"
4027
+
4028
+fbjs-scripts@0.7.0:
4029
+ version "0.7.0"
4030
+ resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.7.0.tgz#9da67cec6d62fddc94b099563f6c48a749900aef"
4031
+ dependencies:
4032
+ babel-core "^6.7.2"
4033
+ babel-preset-fbjs "^1.0.0"
4034
+ core-js "^1.0.0"
4035
+ cross-spawn "^2.1.5"
4036
+ gulp-util "^3.0.4"
4037
+ object-assign "^4.0.1"
4038
+ semver "^5.1.0"
4039
+ through2 "^2.0.0"
4040
+
4041
+fbjs@0.5.1:
4042
+ version "0.5.1"
4043
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.5.1.tgz#db17fe609777a17a25b6c8b045303adad3339203"
4044
+ dependencies:
4045
+ core-js "^1.0.0"
4046
+ loose-envify "^1.0.0"
4047
+ promise "^7.0.3"
4048
+ ua-parser-js "^0.7.9"
4049
+ whatwg-fetch "^0.9.0"
4050
+
4051
+fbjs@^0.8.16:
4052
+ version "0.8.17"
4053
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
4054
+ dependencies:
4055
+ core-js "^1.0.0"
4056
+ isomorphic-fetch "^2.1.1"
4057
+ loose-envify "^1.0.0"
4058
+ object-assign "^4.1.0"
4059
+ promise "^7.1.1"
4060
+ setimmediate "^1.0.5"
4061
+ ua-parser-js "^0.7.18"
4062
+
4063
+fbjs@^0.8.9:
4064
+ version "0.8.12"
4065
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
4066
+ dependencies:
4067
+ core-js "^1.0.0"
4068
+ isomorphic-fetch "^2.1.1"
4069
+ loose-envify "^1.0.0"
4070
+ object-assign "^4.1.0"
4071
+ promise "^7.1.1"
4072
+ setimmediate "^1.0.5"
4073
+ ua-parser-js "^0.7.9"
4074
+
4075
+fd-slicer@~1.0.1:
4076
+ version "1.0.1"
4077
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
4078
+ dependencies:
4079
+ pend "~1.2.0"
4080
+
4081
+figgy-pudding@^3.1.0, figgy-pudding@^3.5.1:
4082
+ version "3.5.1"
4083
+ resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
4084
+ integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
4085
+
4086
+figures@^1.3.5:
4087
+ version "1.7.0"
4088
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
4089
+ dependencies:
4090
+ escape-string-regexp "^1.0.5"
4091
+ object-assign "^4.1.0"
4092
+
4093
+figures@^2.0.0:
4094
+ version "2.0.0"
4095
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
4096
+ dependencies:
4097
+ escape-string-regexp "^1.0.5"
4098
+
4099
+file-entry-cache@^1.1.1:
4100
+ version "1.3.1"
4101
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8"
4102
+ dependencies:
4103
+ flat-cache "^1.2.1"
4104
+ object-assign "^4.0.1"
4105
+
4106
+file-entry-cache@^2.0.0:
4107
+ version "2.0.0"
4108
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
4109
+ dependencies:
4110
+ flat-cache "^1.2.1"
4111
+ object-assign "^4.0.1"
4112
+
4113
+filename-regex@^2.0.0:
4114
+ version "2.0.1"
4115
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
4116
+ integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
4117
+
4118
+fileset@^2.0.2:
4119
+ version "2.0.3"
4120
+ resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
4121
+ dependencies:
4122
+ glob "^7.0.3"
4123
+ minimatch "^3.0.3"
4124
+
4125
+fill-range@^2.1.0:
4126
+ version "2.2.4"
4127
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
4128
+ integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
4129
+ dependencies:
4130
+ is-number "^2.1.0"
4131
+ isobject "^2.0.0"
4132
+ randomatic "^3.0.0"
4133
+ repeat-element "^1.1.2"
4134
+ repeat-string "^1.5.2"
4135
+
4136
+fill-range@^4.0.0:
4137
+ version "4.0.0"
4138
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
4139
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
4140
+ dependencies:
4141
+ extend-shallow "^2.0.1"
4142
+ is-number "^3.0.0"
4143
+ repeat-string "^1.6.1"
4144
+ to-regex-range "^2.1.0"
4145
+
4146
+find-cache-dir@^1.0.0:
4147
+ version "1.0.0"
4148
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
4149
+ integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=
4150
+ dependencies:
4151
+ commondir "^1.0.1"
4152
+ make-dir "^1.0.0"
4153
+ pkg-dir "^2.0.0"
4154
+
4155
+find-cache-dir@^2.0.0:
4156
+ version "2.0.0"
4157
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d"
4158
+ integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==
4159
+ dependencies:
4160
+ commondir "^1.0.1"
4161
+ make-dir "^1.0.0"
4162
+ pkg-dir "^3.0.0"
4163
+
4164
+find-up@^1.0.0:
4165
+ version "1.1.2"
4166
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
4167
+ dependencies:
4168
+ path-exists "^2.0.0"
4169
+ pinkie-promise "^2.0.0"
4170
+
4171
+find-up@^2.0.0, find-up@^2.1.0:
4172
+ version "2.1.0"
4173
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
4174
+ dependencies:
4175
+ locate-path "^2.0.0"
4176
+
4177
+find-up@^3.0.0:
4178
+ version "3.0.0"
4179
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
4180
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
4181
+ dependencies:
4182
+ locate-path "^3.0.0"
4183
+
4184
+firefox-client@^0.3.0:
4185
+ version "0.3.0"
4186
+ resolved "https://registry.yarnpkg.com/firefox-client/-/firefox-client-0.3.0.tgz#3794460f6eb6afcf41376addcbc7462e24a4cd8b"
4187
+ dependencies:
4188
+ colors "0.5.x"
4189
+ js-select "~0.6.0"
4190
+
4191
+firefox-profile@0.5.0:
4192
+ version "0.5.0"
4193
+ resolved "https://registry.yarnpkg.com/firefox-profile/-/firefox-profile-0.5.0.tgz#036de91fe3ff218d9ed8252d924f49bca0b672bd"
4194
+ dependencies:
4195
+ adm-zip "~0.4.x"
4196
+ archiver "~1.3.0"
4197
+ async "~2.1.2"
4198
+ fs-extra "~2.1.2"
4199
+ ini "~1.3.3"
4200
+ jetpack-id "1.0.0"
4201
+ lazystream "~1.0.0"
4202
+ lodash "~4.17.2"
4203
+ minimist "^1.1.1"
4204
+ uuid "^3.0.0"
4205
+ xml2js "~0.4.4"
4206
+
4207
+firefox-profile@^1.0.2:
4208
+ version "1.0.2"
4209
+ resolved "https://registry.yarnpkg.com/firefox-profile/-/firefox-profile-1.0.2.tgz#aa6759d60e729105231c47a2f41831f3e9330b66"
4210
+ dependencies:
4211
+ adm-zip "~0.4.x"
4212
+ archiver "~1.3.0"
4213
+ async "~2.4.1"
4214
+ fs-extra "~2.1.2"
4215
+ ini "~1.3.3"
4216
+ jetpack-id "1.0.0"
4217
+ lazystream "~1.0.0"
4218
+ lodash "~4.17.2"
4219
+ minimist "^1.1.1"
4220
+ uuid "^3.0.0"
4221
+ xml2js "~0.4.4"
4222
+
4223
+first-chunk-stream@2.0.0, first-chunk-stream@^2.0.0:
4224
+ version "2.0.0"
4225
+ resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
4226
+ dependencies:
4227
+ readable-stream "^2.0.2"
4228
+
4229
+first-match@0.0.1:
4230
+ version "0.0.1"
4231
+ resolved "https://registry.yarnpkg.com/first-match/-/first-match-0.0.1.tgz#a60ec642700f0f437234ebb7ec3f382476e542fd"
4232
+
4233
+flat-cache@^1.2.1:
4234
+ version "1.2.2"
4235
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
4236
+ dependencies:
4237
+ circular-json "^0.3.1"
4238
+ del "^2.0.2"
4239
+ graceful-fs "^4.1.2"
4240
+ write "^0.2.1"
4241
+
4242
+flatstr@^1.0.4:
4243
+ version "1.0.5"
4244
+ resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.5.tgz#5b451b08cbd48e2eac54a2bbe0bf46165aa14be3"
4245
+
4246
+flow-bin@^0.91.0:
4247
+ version "0.91.0"
4248
+ resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.91.0.tgz#f5c89729f74b2ccbd47df6fbfadbdcc89cc1e478"
4249
+ integrity sha512-j+L+xNiUYnZZ27MjVI0y2c9474ZHOvdSQq0Tjwh56mEA7tfxYqp5Dcb6aZSwvs3tGMTjCrZow9aUlZf3OoRyDQ==
4250
+
4251
+flush-write-stream@^1.0.0:
4252
+ version "1.0.3"
4253
+ resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd"
4254
+ integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==
4255
+ dependencies:
4256
+ inherits "^2.0.1"
4257
+ readable-stream "^2.0.4"
4258
+
4259
+for-in@^1.0.1, for-in@^1.0.2:
4260
+ version "1.0.2"
4261
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
4262
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
4263
+
4264
+for-own@^0.1.4:
4265
+ version "0.1.5"
4266
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
4267
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
4268
+ dependencies:
4269
+ for-in "^1.0.1"
4270
+
4271
+foreach@^2.0.5:
4272
+ version "2.0.5"
4273
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
4274
+
4275
+forever-agent@~0.6.1:
4276
+ version "0.6.1"
4277
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
4278
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
4279
+
4280
+form-data@~2.1.1:
4281
+ version "2.1.4"
4282
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
4283
+ integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=
4284
+ dependencies:
4285
+ asynckit "^0.4.0"
4286
+ combined-stream "^1.0.5"
4287
+ mime-types "^2.1.12"
4288
+
4289
+form-data@~2.3.1:
4290
+ version "2.3.1"
4291
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf"
4292
+ dependencies:
4293
+ asynckit "^0.4.0"
4294
+ combined-stream "^1.0.5"
4295
+ mime-types "^2.1.12"
4296
+
4297
+fragment-cache@^0.2.1:
4298
+ version "0.2.1"
4299
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
4300
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
4301
+ dependencies:
4302
+ map-cache "^0.2.2"
4303
+
4304
+from2@^2.1.0:
4305
+ version "2.3.0"
4306
+ resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
4307
+ integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
4308
+ dependencies:
4309
+ inherits "^2.0.1"
4310
+ readable-stream "^2.0.0"
4311
+
4312
+fs-extra@^3.0.1:
4313
+ version "3.0.1"
4314
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291"
4315
+ dependencies:
4316
+ graceful-fs "^4.1.2"
4317
+ jsonfile "^3.0.0"
4318
+ universalify "^0.1.0"
4319
+
4320
+fs-extra@^4.0.1:
4321
+ version "4.0.3"
4322
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
4323
+ dependencies:
4324
+ graceful-fs "^4.1.2"
4325
+ jsonfile "^4.0.0"
4326
+ universalify "^0.1.0"
4327
+
4328
+fs-extra@~2.1.2:
4329
+ version "2.1.2"
4330
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
4331
+ dependencies:
4332
+ graceful-fs "^4.1.2"
4333
+ jsonfile "^2.1.0"
4334
+
4335
+fs-minipass@^1.2.5:
4336
+ version "1.2.5"
4337
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
4338
+ integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==
4339
+ dependencies:
4340
+ minipass "^2.2.1"
4341
+
4342
+fs-write-stream-atomic@^1.0.8:
4343
+ version "1.0.10"
4344
+ resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
4345
+ integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
4346
+ dependencies:
4347
+ graceful-fs "^4.1.2"
4348
+ iferr "^0.1.5"
4349
+ imurmurhash "^0.1.4"
4350
+ readable-stream "1 || 2"
4351
+
4352
+fs.realpath@^1.0.0:
4353
+ version "1.0.0"
4354
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
4355
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
4356
+
4357
+fsevents@^1.0.0, fsevents@^1.2.2:
4358
+ version "1.2.4"
4359
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
4360
+ integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==
4361
+ dependencies:
4362
+ nan "^2.9.2"
4363
+ node-pre-gyp "^0.10.0"
4364
+
4365
+fsevents@^1.1.1:
4366
+ version "1.1.3"
4367
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
4368
+ dependencies:
4369
+ nan "^2.3.0"
4370
+ node-pre-gyp "^0.6.39"
4371
+
4372
+fstream-ignore@^1.0.5:
4373
+ version "1.0.5"
4374
+ resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
4375
+ dependencies:
4376
+ fstream "^1.0.0"
4377
+ inherits "2"
4378
+ minimatch "^3.0.0"
4379
+
4380
+fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
4381
+ version "1.0.11"
4382
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
4383
+ dependencies:
4384
+ graceful-fs "^4.1.2"
4385
+ inherits "~2.0.0"
4386
+ mkdirp ">=0.5 0"
4387
+ rimraf "2"
4388
+
4389
+function-bind@^1.0.2, function-bind@^1.1.1:
4390
+ version "1.1.1"
4391
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
4392
+
4393
+fx-runner@1.0.7:
4394
+ version "1.0.7"
4395
+ resolved "https://registry.yarnpkg.com/fx-runner/-/fx-runner-1.0.7.tgz#c102cfdf21234c2dbd16723dccb1186f99c0b641"
4396
+ dependencies:
4397
+ commander "2.9.0"
4398
+ lodash "3.10.1"
4399
+ shell-quote "1.6.1"
4400
+ spawn-sync "1.0.15"
4401
+ when "3.7.7"
4402
+ which "1.2.4"
4403
+ winreg "0.0.12"
4404
+
4405
+gauge@~2.7.3:
4406
+ version "2.7.4"
4407
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
4408
+ dependencies:
4409
+ aproba "^1.0.3"
4410
+ console-control-strings "^1.0.0"
4411
+ has-unicode "^2.0.0"
4412
+ object-assign "^4.1.0"
4413
+ signal-exit "^3.0.0"
4414
+ string-width "^1.0.1"
4415
+ strip-ansi "^3.0.1"
4416
+ wide-align "^1.1.0"
4417
+
4418
+generate-function@^2.0.0:
4419
+ version "2.3.1"
4420
+ resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
4421
+ integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
4422
+ dependencies:
4423
+ is-property "^1.0.2"
4424
+
4425
+generate-object-property@^1.1.0:
4426
+ version "1.2.0"
4427
+ resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
4428
+ integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
4429
+ dependencies:
4430
+ is-property "^1.0.0"
4431
+
4432
+get-caller-file@^1.0.1:
4433
+ version "1.0.2"
4434
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
4435
+
4436
+get-pkg-repo@^1.0.0:
4437
+ version "1.4.0"
4438
+ resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
4439
+ dependencies:
4440
+ hosted-git-info "^2.1.4"
4441
+ meow "^3.3.0"
4442
+ normalize-package-data "^2.3.0"
4443
+ parse-github-repo-url "^1.3.0"
4444
+ through2 "^2.0.0"
4445
+
4446
+get-port@^3.2.0:
4447
+ version "3.2.0"
4448
+ resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
4449
+
4450
+get-stdin@^4.0.1:
4451
+ version "4.0.1"
4452
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
4453
+
4454
+get-stream@^2.2.0:
4455
+ version "2.3.1"
4456
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
4457
+ dependencies:
4458
+ object-assign "^4.0.1"
4459
+ pinkie-promise "^2.0.0"
4460
+
4461
+get-stream@^3.0.0:
4462
+ version "3.0.0"
4463
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
4464
+
4465
+get-value@^2.0.3, get-value@^2.0.6:
4466
+ version "2.0.6"
4467
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
4468
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
4469
+
4470
+getpass@^0.1.1:
4471
+ version "0.1.7"
4472
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
4473
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
4474
+ dependencies:
4475
+ assert-plus "^1.0.0"
4476
+
4477
+gh-pages@^1.0.0:
4478
+ version "1.0.0"
4479
+ resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-1.0.0.tgz#4a46f4c25439f7a2b7e6835504d4a49e949f04ca"
4480
+ dependencies:
4481
+ async "2.1.4"
4482
+ base64url "^2.0.0"
4483
+ commander "2.9.0"
4484
+ fs-extra "^3.0.1"
4485
+ globby "^6.1.0"
4486
+ graceful-fs "4.1.11"
4487
+ rimraf "^2.5.4"
4488
+
4489
+git-raw-commits@^1.3.0:
4490
+ version "1.3.0"
4491
+ resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.0.tgz#0bc8596e90d5ffe736f7f5546bd2d12f73abaac6"
4492
+ dependencies:
4493
+ dargs "^4.0.1"
4494
+ lodash.template "^4.0.2"
4495
+ meow "^3.3.0"
4496
+ split2 "^2.0.0"
4497
+ through2 "^2.0.0"
4498
+
4499
+git-remote-origin-url@^2.0.0:
4500
+ version "2.0.0"
4501
+ resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
4502
+ dependencies:
4503
+ gitconfiglocal "^1.0.0"
4504
+ pify "^2.3.0"
4505
+
4506
+git-rev-sync@1.9.1:
4507
+ version "1.9.1"
4508
+ resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-1.9.1.tgz#a0c2e3dd392abcf6b76962e27fc75fb3223449ce"
4509
+ dependencies:
4510
+ escape-string-regexp "1.0.5"
4511
+ graceful-fs "4.1.11"
4512
+ shelljs "0.7.7"
4513
+
4514
+git-semver-tags@^1.3.0:
4515
+ version "1.3.0"
4516
+ resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.0.tgz#b154833a6ab5c360c0ad3b1aa9b8f12ea06de919"
4517
+ dependencies:
4518
+ meow "^3.3.0"
4519
+ semver "^5.0.1"
4520
+
4521
+gitconfiglocal@^1.0.0:
4522
+ version "1.0.0"
4523
+ resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
4524
+ dependencies:
4525
+ ini "^1.3.2"
4526
+
4527
+glob-base@^0.3.0:
4528
+ version "0.3.0"
4529
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
4530
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
4531
+ dependencies:
4532
+ glob-parent "^2.0.0"
4533
+ is-glob "^2.0.0"
4534
+
4535
+glob-parent@^2.0.0:
4536
+ version "2.0.0"
4537
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
4538
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
4539
+ dependencies:
4540
+ is-glob "^2.0.0"
4541
+
4542
+glob-parent@^3.1.0:
4543
+ version "3.1.0"
4544
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
4545
+ dependencies:
4546
+ is-glob "^3.1.0"
4547
+ path-dirname "^1.0.0"
4548
+
4549
+glob@^6.0.1:
4550
+ version "6.0.4"
4551
+ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
4552
+ dependencies:
4553
+ inflight "^1.0.4"
4554
+ inherits "2"
4555
+ minimatch "2 || 3"
4556
+ once "^1.3.0"
4557
+ path-is-absolute "^1.0.0"
4558
+
4559
+glob@^7.0.0, glob@^7.0.3:
4560
+ version "7.1.1"
4561
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
4562
+ dependencies:
4563
+ fs.realpath "^1.0.0"
4564
+ inflight "^1.0.4"
4565
+ inherits "2"
4566
+ minimatch "^3.0.2"
4567
+ once "^1.3.0"
4568
+ path-is-absolute "^1.0.0"
4569
+
4570
+glob@^7.0.5:
4571
+ version "7.1.3"
4572
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
4573
+ integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
4574
+ dependencies:
4575
+ fs.realpath "^1.0.0"
4576
+ inflight "^1.0.4"
4577
+ inherits "2"
4578
+ minimatch "^3.0.4"
4579
+ once "^1.3.0"
4580
+ path-is-absolute "^1.0.0"
4581
+
4582
+glob@^7.1.1, glob@^7.1.2:
4583
+ version "7.1.2"
4584
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
4585
+ dependencies:
4586
+ fs.realpath "^1.0.0"
4587
+ inflight "^1.0.4"
4588
+ inherits "2"
4589
+ minimatch "^3.0.4"
4590
+ once "^1.3.0"
4591
+ path-is-absolute "^1.0.0"
4592
+
4593
+global-modules-path@^2.3.0:
4594
+ version "2.3.0"
4595
+ resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc"
4596
+ integrity sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==
4597
+
4598
+globals@^11.1.0:
4599
+ version "11.9.0"
4600
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249"
4601
+ integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==
4602
+
4603
+globals@^9.0.0, globals@^9.2.0:
4604
+ version "9.14.0"
4605
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
4606
+
4607
+globals@^9.14.0, globals@^9.18.0:
4608
+ version "9.18.0"
4609
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
4610
+
4611
+globby@^5.0.0:
4612
+ version "5.0.0"
4613
+ resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
4614
+ dependencies:
4615
+ array-union "^1.0.1"
4616
+ arrify "^1.0.0"
4617
+ glob "^7.0.3"
4618
+ object-assign "^4.0.1"
4619
+ pify "^2.0.0"
4620
+ pinkie-promise "^2.0.0"
4621
+
4622
+globby@^6.1.0:
4623
+ version "6.1.0"
4624
+ resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
4625
+ dependencies:
4626
+ array-union "^1.0.1"
4627
+ glob "^7.0.3"
4628
+ object-assign "^4.0.1"
4629
+ pify "^2.0.0"
4630
+ pinkie-promise "^2.0.0"
4631
+
4632
+glogg@^1.0.0:
4633
+ version "1.0.0"
4634
+ resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5"
4635
+ dependencies:
4636
+ sparkles "^1.0.0"
4637
+
4638
+got@^6.7.1:
4639
+ version "6.7.1"
4640
+ resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
4641
+ dependencies:
4642
+ create-error-class "^3.0.0"
4643
+ duplexer3 "^0.1.4"
4644
+ get-stream "^3.0.0"
4645
+ is-redirect "^1.0.0"
4646
+ is-retry-allowed "^1.0.0"
4647
+ is-stream "^1.0.0"
4648
+ lowercase-keys "^1.0.0"
4649
+ safe-buffer "^5.0.1"
4650
+ timed-out "^4.0.0"
4651
+ unzip-response "^2.0.1"
4652
+ url-parse-lax "^1.0.0"
4653
+
4654
+graceful-fs@4.1.11, graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.6:
4655
+ version "4.1.11"
4656
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
4657
+
4658
+graceful-fs@^4.1.2:
4659
+ version "4.1.15"
4660
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
4661
+ integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
4662
+
4663
+"graceful-readlink@>= 1.0.0":
4664
+ version "1.0.1"
4665
+ resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
4666
+ integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
4667
+
4668
+growly@^1.3.0:
4669
+ version "1.3.0"
4670
+ resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
4671
+
4672
+gulp-util@^3.0.4:
4673
+ version "3.0.8"
4674
+ resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
4675
+ dependencies:
4676
+ array-differ "^1.0.0"
4677
+ array-uniq "^1.0.2"
4678
+ beeper "^1.0.0"
4679
+ chalk "^1.0.0"
4680
+ dateformat "^2.0.0"
4681
+ fancy-log "^1.1.0"
4682
+ gulplog "^1.0.0"
4683
+ has-gulplog "^0.1.0"
4684
+ lodash._reescape "^3.0.0"
4685
+ lodash._reevaluate "^3.0.0"
4686
+ lodash._reinterpolate "^3.0.0"
4687
+ lodash.template "^3.0.0"
4688
+ minimist "^1.1.0"
4689
+ multipipe "^0.1.2"
4690
+ object-assign "^3.0.0"
4691
+ replace-ext "0.0.1"
4692
+ through2 "^2.0.0"
4693
+ vinyl "^0.5.0"
4694
+
4695
+gulplog@^1.0.0:
4696
+ version "1.0.0"
4697
+ resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
4698
+ dependencies:
4699
+ glogg "^1.0.0"
4700
+
4701
+handlebars@^4.0.2, handlebars@^4.0.3:
4702
+ version "4.0.11"
4703
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
4704
+ dependencies:
4705
+ async "^1.4.0"
4706
+ optimist "^0.6.1"
4707
+ source-map "^0.4.4"
4708
+ optionalDependencies:
4709
+ uglify-js "^2.6"
4710
+
4711
+har-schema@^1.0.5:
4712
+ version "1.0.5"
4713
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
4714
+
4715
+har-schema@^2.0.0:
4716
+ version "2.0.0"
4717
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
4718
+
4719
+har-validator@~2.0.6:
4720
+ version "2.0.6"
4721
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
4722
+ integrity sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=
4723
+ dependencies:
4724
+ chalk "^1.1.1"
4725
+ commander "^2.9.0"
4726
+ is-my-json-valid "^2.12.4"
4727
+ pinkie-promise "^2.0.0"
4728
+
4729
+har-validator@~4.2.1:
4730
+ version "4.2.1"
4731
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
4732
+ dependencies:
4733
+ ajv "^4.9.1"
4734
+ har-schema "^1.0.5"
4735
+
4736
+har-validator@~5.0.3:
4737
+ version "5.0.3"
4738
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
4739
+ dependencies:
4740
+ ajv "^5.1.0"
4741
+ har-schema "^2.0.0"
4742
+
4743
+has-ansi@^2.0.0:
4744
+ version "2.0.0"
4745
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
4746
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
4747
+ dependencies:
4748
+ ansi-regex "^2.0.0"
4749
+
4750
+has-flag@^1.0.0:
4751
+ version "1.0.0"
4752
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
4753
+ integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
4754
+
4755
+has-flag@^2.0.0:
4756
+ version "2.0.0"
4757
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
4758
+
4759
+has-flag@^3.0.0:
4760
+ version "3.0.0"
4761
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
4762
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
4763
+
4764
+has-gulplog@^0.1.0:
4765
+ version "0.1.0"
4766
+ resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
4767
+ dependencies:
4768
+ sparkles "^1.0.0"
4769
+
4770
+has-unicode@^2.0.0:
4771
+ version "2.0.1"
4772
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
4773
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
4774
+
4775
+has-value@^0.3.1:
4776
+ version "0.3.1"
4777
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
4778
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
4779
+ dependencies:
4780
+ get-value "^2.0.3"
4781
+ has-values "^0.1.4"
4782
+ isobject "^2.0.0"
4783
+
4784
+has-value@^1.0.0:
4785
+ version "1.0.0"
4786
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
4787
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
4788
+ dependencies:
4789
+ get-value "^2.0.6"
4790
+ has-values "^1.0.0"
4791
+ isobject "^3.0.0"
4792
+
4793
+has-values@^0.1.4:
4794
+ version "0.1.4"
4795
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
4796
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
4797
+
4798
+has-values@^1.0.0:
4799
+ version "1.0.0"
4800
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
4801
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
4802
+ dependencies:
4803
+ is-number "^3.0.0"
4804
+ kind-of "^4.0.0"
4805
+
4806
+has@^1.0.1:
4807
+ version "1.0.1"
4808
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
4809
+ dependencies:
4810
+ function-bind "^1.0.2"
4811
+
4812
+hash-base@^3.0.0:
4813
+ version "3.0.4"
4814
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
4815
+ integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
4816
+ dependencies:
4817
+ inherits "^2.0.1"
4818
+ safe-buffer "^5.0.1"
4819
+
4820
+hash.js@^1.0.0, hash.js@^1.0.3:
4821
+ version "1.1.5"
4822
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812"
4823
+ integrity sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==
4824
+ dependencies:
4825
+ inherits "^2.0.3"
4826
+ minimalistic-assert "^1.0.1"
4827
+
4828
+hawk@3.1.3, hawk@~3.1.3:
4829
+ version "3.1.3"
4830
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
4831
+ dependencies:
4832
+ boom "2.x.x"
4833
+ cryptiles "2.x.x"
4834
+ hoek "2.x.x"
4835
+ sntp "1.x.x"
4836
+
4837
+hawk@~6.0.2:
4838
+ version "6.0.2"
4839
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
4840
+ dependencies:
4841
+ boom "4.x.x"
4842
+ cryptiles "3.x.x"
4843
+ hoek "4.x.x"
4844
+ sntp "2.x.x"
4845
+
4846
+hmac-drbg@^1.0.0:
4847
+ version "1.0.1"
4848
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
4849
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
4850
+ dependencies:
4851
+ hash.js "^1.0.3"
4852
+ minimalistic-assert "^1.0.0"
4853
+ minimalistic-crypto-utils "^1.0.1"
4854
+
4855
+hoek@2.x.x:
4856
+ version "2.16.3"
4857
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
4858
+ integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=
4859
+
4860
+hoek@4.x.x:
4861
+ version "4.2.0"
4862
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d"
4863
+
4864
+home-or-tmp@^2.0.0:
4865
+ version "2.0.0"
4866
+ resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
4867
+ dependencies:
4868
+ os-homedir "^1.0.0"
4869
+ os-tmpdir "^1.0.1"
4870
+
4871
+hosted-git-info@^2.1.4:
4872
+ version "2.1.5"
4873
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
4874
+
4875
+hosted-git-info@^2.5.0:
4876
+ version "2.5.0"
4877
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
4878
+
4879
+html-encoding-sniffer@^1.0.2:
4880
+ version "1.0.2"
4881
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
4882
+ dependencies:
4883
+ whatwg-encoding "^1.0.1"
4884
+
4885
+htmlparser2@^3.9.1:
4886
+ version "3.9.2"
4887
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
4888
+ dependencies:
4889
+ domelementtype "^1.3.0"
4890
+ domhandler "^2.3.0"
4891
+ domutils "^1.5.1"
4892
+ entities "^1.1.1"
4893
+ inherits "^2.0.1"
4894
+ readable-stream "^2.0.2"
4895
+
4896
+http-browserify@^1.3.2:
4897
+ version "1.7.0"
4898
+ resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20"
4899
+ integrity sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=
4900
+ dependencies:
4901
+ Base64 "~0.2.0"
4902
+ inherits "~2.0.1"
4903
+
4904
+http-signature@~1.1.0:
4905
+ version "1.1.1"
4906
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
4907
+ integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=
4908
+ dependencies:
4909
+ assert-plus "^0.2.0"
4910
+ jsprim "^1.2.2"
4911
+ sshpk "^1.7.0"
4912
+
4913
+http-signature@~1.2.0:
4914
+ version "1.2.0"
4915
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
4916
+ dependencies:
4917
+ assert-plus "^1.0.0"
4918
+ jsprim "^1.2.2"
4919
+ sshpk "^1.7.0"
4920
+
4921
+https-browserify@0.0.0:
4922
+ version "0.0.0"
4923
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd"
4924
+ integrity sha1-s//f5zSyo9Sp79WOhlTJH86G6v0=
4925
+
4926
+https-browserify@^1.0.0:
4927
+ version "1.0.0"
4928
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
4929
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
4930
+
4931
+iconv-lite@0.4.19, iconv-lite@^0.4.17:
4932
+ version "0.4.19"
4933
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
4934
+
4935
+iconv-lite@^0.4.4:
4936
+ version "0.4.24"
4937
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
4938
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
4939
+ dependencies:
4940
+ safer-buffer ">= 2.1.2 < 3"
4941
+
4942
+iconv-lite@~0.4.13:
4943
+ version "0.4.15"
4944
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
4945
+
4946
+icss-replace-symbols@^1.1.0:
4947
+ version "1.1.0"
4948
+ resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
4949
+ integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
4950
+
4951
+icss-utils@^2.1.0:
4952
+ version "2.1.0"
4953
+ resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962"
4954
+ integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=
4955
+ dependencies:
4956
+ postcss "^6.0.1"
4957
+
4958
+ieee754@^1.1.4:
4959
+ version "1.1.12"
4960
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
4961
+ integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==
4962
+
4963
+iferr@^0.1.5:
4964
+ version "0.1.5"
4965
+ resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
4966
+ integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
4967
+
4968
+ignore-walk@^3.0.1:
4969
+ version "3.0.1"
4970
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
4971
+ integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
4972
+ dependencies:
4973
+ minimatch "^3.0.4"
4974
+
4975
+ignore@^3.1.2:
4976
+ version "3.2.0"
4977
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435"
4978
+
4979
+ignore@^3.2.0:
4980
+ version "3.3.3"
4981
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d"
4982
+
4983
+immutable@3.7.6:
4984
+ version "3.7.6"
4985
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b"
4986
+
4987
+import-lazy@^2.1.0:
4988
+ version "2.1.0"
4989
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
4990
+
4991
+import-local@^1.0.0:
4992
+ version "1.0.0"
4993
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
4994
+ dependencies:
4995
+ pkg-dir "^2.0.0"
4996
+ resolve-cwd "^2.0.0"
4997
+
4998
+import-local@^2.0.0:
4999
+ version "2.0.0"
This file is too large to show in full.