diff --git a/.gitignore b/.gitignore
index c7ffd1b4c..8e3d10168 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,13 +61,11 @@ typings/
# dotenv environment variables file
.env
-# PROJECT configurations
-dist/
-
# End of https://www.gitignore.io/api/node
-
-src/mock/mock.js
-src/mock/mock.xl.js
+# PROJECT configurations
+dist/
DOCUMENTATION.md
docs
+sandbox/rd3g.sandbox.bundle.js
+sandbox/rd3g.sandbox.bundle.js.map
diff --git a/README.md b/README.md
index 782e3068d..d8bd53498 100644
--- a/README.md
+++ b/README.md
@@ -44,3 +44,11 @@ export default {
}
};
```
+
+## TODOs
+This are some ideas to further development:
+- Expose a graph property **background-color** that is applied to the svg graph container.
+
+## Contributions
+Contributions are welcome fell free to submit new features or simply grab something from
+the above TODO list.
diff --git a/package.json b/package.json
index fe78ad2ce..aa67ab83f 100644
--- a/package.json
+++ b/package.json
@@ -18,14 +18,18 @@
"babel-preset-es2015": "6.16.0",
"babel-preset-react": "6.16.0",
"babel-preset-stage-0": "6.16.0",
+ "css-loader": "^0.28.0",
"documentation": "4.0.0-beta.18",
+ "eslint": "3.18.0",
"eslint-config-recommended": "1.5.0",
"eslint-plugin-promise": "3.5.0",
"eslint-plugin-standard": "2.1.1",
- "eslint": "3.18.0",
"html-webpack-plugin": "2.28.0",
+ "npm-run-all": "4.0.2",
"react-dom": "15.4.2",
+ "react-jsonschema-form": "0.46.0",
"react-router-dom": "4.0.0",
+ "style-loader": "^0.16.1",
"webpack": "2.3.2",
"webpack-dev-server": "2.4.2"
},
@@ -45,8 +49,10 @@
"visualization"
],
"scripts": {
- "dev": "node_modules/.bin/webpack-dev-server -d --content-base src --inline --hot --port 3002",
- "dist": "webpack -p",
+ "dev": "node_modules/.bin/webpack-dev-server -d --content-base sandbox --inline --hot --port 3002",
+ "dist": "node_modules/.bin/npm-run-all --parallel dist:*",
+ "dist:rd3g": "webpack --config webpack.config.dist.js -p --display-modules",
+ "dist:sandbox": "webpack --config webpack.config.js -p --display-modules",
"docs": "node_modules/documentation/bin/documentation.js build src/**/*.js -f html -o docs && node_modules/documentation/bin/documentation.js build src/**/*.js -f md > DOCUMENTATION.md",
"lint": "node_modules/eslint/bin/eslint.js --config=.eslintrc.js \"src/**/*.js\"",
"test": "echo \"Error: no test specified\" && exit 1"
diff --git a/sandbox/Sandbox.js b/sandbox/Sandbox.js
new file mode 100644
index 000000000..7c43ffb51
--- /dev/null
+++ b/sandbox/Sandbox.js
@@ -0,0 +1,167 @@
+import React from 'react';
+
+import Form from 'react-jsonschema-form';
+
+import './styles.css';
+
+import defaultConfig from '../src/components/Graph/config';
+import { Graph } from '../src';
+import mock from './miserables';
+import Utils from './utils';
+import ReactD3GraphUtils from '../src/utils';
+
+export default class Sandbox extends React.Component {
+ constructor(props) {
+ super(props);
+
+ const schemaProps = Utils.generateFormSchema(defaultConfig, '', {});
+
+ const schema = {
+ type: 'object',
+ properties: schemaProps
+ };
+
+ const uiSchema = {
+ height: {'ui:readonly': 'true'},
+ width: {'ui:readonly': 'true'}
+ };
+
+ this.uiSchema = uiSchema;
+
+ this.state = {
+ config: defaultConfig,
+ generatedConfig: {},
+ schema
+ };
+ }
+
+ onClickNode = (id) => window.alert(`clicked node ${id}`);
+
+ onClickLink = (source, target) => window.alert(`clicked link between ${source} and ${target}`);
+
+ onMouseOverNode = () => {
+ // Do something with the node identifier ...
+ }
+
+ onMouseOutNode = () => {
+ // Do something with the node identifier ...
+ }
+
+ pauseGraphSimulation = () => this.refs.graph.pauseSimulation();
+
+ restartGraphSimulation = () => this.refs.graph.restartSimulation();
+
+ resetNodesPositions = () => this.refs.graph.resetNodesPositions();
+
+ _buildGraphConfig = (data) => {
+ let config = {};
+ let schemaPropsValues = {};
+
+ for(let k of Object.keys(data.formData)) {
+ // Set value mapping correctly for config object of react-d3-graph
+ Utils.setValue(config, k, data.formData[k]);
+ // Set new values for schema of jsonform
+ schemaPropsValues[k] = {};
+ schemaPropsValues[k]['default'] = data.formData[k]
+ }
+
+ return {config, schemaPropsValues};
+ }
+
+ refreshGraph = (data) => {
+ const {config, schemaPropsValues} = this._buildGraphConfig(data);
+
+ this.state.schema.properties = ReactD3GraphUtils.merge(this.state.schema.properties, schemaPropsValues);
+
+ this.setState({
+ config
+ });
+ }
+
+ // Generate graph configuration file ready to use!
+ onSubmit = (data) => {
+ const {config, schemaPropsValues} = this._buildGraphConfig(data);
+
+ this.setState({
+ generatedConfig: config
+ });
+ }
+
+ onClickSubmit = () => {
+ // Hack for allow submit button to live outside jsonform
+ document.body.querySelector('.invisible-button').click();
+ }
+
+ resetGraphConfig = () => {
+ const schemaProps = Utils.generateFormSchema(defaultConfig, '', {});
+
+ const schema = {
+ type: 'object',
+ properties: schemaProps
+ };
+
+ this.setState({
+ config: defaultConfig,
+ schema
+ });
+ }
+
+ render() {
+ const graphProps = {
+ id: 'graph',
+ data: mock,
+ config: this.state.config,
+ onClickNode: this.onClickNode,
+ onClickLink: this.onClickLink,
+ onMouseOverNode: this.onMouseOverNode,
+ onMouseOutNode: this.onMouseOutNode
+ };
+
+ const btnStyle = {
+ cursor: this.state.config.staticGraph ? 'not-allowed' : 'pointer'
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
Graph configurations
+
+
+
+
+
+
Your config
+
+
+
+
Graph data
+
+
+
+ );
+ }
+}
+
+class JSONContainer extends React.Component {
+ shouldComponentUpdate(nextProps, nextState) {
+ return JSON.stringify(nextProps.data) !== JSON.stringify(this.props.data);
+ }
+
+ render() {
+ return (
+ {JSON.stringify(this.props.data, null, 2)}
+ );
+ }
+}
diff --git a/sandbox/index.html b/sandbox/index.html
new file mode 100644
index 000000000..2cf7b1e33
--- /dev/null
+++ b/sandbox/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+ react-d3-graph
+
+
+
+
+
+
+
+
diff --git a/src/js/app.js b/sandbox/index.js
similarity index 71%
rename from src/js/app.js
rename to sandbox/index.js
index d12461a79..23aca1f44 100644
--- a/src/js/app.js
+++ b/sandbox/index.js
@@ -5,14 +5,14 @@ import {
Route
} from 'react-router-dom';
-import Demo from './components/Demo';
+import Sandbox from './Sandbox';
const app = document.getElementById('app');
ReactDOM.render(
-
+
-
+
, app);
diff --git a/src/mock/miserables.js b/sandbox/miserables.js
similarity index 100%
rename from src/mock/miserables.js
rename to sandbox/miserables.js
diff --git a/sandbox/styles.css b/sandbox/styles.css
new file mode 100644
index 000000000..8a68b8222
--- /dev/null
+++ b/sandbox/styles.css
@@ -0,0 +1,61 @@
+* {box-sizing: border-box;}
+.container {
+ margin: 4px;
+ overflow: hidden;
+ position: fixed;
+}
+
+.container > div {
+ padding: 1em;
+}.container {
+ display: grid;
+ grid-template-columns: repeat(3, 2fr);
+ grid-auto-rows: minmax(100px, auto);
+}
+
+.container__graph {
+ grid-column: 1 / 5;
+ grid-row: 1 / 2;
+
+ border: 1px dashed black;
+}
+
+.container__graph-data {
+ grid-column: 1 / 2;
+ grid-row: 2 / 3;
+}
+
+.container__graph-config {
+ grid-column: 2 / 5;
+ grid-row: 2 / 3;
+}
+
+.container__form {
+ grid-column: 5/ 6;
+ grid-row: 1 / 4;
+}
+
+.form-wrapper {
+ overflow-y: scroll;
+ max-height: 600px;
+}
+
+.json-data-container {
+ max-height: 250px;
+ overflow: scroll;
+}
+
+.submit-button {
+ margin-top: 22px;
+}
+
+.reset-button {
+ margin-top: 22px;
+ margin-left: 8px;
+}
+
+.invisible-button {
+ background: transparent;
+ border: none !important;
+ font-size:0;
+}
diff --git a/sandbox/utils.js b/sandbox/utils.js
new file mode 100644
index 000000000..c06f14309
--- /dev/null
+++ b/sandbox/utils.js
@@ -0,0 +1,38 @@
+function setValue(obj, access, value) {
+ if (typeof(access) == 'string') {
+ access = access.split('.');
+ }
+
+ // Check for non existence of root property before advancing
+ if (!obj[access[0]]) {
+ obj[access[0]] = {};
+ }
+
+ access.length > 1 ? setValue(obj[access.shift()],access,value) : obj[access[0]] = value;
+}
+
+/**
+ This two functions generate the react-jsonschema-form
+ schema from some passed graph configuration.
+ */
+function formMap(k,v) {
+ return {
+ title: k,
+ type: typeof v,
+ default: v
+ };
+}
+
+function generateFormSchema(o, rootSpreadProp, accum={}) {
+ for(let k of Object.keys(o)) {
+ const kk = rootSpreadProp ? `${rootSpreadProp}.${k}` : k;
+ typeof o[k] === 'object' ? generateFormSchema(o[kk], kk, accum) : accum[kk] = formMap(kk, o[k]);
+ }
+
+ return accum;
+}
+
+export default {
+ setValue,
+ generateFormSchema
+};
diff --git a/src/js/components/Graph/config.js b/src/components/Graph/config.js
similarity index 79%
rename from src/js/components/Graph/config.js
rename to src/components/Graph/config.js
index ff67c0b3b..9e4e81585 100644
--- a/src/js/components/Graph/config.js
+++ b/src/components/Graph/config.js
@@ -1,6 +1,6 @@
export default {
automaticRearrangeAfterDropNode: false,
- height: 450,
+ height: 400,
highlightBehavior: false,
highlightOpacity: 1,
maxZoom: 8,
@@ -11,11 +11,6 @@ export default {
color: '#d3d3d3',
fontSize: 10,
fontWeight: 'normal',
- highlightColor: 'SAME',
- highlightFontSize: 10,
- highlightFontWeight: 'normal',
- highlightStrokeColor: 'none',
- highlightStrokeWidth: 1.5,
labelProperty: 'id',
mouseCursor: 'pointer',
opacity: 1,
@@ -23,12 +18,18 @@ export default {
size: 200,
strokeColor: 'none',
strokeWidth: 1.5,
- symbolType: 'circle'
+ symbolType: 'circle',
+ highlightColor: 'SAME',
+ highlightFontSize: 10,
+ highlightFontWeight: 'normal',
+ highlightStrokeColor: 'none',
+ highlightStrokeWidth: 1.5
},
link: {
color: '#d3d3d3',
- highlightColor: '#d3d3d3',
opacity: 1,
- strokeWidth: 1.5
+ semanticStrokeWidth: false,
+ strokeWidth: 1.5,
+ highlightColor: '#d3d3d3'
}
};
diff --git a/src/js/components/Graph/const.js b/src/components/Graph/const.js
similarity index 100%
rename from src/js/components/Graph/const.js
rename to src/components/Graph/const.js
diff --git a/src/js/components/Graph/helper.js b/src/components/Graph/helper.js
similarity index 87%
rename from src/js/components/Graph/helper.js
rename to src/components/Graph/helper.js
index 2b4e30117..2051f0640 100644
--- a/src/js/components/Graph/helper.js
+++ b/src/components/Graph/helper.js
@@ -28,9 +28,11 @@ function buildGraph(nodes, nodeCallbacks, links, linkCallbacks, config, someNode
function buildNodeProps(node, config, nodeCallbacks, someNodeHighlighted) {
const opacity = someNodeHighlighted ? (node.highlighted ? config.node.opacity : config.highlightOpacity) : config.node.opacity;
- const fill = node.highlighted ?
- (config.node.highlightColor === CONST.KEYWORDS.SAME ? (node.color || config.node.color) : node.highlightColor)
- : (node.color || config.node.color);
+ let fill = node.color || config.node.color;
+
+ if (node.highlighted && config.node.highlightColor !== CONST.KEYWORDS.SAME) {
+ fill = config.node.highlightColor;
+ }
return {
className: CONST.NODE_CLASS_NAME,
@@ -69,7 +71,7 @@ function buildNodeLinks(node, nodes, links, config, linkCallbacks, someNodeHighl
if (nodes[target]) {
const key = `${node.id}${CONST.COORDS_SEPARATOR}${target}`;
- const props = buildLinkProps(node.id, target, x1, y1, nodes, config, linkCallbacks, someNodeHighlighted);
+ const props = buildLinkProps(node.id, target, x1, y1, nodes, links, config, linkCallbacks, someNodeHighlighted);
linksComponents.push();
}
@@ -79,13 +81,20 @@ function buildNodeLinks(node, nodes, links, config, linkCallbacks, someNodeHighl
return linksComponents;
}
-function buildLinkProps(source, target, x1, y1, nodes, config, linkCallbacks, someNodeHighlighted) {
+function buildLinkProps(source, target, x1, y1, nodes, links, config, linkCallbacks, someNodeHighlighted) {
const opacity = someNodeHighlighted ? (nodes[source].highlighted && nodes[target].highlighted) ? config.link.opacity : config.highlightOpacity : config.link.opacity;
const stroke = (nodes[source].highlighted && nodes[target].highlighted) ?
(config.link.highlightColor === CONST.KEYWORDS.SAME ? config.link.color : config.link.highlightColor)
: config.link.color;
+ const linkValue = links[source][target] || links[target][source];
+ let strokeWidth = config.link.strokeWidth;
+
+ if (config.link.semanticStrokeWidth) {
+ strokeWidth += (linkValue * strokeWidth) / 10;
+ }
+
return {
source,
target,
@@ -93,7 +102,7 @@ function buildLinkProps(source, target, x1, y1, nodes, config, linkCallbacks, so
y1,
x2: nodes[target] && nodes[target].x || '0',
y2: nodes[target] && nodes[target].y || '0',
- strokeWidth: config.link.strokeWidth,
+ strokeWidth,
stroke,
className: CONST.LINK_CLASS_NAME,
opacity,
@@ -147,7 +156,8 @@ function initializeLinks(graphLinks) {
links[l.target] = {};
}
- links[l.source][l.target] = links[l.target][l.source] = true;
+ // @TODO: If the graph is directed this should not happen
+ links[l.source][l.target] = links[l.target][l.source] = l.value || 1;
});
return links;
diff --git a/src/js/components/Graph/index.js b/src/components/Graph/index.js
similarity index 65%
rename from src/js/components/Graph/index.js
rename to src/components/Graph/index.js
index 7ff24e883..52b88fc73 100644
--- a/src/js/components/Graph/index.js
+++ b/src/components/Graph/index.js
@@ -22,7 +22,6 @@ export default class Graph extends React.Component {
let {nodes, indexMapping} = GraphHelper.initializeNodes(graph.nodes);
let links = GraphHelper.initializeLinks(graph.links); // Matrix of graph connections
- this.config = config;
this.indexMapping = indexMapping;
this.simulation = GraphHelper.createForceSimulation(config.width, config.height);
@@ -31,14 +30,25 @@ export default class Graph extends React.Component {
this.nodes = graph.nodes;
this.state = {
+ config,
links,
nodes,
nodeHighlighted: false
};
}
+ componentWillReceiveProps(nextProps) {
+ const config = Utils.merge(DEFAULT_CONFIG, nextProps.config || {});
+
+ if (JSON.stringify(config) !== JSON.stringify(this.state.config)) {
+ this.setState({
+ config
+ });
+ }
+ }
+
componentDidMount() {
- if (!this.config.staticGraph) {
+ if (!this.state.config.staticGraph) {
this.simulation.nodes(this.nodes).on('tick', this._tick);
const forceLink = d3.forceLink(this.links)
@@ -57,12 +67,23 @@ export default class Graph extends React.Component {
}
// Graph zoom and drag&drop all network
- d3.select(`#${this.props.id}-${CONST.GRAPH_WRAPPER_ID}`).call(d3.zoom().scaleExtent([this.config.minZoom, this.config.maxZoom]).on('zoom', this._zoomed));
+ this._zoomConfig();
Reflect.deleteProperty(this, 'nodes');
Reflect.deleteProperty(this, 'links');
}
+ componentDidUpdate = () => {
+ this._zoomConfig();
+
+ // If the property staticGraph was activated we want to stop possible ongoing simulation
+ this.state.config.staticGraph && this.simulation.stop();
+ }
+
+ _zoomConfig = () => {
+ d3.select(`#${this.props.id}-${CONST.GRAPH_WRAPPER_ID}`).call(d3.zoom().scaleExtent([this.state.config.minZoom, this.state.config.maxZoom]).on('zoom', this._zoomed));
+ }
+
_tick = () => this.setState(this.state || {});
_zoomed = () => d3.selectAll(`#${this.props.id}-${CONST.GRAPH_CONTAINER_ID}`).attr('transform', d3.event.transform);
@@ -70,24 +91,26 @@ export default class Graph extends React.Component {
/*--------------------------------------------------
Drag & Drop
--------------------------------------------------*/
- _onDragStart = () => !this.config.staticGraph && this.simulation.stop();
+ _onDragStart = () => !this.state.config.staticGraph && this.simulation.stop();
_onDragMove = (_, index) => {
- // This is where d3 and react bind;
- let draggedNode = this.state.nodes[this.indexMapping[index]];
+ if (!this.state.config.staticGraph) {
+ // This is where d3 and react bind
+ let draggedNode = this.state.nodes[this.indexMapping[index]];
- draggedNode.x += d3.event.dx;
- draggedNode.y += d3.event.dy;
+ draggedNode.x += d3.event.dx;
+ draggedNode.y += d3.event.dy;
- // Set nodes fixing coords fx and fy
- draggedNode['fx'] = draggedNode.x;
- draggedNode['fy'] = draggedNode.y;
+ // Set nodes fixing coords fx and fy
+ draggedNode['fx'] = draggedNode.x;
+ draggedNode['fy'] = draggedNode.y;
- !this.config.staticGraph && this._tick();
+ this._tick();
+ }
}
- _onDragEnd = () => !this.config.staticGraph
- && this.config.automaticRearrangeAfterDropNode
+ _onDragEnd = () => !this.state.config.staticGraph
+ && this.state.config.automaticRearrangeAfterDropNode
&& this.simulation.alphaTarget(0.05).restart();
/*--------------------------------------------------*/
@@ -97,13 +120,13 @@ export default class Graph extends React.Component {
onMouseOverNode = (index) => {
this.props.onMouseOverNode && this.props.onMouseOverNode(index);
- this.config.highlightBehavior && this._setHighlighted(index, true);
+ this.state.config.highlightBehavior && this._setHighlighted(index, true);
}
onMouseOutNode = (index) => {
this.props.onMouseOutNode && this.props.onMouseOutNode(index);
- this.config.highlightBehavior && this._setHighlighted(index, false);
+ this.state.config.highlightBehavior && this._setHighlighted(index, false);
}
_setHighlighted(index, value) {
@@ -120,29 +143,32 @@ export default class Graph extends React.Component {
}
/*--------------------------------------------------*/
+
resetNodesPositions = () => {
- Object.values(this.state.nodes).forEach(node => {
- if (node.fx && node.fy) {
- Reflect.deleteProperty(node, 'fx');
- Reflect.deleteProperty(node, 'fy');
- }
- });
+ if (!this.state.config.staticGraph) {
+ Object.values(this.state.nodes).forEach(node => {
+ if (node.fx && node.fy) {
+ Reflect.deleteProperty(node, 'fx');
+ Reflect.deleteProperty(node, 'fy');
+ }
+ });
- // @TODO: hardcoded alpha target
- this.simulation.alphaTarget(0.08).restart();
+ // @TODO: hardcoded alpha target
+ this.simulation.alphaTarget(0.08).restart();
- this.setState(this.state || {});
+ this.setState(this.state || {});
+ }
}
/**
* simulation.stop() [https://github.com/d3/d3-force/blob/master/src/simulation.js#L84]
*/
- pauseSimulation = () => this.simulation.stop();
+ pauseSimulation = () => !this.state.config.staticGraph && this.simulation.stop();
/**
* simulation.restart() [https://github.com/d3/d3-force/blob/master/src/simulation.js#L80]
*/
- restartSimulation = () => this.simulation.restart();
+ restartSimulation = () => !this.state.config.staticGraph && this.simulation.restart();
render() {
const { nodes, links } = GraphHelper.buildGraph(
@@ -150,13 +176,13 @@ export default class Graph extends React.Component {
{ onClickNode: this.props.onClickNode, onMouseOverNode: this.onMouseOverNode, onMouseOut: this.onMouseOutNode},
this.state.links,
{ onClickLink: this.props.onClickLink },
- this.config,
+ this.state.config,
this.state.nodeHighlighted
);
const svgStyle = {
- height: this.config.height,
- width: this.config.width
+ height: this.state.config.height,
+ width: this.state.config.width
};
return (
diff --git a/src/js/components/Link/index.js b/src/components/Link/index.js
similarity index 89%
rename from src/js/components/Link/index.js
rename to src/components/Link/index.js
index 6faaeb5c2..4a27485d9 100644
--- a/src/js/components/Link/index.js
+++ b/src/components/Link/index.js
@@ -9,9 +9,9 @@ export default class Link extends React.Component {
return nextProps.x1 !== this.props.x1 || nextProps.y1 !== this.props.y1
|| nextProps.x2 !== this.props.x2 || nextProps.y2 !== this.props.y2
|| nextProps.opacity !== this.props.opacity
- || nextProps.color !== this.props.color
|| nextProps.stroke !== this.props.stroke
- || nextProps.strokeWidth !== this.props.strokeWidth;
+ || nextProps.strokeWidth !== this.props.strokeWidth
+ || nextProps.semanticStrokeWidth !== this.props.semanticStrokeWidth;
}
/**
diff --git a/src/js/components/Node/const.js b/src/components/Node/const.js
similarity index 100%
rename from src/js/components/Node/const.js
rename to src/components/Node/const.js
diff --git a/src/js/components/Node/helper.js b/src/components/Node/helper.js
similarity index 100%
rename from src/js/components/Node/helper.js
rename to src/components/Node/helper.js
diff --git a/src/js/components/Node/index.js b/src/components/Node/index.js
similarity index 79%
rename from src/js/components/Node/index.js
rename to src/components/Node/index.js
index f0248648e..e85c27df1 100644
--- a/src/js/components/Node/index.js
+++ b/src/components/Node/index.js
@@ -7,8 +7,6 @@ import NodeHelper from './helper';
export default class Node extends React.Component {
constructor(props) {
super(props);
-
- this.symbol = NodeHelper.buildSvgSymbol(this.props.size, this.props.type);
}
shouldComponentUpdate(nextProps) {
@@ -16,7 +14,14 @@ export default class Node extends React.Component {
|| nextProps.opacity !== this.props.opacity
|| nextProps.fill !== this.props.fill
|| nextProps.fontWeight !== this.props.fontWeight
- || nextProps.fontSize !== this.props.fontSize;
+ || nextProps.fontSize !== this.props.fontSize
+ || nextProps.label !== this.props.label
+ || nextProps.cursor !== this.props.cursor
+ || nextProps.size !== this.props.size
+ || nextProps.type !== this.props.type
+ || nextProps.renderLabel !== this.props.renderLabel
+ || nextProps.stroke !== this.props.stroke
+ || nextProps.strokeWidth !== this.props.strokeWidth;
}
/**
@@ -48,7 +53,7 @@ export default class Node extends React.Component {
const pathProps = {
cursor: this.props.cursor,
- d: this.symbol,
+ d: NodeHelper.buildSvgSymbol(this.props.size, this.props.type),
fill: this.props.fill,
onClick: this.handleOnClickNode,
onMouseOut: this.handleOnMouseOut,
diff --git a/src/js/err.js b/src/err.js
similarity index 100%
rename from src/js/err.js
rename to src/err.js
diff --git a/src/index.html b/src/index.html
deleted file mode 100644
index fb8a92e79..000000000
--- a/src/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- react-d3-graph
-
-
-
-
-
-
-
diff --git a/src/index.js b/src/index.js
new file mode 100644
index 000000000..05fc96d24
--- /dev/null
+++ b/src/index.js
@@ -0,0 +1,9 @@
+import Graph from './components/Graph';
+import Node from './components/Node';
+import Link from './components/Link';
+
+export {
+ Graph,
+ Node,
+ Link
+};
diff --git a/src/js/components/Demo.js b/src/js/components/Demo.js
deleted file mode 100644
index e9ab9b90e..000000000
--- a/src/js/components/Demo.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import React from 'react';
-
-import graphMock from '../../mock/miserables';
-
-import Graph from './Graph/';
-
-export default class Layout extends React.Component {
-
- onClickNode = (id) => window.alert(`clicked node ${id}`);
-
- onClickLink = (source, target) => window.alert(`clicked link between ${source} and ${target}`);
-
- onMouseOverNode = () => {
- // Do something with the node identifier ...
- }
-
- onMouseOutNode = () => {
- // Do something with the node identifier ...
- }
-
- pauseGraphSimulation = () => this.refs.graph.pauseSimulation();
-
- restartGraphSimulation = () => this.refs.graph.restartSimulation();
-
- resetNodesPositions = () => this.refs.graph.resetNodesPositions();
-
- render() {
- const width = window.innerWidth - 50;
- const graphProps = {
- id: 'graph',
- data: graphMock.graph || graphMock,
- config: {
- width,
- height: 600,
- highlightOpacity: 0.12,
- highlightBehavior: true,
- node: {
- color: '#4286f4',
- highlightFontSize: 14,
- highlightFontWeight: 'bold',
- highlightStrokeColor: '#8f41f4',
- highlightStrokeWidth: 2,
- labelProperty: 'uid',
- size: 100,
- strokeColor: 'white'
- },
- link: {
- highlightColor: '#8f41f4',
- strokeWidth: 1
- }
- },
- onClickNode: this.onClickNode,
- onClickLink: this.onClickLink,
- onMouseOverNode: this.onMouseOverNode,
- onMouseOutNode: this.onMouseOutNode
- };
-
- const graphWrapperStyle = {
- border: '1px solid black',
- marginTop: '25px',
- width
- };
-
- return (
-
-
react-d3-graph
-
Work in progress 🔨👷
-
-
-
-
-
-
-
- );
- }
-}
diff --git a/src/js/utils.js b/src/utils.js
similarity index 89%
rename from src/js/utils.js
rename to src/utils.js
index 47b343649..4ed07109c 100644
--- a/src/js/utils.js
+++ b/src/utils.js
@@ -3,9 +3,9 @@ const MAX_DEPTH = 3;
/**
* This function merges two objects o1 and o2, where o2 properties override existent o1 properties, and
* if o2 doesn't posses some o1 property the function will fallback to the o1 property.
- * @param {Object} o1 - object
- * @param {Object} o2 - object that will override o1 properties
- * @param {int} deepth - the deepth at which we are merging the object
+ * @param {Object} o1 - object.
+ * @param {Object} o2 - object that will override o1 properties.
+ * @param {int} deepth - the deepth at which we are merging the object.
* @return {Object} Object that is the result of merging o1 and o2, being o2 properties prioritray overriding
* existent o1 properties.
*/
diff --git a/webpack.config.dist.js b/webpack.config.dist.js
new file mode 100644
index 000000000..3c1f91fc0
--- /dev/null
+++ b/webpack.config.dist.js
@@ -0,0 +1,31 @@
+const path = require('path');
+const webpack = require('webpack');
+
+// https://medium.freecodecamp.com/tree-shaking-es6-modules-in-webpack-2-1add6672f31b
+// http://moduscreate.com/optimizing-react-es6-webpack-production-build/
+
+module.exports = {
+ context: path.join(__dirname, 'src'),
+ entry: './index.js',
+ output: {
+ path: __dirname + '/dist/',
+ filename: 'rd3g.bundle.js'
+ },
+ module: {
+ rules: [
+ {
+ test: /\.jsx?$/,
+ exclude: /node_modules|sandbox/,
+ loader: 'babel-loader',
+ options: {
+ presets: ['react', 'es2015', 'stage-0'],
+ plugins: ['react-html-attrs', 'transform-class-properties', 'transform-decorators-legacy'],
+ }
+ }
+ ]
+ },
+ plugins: [
+ new webpack.optimize.OccurrenceOrderPlugin(),
+ new webpack.optimize.UglifyJsPlugin()
+ ],
+};
diff --git a/webpack.config.js b/webpack.config.js
index 6fd49b424..56da480b6 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,20 +1,20 @@
-var dev = process.env.NODE_ENV !== 'production';
-var webpack = require('webpack');
-var path = require('path');
-
-// https://medium.freecodecamp.com/tree-shaking-es6-modules-in-webpack-2-1add6672f31b
-// http://moduscreate.com/optimizing-react-es6-webpack-production-build/
+const path = require('path');
+const webpack = require('webpack');
module.exports = {
- context: path.join(__dirname, 'src'),
- devtool: dev ? 'source-map' : null,
- entry: './js/app.js',
+ context: path.join(__dirname, 'sandbox'),
+ devtool: 'source-map',
+ entry: './index.js',
output: {
- path: __dirname + '/dist/',
- filename: 'rd3g.bundle.js'
+ path: __dirname + '/sandbox/',
+ filename: 'rd3g.sandbox.bundle.js'
},
module: {
rules: [
+ {
+ test: /\.css$/,
+ use: ['style-loader', 'css-loader']
+ },
{
test: /\.jsx?$/,
exclude: /node_modules/,
@@ -26,8 +26,5 @@ module.exports = {
}
]
},
- plugins: dev ? [] : [
- new webpack.optimize.OccurrenceOrderPlugin(),
- new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
- ],
+ plugins: []
};
diff --git a/yarn.lock b/yarn.lock
index 1b67f8039..903291684 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -63,6 +63,10 @@ align-text@^0.1.1, align-text@^0.1.3:
longest "^1.0.1"
repeat-string "^1.5.2"
+alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
+
ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
@@ -117,6 +121,10 @@ arr-flatten@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
+array-filter@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
+
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
@@ -127,6 +135,14 @@ array-iterate@^1.0.0:
dependencies:
has "^1.0.1"
+array-map@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
+
+array-reduce@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -193,6 +209,17 @@ asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+autoprefixer@^6.3.1:
+ version "6.7.7"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
+ dependencies:
+ browserslist "^1.7.6"
+ caniuse-db "^1.0.30000634"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ postcss "^5.2.16"
+ postcss-value-parser "^3.2.3"
+
aws-sign2@~0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
@@ -201,7 +228,7 @@ aws4@^1.2.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
+babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies:
@@ -962,7 +989,7 @@ bail@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.1.tgz#912579de8b391aadf3c5fdf4cd2a0fc225df3bc2"
-balanced-match@^0.4.1:
+balanced-match@^0.4.1, balanced-match@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@@ -1097,6 +1124,13 @@ browserify-zlib@^0.1.4:
dependencies:
pako "~0.2.0"
+browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
+ version "1.7.7"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
+ dependencies:
+ caniuse-db "^1.0.30000639"
+ electron-to-chromium "^1.2.7"
+
buffer-shims@^1.0.0, buffer-shims@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
@@ -1154,6 +1188,19 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+caniuse-api@^1.5.2:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
+ dependencies:
+ browserslist "^1.3.6"
+ caniuse-db "^1.0.30000529"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
+caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
+ version "1.0.30000655"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000655.tgz#e40b6287adc938848d6708ef83d65b5f54ac1874"
+
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -1220,9 +1267,11 @@ circular-json@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
-classnames@^2.2.3:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
+clap@^1.0.9:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b"
+ dependencies:
+ chalk "^1.1.3"
clean-css@4.0.x:
version "4.0.11"
@@ -1268,7 +1317,7 @@ clone-stats@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
-clone@^1.0.0:
+clone@^1.0.0, clone@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
@@ -1284,6 +1333,12 @@ co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+coa@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3"
+ dependencies:
+ q "^1.1.2"
+
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@@ -1292,6 +1347,42 @@ collapse-white-space@^1.0.0, collapse-white-space@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d"
+color-convert@^1.3.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.0.0, color-name@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
+
+color-string@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
+ dependencies:
+ color-name "^1.0.0"
+
+color@^0.11.0:
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
+ dependencies:
+ clone "^1.0.2"
+ color-convert "^1.3.0"
+ color-string "^0.3.0"
+
+colormin@^1.0.5:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
+ dependencies:
+ color "^0.11.0"
+ css-color-names "0.0.4"
+ has "^1.0.1"
+
+colors@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
+
combined-stream@^1.0.5, combined-stream@~1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
@@ -1432,6 +1523,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2:
create-hash "^1.1.0"
inherits "^2.0.1"
+cross-spawn@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
cryptiles@2.x.x:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@@ -1453,6 +1552,27 @@ crypto-browserify@^3.11.0:
public-encrypt "^4.0.0"
randombytes "^2.0.0"
+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.0:
+ version "0.28.0"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.0.tgz#417cfa9789f8cde59a30ccbf3e4da7a806889bad"
+ dependencies:
+ babel-code-frame "^6.11.0"
+ css-selector-tokenizer "^0.7.0"
+ cssnano ">=2.6.1 <4"
+ loader-utils "^1.0.2"
+ lodash.camelcase "^4.3.0"
+ object-assign "^4.0.1"
+ postcss "^5.0.6"
+ postcss-modules-extract-imports "^1.0.0"
+ postcss-modules-local-by-default "^1.0.1"
+ postcss-modules-scope "^1.0.0"
+ postcss-modules-values "^1.1.0"
+ source-list-map "^0.1.7"
+
css-select@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
@@ -1462,10 +1582,74 @@ css-select@^1.1.0:
domutils "1.5.1"
nth-check "~1.0.1"
+css-selector-tokenizer@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152"
+ dependencies:
+ cssesc "^0.1.0"
+ fastparse "^1.1.1"
+ regexpu-core "^1.0.0"
+
+css-selector-tokenizer@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86"
+ dependencies:
+ cssesc "^0.1.0"
+ fastparse "^1.1.1"
+ regexpu-core "^1.0.0"
+
css-what@2.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
+cssesc@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
+
+"cssnano@>=2.6.1 <4":
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
+ dependencies:
+ autoprefixer "^6.3.1"
+ decamelize "^1.1.2"
+ defined "^1.0.0"
+ has "^1.0.1"
+ object-assign "^4.0.1"
+ postcss "^5.0.14"
+ postcss-calc "^5.2.0"
+ postcss-colormin "^2.1.8"
+ postcss-convert-values "^2.3.4"
+ postcss-discard-comments "^2.0.4"
+ postcss-discard-duplicates "^2.0.1"
+ postcss-discard-empty "^2.0.1"
+ postcss-discard-overridden "^0.1.1"
+ postcss-discard-unused "^2.2.1"
+ postcss-filter-plugins "^2.0.0"
+ postcss-merge-idents "^2.1.5"
+ postcss-merge-longhand "^2.0.1"
+ postcss-merge-rules "^2.0.3"
+ postcss-minify-font-values "^1.0.2"
+ postcss-minify-gradients "^1.0.1"
+ postcss-minify-params "^1.0.4"
+ postcss-minify-selectors "^2.0.4"
+ postcss-normalize-charset "^1.1.0"
+ postcss-normalize-url "^3.0.7"
+ postcss-ordered-values "^2.1.0"
+ postcss-reduce-idents "^2.2.2"
+ postcss-reduce-initial "^1.0.0"
+ postcss-reduce-transforms "^1.0.3"
+ postcss-svgo "^2.1.1"
+ postcss-unique-selectors "^2.0.2"
+ postcss-value-parser "^3.2.3"
+ postcss-zindex "^2.0.1"
+
+csso@~2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
+ dependencies:
+ clap "^1.0.9"
+ source-map "^0.5.3"
+
d3-array@1, d3-array@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.1.1.tgz#a01abe63a25ffb91d3423c3c6d051b4d36bc8a09"
@@ -1720,7 +1904,7 @@ debug@~2.2.0:
dependencies:
ms "0.7.1"
-decamelize@^1.0.0, decamelize@^1.1.1:
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -1732,6 +1916,13 @@ deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+define-properties@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
+ dependencies:
+ foreach "^2.0.5"
+ object-keys "^1.0.8"
+
defined@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
@@ -1934,6 +2125,10 @@ duplexer2@^0.1.2, duplexer2@~0.1.0:
dependencies:
readable-stream "^2.0.2"
+duplexer@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
duplexify@^3.2.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604"
@@ -1953,6 +2148,10 @@ ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+electron-to-chromium@^1.2.7:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.3.tgz#651eb63fe89f39db70ffc8dbd5d9b66958bc6a0e"
+
elliptic@^6.0.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
@@ -2021,6 +2220,23 @@ error@^7.0.0:
string-template "~0.2.1"
xtend "~4.0.0"
+es-abstract@^1.4.3:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
+ dependencies:
+ es-to-primitive "^1.1.1"
+ function-bind "^1.1.0"
+ is-callable "^1.1.3"
+ is-regex "^1.0.3"
+
+es-to-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
+ dependencies:
+ is-callable "^1.1.1"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.1"
+
es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
version "0.10.15"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6"
@@ -2287,6 +2503,10 @@ espree@^3.1.6, espree@^3.4.0:
acorn "^5.0.1"
acorn-jsx "^3.0.0"
+esprima@^2.6.0:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
esprima@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -2327,6 +2547,18 @@ event-emitter@~0.3.5:
d "1"
es5-ext "~0.10.14"
+event-stream@~3.3.0:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
+ dependencies:
+ duplexer "~0.1.1"
+ from "~0"
+ map-stream "~0.1.0"
+ pause-stream "0.0.11"
+ split "0.3"
+ stream-combiner "~0.0.4"
+ through "~2.3.1"
+
eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
@@ -2420,6 +2652,10 @@ fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+fastparse@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
+
faye-websocket@^0.10.0, faye-websocket@~0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
@@ -2528,6 +2764,10 @@ flat-cache@^1.0.9, flat-cache@^1.2.1:
graceful-fs "^4.1.2"
write "^0.2.1"
+flatten@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
+
for-in@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -2538,6 +2778,10 @@ for-own@^0.1.4:
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"
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -2558,6 +2802,10 @@ fresh@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
+from@~0:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -2586,7 +2834,7 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
mkdirp ">=0.5 0"
rimraf "2"
-function-bind@^1.0.2:
+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"
@@ -2869,6 +3117,10 @@ hpack.js@^2.1.6:
readable-stream "^2.0.1"
wbuf "^1.1.0"
+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-entities@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
@@ -2963,6 +3215,10 @@ iconv-lite@0.4, iconv-lite@~0.4.13:
version "0.4.15"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
+icss-replace-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
+
ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
@@ -2975,6 +3231,10 @@ imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+indexes-of@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
+
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
@@ -3038,6 +3298,10 @@ irregular-plurals@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac"
+is-absolute-url@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
+
is-absolute@^0.2.2:
version "0.2.6"
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb"
@@ -3080,6 +3344,14 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
+is-callable@^1.1.1, is-callable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+
+is-date-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+
is-decimal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.0.tgz#940579b6ea63c628080a69e62bda88c8470b4fe0"
@@ -3169,6 +3441,10 @@ is-path-inside@^1.0.0:
dependencies:
path-is-inside "^1.0.1"
+is-plain-obj@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+
is-posix-bracket@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
@@ -3181,6 +3457,12 @@ is-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+is-regex@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ dependencies:
+ has "^1.0.1"
+
is-relative@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5"
@@ -3203,6 +3485,16 @@ is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+is-svg@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
+ dependencies:
+ html-comment-regex "^1.1.0"
+
+is-symbol@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
+
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@@ -3241,6 +3533,10 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@@ -3264,6 +3560,10 @@ jodid25519@^1.0.0:
dependencies:
jsbn "~0.1.0"
+js-base64@^2.1.9:
+ version "2.1.9"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
+
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
@@ -3275,6 +3575,13 @@ js-yaml@^3.3.1, js-yaml@^3.5.1:
argparse "^1.0.7"
esprima "^3.1.1"
+js-yaml@~3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^2.6.0"
+
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -3325,6 +3632,10 @@ jsonpointer@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
+jsonschema@^1.0.2:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.1.1.tgz#3cede8e3e411d377872eefbc9fdf26383cbc3ed9"
+
jsprim@^1.2.2:
version "1.4.0"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
@@ -3387,6 +3698,15 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
load-plugin@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-2.1.0.tgz#5c688c560261997b47dfd0a7361faeb152acf7f5"
@@ -3407,10 +3727,22 @@ loader-utils@^0.2.16:
json5 "^0.5.0"
object-assign "^4.0.1"
+loader-utils@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
+ dependencies:
+ big.js "^3.1.3"
+ emojis-list "^2.0.0"
+ json5 "^0.5.0"
+
lodash.assign@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+
lodash.cond@^4.3.0:
version "4.5.2"
resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
@@ -3431,10 +3763,22 @@ lodash.isequal@^4.0.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+
lodash.pickby@^4.0.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff"
+lodash.topath@^4.5.2:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009"
+
+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.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.2.0, lodash@^4.3.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@@ -3463,10 +3807,25 @@ lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+lru-cache@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
+ dependencies:
+ pseudomap "^1.0.1"
+ yallist "^2.0.0"
+
+macaddress@^0.2.8:
+ version "0.2.8"
+ resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
+
map-cache@^0.2.0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+map-stream@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
+
markdown-escapes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.0.tgz#c8ca19f1d94d682459e0a93c86db27a7ef716b23"
@@ -3475,6 +3834,10 @@ markdown-table@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.0.tgz#1f5ae61659ced8808d882554c32e8b3f38dd1143"
+math-expression-evaluator@^1.2.14:
+ version "1.2.16"
+ resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9"
+
mdast-util-compact@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.0.tgz#4c94dedfe35932d5457f29b650b330fdc73e994a"
@@ -3608,7 +3971,7 @@ minimist@^1.1.0, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
+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:
@@ -3740,10 +4103,23 @@ normalize-path@^2.0.1:
dependencies:
remove-trailing-separator "^1.0.1"
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+
normalize-uri@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/normalize-uri/-/normalize-uri-1.1.0.tgz#01fb440c7fd059b9d9be8645aac14341efd059dd"
+normalize-url@^1.4.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+ dependencies:
+ object-assign "^4.0.1"
+ prepend-http "^1.0.0"
+ query-string "^4.1.0"
+ sort-keys "^1.0.0"
+
npm-prefix@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/npm-prefix/-/npm-prefix-1.2.0.tgz#e619455f7074ba54cc66d6d0d37dd9f1be6bcbc0"
@@ -3752,6 +4128,18 @@ npm-prefix@^1.2.0:
shellsubstitute "^1.1.0"
untildify "^2.1.0"
+npm-run-all@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.0.2.tgz#a84669348e6db6ccbe052200b4cdb6bfe034a4fe"
+ dependencies:
+ chalk "^1.1.3"
+ cross-spawn "^5.0.1"
+ minimatch "^3.0.2"
+ ps-tree "^1.0.1"
+ read-pkg "^2.0.0"
+ shell-quote "^1.6.1"
+ string.prototype.padend "^3.0.0"
+
npmlog@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
@@ -3767,6 +4155,10 @@ nth-check@~1.0.1:
dependencies:
boolbase "~1.0.0"
+num2fraction@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
+
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
@@ -3779,6 +4171,10 @@ object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+object-keys@^1.0.8:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@@ -3997,6 +4393,18 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
+pause-stream@0.0.11:
+ version "0.0.11"
+ resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
+ dependencies:
+ through "~2.3"
+
pbkdf2@^3.0.3:
version "3.0.9"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
@@ -4051,10 +4459,252 @@ portfinder@^1.0.9:
debug "^2.2.0"
mkdirp "0.5.x"
+postcss-calc@^5.2.0:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
+ dependencies:
+ postcss "^5.0.2"
+ postcss-message-helpers "^2.0.0"
+ reduce-css-calc "^1.2.6"
+
+postcss-colormin@^2.1.8:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
+ dependencies:
+ colormin "^1.0.5"
+ postcss "^5.0.13"
+ postcss-value-parser "^3.2.3"
+
+postcss-convert-values@^2.3.4:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
+ dependencies:
+ postcss "^5.0.11"
+ postcss-value-parser "^3.1.2"
+
+postcss-discard-comments@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
+ dependencies:
+ postcss "^5.0.14"
+
+postcss-discard-duplicates@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-discard-empty@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
+ dependencies:
+ postcss "^5.0.14"
+
+postcss-discard-overridden@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
+ dependencies:
+ postcss "^5.0.16"
+
+postcss-discard-unused@^2.2.1:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
+ dependencies:
+ postcss "^5.0.14"
+ uniqs "^2.0.0"
+
+postcss-filter-plugins@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
+ dependencies:
+ postcss "^5.0.4"
+ uniqid "^4.0.0"
+
+postcss-merge-idents@^2.1.5:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.10"
+ postcss-value-parser "^3.1.1"
+
+postcss-merge-longhand@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-merge-rules@^2.0.3:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
+ dependencies:
+ browserslist "^1.5.2"
+ caniuse-api "^1.5.2"
+ postcss "^5.0.4"
+ postcss-selector-parser "^2.2.2"
+ vendors "^1.0.0"
+
+postcss-message-helpers@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
+
+postcss-minify-font-values@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
+ dependencies:
+ object-assign "^4.0.1"
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.2"
+
+postcss-minify-gradients@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
+ dependencies:
+ postcss "^5.0.12"
+ postcss-value-parser "^3.3.0"
+
+postcss-minify-params@^1.0.4:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
+ dependencies:
+ alphanum-sort "^1.0.1"
+ postcss "^5.0.2"
+ postcss-value-parser "^3.0.2"
+ uniqs "^2.0.0"
+
+postcss-minify-selectors@^2.0.4:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
+ dependencies:
+ alphanum-sort "^1.0.2"
+ has "^1.0.1"
+ postcss "^5.0.14"
+ postcss-selector-parser "^2.0.0"
+
+postcss-modules-extract-imports@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-modules-local-by-default@^1.0.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz#29a10673fa37d19251265ca2ba3150d9040eb4ce"
+ dependencies:
+ css-selector-tokenizer "^0.6.0"
+ postcss "^5.0.4"
+
+postcss-modules-scope@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz#ff977395e5e06202d7362290b88b1e8cd049de29"
+ dependencies:
+ css-selector-tokenizer "^0.6.0"
+ postcss "^5.0.4"
+
+postcss-modules-values@^1.1.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz#f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1"
+ dependencies:
+ icss-replace-symbols "^1.0.2"
+ postcss "^5.0.14"
+
+postcss-normalize-charset@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
+ dependencies:
+ postcss "^5.0.5"
+
+postcss-normalize-url@^3.0.7:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
+ dependencies:
+ is-absolute-url "^2.0.0"
+ normalize-url "^1.4.0"
+ postcss "^5.0.14"
+ postcss-value-parser "^3.2.3"
+
+postcss-ordered-values@^2.1.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
+ dependencies:
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.1"
+
+postcss-reduce-idents@^2.2.2:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
+ dependencies:
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.2"
+
+postcss-reduce-initial@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-reduce-transforms@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.8"
+ postcss-value-parser "^3.0.1"
+
+postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
+ dependencies:
+ flatten "^1.0.2"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-svgo@^2.1.1:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
+ dependencies:
+ is-svg "^2.0.0"
+ postcss "^5.0.14"
+ postcss-value-parser "^3.2.3"
+ svgo "^0.7.0"
+
+postcss-unique-selectors@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
+ dependencies:
+ alphanum-sort "^1.0.1"
+ postcss "^5.0.4"
+ uniqs "^2.0.0"
+
+postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
+
+postcss-zindex@^2.0.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.4"
+ uniqs "^2.0.0"
+
+postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16:
+ version "5.2.17"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b"
+ dependencies:
+ chalk "^1.1.3"
+ js-base64 "^2.1.9"
+ source-map "^0.5.6"
+ supports-color "^3.2.3"
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+prepend-http@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
@@ -4107,6 +4757,16 @@ prr@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
+ps-tree@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014"
+ dependencies:
+ event-stream "~3.3.0"
+
+pseudomap@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
public-encrypt@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
@@ -4125,10 +4785,21 @@ punycode@^1.2.4, punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+q@^1.1.2:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1"
+
qs@6.4.0, qs@^6.2.0, qs@~6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+query-string@^4.1.0:
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.3.tgz#91c90ff7173d9acd9e088b3cc223f9b437865692"
+ dependencies:
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -4180,6 +4851,14 @@ react-dom@15.4.2:
loose-envify "^1.1.0"
object-assign "^4.1.0"
+react-jsonschema-form@0.46.0:
+ version "0.46.0"
+ resolved "https://registry.yarnpkg.com/react-jsonschema-form/-/react-jsonschema-form-0.46.0.tgz#7427f0d3179d945d41d0ff1915d8ed301b64c0a0"
+ dependencies:
+ jsonschema "^1.0.2"
+ lodash.topath "^4.5.2"
+ setimmediate "^1.0.5"
+
react-router-dom@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.0.0.tgz#4fa4418e14b8cfc5bcc0bdea0c4083fb8c2aef10"
@@ -4197,13 +4876,6 @@ react-router@^4.0.0:
path-to-regexp "^1.5.3"
warning "^3.0.0"
-react-spinkit@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/react-spinkit/-/react-spinkit-2.1.1.tgz#a666f02367147de8151c1f7671453d56cef4650f"
- dependencies:
- classnames "^2.2.3"
- object-assign "^4.1.0"
-
react@15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef"
@@ -4233,6 +4905,14 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0":
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
@@ -4300,6 +4980,20 @@ rechoir@^0.6.2:
dependencies:
resolve "^1.1.6"
+reduce-css-calc@^1.2.6:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
+ dependencies:
+ balanced-match "^0.4.2"
+ math-expression-evaluator "^1.2.14"
+ reduce-function-call "^1.0.1"
+
+reduce-function-call@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
+ dependencies:
+ balanced-match "^0.4.2"
+
regenerate@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
@@ -4323,6 +5017,14 @@ regex-cache@^0.4.2:
is-equal-shallow "^0.1.3"
is-primitive "^2.0.0"
+regexpu-core@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
+ dependencies:
+ regenerate "^1.2.1"
+ regjsgen "^0.2.0"
+ regjsparser "^0.1.4"
+
regexpu-core@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
@@ -4573,6 +5275,10 @@ safe-json-parse@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57"
+sax@~1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
+
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@@ -4646,6 +5352,25 @@ sha.js@^2.3.6:
dependencies:
inherits "^2.0.1"
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+
+shell-quote@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
+ dependencies:
+ array-filter "~0.0.0"
+ array-map "~0.0.0"
+ array-reduce "~0.0.0"
+ jsonify "~0.0.0"
+
shelljs@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8"
@@ -4698,6 +5423,16 @@ sockjs@0.3.18:
faye-websocket "^0.10.0"
uuid "^2.0.2"
+sort-keys@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ dependencies:
+ is-plain-obj "^1.0.0"
+
+source-list-map@^0.1.7:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+
source-list-map@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
@@ -4752,6 +5487,12 @@ spdy@^3.4.1:
select-hose "^2.0.0"
spdy-transport "^2.0.15"
+split@0.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
+ dependencies:
+ through "2"
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -4799,6 +5540,12 @@ stream-combiner2@^1.1.1:
duplexer2 "~0.1.0"
readable-stream "^2.0.2"
+stream-combiner@~0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
+ dependencies:
+ duplexer "~0.1.1"
+
stream-http@^2.3.1:
version "2.7.0"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
@@ -4813,6 +5560,10 @@ stream-shift@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+
string-template@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
@@ -4832,6 +5583,14 @@ string-width@^2.0.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^3.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_decoder@0.10, string_decoder@^0.10.25, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
@@ -4887,6 +5646,12 @@ strip-json-comments@~1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
+style-loader@^0.16.1:
+ version "0.16.1"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.16.1.tgz#50e325258d4e78421dd9680636b41e8661595d10"
+ dependencies:
+ loader-utils "^1.0.2"
+
subarg@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
@@ -4897,12 +5662,24 @@ supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-supports-color@^3.1.0, supports-color@^3.1.1:
+supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
dependencies:
has-flag "^1.0.0"
+svgo@^0.7.0:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
+ dependencies:
+ coa "~1.0.1"
+ colors "~1.1.2"
+ csso "~2.3.1"
+ js-yaml "~3.7.0"
+ mkdirp "~0.5.1"
+ sax "~1.2.1"
+ whet.extend "~0.9.9"
+
table@^3.7.8:
version "3.8.3"
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
@@ -4964,7 +5741,7 @@ through2@^2.0.0, through2@^2.0.1, through2@~2.0.0:
readable-stream "^2.1.5"
xtend "~4.0.1"
-"through@>=2.2.7 <3", through@^2.3.6:
+through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3, through@~2.3.1:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -5109,6 +5886,20 @@ unified@^5.0.0:
vfile "^2.0.0"
x-is-string "^0.1.0"
+uniq@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+
+uniqid@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
+ dependencies:
+ macaddress "^0.2.8"
+
+uniqs@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
+
unique-stream@^2.0.2:
version "2.2.1"
resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369"
@@ -5242,6 +6033,10 @@ vary@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
+vendors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
+
verror@1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
@@ -5424,10 +6219,20 @@ whatwg-fetch@>=0.10.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
+whet.extend@~0.9.9:
+ version "0.9.9"
+ resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
+
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.2.9:
+ version "1.2.14"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
+ dependencies:
+ isexe "^2.0.0"
+
wide-align@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
@@ -5483,6 +6288,10 @@ y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+yallist@^2.0.0:
+ 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"