diff --git a/.eslintcache b/.eslintcache
new file mode 100644
index 0000000..bb0137d
--- /dev/null
+++ b/.eslintcache
@@ -0,0 +1 @@
+{"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/parse-dom.js":{"size":730,"mtime":1501066011000,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/parse-dom.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/parse-dom.test.js":{"size":1164,"mtime":1501066011000,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/parse-dom.test.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/webpack.config.js":{"size":462,"mtime":1520589179850,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/webpack.config.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/retrieve-image-url.test.js":{"size":3113,"mtime":1520589196237,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/retrieve-image-url.test.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/load-image-url.js":{"size":579,"mtime":1520589280543,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/load-image-url.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/load-image-file.js":{"size":422,"mtime":1520589296890,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/load-image-file.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/retrieve-image-url.js":{"size":725,"mtime":1520589316553,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/utils/retrieve-image-url.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/rollup.config.js":{"size":878,"mtime":1520589379433,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/rollup.config.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/src/index.js":{"size":16857,"mtime":1520589468526,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/src/index.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/docs/javascripts/scale.fix.js":{"size":569,"mtime":1520589529287,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/docs/javascripts/scale.fix.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/docs/App.jsx":{"size":6223,"mtime":1520589687096,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/docs/App.jsx","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}},"/Users/mschwoerer/Develop/react-avatar-editor/docs/Preview.jsx":{"size":1795,"mtime":1520589854848,"hashOfConfig":"3xjyed","results":{"filePath":"/Users/mschwoerer/Develop/react-avatar-editor/docs/Preview.jsx","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}}}
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 0000000..dceb50f
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,55 @@
+{
+ "extends": [
+ "standard",
+ "plugin:react/recommended",
+ "prettier",
+ "prettier/react"
+ ],
+ "globals": {
+ "React": true,
+ "describe": true,
+ "expect": true,
+ "it": true,
+ "jest": true,
+ "mockStore": true,
+ "mount": true,
+ "mountIntl": true,
+ "shallow": true,
+ "shallowIntl": true
+ },
+ "parser": "babel-eslint",
+ "plugins": ["import", "react"],
+ "rules": {
+ "comma-dangle": [2, "always-multiline"],
+ "generator-star-spacing": 0,
+ "import/export": 2,
+ "jsx-quotes": [2, "prefer-double"],
+ "no-console": 2,
+ "no-return-assign": 0,
+ "no-unused-expressions": 0,
+ "react/jsx-curly-spacing": [2, "never"],
+ "react/jsx-first-prop-new-line": [2, "multiline-multiprop"],
+ "react/jsx-indent-props": 0,
+ "react/jsx-no-bind": 0,
+ "react/no-array-index-key": 2,
+ "react/no-multi-comp": [
+ "warn",
+ {
+ "ignoreStateless": true
+ }
+ ],
+ "react/self-closing-comp": [
+ "error",
+ {
+ "component": true,
+ "html": true
+ }
+ ],
+ "react/sort-comp": 2,
+ "react/no-render-return-value": 0,
+ "space-before-function-paren": 0,
+ "standard/computed-property-even-spacing": 0,
+ "no-var": 2,
+ "prefer-const": 2
+ }
+}
diff --git a/docs/App.jsx b/docs/App.jsx
index e1bf65a..46d0a6a 100644
--- a/docs/App.jsx
+++ b/docs/App.jsx
@@ -2,6 +2,7 @@ import React from 'react'
import ReactDOM from 'react-dom'
import ReactAvatarEditor from '../src/index'
import Dropzone from 'react-dropzone'
+import Preview from './Preview.jsx'
class App extends React.Component {
state = {
image: 'avatar.jpg',
@@ -12,7 +13,7 @@ class App extends React.Component {
borderRadius: 0,
preview: null,
width: 200,
- height: 200
+ height: 200,
}
handleNewImage = e => {
@@ -30,8 +31,8 @@ class App extends React.Component {
scale: this.state.scale,
width: this.state.width,
height: this.state.height,
- borderRadius: this.state.borderRadius
- }
+ borderRadius: this.state.borderRadius,
+ },
})
}
@@ -48,14 +49,14 @@ class App extends React.Component {
e.preventDefault()
this.setState({
- rotate: this.state.rotate - 90
+ rotate: this.state.rotate - 90,
})
}
rotateRight = e => {
e.preventDefault()
this.setState({
- rotate: this.state.rotate + 90
+ rotate: this.state.rotate + 90,
})
}
@@ -84,7 +85,8 @@ class App extends React.Component {
this.setState({ height })
}
- logCallback (e) {
+ logCallback(e) {
+ // eslint-disable-next-line
console.log('callback', e)
}
@@ -100,12 +102,13 @@ class App extends React.Component {
this.setState({ image: acceptedFiles[0] })
}
- render () {
+ render() {
return (
@@ -248,71 +246,5 @@ class App extends React.Component {
}
// Used to display the cropping rect
-class ImageWithRect extends React.Component {
- componentDidMount () {
- this.redraw()
- }
-
- componentDidUpdate () {
- this.redraw()
- }
-
- setCanvas = canvas => {
- if (canvas) this.canvas = canvas
- }
-
- handleImageLoad = () => {
- const ctx = this.canvas.getContext('2d')
- const { rect, width, height } = this.props
-
- ctx.clearRect(0, 0, width, height)
-
- ctx.strokeStyle = 'red'
-
- if (rect && (rect.width > 1 || rect.height > 1)) {
- ctx.drawImage(
- this.imgElement,
- Math.round(-rect.x * (width / rect.width)),
- Math.round(-rect.y * (height / rect.height)),
- Math.round(width / rect.width),
- Math.round(height / rect.height)
- )
-
- if (rect) {
- ctx.strokeRect(1, 1, Math.round(width) - 2, Math.round(height) - 2)
- }
- } else {
- ctx.drawImage(this.imgElement, 0, 0, width, height)
-
- if (rect) {
- ctx.strokeRect(
- Math.round(rect.x * width) + 0.5,
- Math.round(rect.y * height) + 0.5,
- Math.round(rect.width * width),
- Math.round(rect.height * height)
- )
- }
- }
- }
-
- redraw () {
- const img = new Image()
-
- img.src = this.props.image
- img.onload = this.handleImageLoad
- this.imgElement = img
- }
-
- render () {
- return (
-
- )
- }
-}
ReactDOM.render(, document.getElementById('app'))
diff --git a/docs/Preview.jsx b/docs/Preview.jsx
new file mode 100644
index 0000000..cd8f09b
--- /dev/null
+++ b/docs/Preview.jsx
@@ -0,0 +1,82 @@
+/* eslint-env browser */
+import React from 'react'
+import { shape, number, string } from 'prop-types'
+
+export default class Preview extends React.Component {
+ static propTypes = {
+ rect: shape({
+ width: number,
+ height: number,
+ }),
+ image: string,
+ width: number,
+ height: number,
+ }
+
+ componentDidMount() {
+ this.redraw()
+ }
+
+ componentDidUpdate() {
+ this.redraw()
+ }
+
+ setCanvas = canvas => (this.canvas = canvas)
+
+ handleImageLoad = () => {
+ const ctx = this.canvas.getContext('2d')
+ const { rect, width, height } = this.props
+
+ ctx.clearRect(0, 0, width, height)
+
+ ctx.strokeStyle = 'red'
+
+ if (rect && (rect.width > 1 || rect.height > 1)) {
+ ctx.drawImage(
+ this.image,
+ Math.round(-rect.x * (width / rect.width)),
+ Math.round(-rect.y * (height / rect.height)),
+ Math.round(width / rect.width),
+ Math.round(height / rect.height)
+ )
+
+ if (rect) {
+ ctx.strokeRect(1, 1, Math.round(width) - 2, Math.round(height) - 2)
+ }
+ } else {
+ ctx.drawImage(this.image, 0, 0, width, height)
+
+ if (rect) {
+ ctx.strokeRect(
+ Math.round(rect.x * width) + 0.5,
+ Math.round(rect.y * height) + 0.5,
+ Math.round(rect.width * width),
+ Math.round(rect.height * height)
+ )
+ }
+ }
+ }
+
+ redraw() {
+ const image = new Image()
+ image.src = this.props.image
+ image.onload = this.handleImageLoad
+ this.image = image
+ }
+
+ render() {
+ const { width, height } = this.props
+ return (
+
+ )
+ }
+}
diff --git a/docs/javascripts/scale.fix.js b/docs/javascripts/scale.fix.js
index 1df4eb4..6094c4a 100644
--- a/docs/javascripts/scale.fix.js
+++ b/docs/javascripts/scale.fix.js
@@ -1,13 +1,17 @@
// eslint-disable-next-line
fixScale = function(doc) {
- var addEvent = 'addEventListener'
- var type = 'gesturestart'
- var qsa = 'querySelectorAll'
- var scales = [1, 1]
- var meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []
+ const addEvent = 'addEventListener'
+ const type = 'gesturestart'
+ const qsa = 'querySelectorAll'
+ let scales = [1, 1]
+ let meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []
- function fix () {
- meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1]
+ function fix() {
+ meta.content =
+ 'width=device-width,minimum-scale=' +
+ scales[0] +
+ ',maximum-scale=' +
+ scales[1]
doc.removeEventListener(type, fix, true)
}
diff --git a/package.json b/package.json
index a43d24e..ae60d3d 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"clean": "rimraf dist",
"build": "rollup -c",
"watch": "rollup -c -w",
- "lint": "standard --verbose | snazzy",
+ "lint": "eslint --cache --ext .js,.jsx .",
"test": "jest",
"test:watch": "jest --watch",
"demo:build": "NODE_ENV=production webpack",
@@ -52,8 +52,18 @@
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babelrc-rollup": "^3.0.0",
- "jest": "^20.0.4",
+ "eslint": "4.18.2",
+ "eslint-config-prettier": "^2.9.0",
+ "eslint-config-react-app": "^2.1.0",
+ "eslint-config-standard": "^11.0.0",
+ "eslint-plugin-import": "^2.9.0",
+ "eslint-plugin-node": "^6.0.1",
+ "eslint-plugin-promise": "^3.7.0",
+ "eslint-plugin-react": "^7.7.0",
+ "eslint-plugin-standard": "^3.0.1",
+ "jest": "20.0.4",
"lodash": "^4.17.4",
+ "prettier": "1.11.1",
"prop-types": "^15.5.8",
"react": "^15.5.4",
"react-dom": "^15.5.4",
@@ -64,7 +74,6 @@
"rollup-plugin-uglify": "^2.0.1",
"rollup-watch": "^4.3.1",
"snazzy": "^7.0.0",
- "standard": "^10.0.2",
"webpack": "^2.3.3",
"webpack-dev-server": "^2.4.2"
},
@@ -76,12 +85,13 @@
"dist",
"src"
],
- "standard": {
- "global": [
- "File",
- "FileReader",
- "Image"
- ],
- "parser": "babel-eslint"
+ "prettier": {
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "semi": false,
+ "useTabs": false
+ },
+ "eslintConfig": {
+ "extends": "react-app"
}
}
diff --git a/rollup.config.js b/rollup.config.js
index caf4457..0b0594c 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -18,10 +18,7 @@ config.presets = config.presets.map(([name, config]) => {
}
})
-let plugins = [
- babel(config),
- uglify()
-]
+const plugins = [babel(config), uglify()]
export default {
entry: 'src/index.js',
@@ -30,14 +27,14 @@ export default {
globals: {
react: 'React',
'react-dom': 'ReactDOM',
- 'prop-types': 'PropTypes'
+ 'prop-types': 'PropTypes',
},
targets: [
{
dest: pkg.main,
format: 'umd',
moduleName: 'AvatarEditor',
- sourceMap: true
- }
- ]
+ sourceMap: false,
+ },
+ ],
}
diff --git a/src/index.js b/src/index.js
index 123907e..9e90690 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,3 +1,4 @@
+/* eslint-env browser, node */
import PropTypes from 'prop-types'
import React from 'react'
import ReactDOM from 'react-dom'
@@ -22,7 +23,7 @@ const draggableEvents = {
move: 'onTouchMove',
mouseMove: 'onMouseMove',
up: 'onTouchEnd',
- mouseUp: 'onMouseUp'
+ mouseUp: 'onMouseUp',
},
native: {
down: 'touchstart',
@@ -31,23 +32,23 @@ const draggableEvents = {
move: 'touchmove',
mouseMove: 'mousemove',
up: 'touchend',
- mouseUp: 'mouseup'
- }
+ mouseUp: 'mouseup',
+ },
},
desktop: {
react: {
down: 'onMouseDown',
drag: 'onDragOver',
move: 'onMouseMove',
- up: 'onMouseUp'
+ up: 'onMouseUp',
},
native: {
down: 'mousedown',
drag: 'dragStart',
move: 'mousemove',
- up: 'mouseup'
- }
- }
+ up: 'mouseup',
+ },
+ },
}
const deviceEvents = isTouchDevice
? draggableEvents.touch
@@ -107,18 +108,18 @@ class AvatarEditor extends React.Component {
rotate: PropTypes.number,
image: PropTypes.oneOfType([
PropTypes.string,
- ...(isFileAPISupported ? [PropTypes.instanceOf(File)] : [])
+ ...(isFileAPISupported ? [PropTypes.instanceOf(File)] : []),
]),
border: PropTypes.oneOfType([
PropTypes.number,
- PropTypes.arrayOf(PropTypes.number)
+ PropTypes.arrayOf(PropTypes.number),
]),
borderRadius: PropTypes.number,
width: PropTypes.number,
height: PropTypes.number,
position: PropTypes.shape({
x: PropTypes.number,
- y: PropTypes.number
+ y: PropTypes.number,
}),
color: PropTypes.arrayOf(PropTypes.number),
style: PropTypes.object,
@@ -130,7 +131,7 @@ class AvatarEditor extends React.Component {
onImageChange: PropTypes.func,
onMouseUp: PropTypes.func,
onMouseMove: PropTypes.func,
- onPositionChange: PropTypes.func
+ onPositionChange: PropTypes.func,
}
static defaultProps = {
@@ -142,13 +143,13 @@ class AvatarEditor extends React.Component {
height: 200,
color: [0, 0, 0, 0.5],
style: {},
- onLoadFailure () {},
- onLoadSuccess () {},
- onImageReady () {},
- onImageChange () {},
- onMouseUp () {},
- onMouseMove () {},
- onPositionChange () {}
+ onLoadFailure() {},
+ onLoadSuccess() {},
+ onImageReady() {},
+ onImageChange() {},
+ onMouseUp() {},
+ onMouseMove() {},
+ onPositionChange() {},
}
state = {
@@ -157,19 +158,105 @@ class AvatarEditor extends React.Component {
mx: null,
image: {
x: 0.5,
- y: 0.5
+ y: 0.5,
+ },
+ }
+
+ componentDidMount() {
+ // eslint-disable-next-line react/no-find-dom-node
+ const context = ReactDOM.findDOMNode(this.canvas).getContext('2d')
+ if (this.props.image) {
+ this.loadImage(this.props.image)
+ }
+ this.paint(context)
+ if (document) {
+ const nativeEvents = deviceEvents.native
+ document.addEventListener(nativeEvents.move, this.handleMouseMove, false)
+ document.addEventListener(nativeEvents.up, this.handleMouseUp, false)
+ if (isTouchDevice) {
+ document.addEventListener(
+ nativeEvents.mouseMove,
+ this.handleMouseMove,
+ false
+ )
+ document.addEventListener(
+ nativeEvents.mouseUp,
+ this.handleMouseUp,
+ false
+ )
+ }
}
}
- isVertical () {
+ componentWillReceiveProps(newProps) {
+ if (
+ (newProps.image && this.props.image !== newProps.image) ||
+ this.props.width !== newProps.width ||
+ this.props.height !== newProps.height
+ ) {
+ this.loadImage(newProps.image)
+ } else if (!newProps.image) {
+ this.clearImage()
+ }
+ }
+
+ componentDidUpdate(prevProps, prevState) {
+ // eslint-disable-next-line react/no-find-dom-node
+ const canvas = ReactDOM.findDOMNode(this.canvas)
+ const context = canvas.getContext('2d')
+ context.clearRect(0, 0, canvas.width, canvas.height)
+ this.paint(context)
+ this.paintImage(context, this.state.image, this.props.border)
+
+ if (
+ prevProps.image !== this.props.image ||
+ prevProps.width !== this.props.width ||
+ prevProps.height !== this.props.height ||
+ prevProps.position !== this.props.position ||
+ prevProps.scale !== this.props.scale ||
+ prevProps.rotate !== this.props.rotate ||
+ prevState.my !== this.state.my ||
+ prevState.mx !== this.state.mx ||
+ prevState.image.x !== this.state.image.x ||
+ prevState.image.y !== this.state.image.y
+ ) {
+ this.props.onImageChange()
+ }
+ }
+
+ componentWillUnmount() {
+ if (document) {
+ const nativeEvents = deviceEvents.native
+ document.removeEventListener(
+ nativeEvents.move,
+ this.handleMouseMove,
+ false
+ )
+ document.removeEventListener(nativeEvents.up, this.handleMouseUp, false)
+ if (isTouchDevice) {
+ document.removeEventListener(
+ nativeEvents.mouseMove,
+ this.handleMouseMove,
+ false
+ )
+ document.removeEventListener(
+ nativeEvents.mouseUp,
+ this.handleMouseUp,
+ false
+ )
+ }
+ }
+ }
+
+ isVertical() {
return this.props.rotate % 180 !== 0
}
- getBorders (border = this.props.border) {
+ getBorders(border = this.props.border) {
return Array.isArray(border) ? border : [border, border]
}
- getDimensions () {
+ getDimensions() {
const { width, height, rotate, border } = this.props
const canvas = {}
@@ -195,11 +282,11 @@ class AvatarEditor extends React.Component {
rotate,
width,
height,
- border
+ border,
}
}
- getImage () {
+ getImage() {
// get relative coordinates (0 to 1)
const cropRect = this.getCroppingRect()
const image = this.state.image
@@ -245,7 +332,7 @@ class AvatarEditor extends React.Component {
* Get the image scaled to original canvas size.
* This was default in 4.x and is now kept as a legacy method.
*/
- getImageScaledToCanvas () {
+ getImageScaledToCanvas() {
const { width, height } = this.getDimensions()
const canvas = document.createElement('canvas')
@@ -264,24 +351,24 @@ class AvatarEditor extends React.Component {
return canvas
}
- getXScale () {
+ getXScale() {
const canvasAspect = this.props.width / this.props.height
const imageAspect = this.state.image.width / this.state.image.height
return Math.min(1, canvasAspect / imageAspect)
}
- getYScale () {
+ getYScale() {
const canvasAspect = this.props.height / this.props.width
const imageAspect = this.state.image.height / this.state.image.width
return Math.min(1, canvasAspect / imageAspect)
}
- getCroppingRect () {
+ getCroppingRect() {
const position = this.props.position || {
x: this.state.image.x,
- y: this.state.image.y
+ y: this.state.image.y,
}
const width = 1 / this.props.scale * this.getXScale()
const height = 1 / this.props.scale * this.getYScale()
@@ -290,7 +377,7 @@ class AvatarEditor extends React.Component {
x: position.x - width / 2,
y: position.y - height / 2,
width,
- height
+ height,
}
let xMin = 0
@@ -313,11 +400,11 @@ class AvatarEditor extends React.Component {
return {
...croppingRect,
x: Math.max(xMin, Math.min(croppingRect.x, xMax)),
- y: Math.max(yMin, Math.min(croppingRect.y, yMax))
+ y: Math.max(yMin, Math.min(croppingRect.y, yMax)),
}
}
- async loadImage (image) {
+ async loadImage(image) {
let newImage
if (isFileAPISupported && image instanceof File) {
newImage = await loadImageFile(image)
@@ -327,79 +414,7 @@ class AvatarEditor extends React.Component {
this.handleImageReady(newImage)
}
- componentDidMount () {
- const context = ReactDOM.findDOMNode(this.canvas).getContext('2d')
- if (this.props.image) {
- this.loadImage(this.props.image)
- }
- this.paint(context)
- if (document) {
- const nativeEvents = deviceEvents.native
- document.addEventListener(nativeEvents.move, this.handleMouseMove, false)
- document.addEventListener(nativeEvents.up, this.handleMouseUp, false)
- if (isTouchDevice) {
- document.addEventListener(
- nativeEvents.mouseMove,
- this.handleMouseMove,
- false
- )
- document.addEventListener(
- nativeEvents.mouseUp,
- this.handleMouseUp,
- false
- )
- }
- }
- }
-
- componentWillUnmount () {
- if (document) {
- const nativeEvents = deviceEvents.native
- document.removeEventListener(
- nativeEvents.move,
- this.handleMouseMove,
- false
- )
- document.removeEventListener(nativeEvents.up, this.handleMouseUp, false)
- if (isTouchDevice) {
- document.removeEventListener(
- nativeEvents.mouseMove,
- this.handleMouseMove,
- false
- )
- document.removeEventListener(
- nativeEvents.mouseUp,
- this.handleMouseUp,
- false
- )
- }
- }
- }
-
- componentDidUpdate (prevProps, prevState) {
- const canvas = ReactDOM.findDOMNode(this.canvas)
- const context = canvas.getContext('2d')
- context.clearRect(0, 0, canvas.width, canvas.height)
- this.paint(context)
- this.paintImage(context, this.state.image, this.props.border)
-
- if (
- prevProps.image !== this.props.image ||
- prevProps.width !== this.props.width ||
- prevProps.height !== this.props.height ||
- prevProps.position !== this.props.position ||
- prevProps.scale !== this.props.scale ||
- prevProps.rotate !== this.props.rotate ||
- prevState.my !== this.state.my ||
- prevState.mx !== this.state.mx ||
- prevState.image.x !== this.state.image.x ||
- prevState.image.y !== this.state.image.y
- ) {
- this.props.onImageChange()
- }
- }
-
- handleImageReady (image) {
+ handleImageReady(image) {
const imageState = this.getInitialSize(image.width, image.height)
imageState.resource = image
imageState.x = 0.5
@@ -408,7 +423,7 @@ class AvatarEditor extends React.Component {
this.props.onLoadSuccess(imageState)
}
- getInitialSize (width, height) {
+ getInitialSize(width, height) {
let newHeight
let newWidth
@@ -426,19 +441,7 @@ class AvatarEditor extends React.Component {
return {
height: newHeight,
- width: newWidth
- }
- }
-
- componentWillReceiveProps (newProps) {
- if (
- (newProps.image && this.props.image !== newProps.image) ||
- this.props.width !== newProps.width ||
- this.props.height !== newProps.height
- ) {
- this.loadImage(newProps.image)
- } else if (!newProps.image) {
- this.clearImage()
+ width: newWidth,
}
}
@@ -448,7 +451,7 @@ class AvatarEditor extends React.Component {
context.clearRect(0, 0, canvas.width, canvas.height)
}
- paintImage (context, image, border, scaleFactor = pixelRatio) {
+ paintImage(context, image, border, scaleFactor = pixelRatio) {
if (image.resource) {
const position = this.calculatePosition(image, border)
@@ -483,7 +486,7 @@ class AvatarEditor extends React.Component {
}
}
- calculatePosition (image, border) {
+ calculatePosition(image, border) {
image = image || this.state.image
const [borderX, borderY] = this.getBorders(border)
@@ -508,11 +511,11 @@ class AvatarEditor extends React.Component {
x,
y,
height,
- width
+ width,
}
}
- paint (context) {
+ paint(context) {
context.save()
context.scale(pixelRatio, pixelRatio)
context.translate(0, 0)
@@ -557,7 +560,7 @@ class AvatarEditor extends React.Component {
this.setState({
drag: true,
mx: null,
- my: null
+ my: null,
})
}
handleMouseUp = () => {
@@ -582,7 +585,7 @@ class AvatarEditor extends React.Component {
const newState = {
mx: mousePositionX,
- my: mousePositionY
+ my: mousePositionY,
}
let rotate = this.props.rotate
@@ -615,14 +618,14 @@ class AvatarEditor extends React.Component {
const position = {
x: x / width + relativeWidth / 2,
- y: y / height + relativeHeight / 2
+ y: y / height + relativeHeight / 2,
}
this.props.onPositionChange(position)
newState.image = {
...this.state.image,
- ...position
+ ...position,
}
}
@@ -635,12 +638,12 @@ class AvatarEditor extends React.Component {
this.canvas = canvas
}
- render () {
+ render() {
const dimensions = this.getDimensions()
const defaultStyle = {
width: dimensions.canvas.width,
height: dimensions.canvas.height,
- cursor: this.state.drag ? 'grabbing' : 'grab'
+ cursor: this.state.drag ? 'grabbing' : 'grab',
}
const attributes = {
@@ -648,8 +651,8 @@ class AvatarEditor extends React.Component {
height: dimensions.canvas.height * pixelRatio,
style: {
...defaultStyle,
- ...this.props.style
- }
+ ...this.props.style,
+ },
}
attributes[deviceEvents.react.down] = this.handleMouseDown
diff --git a/src/utils/load-image-file.js b/src/utils/load-image-file.js
index b5f72db..b415564 100644
--- a/src/utils/load-image-file.js
+++ b/src/utils/load-image-file.js
@@ -1,6 +1,7 @@
+/* eslint-env browser, node */
import loadImageURL from './load-image-url'
-export default function loadImageFile (imageFile) {
+export default function loadImageFile(imageFile) {
return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.onload = async e => {
diff --git a/src/utils/load-image-url.js b/src/utils/load-image-url.js
index 37fe258..76d6340 100644
--- a/src/utils/load-image-url.js
+++ b/src/utils/load-image-url.js
@@ -1,4 +1,6 @@
-function isDataURL (str) {
+/* eslint-env browser, node */
+
+function isDataURL(str) {
if (str === null) {
return false
}
@@ -6,7 +8,7 @@ function isDataURL (str) {
return !!str.match(regex)
}
-export default function loadImageURL (imageURL, crossOrigin) {
+export default function loadImageURL(imageURL, crossOrigin) {
return new Promise((resolve, reject) => {
const image = new Image()
image.onload = () => resolve(image)
diff --git a/src/utils/retrieve-image-url.js b/src/utils/retrieve-image-url.js
index b4b9534..1f823a2 100644
--- a/src/utils/retrieve-image-url.js
+++ b/src/utils/retrieve-image-url.js
@@ -9,7 +9,7 @@ import parseDOM from './parse-dom'
*/
const retrieveImageURL = (dataTransferItems, callback) => {
for (let i = 0; i < dataTransferItems.length; i++) {
- let item = dataTransferItems[i]
+ const item = dataTransferItems[i]
if (item.type === 'text/html') {
item.getAsString(value => {
diff --git a/src/utils/retrieve-image-url.test.js b/src/utils/retrieve-image-url.test.js
index 8dd6ab7..5919dcb 100644
--- a/src/utils/retrieve-image-url.test.js
+++ b/src/utils/retrieve-image-url.test.js
@@ -1,9 +1,7 @@
/* eslint-env jest */
describe('retrieveImageURL', () => {
- let retrieveImageURL,
- mockParseDOM,
- mockQuerySelector
+ let retrieveImageURL, mockParseDOM, mockQuerySelector
beforeEach(() => {
mockQuerySelector = jest.fn()
@@ -18,7 +16,7 @@ describe('retrieveImageURL', () => {
it('runs getAsString on the first item with type "text/html"', () => {
const items = [
{ getAsString: jest.fn(), type: 'something/else' },
- { getAsString: jest.fn(), type: 'text/html' }
+ { getAsString: jest.fn(), type: 'text/html' },
]
retrieveImageURL(items, () => {})
@@ -30,7 +28,7 @@ describe('retrieveImageURL', () => {
it('does not run getAsString on later items with type "text/html"', () => {
const items = [
{ getAsString: jest.fn(), type: 'text/html' },
- { getAsString: jest.fn(), type: 'text/html' }
+ { getAsString: jest.fn(), type: 'text/html' },
]
retrieveImageURL(items, () => {})
@@ -40,29 +38,28 @@ describe('retrieveImageURL', () => {
})
describe('with html returned in getAsString callback', () => {
- let callback,
- invokeGetAsStringCallback
+ let callback, invokeGetAsStringCallback
beforeEach(() => {
- const items = [
- { getAsString: jest.fn(), type: 'text/html' }
- ]
+ const items = [{ getAsString: jest.fn(), type: 'text/html' }]
callback = jest.fn()
mockParseDOM.mockReturnValue({
- querySelector: mockQuerySelector
+ querySelector: mockQuerySelector,
})
retrieveImageURL(items, callback)
- invokeGetAsStringCallback =
- () => items[0].getAsString.mock.calls[0][0]('')
+ invokeGetAsStringCallback = () =>
+ items[0].getAsString.mock.calls[0][0]('')
})
it('creates a document using parseDOM', () => {
invokeGetAsStringCallback()
- expect(mockParseDOM).toHaveBeenCalledWith('')
+ expect(mockParseDOM).toHaveBeenCalledWith(
+ ''
+ )
})
it('searches for img elements', () => {
@@ -73,7 +70,7 @@ describe('retrieveImageURL', () => {
describe('if the document contains an img with a src attribute', () => {
beforeEach(() => {
mockQuerySelector.mockReturnValue({
- src: 'http://placekitten.com/100/100'
+ src: 'http://placekitten.com/100/100',
})
invokeGetAsStringCallback()
})
diff --git a/webpack.config.js b/webpack.config.js
index a95f328..0829c33 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -3,19 +3,22 @@ const path = require('path')
module.exports = {
entry: './docs/App.jsx',
output: {
- filename: process.env.NODE_ENV === 'production' ? 'docs/bundle.js' : 'bundle.js',
- publicPath: '/'
+ filename:
+ process.env.NODE_ENV === 'production' ? 'docs/bundle.js' : 'bundle.js',
+ publicPath: '/',
},
devServer: {
inline: true,
- contentBase: path.join(__dirname, 'docs')
+ contentBase: path.join(__dirname, 'docs'),
},
module: {
- rules: [{
- test: /\.jsx?$/,
- exclude: /node_modules/,
- loader: 'babel-loader'
- }]
+ rules: [
+ {
+ test: /\.jsx?$/,
+ exclude: /node_modules/,
+ loader: 'babel-loader',
+ },
+ ],
},
- devtool: 'source-map'
+ devtool: 'source-map',
}
diff --git a/yarn.lock b/yarn.lock
index 90978cc..fdf0486 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -43,14 +43,18 @@ acorn@^4.0.3, acorn@^4.0.4:
version "4.0.11"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
-acorn@^5.0.1:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
+acorn@^5.5.0:
+ version "5.5.3"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
-ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
+ajv-keywords@^1.1.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
+ajv-keywords@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
+
ajv@^4.7.0:
version "4.11.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.6.tgz#947e93049790942b2a2d60a8289b28924d39f987"
@@ -58,6 +62,15 @@ ajv@^4.7.0:
co "^4.6.0"
json-stable-stringify "^1.0.1"
+ajv@^5.2.3, ajv@^5.3.0:
+ version "5.5.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ dependencies:
+ co "^4.6.0"
+ fast-deep-equal "^1.0.0"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.3.0"
+
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
@@ -70,10 +83,14 @@ amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-ansi-escapes@^1.1.0, ansi-escapes@^1.4.0:
+ansi-escapes@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+ansi-escapes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
+
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
@@ -82,6 +99,10 @@ ansi-regex@^2.0.0, ansi-regex@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -92,6 +113,12 @@ ansi-styles@^3.0.0:
dependencies:
color-convert "^1.0.0"
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ dependencies:
+ color-convert "^1.9.0"
+
anymatch@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
@@ -140,6 +167,13 @@ array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+array-includes@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.7.0"
+
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -154,13 +188,6 @@ array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
-array.prototype.find@^2.0.1:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90"
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.7.0"
-
arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -246,7 +273,7 @@ babel-cli@^6.24.1:
optionalDependencies:
chokidar "^1.6.1"
-babel-code-frame@^6.16.0, babel-code-frame@^6.22.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:
@@ -802,6 +829,10 @@ balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
base64-js@^1.0.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
@@ -847,6 +878,13 @@ brace-expansion@^1.0.0:
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"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
braces@^1.8.2:
version "1.8.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
@@ -989,7 +1027,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
-chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
@@ -999,6 +1037,18 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
+chalk@^2.0.0, chalk@^2.1.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65"
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chardet@^0.4.0:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
+
chokidar@^1.4.3, chokidar@^1.6.0, chokidar@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
@@ -1040,18 +1090,18 @@ cipher-base@^1.0.0, cipher-base@^1.0.1:
inherits "^2.0.1"
circular-json@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
-cli-cursor@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
dependencies:
- restore-cursor "^1.0.1"
+ restore-cursor "^2.0.0"
cli-width@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
cliui@^2.1.0:
version "2.1.0"
@@ -1083,6 +1133,12 @@ color-convert@^1.0.0:
dependencies:
color-name "^1.1.1"
+color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ dependencies:
+ color-name "^1.1.1"
+
color-name@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
@@ -1124,7 +1180,7 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.5.0, concat-stream@^1.5.2:
+concat-stream@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
dependencies:
@@ -1132,6 +1188,14 @@ concat-stream@^1.5.0, concat-stream@^1.5.2:
readable-stream "^2.2.2"
typedarray "^0.0.6"
+concat-stream@^1.6.0:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26"
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
connect-history-api-fallback@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
@@ -1217,6 +1281,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2:
create-hash "^1.1.0"
inherits "^2.0.1"
+cross-spawn@^5.1.0:
+ 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"
@@ -1248,12 +1320,6 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
dependencies:
cssom "0.3.x"
-d@1:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
- dependencies:
- es5-ext "^0.10.9"
-
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -1264,11 +1330,7 @@ date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-debug-log@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
-
-debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
+debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
@@ -1280,6 +1342,18 @@ debug@^2.6.3:
dependencies:
ms "2.0.0"
+debug@^2.6.8, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
decamelize@^1.0.0, decamelize@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -1305,17 +1379,6 @@ define-properties@^1.1.2:
foreach "^2.0.5"
object-keys "^1.0.8"
-deglob@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a"
- dependencies:
- find-root "^1.0.0"
- glob "^7.0.5"
- ignore "^3.0.9"
- pkg-config "^1.1.0"
- run-parallel "^1.1.2"
- uniq "^1.0.1"
-
del@^2.0.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
@@ -1369,19 +1432,18 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
-doctrine@1.5.0, doctrine@^1.2.2:
+doctrine@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
dependencies:
esutils "^2.0.2"
isarray "^1.0.0"
-doctrine@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
+doctrine@^2.0.2, doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
dependencies:
esutils "^2.0.2"
- isarray "^1.0.0"
domain-browser@^1.1.1:
version "1.1.7"
@@ -1445,13 +1507,14 @@ error-ex@^1.2.0:
is-arrayish "^0.2.1"
es-abstract@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
dependencies:
es-to-primitive "^1.1.1"
- function-bind "^1.1.0"
+ function-bind "^1.1.1"
+ has "^1.0.1"
is-callable "^1.1.3"
- is-regex "^1.0.3"
+ is-regex "^1.0.4"
es-to-primitive@^1.1.1:
version "1.1.1"
@@ -1461,58 +1524,6 @@ es-to-primitive@^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"
- dependencies:
- es6-iterator "2"
- es6-symbol "~3.1"
-
-es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512"
- dependencies:
- d "1"
- es5-ext "^0.10.14"
- es6-symbol "^3.1"
-
-es6-map@^0.1.3:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
- dependencies:
- d "1"
- es5-ext "~0.10.14"
- es6-iterator "~2.0.1"
- es6-set "~0.1.5"
- es6-symbol "~3.1.1"
- event-emitter "~0.3.5"
-
-es6-set@~0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
- dependencies:
- d "1"
- es5-ext "~0.10.14"
- es6-iterator "~2.0.1"
- es6-symbol "3.1.1"
- event-emitter "~0.3.5"
-
-es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
- dependencies:
- d "1"
- es5-ext "~0.10.14"
-
-es6-weak-map@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
- dependencies:
- d "1"
- es5-ext "^0.10.14"
- es6-iterator "^2.0.1"
- es6-symbol "^3.1.1"
-
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
@@ -1532,126 +1543,133 @@ escodegen@^1.6.1:
optionalDependencies:
source-map "~0.2.0"
-escope@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+eslint-config-prettier@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3"
dependencies:
- es6-map "^0.1.3"
- es6-weak-map "^2.0.1"
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
+ get-stdin "^5.0.1"
-eslint-config-standard-jsx@4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.1.tgz#cd4e463d0268e2d9e707f61f42f73f5b3333c642"
+eslint-config-react-app@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-2.1.0.tgz#23c909f71cbaff76b945b831d2d814b8bde169eb"
-eslint-config-standard@10.2.1:
- version "10.2.1"
- resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591"
+eslint-config-standard@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz#87ee0d3c9d95382dc761958cbb23da9eea31e0ba"
-eslint-import-resolver-node@^0.2.0:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c"
+eslint-import-resolver-node@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
dependencies:
- debug "^2.2.0"
- object-assign "^4.0.1"
- resolve "^1.1.6"
+ debug "^2.6.9"
+ resolve "^1.5.0"
-eslint-module-utils@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce"
+eslint-module-utils@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
dependencies:
- debug "2.2.0"
+ debug "^2.6.8"
pkg-dir "^1.0.0"
-eslint-plugin-import@~2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e"
+eslint-plugin-import@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz#26002efbfca5989b7288ac047508bd24f217b169"
dependencies:
builtin-modules "^1.1.1"
contains-path "^0.1.0"
- debug "^2.2.0"
+ debug "^2.6.8"
doctrine "1.5.0"
- eslint-import-resolver-node "^0.2.0"
- eslint-module-utils "^2.0.0"
+ eslint-import-resolver-node "^0.3.1"
+ eslint-module-utils "^2.1.1"
has "^1.0.1"
- lodash.cond "^4.3.0"
+ lodash "^4.17.4"
minimatch "^3.0.3"
- pkg-up "^1.0.0"
+ read-pkg-up "^2.0.0"
-eslint-plugin-node@~4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-4.2.2.tgz#82959ca9aed79fcbd28bb1b188d05cac04fb3363"
+eslint-plugin-node@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz#bf19642298064379315d7a4b2a75937376fa05e4"
dependencies:
- ignore "^3.0.11"
- minimatch "^3.0.2"
- object-assign "^4.0.1"
- resolve "^1.1.7"
- semver "5.3.0"
+ ignore "^3.3.6"
+ minimatch "^3.0.4"
+ resolve "^1.3.3"
+ semver "^5.4.1"
-eslint-plugin-promise@~3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca"
+eslint-plugin-promise@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.7.0.tgz#f4bde5c2c77cdd69557a8f69a24d1ad3cfc9e67e"
-eslint-plugin-react@~6.10.0:
- version "6.10.3"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
+eslint-plugin-react@^7.7.0:
+ version "7.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz#f606c719dbd8a1a2b3d25c16299813878cca0160"
dependencies:
- array.prototype.find "^2.0.1"
- doctrine "^1.2.2"
+ doctrine "^2.0.2"
has "^1.0.1"
- jsx-ast-utils "^1.3.4"
- object.assign "^4.0.4"
+ jsx-ast-utils "^2.0.1"
+ prop-types "^15.6.0"
-eslint-plugin-standard@~3.0.1:
+eslint-plugin-standard@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2"
-eslint@~3.19.0:
- version "3.19.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
+eslint-scope@^3.7.1:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
dependencies:
- babel-code-frame "^6.16.0"
- chalk "^1.1.3"
- concat-stream "^1.5.2"
- debug "^2.1.1"
- doctrine "^2.0.0"
- escope "^3.6.0"
- espree "^3.4.0"
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-visitor-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+
+eslint@4.18.2:
+ version "4.18.2"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.18.2.tgz#0f81267ad1012e7d2051e186a9004cc2267b8d45"
+ dependencies:
+ ajv "^5.3.0"
+ babel-code-frame "^6.22.0"
+ chalk "^2.1.0"
+ concat-stream "^1.6.0"
+ cross-spawn "^5.1.0"
+ debug "^3.1.0"
+ doctrine "^2.1.0"
+ eslint-scope "^3.7.1"
+ eslint-visitor-keys "^1.0.0"
+ espree "^3.5.2"
esquery "^1.0.0"
- estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
- glob "^7.0.3"
- globals "^9.14.0"
- ignore "^3.2.0"
+ functional-red-black-tree "^1.0.1"
+ glob "^7.1.2"
+ globals "^11.0.1"
+ ignore "^3.3.3"
imurmurhash "^0.1.4"
- inquirer "^0.12.0"
- is-my-json-valid "^2.10.0"
+ inquirer "^3.0.6"
is-resolvable "^1.0.0"
- js-yaml "^3.5.1"
- json-stable-stringify "^1.0.0"
+ js-yaml "^3.9.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.3.0"
- lodash "^4.0.0"
- mkdirp "^0.5.0"
+ lodash "^4.17.4"
+ minimatch "^3.0.2"
+ mkdirp "^0.5.1"
natural-compare "^1.4.0"
optionator "^0.8.2"
- path-is-inside "^1.0.1"
- pluralize "^1.2.1"
- progress "^1.1.8"
- require-uncached "^1.0.2"
- shelljs "^0.7.5"
- strip-bom "^3.0.0"
+ path-is-inside "^1.0.2"
+ pluralize "^7.0.0"
+ progress "^2.0.0"
+ require-uncached "^1.0.3"
+ semver "^5.3.0"
+ strip-ansi "^4.0.0"
strip-json-comments "~2.0.1"
- table "^3.7.8"
+ table "4.0.2"
text-table "~0.2.0"
- user-home "^2.0.0"
-espree@^3.4.0:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.1.tgz#28a83ab4aaed71ed8fe0f5efe61b76a05c13c4d2"
+espree@^3.5.2:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
dependencies:
- acorn "^5.0.1"
+ acorn "^5.5.0"
acorn-jsx "^3.0.0"
esprima@^2.7.1:
@@ -1662,6 +1680,10 @@ 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"
+
esquery@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
@@ -1669,24 +1691,19 @@ esquery@^1.0.0:
estraverse "^4.0.0"
esrecurse@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
dependencies:
- estraverse "~4.1.0"
- object-assign "^4.0.1"
+ estraverse "^4.1.0"
estraverse@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
-estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
-estraverse@~4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
-
estree-walker@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
@@ -1703,13 +1720,6 @@ etag@~1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
-event-emitter@~0.3.5:
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
- dependencies:
- d "1"
- es5-ext "~0.10.14"
-
eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
@@ -1736,10 +1746,6 @@ exec-sh@^0.2.0:
dependencies:
merge "^1.1.3"
-exit-hook@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
-
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
@@ -1787,6 +1793,14 @@ extend@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
+external-editor@^2.0.4:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
+ dependencies:
+ chardet "^0.4.0"
+ iconv-lite "^0.4.17"
+ tmp "^0.0.33"
+
extglob@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
@@ -1797,6 +1811,14 @@ extsprintf@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
+fast-deep-equal@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
@@ -1825,6 +1847,18 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
+fbjs@^0.8.16:
+ version "0.8.16"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
+ dependencies:
+ core-js "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.9"
+
fbjs@^0.8.9:
version "0.8.12"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
@@ -1837,12 +1871,11 @@ fbjs@^0.8.9:
setimmediate "^1.0.5"
ua-parser-js "^0.7.9"
-figures@^1.3.5:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
dependencies:
escape-string-regexp "^1.0.5"
- object-assign "^4.1.0"
file-entry-cache@^2.0.0:
version "2.0.0"
@@ -1890,10 +1923,6 @@ find-cache-dir@^0.1.1:
mkdirp "^0.5.1"
pkg-dir "^1.0.0"
-find-root@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a"
-
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -1908,8 +1937,8 @@ find-up@^2.0.0, find-up@^2.1.0:
locate-path "^2.0.0"
flat-cache@^1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
dependencies:
circular-json "^0.3.1"
del "^2.0.2"
@@ -1982,9 +2011,13 @@ fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10:
mkdirp ">=0.5 0"
rimraf "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"
+function-bind@^1.0.2, function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
gauge@~2.7.1:
version "2.7.2"
@@ -2048,7 +2081,22 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^9.0.0, globals@^9.14.0:
+glob@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globals@^11.0.1:
+ version "11.3.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0"
+
+globals@^9.0.0:
version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
@@ -2108,6 +2156,10 @@ has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
@@ -2219,6 +2271,10 @@ iconv-lite@0.4.13:
version "0.4.13"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
+iconv-lite@^0.4.17:
+ version "0.4.19"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+
iconv-lite@~0.4.13:
version "0.4.15"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
@@ -2227,9 +2283,9 @@ ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
-ignore@^3.0.11, ignore@^3.0.9, ignore@^3.2.0:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd"
+ignore@^3.3.3, ignore@^3.3.6:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
imurmurhash@^0.1.4:
version "0.1.4"
@@ -2258,22 +2314,23 @@ ini@~1.3.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
-inquirer@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+inquirer@^3.0.6:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
dependencies:
- ansi-escapes "^1.1.0"
- ansi-regex "^2.0.0"
- chalk "^1.0.0"
- cli-cursor "^1.0.1"
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.0"
+ cli-cursor "^2.1.0"
cli-width "^2.0.0"
- figures "^1.3.5"
+ external-editor "^2.0.4"
+ figures "^2.0.0"
lodash "^4.3.0"
- readline2 "^1.0.1"
- run-async "^0.1.0"
- rx-lite "^3.1.2"
- string-width "^1.0.1"
- strip-ansi "^3.0.0"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rx-lite "^4.0.8"
+ rx-lite-aggregates "^4.0.8"
+ string-width "^2.1.0"
+ strip-ansi "^4.0.0"
through "^2.3.6"
interpret@^1.0.0:
@@ -2378,7 +2435,7 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
-is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
+is-my-json-valid@^2.12.4:
version "2.15.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
dependencies:
@@ -2404,8 +2461,8 @@ is-path-in-cwd@^1.0.0:
is-path-inside "^1.0.0"
is-path-inside@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
dependencies:
path-is-inside "^1.0.1"
@@ -2417,21 +2474,23 @@ is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
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:
+is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
dependencies:
has "^1.0.1"
is-resolvable@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
- dependencies:
- tryit "^1.0.1"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
is-stream@^1.0.1:
version "1.1.0"
@@ -2742,7 +2801,7 @@ jest-validate@^20.0.3:
leven "^2.1.0"
pretty-format "^20.0.3"
-jest@^20.0.4:
+jest@20.0.4:
version "20.0.4"
resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac"
dependencies:
@@ -2758,13 +2817,20 @@ js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
-js-yaml@^3.5.1, js-yaml@^3.7.0:
+js-yaml@^3.7.0:
version "3.8.3"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
dependencies:
argparse "^1.0.7"
esprima "^3.1.1"
+js-yaml@^3.9.1:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
jsbn@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
@@ -2805,11 +2871,19 @@ 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"
+
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+
+json-stable-stringify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
dependencies:
@@ -2843,11 +2917,11 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.3.6"
-jsx-ast-utils@^1.3.4:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591"
+jsx-ast-utils@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f"
dependencies:
- object-assign "^4.1.0"
+ array-includes "^3.0.3"
kind-of@^3.0.2:
version "3.1.0"
@@ -2915,24 +2989,31 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
-lodash.cond@^4.3.0:
- version "4.5.2"
- resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
-
-lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0:
+lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+lodash@^4.3.0:
+ version "4.17.5"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
+
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-loose-envify@^1.0.0, loose-envify@^1.1.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
+lru-cache@^4.0.1:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f"
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -3001,6 +3082,10 @@ mime@1.3.4, mime@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+
minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
@@ -3015,15 +3100,21 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
dependencies:
brace-expansion "^1.0.0"
+minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
+minimist@^1.1.1, 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.1:
+mkdirp@0.5.x, "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:
@@ -3041,9 +3132,9 @@ ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-mute-stream@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
nan@^2.3.0:
version "2.5.1"
@@ -3159,22 +3250,14 @@ oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-object-assign@^4.0.1, object-assign@^4.1.0:
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-object-keys@^1.0.10, object-keys@^1.0.8:
+object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
-object.assign@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
- dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.0"
- object-keys "^1.0.10"
-
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@@ -3208,9 +3291,11 @@ once@~1.3.3:
dependencies:
wrappy "1"
-onetime@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
opn@4.0.2:
version "4.0.2"
@@ -3257,7 +3342,7 @@ os-locale@^1.4.0:
dependencies:
lcid "^1.0.0"
-os-tmpdir@^1.0.1:
+os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -3338,7 +3423,7 @@ path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-path-is-inside@^1.0.1:
+path-is-inside@^1.0.1, path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
@@ -3358,6 +3443,12 @@ 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"
+
pbkdf2@^3.0.3:
version "3.0.9"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
@@ -3378,36 +3469,15 @@ pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-pkg-conf@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279"
- dependencies:
- find-up "^2.0.0"
- load-json-file "^2.0.0"
-
-pkg-config@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4"
- dependencies:
- debug-log "^1.0.0"
- find-root "^1.0.0"
- xtend "^4.0.1"
-
pkg-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
dependencies:
find-up "^1.0.0"
-pkg-up@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
- dependencies:
- find-up "^1.0.0"
-
-pluralize@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
+pluralize@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
portfinder@^1.0.9:
version "1.0.13"
@@ -3425,6 +3495,10 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+prettier@1.11.1:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.1.tgz#61e43fc4cd44e68f2b0dfc2c38cd4bb0fccdcc75"
+
pretty-format@^20.0.3:
version "20.0.3"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14"
@@ -3444,9 +3518,9 @@ process@^0.11.0:
version "0.11.9"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
-progress@^1.1.8:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+progress@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
promise@^7.1.1:
version "7.1.1"
@@ -3460,6 +3534,14 @@ prop-types@^15.5.7, prop-types@^15.5.8, prop-types@~15.5.7:
dependencies:
fbjs "^0.8.9"
+prop-types@^15.6.0:
+ version "15.6.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca"
+ dependencies:
+ fbjs "^0.8.16"
+ loose-envify "^1.3.1"
+ object-assign "^4.1.1"
+
proxy-addr@~1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074"
@@ -3471,6 +3553,10 @@ prr@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
public-encrypt@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
@@ -3565,6 +3651,13 @@ read-pkg-up@^1.0.1:
find-up "^1.0.0"
read-pkg "^1.0.0"
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
@@ -3573,6 +3666,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@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.0, readable-stream@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
@@ -3606,20 +3707,6 @@ readdirp@^2.0.0:
readable-stream "^2.0.2"
set-immediate-shim "^1.0.1"
-readline2@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- mute-stream "0.0.5"
-
-rechoir@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
- dependencies:
- resolve "^1.1.6"
-
regenerate@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
@@ -3712,7 +3799,7 @@ require-relative@0.8.7:
version "0.8.7"
resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
-require-uncached@^1.0.2:
+require-uncached@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
dependencies:
@@ -3731,18 +3818,24 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2:
+resolve@^1.1.7, resolve@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
dependencies:
path-parse "^1.0.5"
-restore-cursor@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+resolve@^1.3.3, resolve@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
dependencies:
- exit-hook "^1.0.0"
- onetime "^1.0.0"
+ path-parse "^1.0.5"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
right-align@^0.1.1:
version "0.1.3"
@@ -3750,12 +3843,18 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@2, rimraf@^2.2.8, rimraf@^2.6.1:
+rimraf@2, 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:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ dependencies:
+ glob "^7.0.5"
+
rimraf@~2.5.1, rimraf@~2.5.4:
version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
@@ -3809,19 +3908,21 @@ rollup@^0.45.2:
dependencies:
source-map-support "^0.4.0"
-run-async@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
dependencies:
- once "^1.3.0"
+ is-promise "^2.1.0"
-run-parallel@^1.1.2:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.6.tgz#29003c9a2163e01e2d2dfc90575f2c6c1d61a039"
+rx-lite-aggregates@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ dependencies:
+ rx-lite "*"
-rx-lite@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+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"
sane@~1.6.0:
version "1.6.0"
@@ -3843,10 +3944,14 @@ select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
-"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.3.0, semver@~5.3.0:
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+semver@^5.4.1:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+
send@0.14.2:
version "0.14.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.14.2.tgz#39b0438b3f510be5dc6f667a11f71689368cdeef"
@@ -3908,19 +4013,21 @@ sha.js@^2.3.6:
dependencies:
inherits "^2.0.1"
-shelljs@^0.7.5:
- version "0.7.7"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
dependencies:
- glob "^7.0.0"
- interpret "^1.0.0"
- rechoir "^0.6.2"
+ 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"
shellwords@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14"
-signal-exit@^3.0.0:
+signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
@@ -3928,9 +4035,11 @@ slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
-slice-ansi@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+slice-ansi@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
snazzy@^7.0.0:
version "7.0.0"
@@ -4046,35 +4155,12 @@ sshpk@^1.7.0:
jsbn "~0.1.0"
tweetnacl "~0.14.0"
-standard-engine@~7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-7.0.0.tgz#ebb77b9c8fc2c8165ffa353bd91ba0dff41af690"
- dependencies:
- deglob "^2.1.0"
- get-stdin "^5.0.1"
- minimist "^1.1.0"
- pkg-conf "^2.0.0"
-
standard-json@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/standard-json/-/standard-json-1.0.2.tgz#82dea4a14c78cd9e35d38cde4b88ac6b62596a23"
dependencies:
concat-stream "^1.5.0"
-standard@^10.0.2:
- version "10.0.2"
- resolved "https://registry.yarnpkg.com/standard/-/standard-10.0.2.tgz#974c1c53cc865b075a4b576e78441e1695daaf7b"
- dependencies:
- eslint "~3.19.0"
- eslint-config-standard "10.2.1"
- eslint-config-standard-jsx "4.0.1"
- eslint-plugin-import "~2.2.0"
- eslint-plugin-node "~4.2.2"
- eslint-plugin-promise "~3.5.0"
- eslint-plugin-react "~6.10.0"
- eslint-plugin-standard "~3.0.1"
- standard-engine "~7.0.0"
-
"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
@@ -4110,12 +4196,12 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-string-width@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
+string-width@^2.1.0, string-width@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
dependencies:
is-fullwidth-code-point "^2.0.0"
- strip-ansi "^3.0.0"
+ strip-ansi "^4.0.0"
string_decoder@^0.10.25, string_decoder@~0.10.x:
version "0.10.31"
@@ -4131,6 +4217,12 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1:
dependencies:
ansi-regex "^2.0.0"
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ dependencies:
+ ansi-regex "^3.0.0"
+
strip-bom@3.0.0, strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -4163,20 +4255,26 @@ supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2:
dependencies:
has-flag "^1.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"
+ dependencies:
+ has-flag "^3.0.0"
+
symbol-tree@^3.2.1:
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
-table@^3.7.8:
- version "3.8.3"
- resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
+table@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
dependencies:
- ajv "^4.7.0"
- ajv-keywords "^1.0.0"
- chalk "^1.1.1"
- lodash "^4.0.0"
- slice-ansi "0.0.4"
- string-width "^2.0.0"
+ ajv "^5.2.3"
+ ajv-keywords "^2.1.0"
+ chalk "^2.1.0"
+ lodash "^4.17.4"
+ slice-ansi "1.0.0"
+ string-width "^2.1.1"
tapable@^0.2.5, tapable@~0.2.5:
version "0.2.6"
@@ -4231,6 +4329,12 @@ timers-browserify@^2.0.2:
dependencies:
setimmediate "^1.0.4"
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ dependencies:
+ os-tmpdir "~1.0.2"
+
tmpl@1.0.x:
version "1.0.4"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
@@ -4257,10 +4361,6 @@ trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-tryit@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
-
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -4318,10 +4418,6 @@ uid-number@~0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-
unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
@@ -4351,12 +4447,6 @@ user-home@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
-user-home@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
- dependencies:
- os-homedir "^1.0.0"
-
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -4540,6 +4630,12 @@ which@^1.2.12:
dependencies:
isexe "^2.0.0"
+which@^1.2.9:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ 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"
@@ -4594,6 +4690,10 @@ y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+
yargs-parser@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"