aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbozokopic <bozo.kopic@gmail.com>2018-04-15 19:14:15 +0200
committerbozokopic <bozo.kopic@gmail.com>2018-04-15 19:14:15 +0200
commitbb67223abd3d4a5c3654393b4a962daae0588741 (patch)
tree90e0f4add9764f565b1c9dc2d2dc21db0bc50770
parentdc7cc767859a82a087e258eead7d59e177b30d0f (diff)
WIP web frontend
-rw-r--r--package.json1
-rw-r--r--src_js/opcut/common.js69
-rw-r--r--src_js/opcut/grid.js186
-rw-r--r--src_js/opcut/validators.js56
-rw-r--r--src_js/opcut/vt.js123
-rw-r--r--src_web/style/grid.scss53
-rw-r--r--src_web/style/main.scss52
-rw-r--r--src_web/style/shadow.scss23
-rw-r--r--yarn.lock256
9 files changed, 478 insertions, 341 deletions
diff --git a/package.json b/package.json
index 57c4920..38b23ee 100644
--- a/package.json
+++ b/package.json
@@ -48,6 +48,7 @@
"tern": "0.21.0",
"tmp": "0.0.33",
"tv4": "1.3.0",
+ "uri-js": "4.2.1",
"url-loader": "0.6.2",
"url-parse": "1.2.0",
"vex-js": "4.0.1",
diff --git a/src_js/opcut/common.js b/src_js/opcut/common.js
index 3f39115..89088ac 100644
--- a/src_js/opcut/common.js
+++ b/src_js/opcut/common.js
@@ -1,16 +1,77 @@
+import * as URI from 'uri-js';
+import iziToast from 'izitoast';
+import r from 'opcut/renderer';
+import * as u from 'opcut/util';
-export function submit() {
+const calculateUrl = URI.resolve(window.location.href, './calculate');
+const generateOutputUrl = URI.resolve(window.location.href, './generate_output');
-}
+export function calculate() {
+ const msg = {
+ method: r.get('form', 'method'),
+ params: {
+ cut_width: u.strictParseFloat(r.get('form', 'cut_width')),
+ panels: u.pipe(
+ u.map(panel => [panel.name, {width: u.strictParseFloat(panel.width),
+ height: u.strictParseFloat(panel.height)}]),
+ u.fromPairs
+ )(r.get('form', 'panels', 'items')),
+ items: u.pipe(
+ u.map(item => [item.name, {width: u.strictParseFloat(item.width),
+ height: u.strictParseFloat(item.height),
+ can_rotate: item.can_rotate}]),
+ u.fromPairs
+ )(r.get('form', 'items', 'items')),
+ }
+ };
+ try {
+ validateCalculateRequest(msg);
+ } catch (e) {
+ showNotification(e, 'error');
+ return;
+ }
+ const req = new XMLHttpRequest();
+ req.onload = () => parseCalculateResponse(JSON.parse(req.responseText));
+ req.open('POST', calculateUrl);
+ req.setRequestHeader('Content-Type', 'application/json');
+ req.send(JSON.stringify(msg));
+}
-export function addPanel() {
+function validateCalculateRequest(msg) {
+ if (!Number.isFinite(msg.params.cut_width) || msg.params.cut_width < 0)
+ throw 'Invalid cut width';
+ if (u.equals(msg.params.panels, {}))
+ throw 'No panels defined';
+ for (let [name, panel] of u.toPairs(msg.params.panels)) {
+ if (!name)
+ throw 'Invalid panel name';
+ if (!Number.isFinite(panel.width) || panel.width <= 0)
+ throw 'Invalid width for panel ' + name;
+ if (!Number.isFinite(panel.height) || panel.height <= 0)
+ throw 'Invalid height for panel ' + name;
+ }
+ if (u.equals(msg.params.items, {}))
+ throw 'No items defined';
+ for (let [name, item] of u.toPairs(msg.params.items)) {
+ if (!name)
+ throw 'Invalid item name';
+ if (!Number.isFinite(item.width) || item.width <= 0)
+ throw 'Invalid width for item ' + name;
+ if (!Number.isFinite(item.height) || item.height <= 0)
+ throw 'Invalid height for item ' + name;
+ }
}
-export function addItem() {
+function parseCalculateResponse(msg) {
+
+}
+
+function showNotification(message, type) {
+ iziToast[type]({message: message});
}
diff --git a/src_js/opcut/grid.js b/src_js/opcut/grid.js
index 972341d..4403195 100644
--- a/src_js/opcut/grid.js
+++ b/src_js/opcut/grid.js
@@ -30,39 +30,50 @@ export function tbody(gridPath, columns, validators) {
content = checkboxColumn(gridPath, column)(row, rowIndex);
} else if (selected) {
content = ['input.grid-input', {
- type: 'text',
- 'ev-change': (evt) => r.set([gridPath, 'items', rowIndex, column],
- evt.target.value),
- 'ev-blur': _ => {
- if (u.equals(gridState.selectedItem, [rowIndex, column]))
- r.set([gridPath, 'selectedItem'], null);
+ props: {
+ type: 'text',
+ value: content
},
- 'ev-keyup': (evt) => {
- switch (evt.key) {
- case 'Enter':
- evt.target.blur();
- break;
- case 'Escape':
- evt.target.value = u.get(column, row);
- evt.target.blur();
- break;
+ on: {
+ change: evt => r.set([gridPath, 'items', rowIndex, column],
+ evt.target.value),
+ blur: _ => {
+ if (u.equals(gridState.selectedItem, [rowIndex, column]))
+ r.set([gridPath, 'selectedItem'], null);
+ },
+ keyup: evt => {
+ switch (evt.key) {
+ case 'Enter':
+ evt.target.blur();
+ break;
+ case 'Escape':
+ evt.target.value = u.get(column, row);
+ evt.target.blur();
+ break;
+ }
}
- },
- value: content
- }];
+ }}
+ ];
}
}
const title = (validator ? validator(u.get(column, row), row) : null);
- return ['td' + (title ? '.invalid' : ''), {
- title: (title ? title : ''),
- 'ev-click': evt => {
- if (u.equals(gridState.selectedItem, [rowIndex, column]))
- return;
- ev.one(r, 'render', () => {
- if (evt.target.firstChild && evt.target.firstChild.focus)
- evt.target.firstChild.focus();
- });
- r.set([gridPath, 'selectedItem'], [rowIndex, column]);
+ return ['td', {
+ class: {
+ invalid: title
+ },
+ props: {
+ title: (title ? title : '')
+ },
+ on: {
+ click: evt => {
+ if (u.equals(gridState.selectedItem, [rowIndex, column]))
+ return;
+ ev.one(r, 'render', () => {
+ if (evt.target.firstChild && evt.target.firstChild.focus)
+ evt.target.firstChild.focus();
+ });
+ r.set([gridPath, 'selectedItem'], [rowIndex, column]);
+ }
}},
content];
})]
@@ -75,36 +86,39 @@ export function tfoot(gridPath, colspan, newItem, csvColumns) {
return ['tfoot',
['tr',
['td', {
- colSpan: colspan},
+ props: {
+ colSpan: colspan
+ }},
['div',
['button', {
- 'ev-click': () => r.change(itemsPath, u.append(newItem))},
+ on: {
+ click: () => r.change(itemsPath, u.append(newItem))
+ }},
['span.fa.fa-plus'],
' Add'
],
['span.spacer'],
- ['button', {
- 'ev-click': () => r.set(itemsPath, [])},
- ['span.fa.fa-trash-o'],
- ' Remove all'
- ],
(!csvColumns ?
[] :
[
['button', {
- 'ev-click': () => {
- const items = importCsv(csvColumns, newItem);
- if (!items)
- return;
- r.change(itemsPath, state => state.concat(items));
+ on: {
+ click: () => {
+ const items = importCsv(csvColumns, newItem);
+ if (!items)
+ return;
+ r.change(itemsPath, state => state.concat(items));
+ }
}},
['span.fa.fa-download'],
- ' Import from CSV'
+ ' CSV Import'
],
['button', {
- 'ev-click': () => exportCsv(r.get(itemsPath), csvColumns)},
+ on: {
+ click: () => exportCsv(r.get(itemsPath), csvColumns)
+ }},
['span.fa.fa-upload'],
- ' Export to CSV'
+ ' CSV Export'
]
]
)
@@ -126,41 +140,58 @@ export function createStringCsvColumns(...columns) {
}
+export function createBooleanCsvColumns(...columns) {
+ return u.pipe(
+ u.map(i => [i, {
+ toString: u.pipe(u.get(i), x => x ? 'true' : 'false'),
+ toItem: (x, acc) => u.set(i, x == 'true', acc)
+ }]),
+ u.fromPairs
+ )(columns);
+}
+
+
export function deleteColumn(gridPath, showUpDown, onDeleteCb) {
const itemsPath = [gridPath, 'items'];
return (i, index) => [
(!showUpDown ? [] : [
['button', {
- 'ev-click': () => {
- const gridState = r.get(gridPath);
- if (index < 1)
- return;
- r.change(itemsPath, u.pipe(
- u.set(index, gridState.items[index-1]),
- u.set(index-1, i)
- ));
+ on: {
+ click: () => {
+ const gridState = r.get(gridPath);
+ if (index < 1)
+ return;
+ r.change(itemsPath, u.pipe(
+ u.set(index, gridState.items[index-1]),
+ u.set(index-1, i)
+ ));
+ }
}},
['span.fa.fa-arrow-up']
],
['button', {
- 'ev-click': () => {
- const gridState = r.get(gridPath);
- if (index > gridState.items.length - 2)
- return;
- r.change(itemsPath, u.pipe(
- u.set(index, gridState.items[index+1]),
- u.set(index+1, i)
- ));
+ on: {
+ click: () => {
+ const gridState = r.get(gridPath);
+ if (index > gridState.items.length - 2)
+ return;
+ r.change(itemsPath, u.pipe(
+ u.set(index, gridState.items[index+1]),
+ u.set(index+1, i)
+ ));
+ }
}},
['span.fa.fa-arrow-down']
]
]),
['button', {
- 'ev-click': () => {
- const item = r.get(itemsPath, index);
- r.change(itemsPath, u.omit(index));
- if (onDeleteCb)
- onDeleteCb(item);
+ on: {
+ click: () => {
+ const item = r.get(itemsPath, index);
+ r.change(itemsPath, u.omit(index));
+ if (onDeleteCb)
+ onDeleteCb(item);
+ }
}},
['span.fa.fa-minus']
]
@@ -172,11 +203,17 @@ export function checkboxColumn(gridPath, column) {
return (i, index) => {
const columnPath = [gridPath, 'items', index, column];
return ['div', {
- style: 'text-align: center'},
+ props: {
+ style: 'text-align: center'
+ }},
['input', {
- type: 'checkbox',
- 'ev-change': (evt) => r.set(columnPath, evt.target.checked),
- checked: r.get(columnPath)}
+ props: {
+ type: 'checkbox',
+ checked: r.get(columnPath)
+ },
+ on: {
+ change: evt => r.set(columnPath, evt.target.checked)
+ }}
]
];
};
@@ -191,9 +228,16 @@ export function selectColumn(gridPath, column, values) {
i => u.equals(selectedValue, (u.isArray(i) ? i[0] : i))) === undefined;
const allValues = (invalid ? u.append(selectedValue, values) : values);
return ['select' + (invalid ? '.invalid' : ''), {
- title: (invalid ? 'invalid value' : ''),
- style: 'width: 100%',
- 'ev-change': (evt) => r.set(columnPath, evt.target.value)},
+ class: {
+ invalid: invalid
+ },
+ props: {
+ title: (invalid ? 'invalid value' : ''),
+ style: 'width: 100%'
+ },
+ on: {
+ change: evt => r.set(columnPath, evt.target.value)
+ }},
allValues.map(i => {
const value = (u.isArray(i) ? i[0] : i);
const label = (u.isArray(i) ? i[1] : i);
diff --git a/src_js/opcut/validators.js b/src_js/opcut/validators.js
new file mode 100644
index 0000000..eb49fac
--- /dev/null
+++ b/src_js/opcut/validators.js
@@ -0,0 +1,56 @@
+import * as u from 'opcut/util';
+
+
+export function notEmptyValidator(value) {
+ if (!value)
+ return 'invalid value';
+}
+
+
+export function floatValidator(value) {
+ const floatValue = u.strictParseFloat(value);
+ if (!Number.isFinite(floatValue))
+ return 'not valid number';
+}
+
+
+export function integerValidator(value) {
+ const intValue = u.strictParseInt(value);
+ if (!Number.isFinite(intValue))
+ return 'not valid number';
+}
+
+
+export function tcpPortValidator(value) {
+ const intValue = u.strictParseInt(value);
+ if (!Number.isFinite(intValue) || intValue < 0 || intValue > 0xFFFF)
+ return 'not valid TCP port';
+}
+
+
+export function createChainValidator(...validators) {
+ return value => {
+ for (let validator of validators) {
+ let result = validator(value);
+ if (result)
+ return result;
+ }
+ };
+}
+
+
+export function createUniqueValidator() {
+ const values = new Set();
+ return value => {
+ if (values.has(value))
+ return 'duplicate value';
+ values.add(value);
+ };
+}
+
+
+export function dimensionValidator(value) {
+ const floatValue = u.strictParseFloat(value);
+ if (!Number.isFinite(floatValue) || floatValue <= 0)
+ return 'not valid dimension';
+}
diff --git a/src_js/opcut/vt.js b/src_js/opcut/vt.js
index c13d35a..f942e4b 100644
--- a/src_js/opcut/vt.js
+++ b/src_js/opcut/vt.js
@@ -1,6 +1,9 @@
import r from 'opcut/renderer';
-
+import * as u from 'opcut/util';
+import * as grid from 'opcut/grid';
import * as common from 'opcut/common';
+import * as states from 'opcut/states';
+import * as validators from 'opcut/validators';
export function main() {
@@ -13,6 +16,11 @@ export function main() {
function leftPanel() {
+ const methodPath = ['form', 'method'];
+ const cutWidthPath = ['form', 'cut_width'];
+ const cutWidthTitle = (cutWidth =>
+ (Number.isFinite(cutWidth) && cutWidth >= 0) ? '' : 'not valid cut width'
+ )(u.strictParseFloat(r.get(cutWidthPath)));
return ['div.left-panel',
['div.header',
['div.title', 'OPCUT'],
@@ -30,7 +38,10 @@ function leftPanel() {
['option', {
props: {
value: method,
- selected: r.get('form', 'method') == method
+ selected: r.get(methodPath) == method
+ },
+ on: {
+ change: evt => r.set(methodPath, evt.target.value)
}},
method
])
@@ -39,53 +50,87 @@ function leftPanel() {
['div.group',
['label', 'Cut width'],
['input', {
+ class: {
+ invalid: cutWidthTitle
+ },
props: {
- value: r.get('form', 'cut_width')
+ value: r.get(cutWidthPath),
+ title: cutWidthTitle
},
on: {
- change: evt => r.set(['form', 'cut_width'], evt.target.value)
+ change: evt => r.set(cutWidthPath, evt.target.value)
}}
]
],
- ['div.list',
- ['label', 'Panels'],
- ['div.content',
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br']
- ],
- ['button.add', {
- on: {
- click: common.addPanel
- }},
- ['span.fa.fa-plus'],
- ' Add panel'
- ]
- ],
- ['div.list',
- ['label', 'Items'],
- ['div.content',
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br'],
- 'sdfsdfssfd', ['br']
- ],
- ['button.add', {
- on: {
- click: common.addItem
- }},
- ['span.fa.fa-plus'],
- ' Add item'
- ]
+ ['div.content',
+ leftPanelPanels(),
+ leftPanelItems()
],
- ['button.submit', {
+ ['button.calculate', {
on: {
- click: common.submit
+ click: common.calculate
}},
'Calculate'
]
];
}
+
+
+function leftPanelPanels() {
+ const panelsPath = ['form', 'panels'];
+ const deleteColumn = grid.deleteColumn(panelsPath);
+ const nameValidator = validators.createChainValidator(
+ validators.notEmptyValidator,
+ validators.createUniqueValidator());
+ const widthValidator = validators.dimensionValidator;
+ const heightValidator = validators.dimensionValidator;
+ const csvColumns = grid.createStringCsvColumns('name', 'width', 'height');
+ return ['div',
+ ['table.grid',
+ ['thead',
+ ['tr',
+ ['th', 'Panel name'],
+ ['th.fixed', 'Width'],
+ ['th.fixed', 'Height'],
+ ['th.fixed']
+ ]
+ ],
+ grid.tbody(panelsPath,
+ ['name', 'width', 'height', deleteColumn],
+ [nameValidator, widthValidator, heightValidator]),
+ grid.tfoot(panelsPath, 4, states.panelsItem, csvColumns)
+ ]
+ ];
+}
+
+
+function leftPanelItems() {
+ const itemsPath = ['form', 'items'];
+ const rotateColumn = grid.checkboxColumn(itemsPath, 'can_rotate');
+ const deleteColumn = grid.deleteColumn(itemsPath);
+ const nameValidator = validators.createChainValidator(
+ validators.notEmptyValidator,
+ validators.createUniqueValidator());
+ const widthValidator = validators.dimensionValidator;
+ const heightValidator = validators.dimensionValidator;
+ const csvColumns = u.merge(
+ grid.createStringCsvColumns('name', 'width', 'height'),
+ grid.createBooleanCsvColumns('can_rotate'));
+ return ['div',
+ ['table.grid',
+ ['thead',
+ ['tr',
+ ['th', 'Item name'],
+ ['th.fixed', 'Width'],
+ ['th.fixed', 'Height'],
+ ['th.fixed', 'Rotate'],
+ ['th.fixed']
+ ]
+ ],
+ grid.tbody(itemsPath,
+ ['name', 'width', 'height', rotateColumn, deleteColumn],
+ [nameValidator, widthValidator, heightValidator]),
+ grid.tfoot(itemsPath, 5, states.itemsItem, csvColumns)
+ ]
+ ];
+}
diff --git a/src_web/style/grid.scss b/src_web/style/grid.scss
new file mode 100644
index 0000000..b1e9bf8
--- /dev/null
+++ b/src_web/style/grid.scss
@@ -0,0 +1,53 @@
+@import './color';
+
+
+table.grid {
+ table-layout: fixed;
+ border-spacing: 0px;
+ border: 1px solid $color-grey-400;
+
+ td:not(:last-child) {
+ border-right: 1px solid $color-grey-300;
+ }
+
+ thead tr, tfoot tr {
+ background-color: $color-grey-200;
+ }
+
+ td, th {
+ padding: 4px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ tbody td {
+ background-color: white;
+ }
+
+ tbody td, tfoot td {
+ border-top: 1px solid $color-grey-400;
+ }
+
+ input {
+ width: 100%;
+ }
+
+ input[type=text] {
+ position: relative;
+ border: 1px;
+ font-size: 10pt;
+ font-family: 'Roboto';
+ }
+
+ tfoot td > div {
+ display: flex;
+
+ & > .spacer {
+ flex-grow: 1;
+ }
+ }
+
+ .invalid {
+ background-color: rgba(red, 0.2);
+ }
+}
diff --git a/src_web/style/main.scss b/src_web/style/main.scss
index 6b848b4..612c2a7 100644
--- a/src_web/style/main.scss
+++ b/src_web/style/main.scss
@@ -1,8 +1,11 @@
@import '~normalize.css/normalize';
+@import '~izitoast/dist/css/iziToast.min';
@import './fonts/fontawesome';
@import './fonts/roboto';
@import './color';
+@import './shadow';
+@import './grid';
html, body {
@@ -20,19 +23,12 @@ html, body {
.left-panel {
- width: 300px;
+ @include shadow-4dp();
+ width: 400px;
display: flex;
flex-direction: column;
background-color: $color-grey-100;
- .group {
- flex-shrink: 0;
- display: flex;
- flex-direction: column;
- margin: 10px;
- margin-bottom: 0px;
- }
-
.header {
flex-shrink: 0;
margin: 10px;
@@ -60,33 +56,49 @@ html, body {
}
}
- .list {
+ .group {
+ flex-shrink: 0;
+ display: flex;
+ flex-direction: column;
+ margin: 10px;
+ margin-bottom: 0px;
+ }
+
+ .content {
flex-grow: 1;
display: flex;
flex-direction: column;
margin: 10px;
margin-bottom: 0px;
+ align-items: stretch;
+ overflow: auto;
- & > * {
- flex-shrink: 0;
- }
+ table.grid {
+ width: 100%;
- .content {
- flex-grow: 1;
- flex-shrink: 1;
- overflow: auto;
+ .fixed {
+ width: 50px
+ }
+
+ tbody td:last-child {
+ text-align: center;
+ }
}
- .add {
- align-self: flex-end;
+ & > *:not(:last-child) {
+ margin-bottom: 10px;
}
}
- .submit {
+ .calculate {
flex-shrink: 0;
margin: 10px;
padding: 10px;
}
+
+ .invalid {
+ background-color: rgba(red, 0.2);
+ }
}
diff --git a/src_web/style/shadow.scss b/src_web/style/shadow.scss
new file mode 100644
index 0000000..8bcb900
--- /dev/null
+++ b/src_web/style/shadow.scss
@@ -0,0 +1,23 @@
+
+$shadow-key-umbra-opacity: 0.2 !default;
+$shadow-key-penumbra-opacity: 0.14 !default;
+$shadow-ambient-shadow-opacity: 0.12 !default;
+
+
+@mixin shadow-1dp() {
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),
+ 0 2px 1px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity),
+ 0 1px 2px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);
+}
+
+@mixin shadow-2dp() {
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),
+ 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),
+ 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);
+}
+
+@mixin shadow-4dp() {
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),
+ 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),
+ 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);
+}
diff --git a/yarn.lock b/yarn.lock
index 6434c65..8861072 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -127,11 +127,7 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-aproba@^1.0.3:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
-
-aproba@^1.1.1:
+aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -228,13 +224,7 @@ async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
-async@^2.1.2:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
- dependencies:
- lodash "^4.14.0"
-
-async@^2.1.5:
+async@^2.1.2, async@^2.1.5:
version "2.6.0"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
dependencies:
@@ -271,15 +261,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.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
- dependencies:
- chalk "^1.1.0"
- esutils "^2.0.2"
- js-tokens "^3.0.0"
-
-babel-code-frame@^6.26.0:
+babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
@@ -291,7 +273,7 @@ babylon@7.0.0-beta.19:
version "7.0.0-beta.19"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503"
-balanced-match@^0.4.1, balanced-match@^0.4.2:
+balanced-match@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@@ -368,13 +350,6 @@ boom@2.x.x:
dependencies:
hoek "2.x.x"
-brace-expansion@^1.0.0:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
- dependencies:
- balanced-match "^0.4.1"
- concat-map "0.0.1"
-
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -485,10 +460,6 @@ buffer-from@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
-buffer-shims@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
-
buffer-xor@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
@@ -622,7 +593,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
-chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
@@ -761,13 +732,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-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-convert@^1.9.0:
+color-convert@^1.3.0, color-convert@^1.9.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
dependencies:
@@ -809,14 +774,10 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
dependencies:
delayed-stream "~1.0.0"
-commander@2.11.0:
+commander@2.11.0, commander@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
-commander@^2.9.0:
- version "2.15.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
-
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1103,7 +1064,7 @@ dateformat@3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.2.tgz#9a4df4bff158ac2f34bc637abdb15471607e1659"
-debug@2.6.9, debug@^2.3.3:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
dependencies:
@@ -1115,12 +1076,6 @@ debug@3.1.0, debug@^3.1.0:
dependencies:
ms "2.0.0"
-debug@^2.2.0:
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0"
- dependencies:
- ms "0.7.3"
-
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"
@@ -1485,10 +1440,6 @@ 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"
-
esprima@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
@@ -1912,7 +1863,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob@7.1.2, glob@^7.1.2:
+glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
@@ -1933,17 +1884,6 @@ glob@^6.0.4:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.2"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
global@^4.2.1, global@^4.3.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
@@ -2306,11 +2246,7 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
-is-buffer@^1.0.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
-
-is-buffer@^1.1.5:
+is-buffer@^1.0.2, is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -2516,18 +2452,10 @@ jodid25519@^1.0.0:
dependencies:
jsbn "~0.1.0"
-js-base64@^2.1.8:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
-
-js-base64@^2.1.9:
+js-base64@^2.1.8, js-base64@^2.1.9:
version "2.1.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
-js-tokens@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
-
js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
@@ -2539,14 +2467,7 @@ js-yaml@3.9.0:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@^3.5.2:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628"
- dependencies:
- argparse "^1.0.7"
- esprima "^3.1.1"
-
-js-yaml@^3.9.1:
+js-yaml@^3.5.2, js-yaml@^3.9.1:
version "3.11.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
dependencies:
@@ -2599,14 +2520,10 @@ json-formatter-js@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/json-formatter-js/-/json-formatter-js-2.2.0.tgz#1ed987223ef2f1d945304597faae78b580a8212b"
-json-loader@0.5.7:
+json-loader@0.5.7, json-loader@^0.5.4:
version "0.5.7"
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
-json-loader@^0.5.4:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
-
json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
@@ -2656,13 +2573,7 @@ kind-of@^2.0.1:
dependencies:
is-buffer "^1.0.2"
-kind-of@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
- dependencies:
- is-buffer "^1.0.2"
-
-kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^3.2.2:
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
dependencies:
@@ -2854,11 +2765,7 @@ 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.14.0:
- version "4.17.4"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-
-lodash@^4.17.4, lodash@^4.3.0:
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0:
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
@@ -2885,14 +2792,7 @@ loud-rejection@^1.0.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
-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"
-
-lru-cache@^4.1.1:
+lru-cache@^4.0.1, lru-cache@^4.1.1:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f"
dependencies:
@@ -3049,18 +2949,12 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-"minimatch@2 || 3", minimatch@^3.0.4:
+"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
dependencies:
brace-expansion "^1.1.7"
-minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
- dependencies:
- brace-expansion "^1.0.0"
-
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
@@ -3119,14 +3013,10 @@ mocha@5.0.4:
mkdirp "0.5.1"
supports-color "4.4.0"
-moment@2.20.1:
+moment@2.20.1, moment@2.x:
version "2.20.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd"
-moment@2.x:
- version "2.22.0"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.0.tgz#7921ade01017dd45186e7fee5f424f0b8663a730"
-
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -3138,10 +3028,6 @@ move-concurrently@^1.0.1:
rimraf "^2.5.4"
run-queue "^1.0.3"
-ms@0.7.3:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff"
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -3867,10 +3753,6 @@ prepend-http@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-process-nextick-args@~1.0.6:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-
process-nextick-args@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
@@ -3902,7 +3784,7 @@ prr@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
-pseudomap@^1.0.1, pseudomap@^1.0.2:
+pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -4042,7 +3924,7 @@ read-pkg@^2.0.0:
normalize-package-data "^2.3.2"
path-type "^2.0.0"
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.1.5, readable-stream@^2.2.2:
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
dependencies:
@@ -4054,18 +3936,6 @@ read-pkg@^2.0.0:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.6:
- version "2.2.9"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
- dependencies:
- buffer-shims "~1.0.0"
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "~1.0.0"
- process-nextick-args "~1.0.6"
- string_decoder "~1.0.0"
- util-deprecate "~1.0.1"
-
readdirp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
@@ -4147,18 +4017,18 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
-request@2, request@2.81.0:
- version "2.81.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
+request@2, request@~2.79.0:
+ version "2.79.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
- caseless "~0.12.0"
+ caseless "~0.11.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~2.1.1"
- har-validator "~4.2.1"
+ har-validator "~2.0.6"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
@@ -4166,26 +4036,24 @@ request@2, request@2.81.0:
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
oauth-sign "~0.8.1"
- performance-now "^0.2.0"
- qs "~6.4.0"
- safe-buffer "^5.0.1"
+ qs "~6.3.0"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
- tunnel-agent "^0.6.0"
+ tunnel-agent "~0.4.1"
uuid "^3.0.0"
-request@~2.79.0:
- version "2.79.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
+request@2.81.0:
+ version "2.81.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
- caseless "~0.11.0"
+ caseless "~0.12.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~2.1.1"
- har-validator "~2.0.6"
+ har-validator "~4.2.1"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
@@ -4193,10 +4061,12 @@ request@~2.79.0:
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
oauth-sign "~0.8.1"
- qs "~6.3.0"
+ performance-now "^0.2.0"
+ qs "~6.4.0"
+ safe-buffer "^5.0.1"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
- tunnel-agent "~0.4.1"
+ tunnel-agent "^0.6.0"
uuid "^3.0.0"
require-directory@^2.1.1:
@@ -4278,13 +4148,7 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
- dependencies:
- glob "^7.0.5"
-
-rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2:
+rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
dependencies:
@@ -4316,14 +4180,10 @@ rx-lite@*, rx-lite@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
-safe-buffer@5.1.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
-safe-buffer@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
-
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -4563,7 +4423,7 @@ source-map-url@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9"
-source-map@0.5.x:
+source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
@@ -4579,10 +4439,6 @@ source-map@^0.4.2:
dependencies:
amdefine ">=0.0.4"
-source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
-
source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
@@ -4639,11 +4495,7 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
-"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
-
-statuses@~1.4.0:
+"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2", statuses@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
@@ -4708,12 +4560,6 @@ string_decoder@^0.10.25:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-string_decoder@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
- dependencies:
- buffer-shims "~1.0.0"
-
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -4767,7 +4613,7 @@ style-loader@0.20.1:
loader-utils "^1.1.0"
schema-utils "^0.4.3"
-supports-color@4.4.0:
+supports-color@4.4.0, supports-color@^4.2.1:
version "4.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
dependencies:
@@ -4783,12 +4629,6 @@ supports-color@^3.2.3:
dependencies:
has-flag "^1.0.0"
-supports-color@^4.2.1:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
- dependencies:
- has-flag "^2.0.0"
-
supports-color@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
@@ -4822,11 +4662,7 @@ taffydb@2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268"
-tapable@^0.2.3:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
-
-tapable@^0.2.7:
+tapable@^0.2.3, tapable@^0.2.7:
version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
@@ -5058,6 +4894,12 @@ upath@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d"
+uri-js@4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.1.tgz#4595a80a51f356164e22970df64c7abd6ade9850"
+ dependencies:
+ punycode "^2.1.0"
+
uri-js@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa"
@@ -5324,7 +5166,7 @@ y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
-yallist@^2.0.0, yallist@^2.1.2:
+yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"