diff --git a/.hound.yml b/.hound.yml index cd9b2c9..3a15511 100644 --- a/.hound.yml +++ b/.hound.yml @@ -1,4 +1,6 @@ +jslint: + enabled: false eslint: - enabled: true + enabled: false config_file: .eslintrc ignore_file: .eslintignore diff --git a/.storybook/config.js b/.storybook/config.js new file mode 100644 index 0000000..9154670 --- /dev/null +++ b/.storybook/config.js @@ -0,0 +1,7 @@ +import { configure } from '@storybook/react'; + +function loadStories() { + require('../stories'); +} + +configure(loadStories, module); diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js new file mode 100644 index 0000000..17cc9b3 --- /dev/null +++ b/.storybook/webpack.config.js @@ -0,0 +1,18 @@ +// you can use this file to add your custom webpack plugins, loaders and anything you like. +// This is just the basic way to add additional webpack configurations. +// For more information refer the docs: https://storybook.js.org/configurations/custom-webpack-config + +// IMPORTANT +// When you add this file, we won't add the default configurations which is similar +// to "React Create App". This only has babel loader to load JavaScript. + +module.exports = { + plugins: [ + // your custom plugins + ], + module: { + loaders: [ + // add your custom loaders. + ], + }, +}; diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 433ffc0..65e0fc9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,6 +9,9 @@ I'm excited to have you helping out. Thank you so much for your time. Considering you've forked and cloned the repo on your system, switch to the directory and install the dependencies. ``` +npm install g babel-cli +npm install g webpack-cli + cd terminal-in-react npm install ``` @@ -24,12 +27,10 @@ npm install ### Starting development server -To test your changes, there is a [starter](./starter) folder where you will find two files, `index.html` and `App.js`. +To test your changes [Storybook](https://storybook.js.org) is used. This is a neat tool to test your component in an isolated state. -Make your changes to `App.js` and start the development server with - +To start it, simply run `npm run storybook` and head to [http://localhost:6006](). -``` -npm run start -``` +To add a new use case, just add a new story in the `stories/index.js` file. That's it! I am excited to see your pull request. diff --git a/README.md b/README.md index 4b46af2..c371f0f 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,6 @@ * [Usage](#usage) -* [Styling](#include-the-css) - * [Working](#working) * [Plugins](#using-plugins-) @@ -61,7 +59,6 @@ yarn add terminal-in-react ```jsx import React, { Component } from 'react'; import Terminal from 'terminal-in-react'; -import 'terminal-in-react/lib/css/index.css'; class App extends Component { showMsg = () => 'Hello World' @@ -98,9 +95,6 @@ class App extends Component { } } ``` -#### Include the CSS - -Ensure that `terminal-in-react/lib/css/index.css` is loaded > Be careful when copying this example because it uses `window` object (`'open-google': () => window.open("https://www.google.com/", "_blank"),`) which is only available on the client-side and it will give you an error if you're doing server side rendering. @@ -461,10 +455,6 @@ Eject from `create-react-app` and use a custom webpack configuration with [`babi Set the style to `height: 100vh` on parent element. -**Interface issues due to plugins** - -If you are having any issues with **plugins** or related api, fallback to `3.3.3`. Because plugins are still **WIP** ! - [npm-dm]: https://img.shields.io/npm/dm/terminal-in-react.svg [npm-dt]: https://img.shields.io/npm/dt/terminal-in-react.svg [npm-v]: https://img.shields.io/npm/v/terminal-in-react.svg @@ -472,8 +462,3 @@ If you are having any issues with **plugins** or related api, fallback to `3.3.3 [dev-deps]: https://img.shields.io/david/dev/nitin42/terminal-in-react.svg [license]: https://img.shields.io/npm/l/terminal-in-react.svg [package-url]: https://npmjs.com/package/terminal-in-react - -## New updates - -Follow [@NTulswani](https://twitter.com/NTulswani) on Twitter for new updates and progress 😄 - diff --git a/__tests__/__snapshots__/terminal.test.js.snap b/__tests__/__snapshots__/terminal.test.js.snap index 8d88e8d..bff670b 100644 --- a/__tests__/__snapshots__/terminal.test.js.snap +++ b/__tests__/__snapshots__/terminal.test.js.snap @@ -2,24 +2,15 @@ exports[`Terminal Component should render a terminal component 1`] = `
+
+ bash +
+
+
+ + +
+
+
+
               Hello World. My name is Nitin Tulswani
             
> @@ -108,24 +130,15 @@ exports[`Terminal Component should render a terminal component 1`] = ` exports[`Terminal Component should work with plugins 1`] = `
+
+ bash +
+
+
+ + +
+
+
+
-   -
-
/home/user/ > diff --git a/__tests__/terminal.test.js b/__tests__/terminal.test.js index 585d9fd..934d922 100644 --- a/__tests__/terminal.test.js +++ b/__tests__/terminal.test.js @@ -1,7 +1,7 @@ import React from 'react'; import renderer from 'react-test-renderer'; import PseudoFileSystem from 'terminal-in-react-pseudo-file-system-plugin'; // eslint-disable-line -import Terminal from '../src/js/components/Terminal'; +import Terminal from '../src/js/components/Terminal/index'; const Term = ( { expect(tree).toMatchSnapshot(); }); -}); \ No newline at end of file +}); diff --git a/package.json b/package.json index eadcd6e..5c97de9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "terminal-in-react", - "version": "3.4.2", + "version": "3.5.0", "description": "A component for making a terminal in React", "main": "lib/js/index.js", "module": "src/index.js", @@ -8,7 +8,7 @@ "author": "Nitin Tulswani", "license": "MIT", "dependencies": { - "camelcase": "^4.1.0", + "lodash.camelcase": "^4.3.0", "lodash.isequal": "^4.5.0", "minimist": "^1.2.0", "platform": "^1.3.4", @@ -17,9 +17,11 @@ "react-dom": "^15.6.1", "react-object-inspector": "^0.2.1", "string-similarity": "^1.2.0", + "styled-components": "^2.1.1", "whatkey": "^2.0.1" }, "devDependencies": { + "@storybook/react": "^3.2.3", "autoprefixer": "^7.1.2", "babel-core": "^6.25.0", "babel-eslint": "^7.2.3", @@ -34,44 +36,40 @@ "babel-preset-stage-1": "^6.24.1", "babili-webpack-plugin": "^0.1.2", "compression-webpack-plugin": "^0.4.0", - "css-loader": "^0.28.4", "eslint": "^3.19.0", "eslint-config-airbnb": "^15.0.2", "eslint-import-resolver-webpack": "^0.8.3", - "eslint-plugin-babel": "^4.1.1", + "eslint-plugin-babel": "^4.1.2", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^5.1.1", "eslint-plugin-react": "^7.1.0", "extract-text-webpack-plugin": "^3.0.0", "jest": "^20.0.4", "jsdom": "^11.1.0", - "node-sass": "^4.5.3", - "postcss-loader": "^2.0.6", "react-test-renderer": "^15.6.1", - "sass-loader": "^6.0.6", - "style-loader": "^0.18.2", - "terminal-in-react-pseudo-file-system-plugin": "^1.2.0", + "terminal-in-react-pseudo-file-system-plugin": "^2.0.0", "webpack": "^3.1.0", "webpack-bundle-analyzer": "^2.8.2", "webpack-dev-server": "^2.5.1" }, "scripts": { - "start": "NODE_ENV=development ./node_modules/.bin/webpack-dev-server --config ./webpack/webpack.dev.config.js --open --progress --colors --content-base starter/ --hot", + "start": "start-storybook -p 6006", + "storybook": "start-storybook -p 6006", + "build-storybook": "build-storybook", "prepublishOnly": "npm run lint && npm run build", "prebuildOnly": "rm -rf ./build", "lint": "./node_modules/.bin/eslint components/", "test": "./node_modules/.bin/jest", "test:watch": "./node_modules/.bin/jest --watch", - "build": "npm run build:lib && npm run build:scss && npm run build:bundle", + "build": "npm run build:lib && npm run build:bundle", "build:bundle": "NODE_ENV=production webpack --config ./webpack/webpack.config.js", - "build:lib": "NODE_ENV=production babel src/js --out-dir lib/js --source-maps", - "build:scss": "NODE_ENV=production node-sass src/styles --recursive --source-map true --output lib/css" + "build:lib": "NODE_ENV=production babel src/js --out-dir lib/js --source-maps" }, "jest": { "testEnvironment": "node", "moduleNameMapper": { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", - "\\.(css|less)$": "/__mocks__/styleMock.js" + "\\.(css)$": "/__mocks__/styleMock.js" }, "setupFiles": [ "/__mocks__/dom.js" diff --git a/src/js/args/utils.js b/src/js/args/utils.js index 25ac15d..242de2a 100644 --- a/src/js/args/utils.js +++ b/src/js/args/utils.js @@ -1,4 +1,4 @@ -import camelcase from 'camelcase'; +import camelcase from 'lodash.camelcase'; import stringSimilarity from 'string-similarity'; export default { diff --git a/src/js/components/Bar.js b/src/js/components/Bar/index.js similarity index 78% rename from src/js/components/Bar.js rename to src/js/components/Bar/index.js index 54eeced..af9ef47 100644 --- a/src/js/components/Bar.js +++ b/src/js/components/Bar/index.js @@ -1,5 +1,6 @@ -import React, { Component } from 'react'; // eslint-disable-line +import React, {Component} from 'react'; // eslint-disable-line import PropTypes from 'prop-types'; +import { TerminalTopBar } from './styled-elements'; class Bar extends Component { static displayName = 'Bar'; @@ -54,21 +55,28 @@ class Bar extends Component { render() { const { style, showActions } = this.props; return ( -
- { showActions && ( + {showActions && ( - + - ) } -
+ )} + ); } } diff --git a/src/js/components/Bar/styled-elements.js b/src/js/components/Bar/styled-elements.js new file mode 100644 index 0000000..ac3cbd7 --- /dev/null +++ b/src/js/components/Bar/styled-elements.js @@ -0,0 +1,11 @@ +/* eslint-disable import/prefer-default-export */ +import styled from 'styled-components'; + +export const TerminalTopBar = styled.div` + height: 30px; + max-width: 600px; + transition: all 0.4s ease-out; + background: ${props => props.theme.barColor}; + display: block; + margin: 0 auto; +`; diff --git a/src/js/components/Content.js b/src/js/components/Content/index.js similarity index 74% rename from src/js/components/Content.js rename to src/js/components/Content/index.js index 7c04cfd..3137230 100644 --- a/src/js/components/Content.js +++ b/src/js/components/Content/index.js @@ -1,6 +1,11 @@ -import React, { Component } from 'react'; // eslint-disable-line +import React, {Component} from 'react'; // eslint-disable-line import PropTypes from 'prop-types'; import whatkey, { unprintableKeys } from 'whatkey'; +import { + ContainerMain, ContainerContent, Holder, + Input, InputArea, MainInput, + OutputLine, PreOutputLine, Prompt, +} from './styled-elements'; class Content extends Component { static displayName = 'Content'; @@ -8,9 +13,6 @@ class Content extends Component { static propTypes = { id: PropTypes.string, oldData: PropTypes.object, // eslint-disable-line - backgroundColor: PropTypes.objectOf(PropTypes.string), - prompt: PropTypes.objectOf(PropTypes.string), - inputStyles: PropTypes.objectOf(PropTypes.string), register: PropTypes.func, handleChange: PropTypes.func, handlerKeyPress: PropTypes.func.isRequired, @@ -102,7 +104,7 @@ class Content extends Component { } render() { - const { prompt, inputStyles, backgroundColor, id } = this.props; + const { id } = this.props; const { symbol, maximise, activeTab, barShowing, tabsShowing } = this.context; if (id !== activeTab) { @@ -111,9 +113,9 @@ class Content extends Component { const output = this.state.summary.map((content, i) => { if (typeof content === 'string' && content.length === 0) { - return
 
; + return  ; } - return
{content}
; + return {content}; }); let toSubtract = 30; @@ -125,10 +127,8 @@ class Content extends Component { } return ( -
(this.contentWrapper = ctw)} + innerRef={ctw => (this.contentWrapper = ctw)} > -
-
-
+ + + {output} -
(this.inputWrapper = elm)} + (this.inputWrapper = elm)} > - + {this.state.promptPrefix + symbol} - - + (this.com = com)} + innerRef={com => (this.com = com)} onKeyPress={this.handleChange} onKeyDown={this.handleKeyPress} /> -
-
-
-
-
+ + + + + ); } } diff --git a/src/js/components/Content/styled-elements.js b/src/js/components/Content/styled-elements.js new file mode 100644 index 0000000..168656d --- /dev/null +++ b/src/js/components/Content/styled-elements.js @@ -0,0 +1,70 @@ +import styled from 'styled-components'; + +export const Container = styled.div` + display: block; + margin: 0 auto; +`; + +export const ContainerMain = Container.extend` + max-width: 600px; + transition: all 0.4s ease-out; + background: ${props => props.theme.backgroundColor}; + max-height: 600px; + height: 100%; + overflow: scroll; + position: relative; + + &:focus { + outline: none; + } +`; + +const outputLineStyle = ` + font-family: 'Inconsolata', monospace; + font-size: 0.9em; + color: green; + margin-top: 10px; + margin-bottom: 10px; + white-space: pre-wrap; +`; +export const OutputLine = styled.div`${outputLineStyle}`; +export const PreOutputLine = styled.pre`${outputLineStyle}`; + +export const Input = styled.div` + display: flex; + align-items: center; + padding-top: 15px; + padding-bottom: 15px; +`; + +export const Prompt = styled.span` + color: ${props => props.theme.prompt}; +`; + +export const MainInput = styled.input ` + font: inherit; + font-size: 0.9em; + &, &:focus{ + border: none; + padding: 0; + margin: 3px; + background: ${props => props.theme.backgroundColor}; + color: ${props => props.theme.color}; + flex: 1; + outline: none; + } +`; + +export const Holder = styled.div` +`; + +export const ContainerContent = styled.div` + padding: 5px 20px; + height: 100%; +`; + +export const InputArea = styled.div` + height: 100%; + padding: 3px; +`; + diff --git a/src/js/components/Plugin.js b/src/js/components/Plugin.js index 4b8df31..e45ad4a 100644 --- a/src/js/components/Plugin.js +++ b/src/js/components/Plugin.js @@ -5,12 +5,14 @@ export default class Plugin { static commands = {}; static descriptions = {}; + static shortcuts = {}; constructor(api, config = {}) { this.api = api; this.config = config; this.commands = {}; this.descriptions = {}; + this.shortcuts = {}; this.updateApi = newApi => (this.api = newApi); this.getPublicMethods = () => ({}); diff --git a/src/js/components/Tabs.js b/src/js/components/Tabs/index.js similarity index 81% rename from src/js/components/Tabs.js rename to src/js/components/Tabs/index.js index fdec31c..15869cd 100644 --- a/src/js/components/Tabs.js +++ b/src/js/components/Tabs/index.js @@ -1,5 +1,6 @@ -import React, { Component } from 'react'; // eslint-disable-line +import React, {Component} from 'react'; // eslint-disable-line import PropTypes from 'prop-types'; +import { Tab, TabBar, TabBarEmpty, TabClose, TabPlus } from './styled-elements'; function last(arr, pre = '') { let base = arr.length > 2 ? `${arr[arr.length - 2]}` : ''; @@ -72,46 +73,44 @@ class Tabs extends Component { const tabs = this.context.instances.map(({ index, instance }) => { const title = (instance && instance.state) ? last(instance.state.summary, instance.state.promptPrefix) : 'bash'; return ( -
this.handleTabClick(e, index)} onFocus={e => this.handleTabClick(e, index)} title={title} tabIndex={0} > {this.context.instances.length > 1 && ( -
this.handleRemoveClick(e, index, instance)} - >x
- ) } + >x + )} {title} -
+ ); }); return ( -
{tabs} -
-
+
-
-
+ >+ + + + ); } } diff --git a/src/styles/Tabs.scss b/src/js/components/Tabs/styled-elements.js similarity index 73% rename from src/styles/Tabs.scss rename to src/js/components/Tabs/styled-elements.js index b1d13c1..59191e0 100644 --- a/src/styles/Tabs.scss +++ b/src/js/components/Tabs/styled-elements.js @@ -1,40 +1,23 @@ -.terminal-tab-bar { +import styled from 'styled-components'; + +export const TabBar = styled.div` height: 30px; max-width: 600px; transition: all 0.4s ease-out; background: #222; display: flex; margin: 0 auto; -} - -.terminal-tab { - display: inline-block; - vertical-align: top; - height: 30px; - background-color: #333; - border-bottom: 2px solid #333; - text-align: center; - line-height: 30px; - width: 100px; - box-sizing: border-box; - overflow: hidden; - text-overflow: ellipsis; - padding-left: 3px; - padding-right: 3px; - cursor: pointer; - white-space: pre; - position: relative; -} +`; -.terminal-tab-active { - border-bottom-color: #777; -} -.terminal-tab:focus { - outline: none; -} +export const TabBarEmpty = styled.div` + display: inline-block; + min-width: 25px; + height: 100%; + flex: 1; +`; -.terminal-tab-close { +export const TabClose = styled.div` position: absolute; top: 8px; height: 13px; @@ -51,9 +34,33 @@ background-color: black; border-radius: 50%; } -} +`; -.terminal-tab-plus { +export const Tab = styled.div` + display: inline-block; + vertical-align: top; + height: 30px; + background-color: #333; + border-bottom: 2px solid #333; + border-bottom-color: ${props => props.active ? '#777' : '#333'} + text-align: center; + line-height: 30px; + width: 100px; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + padding-left: 3px; + padding-right: 3px; + cursor: pointer; + white-space: pre; + position: relative; + text-align: center; + &:focus { + outline: none; + } +`; + +export const TabPlus = styled.div` display: inline-block; color: white; border: 1px solid white; @@ -66,17 +73,6 @@ text-align: center; font-size: 12px; cursor: pointer; - opacity: 0; + opacity: ${props => props.visible ? '0.7' : '0'}; transition: opacity 0.3s; -} - -.terminal-tab-plus-visible { - opacity: 0.7; -} - -.terminal-tab-bar-empty { - display: inline-block; - min-width: 25px; - height: 100%; - flex: 1; -} +`; diff --git a/src/js/components/Terminal.js b/src/js/components/Terminal/index.js similarity index 84% rename from src/js/components/Terminal.js rename to src/js/components/Terminal/index.js index a738cf6..9884cd1 100644 --- a/src/js/components/Terminal.js +++ b/src/js/components/Terminal/index.js @@ -1,92 +1,23 @@ /* eslint-disable no-console, react/sort-comp */ -import React, { Component } from 'react'; // eslint-disable-line +import React, {Component} from 'react'; // eslint-disable-line import stringSimilarity from 'string-similarity'; import whatkey from 'whatkey'; import isEqual from 'lodash.isequal'; -import Command from '../args'; -import { handleLogging, getOs } from '../utils'; +import { ThemeProvider } from 'styled-components'; +import { handleLogging } from '../../utils'; import { TerminalPropTypes, TerminalContextTypes, TerminalDefaultProps, -} from './types'; -import Bar from './Bar'; -import Content from './Content'; -import Tabs from './Tabs'; - -function pluginMap(plugins, eachHandler) { - return plugins.map((plugin) => { - if (typeof plugin === 'function') { - plugin = { - class: plugin, - config: undefined, - }; - } - return plugin; - }).forEach(pluginObj => eachHandler(pluginObj.class, pluginObj.config)); -} - -function uuidv4() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { - const r = Math.random() * 16 | 0; // eslint-disable-line no-bitwise - const v = c === 'x' ? r : (r & 0x3 | 0x8); // eslint-disable-line - return v.toString(16); - }); -} - -const os = getOs(); - -function getShortcuts(shortcuts, obj) { - Object.keys(obj).forEach((key) => { - const split = key.toLowerCase().replace(/\s/g, '').split(','); - split.forEach((osName) => { - if (osName === os) { - shortcuts = { - ...shortcuts, - ...obj[key], - }; - } - }); - }); - return shortcuts; -} +} from '../types'; -function modCommands(commands) { - const newCommands = {}; - - Object.keys(commands).forEach((name) => { - let needsInstance = false; - const definition = commands[name]; - let method = definition; - let parse = i => i; - if (typeof definition === 'object') { - const cmd = new Command(); - if (typeof definition.options !== 'undefined') { - try { - cmd.options(definition.options); - } catch (e) { - throw new Error('options for command wrong format'); - } - } - parse = i => - cmd.parse(i, { - name, - help: true, - version: false, - }); - method = definition.method; - needsInstance = definition.needsInstance || false; - } +import { os, pluginMap, uuidv4, getShortcuts, modCommands } from './terminal-utils'; - newCommands[name] = { - parse, - method, - needsInstance, - }; - }); +import { Base, ContainerWrapper, Note } from './styled-elements'; - return newCommands; -} +import Bar from '../Bar'; +import Content from '../Content/index'; +import Tabs from '../Tabs/index'; class Terminal extends Component { static displayName = 'Terminal'; @@ -204,31 +135,24 @@ class Terminal extends Component { // Tab creation createTab = (force = false) => { - const { color, backgroundColor, prompt, allowTabs } = this.props; + const { allowTabs } = this.props; if (force || allowTabs) { const { tabs } = this.state; const id = uuidv4(); - const inputStyles = { backgroundColor, color }; - const promptStyles = { color: prompt }; - const backgroundColorStyles = { backgroundColor }; - tabs.push(( this.registerInstance(id, ...args)} /> )); this.setState({ activeTab: id, tabs }); } - } + }; // Tab removal removeTab = (index) => { @@ -252,9 +176,7 @@ class Terminal extends Component { // Shows the full window (normal window) getContent = () => { const { - color, style, - barColor, showActions, hideTopBar, allowTabs, @@ -262,12 +184,10 @@ class Terminal extends Component { } = this.props; const { activeTab, tabs } = this.state; - const barColorStyles = { backgroundColor: barColor }; - return ( -
+ {!hideTopBar && ( - + )} {allowTabs && ( )} {tabs} -
+ ); }; // Show only bar (minimise) getBar = () => { - const { color, barColor, style, showActions, actionHandlers } = this.props; - const barColorStyles = { backgroundColor: barColor }; + const { style, showActions, actionHandlers } = this.props; return ( -
+ -
+ ); }; // Show msg (on window close) getNote = () => ( - +

OOPS! You closed the window.

Click on the icon to reopen. -
+ ); // Plugin data getter @@ -340,6 +258,11 @@ class Terminal extends Component { setShortcuts = () => { let shortcuts = getShortcuts({}, this.defaultShortcuts); shortcuts = getShortcuts(shortcuts, this.props.shortcuts); + pluginMap(this.props.plugins, (plugin) => { + if (plugin.shortcuts) { + shortcuts = getShortcuts(shortcuts, plugin.shortcuts); + } + }); this.setState({ shortcuts }); }; @@ -360,9 +283,9 @@ class Terminal extends Component { setTrue = name => () => this.setState({ [name]: true }); /** - * set the input value with the possible history value - * @param {number} next position on the history - */ + * set the input value with the possible history value + * @param {number} next position on the history + */ setValueWithHistory = (instance, position, inputRef) => { const { history } = instance.state; if (history[position]) { @@ -487,7 +410,15 @@ class Terminal extends Component { // Method to check for shortcut and invoking commands checkShortcuts = (instance, key, e) => { - const shortcuts = Object.keys(this.state.shortcuts); + const instanceData = this.state.instances.find(i => isEqual(i.instance, instance)); + let cuts = this.state.shortcuts; + if (instanceData) { + Object.values(instanceData.pluginInstances).forEach((i) => { + cuts = getShortcuts(cuts, i.shortcuts); + }); + } + + const shortcuts = Object.keys(cuts); if (shortcuts.length > 0) { const { keyInputs } = instance.state; let modKey = key; @@ -506,9 +437,9 @@ class Terminal extends Component { if (options.length > 0) { if (options.length === 1 && options[0][0].length === len) { const shortcut = shortcuts[options[0][1]]; - const action = this.state.shortcuts[shortcut]; + const action = cuts[shortcut]; if (typeof action === 'string') { - this.runCommand(instance, this.state.shortcuts[shortcut]); + this.runCommand(instance, cuts[shortcut]); } else if (typeof action === 'function') { e.preventDefault(); e.stopPropagation(); @@ -780,13 +711,22 @@ class Terminal extends Component { }; render() { + const theme = { + color: this.props.color, + prompt: this.props.prompt, + barColor: this.props.barColor, + backgroundColor: this.props.backgroundColor, + }; + return ( -
- {this.getAppContent()} -
+ + + {this.getAppContent()} + + ); } } diff --git a/src/js/components/Terminal/styled-elements.js b/src/js/components/Terminal/styled-elements.js new file mode 100644 index 0000000..dc27325 --- /dev/null +++ b/src/js/components/Terminal/styled-elements.js @@ -0,0 +1,44 @@ +import styled, {keyframes} from 'styled-components'; + +export const Base = styled.div` + width: 100%; + max-width: ${props => props.fullscreen ? '100%' : '600px' }; + height: ${props => props.fullscreen ? '100%' : '630px'}; + min-height: 630px; + max-height: 100vh; + text-align: initial;`; + +const DEFAULT_FONT_STYLE = ` + font-family: 'Inconsolata', monospace; + font-size: 0.9em; + color: green; +`; + +export const ContainerWrapper = styled.div` + height: 100%; + animation: fadeIn 0.18s ease-in; + color: ${props => props.theme.color}; + ${DEFAULT_FONT_STYLE} +`; + +const terminalFadeIn = keyframes` + 0% { + opacity: 0; + } + + 60% { + opacity: 0.6; + } + + 100% { + opacity: 1; + } +`; + +export const Note = styled.span` + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + animation: ${terminalFadeIn} 0.3s ease-in; +`; diff --git a/src/js/components/Terminal/terminal-utils.js b/src/js/components/Terminal/terminal-utils.js new file mode 100644 index 0000000..9b7de8b --- /dev/null +++ b/src/js/components/Terminal/terminal-utils.js @@ -0,0 +1,78 @@ +import Command from '../../args/index'; +import { getOs } from '../../utils'; + +export const os = getOs(); + +export function pluginMap(plugins, eachHandler) { + return plugins.map((plugin) => { + if (typeof plugin === 'function') { + plugin = { + class: plugin, + config: undefined, + }; + } + return plugin; + }).forEach(pluginObj => eachHandler(pluginObj.class, pluginObj.config)); +} + +export function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = Math.random() * 16 | 0; // eslint-disable-line no-bitwise + const v = c === 'x' ? r : (r & 0x3 | 0x8); // eslint-disable-line + return v.toString(16); + }); +} + +export function getShortcuts(shortcuts, obj) { + if (typeof obj === 'object') { + Object.keys(obj).forEach((key) => { + const split = key.toLowerCase().replace(/\s/g, '').split(','); + split.forEach((osName) => { + if (osName === os) { + shortcuts = { + ...shortcuts, + ...obj[key], + }; + } + }); + }); + } + return shortcuts; +} + +export function modCommands(commands) { + const newCommands = {}; + + Object.keys(commands).forEach((name) => { + let needsInstance = false; + const definition = commands[name]; + let method = definition; + let parse = i => i; + if (typeof definition === 'object') { + const cmd = new Command(); + if (typeof definition.options !== 'undefined') { + try { + cmd.options(definition.options); + } catch (e) { + throw new Error('options for command wrong format'); + } + } + parse = i => + cmd.parse(i, { + name, + help: true, + version: false, + }); + method = definition.method; + needsInstance = definition.needsInstance || false; + } + + newCommands[name] = { + parse, + method, + needsInstance, + }; + }); + + return newCommands; +} diff --git a/src/js/index.js b/src/js/index.js index a0922d8..0bf6709 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -1,6 +1,34 @@ +import {injectGlobal} from 'styled-components'; import Terminal from './components/Terminal'; import PluginBase from './components/Plugin'; +injectGlobal` + /* vietnamese */ +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), url(https://fonts.gstatic.com/s/inconsolata/v15/BjAYBlHtW3CJxDcjzrnZCNDiNsR5a-9Oe_Ivpu8XWlY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), url(https://fonts.gstatic.com/s/inconsolata/v15/BjAYBlHtW3CJxDcjzrnZCKE8kM4xWR1_1bYURRojRGc.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), url(https://fonts.gstatic.com/s/inconsolata/v15/BjAYBlHtW3CJxDcjzrnZCIgp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; +} +`; + export default Terminal; export { diff --git a/src/styles/Bar.scss b/src/styles/Bar.scss deleted file mode 100644 index c3492ab..0000000 --- a/src/styles/Bar.scss +++ /dev/null @@ -1,12 +0,0 @@ -.terminal-top-bar { - height: 30px; - max-width: 600px; - transition: all 0.4s ease-out; - background: black; - display: block; - margin: 0 auto; - - circle { - cursor: pointer; - } -} diff --git a/src/styles/Terminal.scss b/src/styles/Terminal.scss deleted file mode 100644 index 1de80d5..0000000 --- a/src/styles/Terminal.scss +++ /dev/null @@ -1,114 +0,0 @@ -.terminal-base { - width: 100%; - max-width: 600px; - height: 630px; - max-height: 100vh; - text-align: initial; -} - -.terminal-container-wrapper { - height: 100%; - animation: fadeIn 0.18s ease-in; -} - -.terminal-container-wrapper, -.terminal-output-line { - font-family: 'Inconsolata', monospace; - font-size: 0.9em; - color: green; -} - -.terminal-container { - display: block; - margin: 0 auto; -} - -.terminal-note { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - animation: terminalFadeIn 0.3s ease-in; -} - -.terminal-note > img:focus { - outline: none; -} - -@keyframes terminalFadeIn { - 0% { - opacity: 0; - } - - 60% { - opacity: 0.6; - } - - 100% { - opacity: 1; - } -} - -.terminal-input-area { - height: 100%; - padding: 3px; -} - -.terminal-input { - display: flex; - align-items: center; - padding-top: 15px; - padding-bottom: 15px; -} - -.terminal-main-input { - font: inherit; - font-size: 0.9em; -} - -.terminal-container-main { - max-width: 600px; - transition: all 0.4s ease-out; - background: black; - max-height: 600px; - height: 100%; - overflow: scroll; - position: relative; - - &:focus { - outline: none; - } -} - -.terminal-holder { -} - -.terminal-prompt { - color: green; -} - -.terminal-main-input, .terminal-main-input:focus { - border: none; - padding: 0; - margin: 3px; - background: black; - color: green; - flex: 1; - outline: none; -} - -.terminal-output-line { - margin-top: 10px; - margin-bottom: 10px; - white-space: pre-wrap; - color: inherit; -} - -.terminal-output-line > pre { - background-color: transparent !important; -} - -.terminal-content { - padding: 5px 20px; - height: 100%; -} diff --git a/src/styles/index.scss b/src/styles/index.scss deleted file mode 100644 index 0ebea6b..0000000 --- a/src/styles/index.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "Bar"; -@import "Tabs"; -@import "Terminal"; diff --git a/src/styles/postcss.config.js b/src/styles/postcss.config.js deleted file mode 100644 index 0c44c9a..0000000 --- a/src/styles/postcss.config.js +++ /dev/null @@ -1,9 +0,0 @@ -const autoprefixer = require('autoprefixer'); // eslint-disable-line - -const postCssConfig = { - plugins: [ - autoprefixer(), - ], -}; - -module.exports = postCssConfig; diff --git a/starter/App.js b/starter/App.js deleted file mode 100644 index d13ab92..0000000 --- a/starter/App.js +++ /dev/null @@ -1,62 +0,0 @@ -import React from 'react'; // eslint-disable-line -import { render } from 'react-dom'; -// import pseudoFileSystemPlugin from 'terminal-in-react-pseudo-file-system-plugin'; // eslint-disable-line -// import NodeEvalPlugin from 'terminal-in-react-node-eval-plugin'; // eslint-disable-line -// Bundle generated with npm run build:production ('../lib/js/index') or use '../src/js' -import Terminal from '../src/js'; -import '../src/styles/index.scss'; // (../lib/css/index.css) or '../src/styles/index.scss' - -// const FileSystemPlugin = pseudoFileSystemPlugin(); - -const App = () => ( -
- { - console.log(`The color is ${args._[0] || args.color}`); // eslint-disable-line - }, - options: [ - { - name: 'color', - description: 'The color the output should be', - defaultValue: 'white', - }, - ], - }, - 'type-text': (args, print, runCommand) => { - const text = args.slice(1).join(' '); - print(''); - for (let i = 0; i < text.length; i += 1) { - setTimeout(() => { - runCommand(`edit-line ${text.slice(0, i + 1)}`); - }, 100 * i); - } - }, - open: () => window.open('http://terminal-in-react.surge.sh', '_blank'), - }} - descriptions={{ - color: 'option for color. For eg - color red', - 'type-text': 'Types out input text', - open: 'Open a terminal website', - }} - shortcuts={{ - 'darwin,win,linux': { - 'ctrl + a': 'echo whoo', - }, - }} - // plugins={[ - // FileSystemPlugin, - // { - // class: NodeEvalPlugin, - // config: { - // filesystem: FileSystemPlugin.displayName, - // }, - // }, - // ]} - /> -
-); - -render(, document.getElementById('app')); diff --git a/starter/index.html b/starter/index.html deleted file mode 100644 index 299c6cd..0000000 --- a/starter/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Terminal in React - - - -
- - - diff --git a/stories/index.js b/stories/index.js new file mode 100644 index 0000000..22d438e --- /dev/null +++ b/stories/index.js @@ -0,0 +1,52 @@ +import React from 'react'; +import styled from 'styled-components'; +import createPseudoFileSystem from 'terminal-in-react-pseudo-file-system-plugin'; // eslint-disable-line + +import { storiesOf } from '@storybook/react'; // eslint-disable-line + +import Terminal from '../src/js/components/Terminal/index'; + +const FileSystemPlugin = createPseudoFileSystem('/', 'db'); + +const TerminalWrapper = styled.div` + width : 100vw; + height: 100vh; +`; + +const withWrapper = child => () => ({child}); + +storiesOf('Terminal', module) + .add('basic', withWrapper( + 'website', intro: () => 'My name is Foo!' }} + descriptions={{ website: 'My website', intro: 'My introduction' }} + />, + )) + .add('maximised', withWrapper( + 'website', intro: () => 'My name is Foo!' }} + descriptions={{ website: 'My website', intro: 'My introduction' }} + startState="maximised" + />, + )) + .add('with custom colors', withWrapper( + 'website', intro: () => 'My name is Foo!' }} + descriptions={{ website: 'My website', intro: 'My introduction' }} + />, + )) + .add('with FileSystem plugin', withWrapper( + , + )) +; diff --git a/webpack/config.js b/webpack/config.js index 1180933..b341057 100644 --- a/webpack/config.js +++ b/webpack/config.js @@ -10,13 +10,6 @@ const jsLoader = () => ({ use: ['babel-loader'], }); -const styleLoader = () => ({ - test: /\.scss$/, - include: resolve(__dirname, '..', 'src', 'styles'), - use: ExtractTextPlugin.extract({ - use: ['css-loader', 'postcss-loader', 'sass-loader'], - }), -}); const output = () => ({ filename: '[name]', @@ -45,18 +38,17 @@ const plugins = () => [ const externals = () => ({ react: 'react', 'react-dom': 'react-dom', - camelcase: 'camelcase', + 'lodash.camelcase': 'lodash.camelcase', 'lodash.isequal': 'lodash.isequal', minimist: 'minimist', platform: 'platform', 'prop-types': 'prop-types', 'react-object-inspector': 'react-object-inspector', 'string-similarity': 'string-similarity', - 'whatkey': 'whatkey' + whatkey: 'whatkey', }); const entry = () => ({ - 'terminal-react.css': './src/styles/index.scss', 'terminal-react.js': './src/js/index.js', }); @@ -64,7 +56,7 @@ module.exports = { context: resolve(__dirname, '../'), jsLoader, output, - styleLoader, + // styleLoader, plugins, externals, entry, diff --git a/webpack/webpack.config.js b/webpack/webpack.config.js index 3c786c4..b07d298 100644 --- a/webpack/webpack.config.js +++ b/webpack/webpack.config.js @@ -1,6 +1,5 @@ const { jsLoader, - styleLoader, output, plugins, externals, @@ -15,7 +14,7 @@ module.exports = { devtool: 'cheap-module-source-map', cache: true, module: { - rules: [jsLoader(), styleLoader()], + rules: [jsLoader()], }, target: 'web', externals: externals(), diff --git a/webpack/webpack.dev.config.js b/webpack/webpack.dev.config.js index 56e6d2e..be01cbb 100644 --- a/webpack/webpack.dev.config.js +++ b/webpack/webpack.dev.config.js @@ -11,14 +11,6 @@ module.exports = { exclude: [/node_modules/, /__tests__/, /coverage/], use: ['babel-loader'], }, - { - test: /\.css$/, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.scss$/, - use: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader'], - }, ], }, target: 'web', diff --git a/yarn.lock b/yarn.lock index 356d6bf..be7c148 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,128 @@ # yarn lockfile v1 +"@storybook/addon-actions@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.2.0.tgz#e5d7f63fec89cae1b98bbc124694153b7409317f" + dependencies: + "@storybook/addons" "^3.2.0" + deep-equal "^1.0.1" + json-stringify-safe "^5.0.1" + prop-types "^15.5.10" + react-inspector "^2.1.1" + uuid "^3.1.0" + +"@storybook/addon-links@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.2.0.tgz#28c73d1fd7fa37591139f3fb16e60a43113ad643" + dependencies: + "@storybook/addons" "^3.2.0" + +"@storybook/addons@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.0.tgz#e1446cc5613af179701673276267cee71859bf41" + +"@storybook/channel-postmessage@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.2.0.tgz#612ff53120bf266660cb9328bac9ad671228a2f7" + dependencies: + "@storybook/channels" "^3.2.0" + global "^4.3.2" + json-stringify-safe "^5.0.1" + +"@storybook/channels@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.2.0.tgz#d75395212db76b49e3335f50cce5bc763cf0b5c6" + +"@storybook/react-fuzzy@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@storybook/react-fuzzy/-/react-fuzzy-0.4.0.tgz#2961e8a1f6c1afcce97e9e9a14d1dfe9d9061087" + dependencies: + babel-runtime "^6.23.0" + classnames "^2.2.5" + fuse.js "^3.0.1" + prop-types "^15.5.9" + +"@storybook/react@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.3.tgz#4e5aff80b61328288dcf9e3a6b2a2890eab880be" + dependencies: + "@storybook/addon-actions" "^3.2.0" + "@storybook/addon-links" "^3.2.0" + "@storybook/addons" "^3.2.0" + "@storybook/channel-postmessage" "^3.2.0" + "@storybook/ui" "^3.2.3" + airbnb-js-shims "^1.1.1" + autoprefixer "^7.1.1" + babel-core "^6.25.0" + babel-loader "^7.0.0" + babel-plugin-react-docgen "^1.6.0" + babel-preset-es2015 "^6.24.1" + babel-preset-es2016 "^6.24.1" + babel-preset-react "^6.24.1" + babel-preset-react-app "^3.0.0" + babel-preset-stage-0 "^6.24.1" + babel-runtime "^6.23.0" + case-sensitive-paths-webpack-plugin "^2.0.0" + chalk "^2.0.1" + commander "^2.9.0" + common-tags "^1.4.0" + configstore "^3.1.0" + css-loader "^0.28.1" + express "^4.15.3" + file-loader "^0.11.1" + find-cache-dir "^1.0.0" + glamor "^2.20.25" + glamorous "^3.22.1" + global "^4.3.2" + json-loader "^0.5.4" + json-stringify-safe "^5.0.1" + json5 "^0.5.1" + lodash.flattendeep "^4.4.0" + lodash.pick "^4.4.0" + postcss-flexbugs-fixes "^3.0.0" + postcss-loader "^2.0.5" + prop-types "^15.5.10" + qs "^6.4.0" + react-modal "^1.7.7" + redux "^3.6.0" + request "^2.81.0" + serve-favicon "^2.4.3" + shelljs "^0.7.8" + style-loader "^0.17.0" + url-loader "^0.5.8" + util-deprecate "^1.0.2" + uuid "^3.1.0" + webpack "^2.5.1 || ^3.0.0" + webpack-dev-middleware "^1.10.2" + webpack-hot-middleware "^2.18.0" + +"@storybook/ui@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.3.tgz#9579c191a1695d3d5aaabcef93a7a5456d8f19af" + dependencies: + "@storybook/react-fuzzy" "^0.4.0" + babel-runtime "^6.23.0" + deep-equal "^1.0.1" + events "^1.1.1" + fuzzysearch "^1.0.3" + global "^4.3.2" + json-stringify-safe "^5.0.1" + keycode "^2.1.8" + lodash.pick "^4.4.0" + lodash.sortby "^4.7.0" + mantra-core "^1.7.0" + podda "^1.2.2" + prop-types "^15.5.10" + qs "^6.4.0" + react-icons "^2.2.5" + react-inspector "^2.1.1" + react-komposer "^2.0.0" + react-modal "^1.7.7" + react-split-pane "^0.1.65" + react-treebeard "^2.0.3" + redux "^3.6.0" + "@types/node@^6.0.46": version "6.0.83" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.83.tgz#dd022db01ac2c01c1057775e88ccffce96d1d6fe" @@ -51,6 +173,21 @@ acorn@^5.0.0, acorn@^5.0.1, acorn@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" +airbnb-js-shims@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.3.0.tgz#aac46d80057fb0b414f70e06d07e362fd99ee2fa" + dependencies: + array-includes "^3.0.3" + es5-shim "^4.5.9" + es6-shim "^0.35.3" + function.prototype.name "^1.0.3" + object.entries "^1.0.4" + object.getownpropertydescriptors "^2.0.3" + object.values "^1.0.4" + promise.prototype.finally "^3.0.0" + string.prototype.padend "^3.0.0" + string.prototype.padstart "^3.0.0" + ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -242,14 +379,14 @@ ast-types-flow@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" +ast-types@0.9.11: + version "0.9.11" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.11.tgz#371177bb59232ff5ceaa1d09ee5cad705b1a5aa9" + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - async@0.2.x: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" @@ -258,7 +395,7 @@ async@^1.4.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.1.4, async@^2.1.5, async@^2.4.1: +async@^2.1.2, async@^2.1.4, async@^2.4.1: version "2.5.0" resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" dependencies: @@ -279,7 +416,7 @@ autoprefixer@^6.3.1: postcss "^5.2.16" postcss-value-parser "^3.2.3" -autoprefixer@^7.1.2: +autoprefixer@^7.1.1, autoprefixer@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.2.tgz#fbeaf07d48fd878e0682bf7cbeeade728adb2b18" dependencies: @@ -520,7 +657,7 @@ babel-jest@^20.0.3: babel-plugin-istanbul "^4.0.0" babel-preset-jest "^20.0.3" -babel-loader@^7.1.1: +babel-loader@^7.0.0, babel-loader@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.1.tgz#b87134c8b12e3e4c2a94e0546085bc680a2b8488" dependencies: @@ -540,6 +677,14 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" +babel-plugin-dynamic-import-node@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.0.2.tgz#adb5bc8f48a89311540395ae9f0cc3ed4b10bb2e" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + babel-plugin-istanbul@^4.0.0: version "4.1.4" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz#18dde84bf3ce329fddf3f4103fae921456d8e587" @@ -616,6 +761,14 @@ babel-plugin-minify-type-constructors@^0.1.2: dependencies: babel-helper-is-void-0 "^0.1.1" +babel-plugin-react-docgen@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.6.0.tgz#9be36121b094da7a1a3ba7911a9e8ea4b0f44da0" + dependencies: + babel-types "^6.24.1" + lodash "4.x.x" + react-docgen "^2.15.0" + babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -640,7 +793,7 @@ babel-plugin-syntax-do-expressions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" -babel-plugin-syntax-dynamic-import@^6.18.0: +babel-plugin-syntax-dynamic-import@6.18.0, babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" @@ -680,7 +833,7 @@ babel-plugin-transform-async-generator-functions@^6.24.1: babel-plugin-syntax-async-generators "^6.5.0" babel-runtime "^6.22.0" -babel-plugin-transform-async-to-generator@^6.24.1: +babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: @@ -696,7 +849,7 @@ babel-plugin-transform-class-constructor-call@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-class-properties@^6.24.1: +babel-plugin-transform-class-properties@6.24.1, babel-plugin-transform-class-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: @@ -742,7 +895,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.24.1: +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" dependencies: @@ -752,7 +905,7 @@ babel-plugin-transform-es2015-block-scoping@^6.24.1: babel-types "^6.24.1" lodash "^4.2.0" -babel-plugin-transform-es2015-classes@^6.24.1: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -766,33 +919,33 @@ babel-plugin-transform-es2015-classes@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.24.1: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.22.0: +babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.24.1: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.22.0: +babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.24.1: +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -806,7 +959,7 @@ babel-plugin-transform-es2015-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-amd@^6.24.1: +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" dependencies: @@ -814,7 +967,7 @@ babel-plugin-transform-es2015-modules-amd@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@^6.24.1: +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" dependencies: @@ -823,7 +976,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.24.1: babel-template "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-modules-systemjs@^6.24.1: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -831,7 +984,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.24.1: +babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -839,14 +992,14 @@ babel-plugin-transform-es2015-modules-umd@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.24.1: +babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.24.1: +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -857,7 +1010,7 @@ babel-plugin-transform-es2015-parameters@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.24.1: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -870,7 +1023,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.24.1: +babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -884,13 +1037,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.22.0: +babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.24.1: +babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -898,7 +1051,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.24.1: babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.24.1: +babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: @@ -943,7 +1096,7 @@ babel-plugin-transform-minify-booleans@^6.8.2: version "6.8.2" resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.2.tgz#8451579f706e702c1e1ab2756de5c8ea369cf07c" -babel-plugin-transform-object-rest-spread@^6.22.0: +babel-plugin-transform-object-rest-spread@6.23.0, babel-plugin-transform-object-rest-spread@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" dependencies: @@ -956,27 +1109,33 @@ babel-plugin-transform-property-literals@^6.8.4: dependencies: esutils "^2.0.2" +babel-plugin-transform-react-constant-elements@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz#2f119bf4d2cdd45eb9baaae574053c604f6147dd" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-transform-react-display-name@^6.23.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx-self@^6.22.0: +babel-plugin-transform-react-jsx-self@6.22.0, babel-plugin-transform-react-jsx-self@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" dependencies: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx-source@^6.22.0: +babel-plugin-transform-react-jsx-source@6.22.0, babel-plugin-transform-react-jsx-source@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" dependencies: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.24.1: +babel-plugin-transform-react-jsx@6.24.1, babel-plugin-transform-react-jsx@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" dependencies: @@ -984,7 +1143,7 @@ babel-plugin-transform-react-jsx@^6.24.1: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.24.1: +babel-plugin-transform-regenerator@6.24.1, babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" dependencies: @@ -1006,6 +1165,12 @@ babel-plugin-transform-remove-undefined@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.1.2.tgz#e1ebf51110f6b1e0665f28382ef73f95e5023652" +babel-plugin-transform-runtime@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-transform-simplify-comparison-operators@^6.8.4: version "6.8.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.4.tgz#2aa24a262d664c8cb3e125a306c798d7a2de08d5" @@ -1049,6 +1214,41 @@ babel-preset-babili@^0.1.4: babel-plugin-transform-undefined-to-void "^6.8.2" lodash.isplainobject "^4.0.6" +babel-preset-env@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^2.1.2" + invariant "^2.2.2" + semver "^5.3.0" + babel-preset-es2015@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" @@ -1078,6 +1278,12 @@ babel-preset-es2015@^6.24.1: babel-plugin-transform-es2015-unicode-regex "^6.24.1" babel-plugin-transform-regenerator "^6.24.1" +babel-preset-es2016@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.24.1.tgz#f900bf93e2ebc0d276df9b8ab59724ebfd959f8b" + dependencies: + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-preset-flow@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" @@ -1090,7 +1296,24 @@ babel-preset-jest@^20.0.3: dependencies: babel-plugin-jest-hoist "^20.0.3" -babel-preset-react@^6.24.1: +babel-preset-react-app@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-3.0.1.tgz#8b744cbe47fd57c868e6f913552ceae26ae31860" + dependencies: + babel-plugin-dynamic-import-node "1.0.2" + babel-plugin-syntax-dynamic-import "6.18.0" + babel-plugin-transform-class-properties "6.24.1" + babel-plugin-transform-object-rest-spread "6.23.0" + babel-plugin-transform-react-constant-elements "6.23.0" + babel-plugin-transform-react-jsx "6.24.1" + babel-plugin-transform-react-jsx-self "6.22.0" + babel-plugin-transform-react-jsx-source "6.22.0" + babel-plugin-transform-regenerator "6.24.1" + babel-plugin-transform-runtime "6.23.0" + babel-preset-env "1.5.2" + babel-preset-react "6.24.1" + +babel-preset-react@6.24.1, babel-preset-react@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" dependencies: @@ -1148,9 +1371,9 @@ babel-register@^6.24.1: mkdirp "^0.5.1" source-map-support "^0.4.2" -babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" +babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.25.0.tgz#33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" @@ -1200,6 +1423,10 @@ babylon@^6.17.0, babylon@^6.17.2, babylon@^6.17.4: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" +babylon@~5.8.3: + version "5.8.38" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd" + balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -1257,6 +1484,10 @@ boom@2.x.x: dependencies: hoek "2.x.x" +bowser@^1.0.0, bowser@^1.6.0: + version "1.7.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.7.1.tgz#a4de8f18a1a0dc9531eb2a92a1521fb6a9ba96a5" + brace-expansion@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" @@ -1272,6 +1503,10 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +brcast@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/brcast/-/brcast-2.0.2.tgz#2db16de44140e418dc37fab10beec0369e78dcef" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -1340,7 +1575,7 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" -browserslist@^2.1.5: +browserslist@^2.1.2, browserslist@^2.1.5: version "2.2.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.2.0.tgz#5e35ec993e467c6464b8cb708447386891de9f50" dependencies: @@ -1375,6 +1610,13 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.0.3: + version "5.0.6" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1441,6 +1683,10 @@ caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000701: version "1.0.30000701" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000701.tgz#9d673cf6b74dcb3d5c21d213176b011ac6a45baa" +case-sensitive-paths-webpack-plugin@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.1.tgz#3d29ced8c1f124bf6f53846fb3f5894731fdc909" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1452,6 +1698,10 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" +chain-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" + chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1506,6 +1756,10 @@ clap@^1.0.9: dependencies: chalk "^1.1.3" +classnames@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + cli-cursor@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" @@ -1532,15 +1786,6 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" -clone-deep@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.3.0.tgz#348c61ae9cdbe0edfe053d91ff4cc521d790ede8" - dependencies: - for-own "^1.0.0" - is-plain-object "^2.0.1" - kind-of "^3.2.2" - shallow-clone "^0.1.2" - clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" @@ -1605,6 +1850,12 @@ commander@^2.8.1, commander@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" +common-tags@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0" + dependencies: + babel-runtime "^6.18.0" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1648,6 +1899,17 @@ concat-stream@^1.5.2: readable-stream "^2.2.2" typedarray "^0.0.6" +configstore@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + connect-history-api-fallback@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" @@ -1702,7 +1964,7 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.4.0: +core-js@^2.4.0, core-js@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" @@ -1749,7 +2011,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.6.0: +create-react-class@^15.5.2, create-react-class@^15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" dependencies: @@ -1757,13 +2019,6 @@ create-react-class@^15.6.0: loose-envify "^1.3.1" object-assign "^4.1.1" -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1785,11 +2040,25 @@ crypto-browserify@^3.11.0: public-encrypt "^4.0.0" randombytes "^2.0.0" +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" -css-loader@^0.28.4: +css-in-js-utils@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-1.0.3.tgz#9ac7e02f763cf85d94017666565ed68a5b5f3215" + dependencies: + hyphenate-style-name "^1.0.2" + +css-loader@^0.28.1: version "0.28.4" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" dependencies: @@ -1816,6 +2085,14 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" +css-to-react-native@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.4.tgz#cf4cc407558b3474d4ba8be1a2cd3b6ce713101b" + dependencies: + css-color-keywords "^1.0.0" + fbjs "^0.8.5" + postcss-value-parser "^3.3.0" + cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" @@ -2050,10 +2327,24 @@ doctrine@^2.0.0: esutils "^2.0.2" isarray "^1.0.0" +dom-helpers@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.2.1.tgz#3203e07fed217bd1f424b019735582fc37b2825a" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + dependencies: + is-obj "^1.0.0" + duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -2076,6 +2367,10 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.15: version "1.3.15" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369" +element-class@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/element-class/-/element-class-0.2.2.tgz#9d3bbd0767f9013ef8e1c8ebe722c1402a60050e" + elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -2135,7 +2430,7 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.7.0: +es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" dependencies: @@ -2159,6 +2454,10 @@ es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: es6-iterator "2" es6-symbol "~3.1" +es5-shim@^4.5.9: + version "4.5.9" + resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.9.tgz#2a1e2b9e583ff5fed0c20a3ee2cbf3f75230a5c0" + es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" @@ -2188,6 +2487,10 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" +es6-shim@^0.35.3: + version "0.35.3" + resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" + es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" @@ -2272,9 +2575,9 @@ eslint-module-utils@^2.1.1: debug "^2.6.8" pkg-dir "^1.0.0" -eslint-plugin-babel@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.1.tgz#ef285c87039b67beb3bbd227f5b0eed4fb376b87" +eslint-plugin-babel@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.2.tgz#79202a0e35757dd92780919b2336f1fa2fe53c1e" eslint-plugin-import@^2.7.0: version "2.7.0" @@ -2362,7 +2665,7 @@ esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@^4.0.0: +esprima@^4.0.0, esprima@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" @@ -2406,7 +2709,7 @@ eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" -events@^1.0.0: +events@^1.0.0, events@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" @@ -2428,6 +2731,14 @@ exec-sh@^0.2.0: dependencies: merge "^1.1.3" +exenv@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" + +exenv@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -2444,7 +2755,7 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -express@^4.13.3, express@^4.15.2: +express@^4.13.3, express@^4.15.2, express@^4.15.3: version "4.15.3" resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" dependencies: @@ -2508,6 +2819,10 @@ fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" +fast-memoize@^2.2.7: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.2.7.tgz#f145c5c22039cedf0a1d4ff6ca592ad0268470ca" + fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" @@ -2536,7 +2851,7 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.9: +fbjs@^0.8.12, fbjs@^0.8.5, fbjs@^0.8.9: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -2562,6 +2877,12 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" +file-loader@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" + dependencies: + loader-utils "^1.0.2" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -2637,10 +2958,6 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -2651,12 +2968,6 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - dependencies: - for-in "^1.0.1" - foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -2713,6 +3024,22 @@ function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +function.prototype.name@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.3.tgz#0099ae5572e9dd6f03c97d023fd92bcc5e639eac" + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.0" + is-callable "^1.1.3" + +fuse.js@^3.0.1: + version "3.0.5" + resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.0.5.tgz#b58d85878802321de94461654947b93af1086727" + +fuzzysearch@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz#dffc80f6d6b04223f2226aa79dd194231096d008" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2726,12 +3053,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" - dependencies: - globule "^1.0.0" - generate-function@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" @@ -2756,6 +3077,26 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +glamor@^2.20.25: + version "2.20.38" + resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.38.tgz#5aa908fc044891588ed05bdbeda59c5328a615a4" + dependencies: + fbjs "^0.8.12" + inline-style-prefixer "^3.0.6" + object-assign "^4.1.1" + prop-types "^15.5.10" + through "^2.3.8" + +glamorous@^3.22.1: + version "3.25.0" + resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-3.25.0.tgz#d6d66c3dfffdc194761469adcbd996d4b70222e1" + dependencies: + brcast "^2.0.0" + fast-memoize "^2.2.7" + html-tag-names "^1.1.1" + react-html-attributes "^1.3.0" + svg-tag-names "^1.1.0" + glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -2769,7 +3110,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -2780,6 +3121,13 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +global@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + dependencies: + min-document "^2.19.0" + process "~0.5.1" + globals@^9.0.0, globals@^9.14.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -2805,14 +3153,6 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globule@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" - dependencies: - glob "~7.1.1" - lodash "~4.17.4" - minimatch "~3.0.2" - graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -2918,6 +3258,10 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" +hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" + home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -2942,6 +3286,10 @@ html-comment-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" +html-element-attributes@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-1.3.0.tgz#f06ebdfce22de979db82020265cac541fb17d4fc" + html-encoding-sniffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" @@ -2952,6 +3300,10 @@ html-entities@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" +html-tag-names@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.2.tgz#f65168964c5a9c82675efda882875dcb2a875c22" + http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -2993,6 +3345,10 @@ https-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" +hyphenate-style-name@^1.0.1, hyphenate-style-name@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" + iconv-lite@0.4.13, iconv-lite@~0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" @@ -3015,14 +3371,14 @@ ignore@^3.2.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" +immutable@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -3056,6 +3412,20 @@ ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" +inline-style-prefixer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7" + dependencies: + bowser "^1.0.0" + hyphenate-style-name "^1.0.1" + +inline-style-prefixer@^3.0.6: + version "3.0.7" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.7.tgz#0ccc92e5902fe6e0d28d975c4258443f880615f8" + dependencies: + bowser "^1.6.0" + css-in-js-utils "^1.0.3" + inquirer@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" @@ -3084,7 +3454,7 @@ interpret@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" -invariant@^2.2.0: +invariant@2.x.x, invariant@^2.2.0, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -3123,7 +3493,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2, is-buffer@^1.1.5: +is-buffer@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" @@ -3151,6 +3521,10 @@ is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" +is-dom@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.0.9.tgz#483832d52972073de12b9fe3f60320870da8370d" + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -3189,6 +3563,10 @@ is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" +is-function@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -3222,6 +3600,10 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -3613,7 +3995,7 @@ jest@^20.0.4: dependencies: jest-cli "^20.0.4" -js-base64@^2.1.8, js-base64@^2.1.9: +js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" @@ -3715,7 +4097,7 @@ json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -3748,13 +4130,11 @@ jsx-ast-utils@^1.4.0, jsx-ast-utils@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - dependencies: - is-buffer "^1.0.2" +keycode@^2.1.8: + version "2.1.9" + resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.1.9.tgz#964a23c54e4889405b4861a5c9f0480d45141dfa" -kind-of@^3.0.2, kind-of@^3.2.2: +kind-of@^3.0.2: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: @@ -3776,10 +4156,6 @@ language-map@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/language-map/-/language-map-1.2.0.tgz#86b56081d11237c989ec630172e85b1592998fc7" -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" @@ -3824,7 +4200,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: +loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -3839,10 +4215,18 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +lodash-es@^4.2.1: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" + lodash._baseget@^3.0.0: version "3.7.2" resolved "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz#1b6ae1d5facf3c25532350a13c1197cb8bb674f4" +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + lodash._topath@^3.0.0: version "3.8.1" resolved "https://registry.yarnpkg.com/lodash._topath/-/lodash._topath-3.8.1.tgz#3ec5e2606014f4cb97f755fe6914edd8bfc00eac" @@ -3857,14 +4241,14 @@ lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + lodash.get@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-3.7.0.tgz#3ce68ae2c91683b281cc5394128303cbf75e691f" @@ -3872,6 +4256,10 @@ lodash.get@^3.7.0: lodash._baseget "^3.0.0" lodash._topath "^3.0.0" +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" @@ -3884,13 +4272,21 @@ lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" +lodash.keys@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" -lodash.mergewith@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" lodash.set@^4.3.2: version "4.3.2" @@ -3904,18 +4300,18 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash.tail@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@~4.17.4: +lodash@4.x.x, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -3939,13 +4335,6 @@ lowlight@^1.5.0: dependencies: highlight.js "~9.12.0" -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" @@ -3962,6 +4351,14 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" +mantra-core@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/mantra-core/-/mantra-core-1.7.0.tgz#a8c83e8cee83ef6a7383131519fe8031ad546386" + dependencies: + babel-runtime "6.x.x" + react-komposer "^1.9.0" + react-simple-di "^1.2.0" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -3995,7 +4392,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.3.0, meow@^3.7.0: +meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -4061,10 +4458,16 @@ mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" -mime@^1.3.4: +mime@1.3.x, mime@^1.3.4: version "1.3.6" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + dependencies: + dom-walk "^0.1.0" + minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" @@ -4073,7 +4476,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -4087,19 +4490,16 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" +mobx@^2.3.4: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-2.7.0.tgz#cf3d82d18c0ca7f458d8f2a240817b3dc7e54a01" + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -4119,7 +4519,7 @@ mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" -nan@^2.0.0, nan@^2.3.0, nan@^2.3.2: +nan@^2.0.0, nan@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -4131,6 +4531,12 @@ negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" +node-dir@^0.1.10: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + dependencies: + minimatch "^3.0.2" + node-fetch@^1.0.1: version "1.7.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.1.tgz#899cb3d0a3c92f952c47f1b876f4c8aeabd400d5" @@ -4142,24 +4548,6 @@ node-forge@0.6.33: version "0.6.33" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" -node-gyp@^3.3.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "2" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -4243,29 +4631,6 @@ node-pre-gyp@^0.6.36, node-pre-gyp@^0.6.4: tar "^2.2.1" tar-pack "^3.4.0" -node-sass@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568" - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - lodash.mergewith "^4.6.0" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.3.2" - node-gyp "^3.3.1" - npmlog "^4.0.0" - request "^2.79.0" - sass-graph "^2.1.1" - stdout-stream "^1.4.0" - node-zopfli@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz#a7a473ae92aaea85d4c68d45bbf2c944c46116b8" @@ -4275,12 +4640,6 @@ node-zopfli@^2.0.0: nan "^2.0.0" node-pre-gyp "^0.6.4" -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -4316,7 +4675,7 @@ normalize-url@^1.4.0: query-string "^4.1.0" sort-keys "^1.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: +npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -4349,6 +4708,22 @@ object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" +object.entries@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -4356,6 +4731,15 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + obuf@^1.0.0, obuf@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" @@ -4433,7 +4817,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: @@ -4597,6 +4981,13 @@ pn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" +podda@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/podda/-/podda-1.2.2.tgz#15b0edbd334ade145813343f5ecf9c10a71cf500" + dependencies: + babel-runtime "^6.11.6" + immutable "^3.8.1" + portfinder@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -4666,6 +5057,12 @@ postcss-filter-plugins@^2.0.0: postcss "^5.0.4" uniqid "^4.0.0" +postcss-flexbugs-fixes@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.2.0.tgz#9b8b932c53f9cf13ba0f61875303e447c33dcc51" + dependencies: + postcss "^6.0.1" + postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -4689,7 +5086,7 @@ postcss-load-plugins@^2.3.0: cosmiconfig "^2.1.1" object-assign "^4.1.0" -postcss-loader@^2.0.6: +postcss-loader@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.6.tgz#8c7e0055a3df1889abc6bad52dd45b2f41bbc6fc" dependencies: @@ -4902,7 +5299,7 @@ pretty-format@^20.0.3: ansi-regex "^2.1.1" ansi-styles "^3.0.0" -private@^0.1.6: +private@^0.1.6, private@~0.1.5: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -4914,17 +5311,35 @@ process@^0.11.0, process@~0.11.0: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +promise.prototype.finally@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.0.0.tgz#afb1710ff2068562966f6d006d12c3107c7a4f39" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + function-bind "^1.1.0" + promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" dependencies: asap "~2.0.3" -prop-types@^15.5.10: +prop-types@15.5.8: + version "15.5.8" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" + dependencies: + fbjs "^0.8.9" + +prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9: version "15.5.10" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" dependencies: @@ -4942,10 +5357,6 @@ prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - public-encrypt@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" @@ -4972,6 +5383,10 @@ qs@6.4.0, qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@^6.4.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -4983,7 +5398,7 @@ querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@0.2.0: +querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -4995,6 +5410,15 @@ querystringify@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" +radium@^0.19.0: + version "0.19.4" + resolved "https://registry.yarnpkg.com/radium/-/radium-0.19.4.tgz#56aa49fde6181d2f5e1fa57b4710ffd0c23de820" + dependencies: + array-find "^1.0.0" + exenv "^1.2.1" + inline-style-prefixer "^2.0.5" + prop-types "^15.5.8" + randomatic@^1.1.3: version "1.1.7" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" @@ -5021,6 +5445,22 @@ rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-docgen@^2.15.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-2.17.0.tgz#b0f3e85af955714e1067593c1043cb82611a93d1" + dependencies: + async "^2.1.4" + babel-runtime "^6.9.2" + babylon "~5.8.3" + commander "^2.9.0" + doctrine "^2.0.0" + node-dir "^0.1.10" + recast "^0.12.6" + +react-dom-factories@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.0.tgz#f43c05e5051b304f33251618d5bc859b29e46b6d" + react-dom@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" @@ -5030,10 +5470,93 @@ react-dom@^15.6.1: object-assign "^4.1.0" prop-types "^15.5.10" +react-html-attributes@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/react-html-attributes/-/react-html-attributes-1.4.1.tgz#97b5ec710da68833598c8be6f89ac436216840a5" + dependencies: + html-element-attributes "^1.0.0" + +react-icon-base@2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.0.7.tgz#0bd18736bd6ce79ca6d69ce8387a07fb8d4ceffe" + dependencies: + prop-types "15.5.8" + +react-icons@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.5.tgz#f942501c21a4cc0456ce2bbee5032c93f6051dcf" + dependencies: + react-icon-base "2.0.7" + +react-inspector@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.1.3.tgz#61fc4c6b6b29b5262af3aad781a12138cd181a32" + dependencies: + babel-runtime "^6.23.0" + is-dom "^1.0.9" + +react-komposer@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/react-komposer/-/react-komposer-1.13.1.tgz#4b8ac4bcc71323bd7413dcab95c831197f50eed0" + dependencies: + babel-runtime "6.x.x" + hoist-non-react-statics "1.x.x" + invariant "2.x.x" + mobx "^2.3.4" + shallowequal "0.2.x" + +react-komposer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/react-komposer/-/react-komposer-2.0.0.tgz#b964738014a9b4aee494a83c0b5b833d66072a90" + dependencies: + babel-runtime "^6.11.6" + hoist-non-react-statics "^1.2.0" + lodash.pick "^4.4.0" + react-stubber "^1.0.0" + shallowequal "^0.2.2" + +react-modal@^1.7.7: + version "1.9.7" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-1.9.7.tgz#07ef56790b953e3b98ef1e2989e347983c72871d" + dependencies: + create-react-class "^15.5.2" + element-class "^0.2.0" + exenv "1.2.0" + lodash.assign "^4.2.0" + prop-types "^15.5.7" + react-dom-factories "^1.0.0" + react-object-inspector@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/react-object-inspector/-/react-object-inspector-0.2.1.tgz#8ec32951bde8c76b072ef084a74e7a9d2d0aeb72" +react-simple-di@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/react-simple-di/-/react-simple-di-1.2.0.tgz#dde0e5bf689f391ef2ab02c9043b213fe239c6d0" + dependencies: + babel-runtime "6.x.x" + hoist-non-react-statics "1.x.x" + +react-split-pane@^0.1.65: + version "0.1.65" + resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.65.tgz#37c0b5ea5c960827e7f3621d0a114b0f8c9c8918" + dependencies: + inline-style-prefixer "^3.0.6" + prop-types "^15.5.10" + react-style-proptype "^3.0.0" + +react-stubber@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/react-stubber/-/react-stubber-1.0.0.tgz#41ee2cac72d4d4fd70a63896da98e13739b84628" + dependencies: + babel-runtime "^6.5.0" + +react-style-proptype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-style-proptype/-/react-style-proptype-3.0.0.tgz#89e0b646f266c656abb0f0dd8202dbd5036c31e6" + dependencies: + prop-types "^15.5.4" + react-syntax-highlighter@^5.6.2: version "5.6.2" resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-5.6.2.tgz#01f5ad3cc44c40c26b6fb4e00a4bed90f66304c5" @@ -5049,6 +5572,27 @@ react-test-renderer@^15.6.1: fbjs "^0.8.9" object-assign "^4.1.0" +react-transition-group@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-1.2.0.tgz#b51fc921b0c3835a7ef7c571c79fc82c73e9204f" + dependencies: + chain-function "^1.0.0" + dom-helpers "^3.2.0" + loose-envify "^1.3.1" + prop-types "^15.5.6" + warning "^3.0.0" + +react-treebeard@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/react-treebeard/-/react-treebeard-2.0.3.tgz#cd644209c1be2fe2be3ae4bca8350ed6abf293d6" + dependencies: + babel-runtime "^6.23.0" + deep-equal "^1.0.1" + prop-types "^15.5.8" + radium "^0.19.0" + shallowequal "^0.2.2" + velocity-react "^1.3.1" + react@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df" @@ -5118,6 +5662,16 @@ readline2@^1.0.1: is-fullwidth-code-point "^1.0.0" mute-stream "0.0.5" +recast@^0.12.6: + version "0.12.6" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.6.tgz#4b0fb82feb1d10b3bd62d34943426d9b3ed30d4c" + dependencies: + ast-types "0.9.11" + core-js "^2.4.1" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.5.0" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -5145,6 +5699,15 @@ reduce-function-call@^1.0.1: dependencies: balanced-match "^0.4.2" +redux@^3.6.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" @@ -5226,7 +5789,7 @@ request-promise-native@^1.0.3: stealthy-require "^1.1.0" tough-cookie ">=2.3.0" -request@2, request@^2.79.0, request@^2.81.0: +request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -5326,14 +5889,14 @@ rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" +safe-buffer@5.0.1, safe-buffer@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" + safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" -safe-buffer@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" - sane@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/sane/-/sane-1.6.0.tgz#9610c452307a135d29c1fdfe2547034180c46775" @@ -5346,25 +5909,6 @@ sane@~1.6.0: walker "~1.0.5" watch "~0.10.0" -sass-graph@^2.1.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^7.0.0" - -sass-loader@^6.0.6: - version "6.0.6" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.6.tgz#e9d5e6c1f155faa32a4b26d7a9b7107c225e40f9" - dependencies: - async "^2.1.5" - clone-deep "^0.3.0" - loader-utils "^1.0.1" - lodash.tail "^4.1.1" - pify "^3.0.0" - sax@^1.2.1, sax@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -5375,13 +5919,6 @@ schema-utils@^0.3.0: dependencies: ajv "^5.0.0" -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -5392,7 +5929,7 @@ selfsigned@^1.9.1: dependencies: node-forge "0.6.33" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@~5.3.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5414,6 +5951,16 @@ send@0.15.3: range-parser "~1.2.0" statuses "~1.3.1" +serve-favicon@^2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.4.3.tgz#5986b17b0502642b641c21f818b1acce32025d23" + dependencies: + etag "~1.8.0" + fresh "0.5.0" + ms "2.0.0" + parseurl "~1.3.1" + safe-buffer "5.0.1" + serve-index@^1.7.2: version "1.9.0" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.0.tgz#d2b280fc560d616ee81b48bf0fa82abed2485ce7" @@ -5457,16 +6004,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: dependencies: inherits "^2.0.1" -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" +shallowequal@0.2.x, shallowequal@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e" dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" + lodash.keys "^3.1.2" -shelljs@^0.7.5: +shelljs@^0.7.5, shelljs@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -5490,6 +6034,10 @@ slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -5534,13 +6082,13 @@ source-map-support@^0.4.2: dependencies: source-map "^0.5.6" -source-map@^0.4.2, source-map@^0.4.4: +source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -5609,12 +6157,6 @@ sshpk@^1.7.0: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" -stdout-stream@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" - dependencies: - readable-stream "^2.0.1" - stealthy-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -5667,6 +6209,22 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string.prototype.padend@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.4.3" + function-bind "^1.0.2" + +string.prototype.padstart@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.4.3" + function-bind "^1.0.2" + string_decoder@^0.10.25: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -5713,12 +6271,29 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -style-loader@^0.18.2: - version "0.18.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" +style-loader@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.17.0.tgz#e8254bccdb7af74bd58274e36107b4d5ab4df310" dependencies: loader-utils "^1.0.2" - schema-utils "^0.3.0" + +styled-components@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.1.tgz#7e9b5bc319ee3963b47aebb74f4658119ea9d484" + dependencies: + buffer "^5.0.3" + css-to-react-native "^2.0.3" + fbjs "^0.8.9" + hoist-non-react-statics "^1.2.0" + is-function "^1.0.1" + is-plain-object "^2.0.1" + prop-types "^15.5.4" + stylis "^3.2.1" + supports-color "^3.2.3" + +stylis@^3.2.1: + version "3.2.8" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.8.tgz#9b23a3e06597f7944a3d9ae880d5796248b8784f" supports-color@^2.0.0: version "2.0.0" @@ -5736,6 +6311,10 @@ supports-color@^4.0.0, supports-color@^4.1.0: dependencies: has-flag "^2.0.0" +svg-tag-names@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/svg-tag-names/-/svg-tag-names-1.1.1.tgz#9641b29ef71025ee094c7043f7cdde7d99fbd50a" + svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" @@ -5748,6 +6327,10 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" +symbol-observable@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" + symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" @@ -5784,7 +6367,7 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar@^2.0.0, tar@^2.2.1: +tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -5792,15 +6375,31 @@ tar@^2.0.0, tar@^2.2.1: fstream "^1.0.2" inherits "2" -terminal-in-react-pseudo-file-system-plugin@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/terminal-in-react-pseudo-file-system-plugin/-/terminal-in-react-pseudo-file-system-plugin-1.2.0.tgz#53af4373ef1317f3001edaecd63add038a90b5b4" +terminal-in-react-pseudo-file-system-plugin@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/terminal-in-react-pseudo-file-system-plugin/-/terminal-in-react-pseudo-file-system-plugin-2.0.0.tgz#0dc9aea7f521c6464a03444627e9e6f27da79e61" dependencies: core-decorators "^0.19.0" lang-map "^0.4.0" lodash.set "^4.3.2" memoizerific "^1.11.2" react-syntax-highlighter "^5.6.2" + terminal-in-react "^3.4.0" + +terminal-in-react@^3.4.0: + version "3.4.2" + resolved "https://registry.yarnpkg.com/terminal-in-react/-/terminal-in-react-3.4.2.tgz#27891302dea02553a11a3617a93cda4be6408ba4" + dependencies: + camelcase "^4.1.0" + lodash.isequal "^4.5.0" + minimist "^1.2.0" + platform "^1.3.4" + prop-types "^15.5.10" + react "^15.6.1" + react-dom "^15.6.1" + react-object-inspector "^0.2.1" + string-similarity "^1.2.0" + whatkey "^2.0.1" test-exclude@^4.1.1: version "4.1.1" @@ -5820,7 +6419,7 @@ throat@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/throat/-/throat-3.2.0.tgz#50cb0670edbc40237b9e347d7e1f88e4620af836" -through@^2.3.6: +through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -5828,6 +6427,10 @@ thunky@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + timers-browserify@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" @@ -5956,10 +6559,23 @@ uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + dependencies: + crypto-random-string "^1.0.0" + unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +url-loader@^0.5.8: + version "0.5.9" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" + dependencies: + loader-utils "^1.0.2" + mime "1.3.x" + url-parse@1.0.x: version "1.0.5" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" @@ -5987,7 +6603,7 @@ user-home@^2.0.0: dependencies: os-homedir "^1.0.0" -util-deprecate@~1.0.1: +util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -6005,7 +6621,7 @@ uuid@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -uuid@^3.0.0: +uuid@^3.0.0, uuid@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" @@ -6020,6 +6636,19 @@ vary@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" +velocity-animate@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.0.tgz#fc8771d8dfe1136ff02a707e10fbb0957c4b030f" + +velocity-react@^1.3.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/velocity-react/-/velocity-react-1.3.3.tgz#d6d47276cfc8be2a75623879b20140ac58c1b82b" + dependencies: + lodash "^3.10.1" + prop-types "^15.5.8" + react-transition-group "^1.1.2" + velocity-animate "^1.4.0" + vendors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" @@ -6042,6 +6671,12 @@ walker@~1.0.5: dependencies: makeerror "1.0.x" +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + dependencies: + loose-envify "^1.0.0" + watch@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" @@ -6084,14 +6719,15 @@ webpack-bundle-analyzer@^2.8.2: opener "^1.4.3" ws "^2.3.1" -webpack-dev-middleware@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz#09691d0973a30ad1f82ac73a12e2087f0a4754f9" +webpack-dev-middleware@^1.10.2, webpack-dev-middleware@^1.11.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" dependencies: memory-fs "~0.4.1" mime "^1.3.4" path-is-absolute "^1.0.0" range-parser "^1.0.3" + time-stamp "^2.0.0" webpack-dev-server@^2.5.1: version "2.5.1" @@ -6119,6 +6755,15 @@ webpack-dev-server@^2.5.1: webpack-dev-middleware "^1.11.0" yargs "^6.0.0" +webpack-hot-middleware@^2.18.0: + version "2.18.2" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz#84dee643f037c3d59c9de142548430371aa8d3b2" + dependencies: + ansi-html "0.0.7" + html-entities "^1.2.0" + querystring "^0.2.0" + strip-ansi "^3.0.0" + webpack-sources@^0.1.0: version "0.1.5" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" @@ -6133,7 +6778,7 @@ webpack-sources@^1.0.1: source-list-map "^2.0.0" source-map "~0.5.3" -webpack@^3.1.0: +"webpack@^2.5.1 || ^3.0.0", webpack@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.3.0.tgz#ce2f9e076566aba91f74887133a883fd7da187bc" dependencies: @@ -6207,7 +6852,7 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@1, which@^1.2.12, which@^1.2.9: +which@^1.2.12: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: @@ -6249,6 +6894,14 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" +write-file-atomic@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" @@ -6262,6 +6915,10 @@ ws@^2.3.1: safe-buffer "~5.0.1" ultron "~1.1.0" +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + xml-name-validator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" @@ -6274,10 +6931,6 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - yargs-parser@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" @@ -6308,7 +6961,7 @@ yargs@^6.0.0: y18n "^3.2.1" yargs-parser "^4.2.0" -yargs@^7.0.0, yargs@^7.0.2: +yargs@^7.0.2: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" dependencies: