goTo(index + 1) }
67 | />
68 | )
69 | });
70 | }
71 |
72 | render() {
73 | const { data, step, steps, next, hide } = this.props;
74 | const single = (steps.length === 1);
75 | const last = (!single && steps.length === step) ? true : false;
76 |
77 | return (
78 |
79 |
80 |
81 |
82 | { data.content }
83 |
84 |
85 | { single && 'OK Got It' }
86 | { !single && (last ? 'Done' : 'Next') }
87 |
88 |
89 |
step { step }
90 |
91 | { this.renderDots() }
92 |
93 |
94 |
95 |
96 |
97 | )
98 | }
99 | }
100 |
101 | Step.defaultProps = {
102 | theme : {}
103 | }
104 |
--------------------------------------------------------------------------------
/lib/styles.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, '__esModule', {
4 | value: true
5 | });
6 |
7 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8 |
9 | exports['default'] = getStyles;
10 | var step = {};
11 |
12 | var arrow = {
13 | position: 'absolute',
14 | top: -10,
15 | left: -9,
16 | width: 0,
17 | height: 0,
18 | border: '10px solid transparent',
19 | borderRight: '10px solid #fff',
20 | zIndex: '10'
21 | };
22 |
23 | var content = {
24 | background: '#ffffff',
25 | marginLeft: 10,
26 | top: -30,
27 | borderRadius: 4,
28 | padding: '11px 11px 50px',
29 | maxWidth: 280,
30 | minWidth: 280,
31 | fontSize: 12,
32 | lineHeight: '19px',
33 | border: '1px solid #b7efe8',
34 | boxShadow: '0 8px 34px rgba(0, 0, 0, 0.2)',
35 | position: 'relative',
36 | overflow: 'hidden',
37 | boxSizing: 'border-box',
38 | zIndex: '9'
39 | };
40 |
41 | var footer = {
42 | position: 'absolute',
43 | left: 0,
44 | bottom: 0,
45 | width: '100%',
46 | height: 34,
47 | background: '#eaeaec',
48 | boxSizing: 'border-box'
49 | };
50 |
51 | var button = {
52 | border: 0,
53 | outline: 'none',
54 | width: 85,
55 | height: 34,
56 | float: 'right',
57 | margin: 0,
58 | padding: 0,
59 | background: '#00cdb5',
60 | color: '#ffffff',
61 | boxSizing: 'border-box'
62 | };
63 |
64 | var fullButton = _extends({}, button, {
65 | width: '100%'
66 | });
67 |
68 | var nav = {
69 | padding: '0 11px',
70 | boxSizing: 'border-box'
71 | };
72 |
73 | var navText = {
74 | lineHeight: '34px',
75 | fontSize: 11,
76 | display: 'inline-block',
77 | boxSizing: 'border-box',
78 | verticalAlign: 'middle'
79 | };
80 |
81 | var dots = {
82 | display: 'inline-block',
83 | lineHeight: footer.height + 'px',
84 | marginLeft: 10
85 | };
86 |
87 | var dot = {
88 | width: 10,
89 | height: 10,
90 | display: 'inline-block',
91 | borderRadius: 5,
92 | border: '1px solid #B7BAC2',
93 | background: footer.background,
94 | cursor: 'pointer',
95 | marginLeft: 5,
96 | verticalAlign: 'middle',
97 | transition: 'background .4s ease',
98 | boxSizing: 'border-box'
99 | };
100 |
101 | var dotActive = _extends({}, dot, {
102 | background: '#00cdb5',
103 | border: 'none'
104 | });
105 |
106 | var dotPast = _extends({}, dot, {
107 | background: '#B7BAC2'
108 | });
109 |
110 | var closeIcon = {
111 | fill: '#B7BAC2',
112 | width: '18px',
113 | height: '18px',
114 | position: 'absolute',
115 | right: 5,
116 | top: 5,
117 | cursor: 'pointer'
118 | };
119 |
120 | function getStyles() {
121 | var userTheme = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
122 |
123 | var theme = {
124 | step: step,
125 | arrow: arrow,
126 | content: content,
127 | footer: footer,
128 | button: button,
129 | fullButton: fullButton,
130 | navText: navText,
131 | nav: nav,
132 | dots: dots,
133 | dot: dot,
134 | dotActive: dotActive,
135 | dotPast: dotPast,
136 | closeIcon: closeIcon
137 | };
138 |
139 | for (var key in userTheme) {
140 | if (theme.hasOwnProperty(key)) {
141 | theme[key] = _extends({}, theme[key], userTheme[key]);
142 | }
143 | }
144 |
145 | return theme;
146 | }
147 |
148 | module.exports = exports['default'];
--------------------------------------------------------------------------------
/demo/src/components/Main.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import ReactDom from 'react-dom';
3 | import WalkThru from 'walkthru';
4 |
5 | import 'normalize.css';
6 | import 'styles/global'
7 | import styles from 'styles/main';
8 |
9 | export default class Main extends Component {
10 |
11 | showThemingDemo() {
12 | WalkThru.create({
13 | renderer : ReactDom,
14 | theme : {
15 | step : {
16 | transition : 'left .3s ease, top .3s ease',
17 | },
18 | content : {
19 | padding : '50px 11px 11px',
20 | border : 'none',
21 | top : -50,
22 | },
23 | footer : {
24 | background : '#444',
25 | color : '#fff',
26 | bottom : 'initial',
27 | top : 0,
28 | },
29 | button : {
30 | background : '#cb3837'
31 | },
32 | dotActive : {
33 | background : '#cb3837'
34 | }
35 | },
36 | steps : [
37 | { position : this.refs['title'],
38 | offset : { left: 500, top: 20 },
39 | content : (
40 |
41 |
Lorem ipsum dolor sit amet
42 |
43 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
44 |
45 |
46 | ),
47 | },
48 | { position : this.refs['subtitle'],
49 | offset : { left: 200, top: 16 },
50 | content : (
51 |
52 |
53 | Lorem ipsum dolor sit amet, consectetur adipisicing elit.
54 |
55 |
56 | ),
57 | },
58 | { position : () => document.getElementsByClassName('Github')[0],
59 | offset : { left: 190, top: 25 },
60 | content : (
61 |
62 |
Github repo
63 |
64 | Lorem ipsum dolor sit amet, consectetur adipisicing elit.
65 |
66 |
67 | ),
68 | },
69 | { position : document.getElementsByClassName('Npm')[0],
70 | offset : { left: 190, top: 25 },
71 | content : (
72 |
73 |
NPM package
74 |
75 | Lorem ipsum dolor sit amet, consectetur adipisicing elit.
76 |
77 |
78 | ),
79 | },
80 | ]
81 | })
82 | }
83 |
84 | componentDidMount() {
85 | WalkThru.create({
86 | renderer : ReactDom,
87 | onEnd : this.showThemingDemo.bind(this),
88 | steps : [
89 | { position : this.refs['title'],
90 | offset : { left: 500, top: 20 },
91 | content : (
92 |
93 |
Lorem ipsum dolor sit amet
94 |
95 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
96 |
97 |
98 | ),
99 | },
100 | { position : this.refs['subtitle'],
101 | offset : { left: 200, top: 16 },
102 | content : (
103 |
104 |
105 | Lorem ipsum dolor sit amet, consectetur adipisicing elit.
106 |
107 |
108 | ),
109 | },
110 | { position : () => document.getElementsByClassName('Github')[0],
111 | offset : { left: 190, top: 25 },
112 | content : (
113 |
114 |
Github repo
115 |
116 | Lorem ipsum dolor sit amet, consectetur adipisicing elit.
117 |
118 |
119 | ),
120 | },
121 | { position : document.getElementsByClassName('Npm')[0],
122 | offset : { left: 190, top: 25 },
123 | content : (
124 |
125 |
NPM package
126 |
127 | Lorem ipsum dolor sit amet, consectetur adipisicing elit.
128 |
129 |
130 | ),
131 | },
132 | ]
133 | });
134 | }
135 |
136 | render() {
137 | return (
138 |
139 | React - walkthru
140 | Easy to use step-by-step site guide component for React.
141 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
142 | Github
143 | NPM
144 |
145 | )
146 | }
147 | }
148 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React, { Component, PropTypes } from 'react';
2 | import Wrapper from './Wrapper';
3 | import Step from './Step';
4 | import getStyles from './styles';
5 |
6 | export default class WalkThru extends Component {
7 |
8 | static checkFrequency({ id, frequencyCap, steps }) {
9 | if (!id) return false;
10 |
11 | const storageId = `___walkthru___.${id}.${frequencyCap}.${steps.length}`;
12 | const impressions = parseInt(localStorage.getItem(storageId) || 0);
13 |
14 | // false = should show
15 |
16 | if (impressions === -1) {
17 | return true;
18 | } else if (impressions >= frequencyCap) {
19 | return impressions >= frequencyCap;
20 | } else {
21 | localStorage.setItem(storageId, impressions + 1);
22 | return false;
23 | }
24 | }
25 |
26 | static create(props){
27 |
28 | if (WalkThru.checkFrequency(props)) return null;
29 |
30 | const wrapper = document.createElement('div');
31 | const element = React.createElement(WalkThru, Object.assign({
32 | ___wrapper : wrapper,
33 | ___portal : true
34 | }, props));
35 |
36 | const instance = props.renderer.render(element, wrapper);
37 | document.body.appendChild(wrapper);
38 |
39 | return instance;
40 | }
41 |
42 | constructor(props) {
43 | super(props);
44 |
45 | this.state = {
46 | step : 1,
47 | show : props.show,
48 | steps : this.processSteps(props.steps),
49 | }
50 |
51 | this.theme = props.noStyle ? {} : getStyles(props.theme);
52 | }
53 |
54 | processSteps(steps) {
55 | return steps.reduce((list, step) => {
56 | const { startDate, endDate } = step;
57 |
58 | if (!startDate && !endDate) {
59 | list.push(step);
60 | return list;
61 | }
62 |
63 | const now = Date.now();
64 | const startTime = ( startDate && startDate.getTime() ) || now;
65 | const endTime = ( endDate && endDate.getTime() ) || now;
66 |
67 | if (now >= startTime && now <= endTime) {
68 | list.push(step);
69 | }
70 |
71 | return list;
72 | }, []);
73 | }
74 |
75 | next() {
76 | const { step, steps } = this.state;
77 |
78 | if (step === steps.length) {
79 | this.props.onEnd && this.props.onEnd();
80 | return this.destroy();
81 | }
82 |
83 | if (!this.props.___portal) {
84 | this.___portal.goTo(step + 1);
85 | }
86 |
87 | this.goTo(step + 1);
88 | }
89 |
90 | goTo(step) {
91 | const { steps } = this.state;
92 |
93 | if (steps[step - 1]) {
94 |
95 | if (!this.props.___portal) {
96 | this.___portal.setState({ step });
97 | }
98 |
99 | this.setState({ step });
100 | }
101 | }
102 |
103 | show() {
104 | if (!this.props.___portal) {
105 | this.___portal.setState({ show : true });
106 | }
107 |
108 | this.setState({ show : true });
109 | }
110 |
111 | hide() {
112 |
113 | if (!this.props.___portal) {
114 | this.___portal.setState({ show : false });
115 | }
116 |
117 | this.setState({ show : false });
118 |
119 | const { id, frequencyCap, steps } = this.props;
120 | const storageId = `___walkthru___.${id}.${frequencyCap}.${steps.length}`;
121 |
122 | localStorage.setItem(storageId, -1);
123 | }
124 |
125 | destroy() {
126 | const { renderer, ___wrapper, ___portal } = this.props;
127 |
128 | if (!___portal) {
129 | return this.___portal.destroy();
130 | }
131 |
132 | try {
133 | renderer.unmountComponentAtNode(___wrapper, this);
134 | } catch (e) {
135 | } finally {
136 | document.body.removeChild(this.props.___wrapper);
137 | }
138 | }
139 |
140 | componentWillUnmount() {
141 | if (!this.props.___portal) {
142 | this.___portal.destroy();
143 | } else {
144 | window.removeEventListener('resize', this.___resizeHandler);
145 | }
146 | }
147 |
148 | componentWillMount() {
149 | if (!this.props.___portal && this.checkFrequency()) {
150 | this.___portal = WalkThru.create(this.props);
151 | } else {
152 | this.___resizeHandler = function() {
153 | this.forceUpdate();
154 | }.bind(this);
155 |
156 | window.addEventListener(
157 | 'resize', this.___resizeHandler
158 | )
159 | }
160 | }
161 |
162 | render() {
163 | const { ___portal, theme } = this.props;
164 | const { show, step, steps } = this.state;
165 |
166 | if (!___portal) return null;
167 | if (steps.length === 0) return null;
168 |
169 | const current = steps[step - 1];
170 |
171 | return (
172 |
173 |
182 |
183 | )
184 | }
185 | }
186 |
187 | WalkThru.defaultProps = {
188 | renderer : React,
189 | show : true,
190 | theme : {},
191 | noStyle : false,
192 | steps : [],
193 | }
194 |
195 | const RENDERER_DEFINITION = {
196 | render : PropTypes.func.isRequired
197 | }
198 |
199 | const STEP_DEFINITION = PropTypes.shape({
200 | position : PropTypes.oneOfType([
201 | PropTypes.shape({
202 | top : PropTypes.number,
203 | left : PropTypes.number,
204 | }),
205 | PropTypes.instanceOf(HTMLElement),
206 | PropTypes.func,
207 | ]).isRequired,
208 | offset : PropTypes.shape({
209 | top : PropTypes.number,
210 | left : PropTypes.number,
211 | }),
212 | endDate : PropTypes.instanceOf(Date),
213 | startDate : PropTypes.instanceOf(Date),
214 | content : PropTypes.oneOfType([
215 | PropTypes.string,
216 | PropTypes.element,
217 | ]).isRequired,
218 | });
219 |
220 | const THEME_DEFINITION = {
221 | arrow : PropTypes.object,
222 | content : PropTypes.object,
223 | footer : PropTypes.object,
224 | button : PropTypes.object,
225 | fullButton : PropTypes.object,
226 | navText : PropTypes.object,
227 | nav : PropTypes.object,
228 | dots : PropTypes.object,
229 | dot : PropTypes.object,
230 | dotActive : PropTypes.object,
231 | dotPast : PropTypes.object,
232 | }
233 |
234 | WalkThru.propTypes = {
235 | id : PropTypes.string,
236 | frequencyCap : (props, propName, componentName) => {
237 | if (props.hasOwnProperty('frequencyCap') && !props.hasOwnProperty('id')) {
238 | return new Error('You specified frequencyCap to a step in '+ componentName +' but didn\'t specify an id.');
239 | }
240 | },
241 | renderer : PropTypes.shape( RENDERER_DEFINITION ),
242 | steps : PropTypes.arrayOf( STEP_DEFINITION ),
243 | show : PropTypes.bool,
244 | theme : PropTypes.shape( THEME_DEFINITION ),
245 | noStyle : PropTypes.bool,
246 | }
247 |
--------------------------------------------------------------------------------
/lib/Step.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, '__esModule', {
4 | value: true
5 | });
6 |
7 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8 |
9 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
10 |
11 | var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
12 |
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14 |
15 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
16 |
17 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
18 |
19 | var _react = require('react');
20 |
21 | var _react2 = _interopRequireDefault(_react);
22 |
23 | var _CloseIcon = require('./CloseIcon');
24 |
25 | var _CloseIcon2 = _interopRequireDefault(_CloseIcon);
26 |
27 | var Step = (function (_Component) {
28 | _inherits(Step, _Component);
29 |
30 | function Step(props, context) {
31 | _classCallCheck(this, Step);
32 |
33 | _get(Object.getPrototypeOf(Step.prototype), 'constructor', this).call(this, props, context);
34 | this.styles = props.theme;
35 | }
36 |
37 | _createClass(Step, [{
38 | key: 'getPositionStyle',
39 | value: function getPositionStyle(interpolated) {
40 | var offset = this.props.data.offset;
41 |
42 | var position = interpolated || this.props.data.position;
43 |
44 | var top = 0,
45 | left = 0;
46 |
47 | if (position instanceof HTMLElement) {
48 | var element = position;
49 |
50 | do {
51 | if (!isNaN(element.offsetLeft)) {
52 | left += element.offsetLeft;
53 | top += element.offsetTop;
54 | }
55 | } while (element = element.offsetParent);
56 | } else if (typeof position === 'function') {
57 | return this.getPositionStyle(position());
58 | } else {
59 | top = position.top;
60 | left = position.left;
61 | }
62 |
63 | offset && offset.top && (top = top + offset.top);
64 | offset && offset.left && (left = left + offset.left);
65 |
66 | return {
67 | top: top,
68 | left: left,
69 | position: 'absolute'
70 | };
71 | }
72 | }, {
73 | key: 'renderDots',
74 | value: function renderDots() {
75 | var _this = this;
76 |
77 | var _props = this.props;
78 | var steps = _props.steps;
79 | var step = _props.step;
80 | var goTo = _props.goTo;
81 |
82 | return steps.map(function (data, index) {
83 | var active = index + 1 === step;
84 | var past = index + 1 < step;
85 |
86 | var style = undefined;
87 |
88 | if (active) {
89 | style = _this.styles['dotActive'];
90 | } else if (past) {
91 | style = _this.styles['dotPast'];
92 | } else {
93 | style = _this.styles['dot'];
94 | }
95 |
96 | return _react2['default'].createElement('div', {
97 | key: index,
98 | className: 'WalkThru-Nav-dot ' + (active ? 'active ' : '') + (past ? 'past ' : ''),
99 | style: style,
100 | onClick: function () {
101 | return goTo(index + 1);
102 | }
103 | });
104 | });
105 | }
106 | }, {
107 | key: 'render',
108 | value: function render() {
109 | var _props2 = this.props;
110 | var data = _props2.data;
111 | var step = _props2.step;
112 | var steps = _props2.steps;
113 | var next = _props2.next;
114 | var hide = _props2.hide;
115 |
116 | var single = steps.length === 1;
117 | var last = !single && steps.length === step ? true : false;
118 |
119 | return _react2['default'].createElement(
120 | 'div',
121 | { className: 'WalkThru-Step ' + (single ? 'single ' : 'multi'), style: _extends({}, this.getPositionStyle(), this.styles['step']) },
122 | _react2['default'].createElement('div', { className: 'WalkThru-arrow', style: this.styles['arrow'] }),
123 | _react2['default'].createElement(
124 | 'div',
125 | { className: 'WalkThru-Content', style: this.styles['content'] },
126 | _react2['default'].createElement(_CloseIcon2['default'], { style: this.styles['closeIcon'], onClick: hide }),
127 | data.content,
128 | _react2['default'].createElement(
129 | 'div',
130 | { className: 'WalkThru-Footer', style: this.styles['footer'] },
131 | _react2['default'].createElement(
132 | 'button',
133 | { onClick: next, style: single ? this.styles['fullButton'] : this.styles['button'] },
134 | single && 'OK Got It',
135 | !single && (last ? 'Done' : 'Next')
136 | ),
137 | _react2['default'].createElement(
138 | 'div',
139 | { className: 'WalkThru-Nav', style: this.styles['nav'] },
140 | _react2['default'].createElement(
141 | 'span',
142 | { className: 'WalkThru-Nav-text', style: this.styles['navText'] },
143 | 'step ',
144 | step
145 | ),
146 | _react2['default'].createElement(
147 | 'div',
148 | { className: 'WalkThru-Nav-dots', style: this.styles['dots'] },
149 | this.renderDots()
150 | )
151 | )
152 | )
153 | )
154 | );
155 | }
156 | }]);
157 |
158 | return Step;
159 | })(_react.Component);
160 |
161 | exports['default'] = Step;
162 |
163 | Step.defaultProps = {
164 | theme: {}
165 | };
166 | module.exports = exports['default'];
--------------------------------------------------------------------------------
/lib/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, '__esModule', {
4 | value: true
5 | });
6 |
7 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
8 |
9 | var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
10 |
11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12 |
13 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
14 |
15 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
16 |
17 | var _react = require('react');
18 |
19 | var _react2 = _interopRequireDefault(_react);
20 |
21 | var _Wrapper = require('./Wrapper');
22 |
23 | var _Wrapper2 = _interopRequireDefault(_Wrapper);
24 |
25 | var _Step = require('./Step');
26 |
27 | var _Step2 = _interopRequireDefault(_Step);
28 |
29 | var _styles = require('./styles');
30 |
31 | var _styles2 = _interopRequireDefault(_styles);
32 |
33 | var WalkThru = (function (_Component) {
34 | _inherits(WalkThru, _Component);
35 |
36 | _createClass(WalkThru, null, [{
37 | key: 'checkFrequency',
38 | value: function checkFrequency(_ref) {
39 | var id = _ref.id;
40 | var frequencyCap = _ref.frequencyCap;
41 | var steps = _ref.steps;
42 |
43 | if (!id) return false;
44 |
45 | var storageId = '___walkthru___.' + id + '.' + frequencyCap + '.' + steps.length;
46 | var impressions = parseInt(localStorage.getItem(storageId) || 0);
47 |
48 | // false = should show
49 |
50 | if (impressions === -1) {
51 | return true;
52 | } else if (impressions >= frequencyCap) {
53 | return impressions >= frequencyCap;
54 | } else {
55 | localStorage.setItem(storageId, impressions + 1);
56 | return false;
57 | }
58 | }
59 | }, {
60 | key: 'create',
61 | value: function create(props) {
62 |
63 | if (WalkThru.checkFrequency(props)) return null;
64 |
65 | var wrapper = document.createElement('div');
66 | var element = _react2['default'].createElement(WalkThru, Object.assign({
67 | ___wrapper: wrapper,
68 | ___portal: true
69 | }, props));
70 |
71 | var instance = props.renderer.render(element, wrapper);
72 | document.body.appendChild(wrapper);
73 |
74 | return instance;
75 | }
76 | }]);
77 |
78 | function WalkThru(props) {
79 | _classCallCheck(this, WalkThru);
80 |
81 | _get(Object.getPrototypeOf(WalkThru.prototype), 'constructor', this).call(this, props);
82 |
83 | this.state = {
84 | step: 1,
85 | show: props.show,
86 | steps: this.processSteps(props.steps)
87 | };
88 |
89 | this.theme = props.noStyle ? {} : (0, _styles2['default'])(props.theme);
90 | }
91 |
92 | _createClass(WalkThru, [{
93 | key: 'processSteps',
94 | value: function processSteps(steps) {
95 | return steps.reduce(function (list, step) {
96 | var startDate = step.startDate;
97 | var endDate = step.endDate;
98 |
99 | if (!startDate && !endDate) {
100 | list.push(step);
101 | return list;
102 | }
103 |
104 | var now = Date.now();
105 | var startTime = startDate && startDate.getTime() || now;
106 | var endTime = endDate && endDate.getTime() || now;
107 |
108 | if (now >= startTime && now <= endTime) {
109 | list.push(step);
110 | }
111 |
112 | return list;
113 | }, []);
114 | }
115 | }, {
116 | key: 'next',
117 | value: function next() {
118 | var _state = this.state;
119 | var step = _state.step;
120 | var steps = _state.steps;
121 |
122 | if (step === steps.length) {
123 | this.props.onEnd && this.props.onEnd();
124 | return this.destroy();
125 | }
126 |
127 | if (!this.props.___portal) {
128 | this.___portal.goTo(step + 1);
129 | }
130 |
131 | this.goTo(step + 1);
132 | }
133 | }, {
134 | key: 'goTo',
135 | value: function goTo(step) {
136 | var steps = this.state.steps;
137 |
138 | if (steps[step - 1]) {
139 |
140 | if (!this.props.___portal) {
141 | this.___portal.setState({ step: step });
142 | }
143 |
144 | this.setState({ step: step });
145 | }
146 | }
147 | }, {
148 | key: 'show',
149 | value: function show() {
150 | if (!this.props.___portal) {
151 | this.___portal.setState({ show: true });
152 | }
153 |
154 | this.setState({ show: true });
155 | }
156 | }, {
157 | key: 'hide',
158 | value: function hide() {
159 |
160 | if (!this.props.___portal) {
161 | this.___portal.setState({ show: false });
162 | }
163 |
164 | this.setState({ show: false });
165 |
166 | var _props = this.props;
167 | var id = _props.id;
168 | var frequencyCap = _props.frequencyCap;
169 | var steps = _props.steps;
170 |
171 | var storageId = '___walkthru___.' + id + '.' + frequencyCap + '.' + steps.length;
172 |
173 | localStorage.setItem(storageId, -1);
174 | }
175 | }, {
176 | key: 'destroy',
177 | value: function destroy() {
178 | var _props2 = this.props;
179 | var renderer = _props2.renderer;
180 | var ___wrapper = _props2.___wrapper;
181 | var ___portal = _props2.___portal;
182 |
183 | if (!___portal) {
184 | return this.___portal.destroy();
185 | }
186 |
187 | try {
188 | renderer.unmountComponentAtNode(___wrapper, this);
189 | } catch (e) {} finally {
190 | document.body.removeChild(this.props.___wrapper);
191 | }
192 | }
193 | }, {
194 | key: 'componentWillUnmount',
195 | value: function componentWillUnmount() {
196 | if (!this.props.___portal) {
197 | this.___portal.destroy();
198 | } else {
199 | window.removeEventListener('resize', this.___resizeHandler);
200 | }
201 | }
202 | }, {
203 | key: 'componentWillMount',
204 | value: function componentWillMount() {
205 | if (!this.props.___portal && this.checkFrequency()) {
206 | this.___portal = WalkThru.create(this.props);
207 | } else {
208 | this.___resizeHandler = (function () {
209 | this.forceUpdate();
210 | }).bind(this);
211 |
212 | window.addEventListener('resize', this.___resizeHandler);
213 | }
214 | }
215 | }, {
216 | key: 'render',
217 | value: function render() {
218 | var _props3 = this.props;
219 | var ___portal = _props3.___portal;
220 | var theme = _props3.theme;
221 | var _state2 = this.state;
222 | var show = _state2.show;
223 | var step = _state2.step;
224 | var steps = _state2.steps;
225 |
226 | if (!___portal) return null;
227 | if (steps.length === 0) return null;
228 |
229 | var current = steps[step - 1];
230 |
231 | return _react2['default'].createElement(
232 | _Wrapper2['default'],
233 | { show: show },
234 | _react2['default'].createElement(_Step2['default'], {
235 | theme: this.theme,
236 | data: current,
237 | steps: steps,
238 | step: step,
239 | hide: this.hide.bind(this),
240 | next: this.next.bind(this),
241 | goTo: this.goTo.bind(this)
242 | })
243 | );
244 | }
245 | }]);
246 |
247 | return WalkThru;
248 | })(_react.Component);
249 |
250 | exports['default'] = WalkThru;
251 |
252 | WalkThru.defaultProps = {
253 | renderer: _react2['default'],
254 | show: true,
255 | theme: {},
256 | noStyle: false,
257 | steps: []
258 | };
259 |
260 | var RENDERER_DEFINITION = {
261 | render: _react.PropTypes.func.isRequired
262 | };
263 |
264 | var STEP_DEFINITION = _react.PropTypes.shape({
265 | position: _react.PropTypes.oneOfType([_react.PropTypes.shape({
266 | top: _react.PropTypes.number,
267 | left: _react.PropTypes.number
268 | }), _react.PropTypes.instanceOf(HTMLElement), _react.PropTypes.func]).isRequired,
269 | offset: _react.PropTypes.shape({
270 | top: _react.PropTypes.number,
271 | left: _react.PropTypes.number
272 | }),
273 | endDate: _react.PropTypes.instanceOf(Date),
274 | startDate: _react.PropTypes.instanceOf(Date),
275 | content: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]).isRequired
276 | });
277 |
278 | var THEME_DEFINITION = {
279 | arrow: _react.PropTypes.object,
280 | content: _react.PropTypes.object,
281 | footer: _react.PropTypes.object,
282 | button: _react.PropTypes.object,
283 | fullButton: _react.PropTypes.object,
284 | navText: _react.PropTypes.object,
285 | nav: _react.PropTypes.object,
286 | dots: _react.PropTypes.object,
287 | dot: _react.PropTypes.object,
288 | dotActive: _react.PropTypes.object,
289 | dotPast: _react.PropTypes.object
290 | };
291 |
292 | WalkThru.propTypes = {
293 | id: _react.PropTypes.string,
294 | frequencyCap: function frequencyCap(props, propName, componentName) {
295 | if (props.hasOwnProperty('frequencyCap') && !props.hasOwnProperty('id')) {
296 | return new Error('You specified frequencyCap to a step in ' + componentName + ' but didn\'t specify an id.');
297 | }
298 | },
299 | renderer: _react.PropTypes.shape(RENDERER_DEFINITION),
300 | steps: _react.PropTypes.arrayOf(STEP_DEFINITION),
301 | show: _react.PropTypes.bool,
302 | theme: _react.PropTypes.shape(THEME_DEFINITION),
303 | noStyle: _react.PropTypes.bool
304 | };
305 | module.exports = exports['default'];
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | abbrev@1:
6 | version "1.1.1"
7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
8 |
9 | acorn@^5.2.1:
10 | version "5.7.3"
11 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
12 |
13 | align-text@^0.1.1, align-text@^0.1.3:
14 | version "0.1.4"
15 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
16 | dependencies:
17 | kind-of "^3.0.2"
18 | longest "^1.0.1"
19 | repeat-string "^1.5.2"
20 |
21 | alter@~0.2.0:
22 | version "0.2.0"
23 | resolved "https://registry.yarnpkg.com/alter/-/alter-0.2.0.tgz#c7588808617572034aae62480af26b1d4d1cb3cd"
24 | dependencies:
25 | stable "~0.1.3"
26 |
27 | amdefine@>=0.0.4:
28 | version "1.0.1"
29 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
30 |
31 | ansi-regex@^2.0.0:
32 | version "2.1.1"
33 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
34 |
35 | ansi-regex@^3.0.0:
36 | version "3.0.0"
37 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
38 |
39 | ansi-styles@^2.2.1:
40 | version "2.2.1"
41 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
42 |
43 | anymatch@^1.3.0:
44 | version "1.3.2"
45 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
46 | dependencies:
47 | micromatch "^2.1.5"
48 | normalize-path "^2.0.0"
49 |
50 | aproba@^1.0.3:
51 | version "1.2.0"
52 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
53 |
54 | are-we-there-yet@~1.1.2:
55 | version "1.1.5"
56 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
57 | dependencies:
58 | delegates "^1.0.0"
59 | readable-stream "^2.0.6"
60 |
61 | arr-diff@^2.0.0:
62 | version "2.0.0"
63 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
64 | dependencies:
65 | arr-flatten "^1.0.1"
66 |
67 | arr-diff@^4.0.0:
68 | version "4.0.0"
69 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
70 |
71 | arr-flatten@^1.0.1, arr-flatten@^1.1.0:
72 | version "1.1.0"
73 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
74 |
75 | arr-union@^3.1.0:
76 | version "3.1.0"
77 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
78 |
79 | array-unique@^0.2.1:
80 | version "0.2.1"
81 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
82 |
83 | array-unique@^0.3.2:
84 | version "0.3.2"
85 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
86 |
87 | assign-symbols@^1.0.0:
88 | version "1.0.0"
89 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
90 |
91 | ast-traverse@~0.1.1:
92 | version "0.1.1"
93 | resolved "https://registry.yarnpkg.com/ast-traverse/-/ast-traverse-0.1.1.tgz#69cf2b8386f19dcda1bb1e05d68fe359d8897de6"
94 |
95 | ast-types@0.8.12:
96 | version "0.8.12"
97 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.12.tgz#a0d90e4351bb887716c83fd637ebf818af4adfcc"
98 |
99 | ast-types@0.8.15:
100 | version "0.8.15"
101 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52"
102 |
103 | ast-types@0.9.6:
104 | version "0.9.6"
105 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
106 |
107 | async-each@^1.0.0:
108 | version "1.0.1"
109 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
110 |
111 | atob@^2.1.1:
112 | version "2.1.2"
113 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
114 |
115 | babel-core@^5.6.21:
116 | version "5.8.38"
117 | resolved "http://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz#1fcaee79d7e61b750b00b8e54f6dfc9d0af86558"
118 | dependencies:
119 | babel-plugin-constant-folding "^1.0.1"
120 | babel-plugin-dead-code-elimination "^1.0.2"
121 | babel-plugin-eval "^1.0.1"
122 | babel-plugin-inline-environment-variables "^1.0.1"
123 | babel-plugin-jscript "^1.0.4"
124 | babel-plugin-member-expression-literals "^1.0.1"
125 | babel-plugin-property-literals "^1.0.1"
126 | babel-plugin-proto-to-assign "^1.0.3"
127 | babel-plugin-react-constant-elements "^1.0.3"
128 | babel-plugin-react-display-name "^1.0.3"
129 | babel-plugin-remove-console "^1.0.1"
130 | babel-plugin-remove-debugger "^1.0.1"
131 | babel-plugin-runtime "^1.0.7"
132 | babel-plugin-undeclared-variables-check "^1.0.2"
133 | babel-plugin-undefined-to-void "^1.1.6"
134 | babylon "^5.8.38"
135 | bluebird "^2.9.33"
136 | chalk "^1.0.0"
137 | convert-source-map "^1.1.0"
138 | core-js "^1.0.0"
139 | debug "^2.1.1"
140 | detect-indent "^3.0.0"
141 | esutils "^2.0.0"
142 | fs-readdir-recursive "^0.1.0"
143 | globals "^6.4.0"
144 | home-or-tmp "^1.0.0"
145 | is-integer "^1.0.4"
146 | js-tokens "1.0.1"
147 | json5 "^0.4.0"
148 | lodash "^3.10.0"
149 | minimatch "^2.0.3"
150 | output-file-sync "^1.1.0"
151 | path-exists "^1.0.0"
152 | path-is-absolute "^1.0.0"
153 | private "^0.1.6"
154 | regenerator "0.8.40"
155 | regexpu "^1.3.0"
156 | repeating "^1.1.2"
157 | resolve "^1.1.6"
158 | shebang-regex "^1.0.0"
159 | slash "^1.0.0"
160 | source-map "^0.5.0"
161 | source-map-support "^0.2.10"
162 | to-fast-properties "^1.0.0"
163 | trim-right "^1.0.0"
164 | try-resolve "^1.0.0"
165 |
166 | babel-plugin-constant-folding@^1.0.1:
167 | version "1.0.1"
168 | resolved "https://registry.yarnpkg.com/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz#8361d364c98e449c3692bdba51eff0844290aa8e"
169 |
170 | babel-plugin-dead-code-elimination@^1.0.2:
171 | version "1.0.2"
172 | resolved "https://registry.yarnpkg.com/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz#5f7c451274dcd7cccdbfbb3e0b85dd28121f0f65"
173 |
174 | babel-plugin-eval@^1.0.1:
175 | version "1.0.1"
176 | resolved "https://registry.yarnpkg.com/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz#a2faed25ce6be69ade4bfec263f70169195950da"
177 |
178 | babel-plugin-inline-environment-variables@^1.0.1:
179 | version "1.0.1"
180 | resolved "https://registry.yarnpkg.com/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz#1f58ce91207ad6a826a8bf645fafe68ff5fe3ffe"
181 |
182 | babel-plugin-jscript@^1.0.4:
183 | version "1.0.4"
184 | resolved "https://registry.yarnpkg.com/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz#8f342c38276e87a47d5fa0a8bd3d5eb6ccad8fcc"
185 |
186 | babel-plugin-member-expression-literals@^1.0.1:
187 | version "1.0.1"
188 | resolved "https://registry.yarnpkg.com/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz#cc5edb0faa8dc927170e74d6d1c02440021624d3"
189 |
190 | babel-plugin-property-literals@^1.0.1:
191 | version "1.0.1"
192 | resolved "https://registry.yarnpkg.com/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz#0252301900192980b1c118efea48ce93aab83336"
193 |
194 | babel-plugin-proto-to-assign@^1.0.3:
195 | version "1.0.4"
196 | resolved "https://registry.yarnpkg.com/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz#c49e7afd02f577bc4da05ea2df002250cf7cd123"
197 | dependencies:
198 | lodash "^3.9.3"
199 |
200 | babel-plugin-react-constant-elements@^1.0.3:
201 | version "1.0.3"
202 | resolved "https://registry.yarnpkg.com/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz#946736e8378429cbc349dcff62f51c143b34e35a"
203 |
204 | babel-plugin-react-display-name@^1.0.3:
205 | version "1.0.3"
206 | resolved "https://registry.yarnpkg.com/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz#754fe38926e8424a4e7b15ab6ea6139dee0514fc"
207 |
208 | babel-plugin-remove-console@^1.0.1:
209 | version "1.0.1"
210 | resolved "https://registry.yarnpkg.com/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz#d8f24556c3a05005d42aaaafd27787f53ff013a7"
211 |
212 | babel-plugin-remove-debugger@^1.0.1:
213 | version "1.0.1"
214 | resolved "https://registry.yarnpkg.com/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz#fd2ea3cd61a428ad1f3b9c89882ff4293e8c14c7"
215 |
216 | babel-plugin-runtime@^1.0.7:
217 | version "1.0.7"
218 | resolved "https://registry.yarnpkg.com/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz#bf7c7d966dd56ecd5c17fa1cb253c9acb7e54aaf"
219 |
220 | babel-plugin-undeclared-variables-check@^1.0.2:
221 | version "1.0.2"
222 | resolved "http://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz#5cf1aa539d813ff64e99641290af620965f65dee"
223 | dependencies:
224 | leven "^1.0.2"
225 |
226 | babel-plugin-undefined-to-void@^1.1.6:
227 | version "1.1.6"
228 | resolved "https://registry.yarnpkg.com/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz#7f578ef8b78dfae6003385d8417a61eda06e2f81"
229 |
230 | babel@^5.8.34:
231 | version "5.8.38"
232 | resolved "http://registry.npmjs.org/babel/-/babel-5.8.38.tgz#dfb087c22894917c576fb67ce9cf328d458629fb"
233 | dependencies:
234 | babel-core "^5.6.21"
235 | chokidar "^1.0.0"
236 | commander "^2.6.0"
237 | convert-source-map "^1.1.0"
238 | fs-readdir-recursive "^0.1.0"
239 | glob "^5.0.5"
240 | lodash "^3.2.0"
241 | output-file-sync "^1.1.0"
242 | path-exists "^1.0.0"
243 | path-is-absolute "^1.0.0"
244 | slash "^1.0.0"
245 | source-map "^0.5.0"
246 |
247 | babylon@^5.8.38:
248 | version "5.8.38"
249 | resolved "http://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd"
250 |
251 | balanced-match@^1.0.0:
252 | version "1.0.0"
253 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
254 |
255 | base@^0.11.1:
256 | version "0.11.2"
257 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
258 | dependencies:
259 | cache-base "^1.0.1"
260 | class-utils "^0.3.5"
261 | component-emitter "^1.2.1"
262 | define-property "^1.0.0"
263 | isobject "^3.0.1"
264 | mixin-deep "^1.2.0"
265 | pascalcase "^0.1.1"
266 |
267 | binary-extensions@^1.0.0:
268 | version "1.12.0"
269 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14"
270 |
271 | bluebird@^2.9.33:
272 | version "2.11.0"
273 | resolved "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
274 |
275 | brace-expansion@^1.0.0, brace-expansion@^1.1.7:
276 | version "1.1.11"
277 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
278 | dependencies:
279 | balanced-match "^1.0.0"
280 | concat-map "0.0.1"
281 |
282 | braces@^1.8.2:
283 | version "1.8.5"
284 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
285 | dependencies:
286 | expand-range "^1.8.1"
287 | preserve "^0.2.0"
288 | repeat-element "^1.1.2"
289 |
290 | braces@^2.3.1:
291 | version "2.3.2"
292 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
293 | dependencies:
294 | arr-flatten "^1.1.0"
295 | array-unique "^0.3.2"
296 | extend-shallow "^2.0.1"
297 | fill-range "^4.0.0"
298 | isobject "^3.0.1"
299 | repeat-element "^1.1.2"
300 | snapdragon "^0.8.1"
301 | snapdragon-node "^2.0.1"
302 | split-string "^3.0.2"
303 | to-regex "^3.0.1"
304 |
305 | breakable@~1.0.0:
306 | version "1.0.0"
307 | resolved "https://registry.yarnpkg.com/breakable/-/breakable-1.0.0.tgz#784a797915a38ead27bad456b5572cb4bbaa78c1"
308 |
309 | cache-base@^1.0.1:
310 | version "1.0.1"
311 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
312 | dependencies:
313 | collection-visit "^1.0.0"
314 | component-emitter "^1.2.1"
315 | get-value "^2.0.6"
316 | has-value "^1.0.0"
317 | isobject "^3.0.1"
318 | set-value "^2.0.0"
319 | to-object-path "^0.3.0"
320 | union-value "^1.0.0"
321 | unset-value "^1.0.0"
322 |
323 | camelcase@^1.2.1:
324 | version "1.2.1"
325 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
326 |
327 | center-align@^0.1.1:
328 | version "0.1.3"
329 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
330 | dependencies:
331 | align-text "^0.1.3"
332 | lazy-cache "^1.0.3"
333 |
334 | chalk@^1.0.0:
335 | version "1.1.3"
336 | resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
337 | dependencies:
338 | ansi-styles "^2.2.1"
339 | escape-string-regexp "^1.0.2"
340 | has-ansi "^2.0.0"
341 | strip-ansi "^3.0.0"
342 | supports-color "^2.0.0"
343 |
344 | chokidar@^1.0.0:
345 | version "1.7.0"
346 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
347 | dependencies:
348 | anymatch "^1.3.0"
349 | async-each "^1.0.0"
350 | glob-parent "^2.0.0"
351 | inherits "^2.0.1"
352 | is-binary-path "^1.0.0"
353 | is-glob "^2.0.0"
354 | path-is-absolute "^1.0.0"
355 | readdirp "^2.0.0"
356 | optionalDependencies:
357 | fsevents "^1.0.0"
358 |
359 | chownr@^1.0.1:
360 | version "1.1.1"
361 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
362 |
363 | class-utils@^0.3.5:
364 | version "0.3.6"
365 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
366 | dependencies:
367 | arr-union "^3.1.0"
368 | define-property "^0.2.5"
369 | isobject "^3.0.0"
370 | static-extend "^0.1.1"
371 |
372 | cliui@^2.1.0:
373 | version "2.1.0"
374 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
375 | dependencies:
376 | center-align "^0.1.1"
377 | right-align "^0.1.1"
378 | wordwrap "0.0.2"
379 |
380 | code-point-at@^1.0.0:
381 | version "1.1.0"
382 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
383 |
384 | collection-visit@^1.0.0:
385 | version "1.0.0"
386 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
387 | dependencies:
388 | map-visit "^1.0.0"
389 | object-visit "^1.0.0"
390 |
391 | commander@^2.5.0, commander@^2.6.0:
392 | version "2.18.0"
393 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970"
394 |
395 | commoner@~0.10.3:
396 | version "0.10.8"
397 | resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.10.8.tgz#34fc3672cd24393e8bb47e70caa0293811f4f2c5"
398 | dependencies:
399 | commander "^2.5.0"
400 | detective "^4.3.1"
401 | glob "^5.0.15"
402 | graceful-fs "^4.1.2"
403 | iconv-lite "^0.4.5"
404 | mkdirp "^0.5.0"
405 | private "^0.1.6"
406 | q "^1.1.2"
407 | recast "^0.11.17"
408 |
409 | component-emitter@^1.2.1:
410 | version "1.2.1"
411 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
412 |
413 | concat-map@0.0.1:
414 | version "0.0.1"
415 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
416 |
417 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
418 | version "1.1.0"
419 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
420 |
421 | convert-source-map@^1.1.0:
422 | version "1.6.0"
423 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
424 | dependencies:
425 | safe-buffer "~5.1.1"
426 |
427 | copy-descriptor@^0.1.0:
428 | version "0.1.1"
429 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
430 |
431 | core-js@^1.0.0:
432 | version "1.2.7"
433 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
434 |
435 | core-util-is@~1.0.0:
436 | version "1.0.2"
437 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
438 |
439 | debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3:
440 | version "2.6.9"
441 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
442 | dependencies:
443 | ms "2.0.0"
444 |
445 | decamelize@^1.0.0:
446 | version "1.2.0"
447 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
448 |
449 | decode-uri-component@^0.2.0:
450 | version "0.2.0"
451 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
452 |
453 | deep-extend@^0.6.0:
454 | version "0.6.0"
455 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
456 |
457 | define-property@^0.2.5:
458 | version "0.2.5"
459 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
460 | dependencies:
461 | is-descriptor "^0.1.0"
462 |
463 | define-property@^1.0.0:
464 | version "1.0.0"
465 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
466 | dependencies:
467 | is-descriptor "^1.0.0"
468 |
469 | define-property@^2.0.2:
470 | version "2.0.2"
471 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
472 | dependencies:
473 | is-descriptor "^1.0.2"
474 | isobject "^3.0.1"
475 |
476 | defined@^1.0.0:
477 | version "1.0.0"
478 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
479 |
480 | defs@~1.1.0:
481 | version "1.1.1"
482 | resolved "https://registry.yarnpkg.com/defs/-/defs-1.1.1.tgz#b22609f2c7a11ba7a3db116805c139b1caffa9d2"
483 | dependencies:
484 | alter "~0.2.0"
485 | ast-traverse "~0.1.1"
486 | breakable "~1.0.0"
487 | esprima-fb "~15001.1001.0-dev-harmony-fb"
488 | simple-fmt "~0.1.0"
489 | simple-is "~0.2.0"
490 | stringmap "~0.2.2"
491 | stringset "~0.2.1"
492 | tryor "~0.1.2"
493 | yargs "~3.27.0"
494 |
495 | delegates@^1.0.0:
496 | version "1.0.0"
497 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
498 |
499 | detect-indent@^3.0.0:
500 | version "3.0.1"
501 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-3.0.1.tgz#9dc5e5ddbceef8325764b9451b02bc6d54084f75"
502 | dependencies:
503 | get-stdin "^4.0.1"
504 | minimist "^1.1.0"
505 | repeating "^1.1.0"
506 |
507 | detect-libc@^1.0.2:
508 | version "1.0.3"
509 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
510 |
511 | detective@^4.3.1:
512 | version "4.7.1"
513 | resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e"
514 | dependencies:
515 | acorn "^5.2.1"
516 | defined "^1.0.0"
517 |
518 | escape-string-regexp@^1.0.2:
519 | version "1.0.5"
520 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
521 |
522 | esprima-fb@~15001.1001.0-dev-harmony-fb:
523 | version "15001.1001.0-dev-harmony-fb"
524 | resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659"
525 |
526 | esprima@^2.6.0:
527 | version "2.7.3"
528 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
529 |
530 | esprima@~3.1.0:
531 | version "3.1.3"
532 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
533 |
534 | esutils@^2.0.0:
535 | version "2.0.2"
536 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
537 |
538 | expand-brackets@^0.1.4:
539 | version "0.1.5"
540 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
541 | dependencies:
542 | is-posix-bracket "^0.1.0"
543 |
544 | expand-brackets@^2.1.4:
545 | version "2.1.4"
546 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
547 | dependencies:
548 | debug "^2.3.3"
549 | define-property "^0.2.5"
550 | extend-shallow "^2.0.1"
551 | posix-character-classes "^0.1.0"
552 | regex-not "^1.0.0"
553 | snapdragon "^0.8.1"
554 | to-regex "^3.0.1"
555 |
556 | expand-range@^1.8.1:
557 | version "1.8.2"
558 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
559 | dependencies:
560 | fill-range "^2.1.0"
561 |
562 | extend-shallow@^2.0.1:
563 | version "2.0.1"
564 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
565 | dependencies:
566 | is-extendable "^0.1.0"
567 |
568 | extend-shallow@^3.0.0, extend-shallow@^3.0.2:
569 | version "3.0.2"
570 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
571 | dependencies:
572 | assign-symbols "^1.0.0"
573 | is-extendable "^1.0.1"
574 |
575 | extglob@^0.3.1:
576 | version "0.3.2"
577 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
578 | dependencies:
579 | is-extglob "^1.0.0"
580 |
581 | extglob@^2.0.4:
582 | version "2.0.4"
583 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
584 | dependencies:
585 | array-unique "^0.3.2"
586 | define-property "^1.0.0"
587 | expand-brackets "^2.1.4"
588 | extend-shallow "^2.0.1"
589 | fragment-cache "^0.2.1"
590 | regex-not "^1.0.0"
591 | snapdragon "^0.8.1"
592 | to-regex "^3.0.1"
593 |
594 | filename-regex@^2.0.0:
595 | version "2.0.1"
596 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
597 |
598 | fill-range@^2.1.0:
599 | version "2.2.4"
600 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
601 | dependencies:
602 | is-number "^2.1.0"
603 | isobject "^2.0.0"
604 | randomatic "^3.0.0"
605 | repeat-element "^1.1.2"
606 | repeat-string "^1.5.2"
607 |
608 | fill-range@^4.0.0:
609 | version "4.0.0"
610 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
611 | dependencies:
612 | extend-shallow "^2.0.1"
613 | is-number "^3.0.0"
614 | repeat-string "^1.6.1"
615 | to-regex-range "^2.1.0"
616 |
617 | for-in@^1.0.1, for-in@^1.0.2:
618 | version "1.0.2"
619 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
620 |
621 | for-own@^0.1.4:
622 | version "0.1.5"
623 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
624 | dependencies:
625 | for-in "^1.0.1"
626 |
627 | fragment-cache@^0.2.1:
628 | version "0.2.1"
629 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
630 | dependencies:
631 | map-cache "^0.2.2"
632 |
633 | fs-minipass@^1.2.5:
634 | version "1.2.5"
635 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
636 | dependencies:
637 | minipass "^2.2.1"
638 |
639 | fs-readdir-recursive@^0.1.0:
640 | version "0.1.2"
641 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz#315b4fb8c1ca5b8c47defef319d073dad3568059"
642 |
643 | fs.realpath@^1.0.0:
644 | version "1.0.0"
645 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
646 |
647 | fsevents@^1.0.0:
648 | version "1.2.4"
649 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
650 | dependencies:
651 | nan "^2.9.2"
652 | node-pre-gyp "^0.10.0"
653 |
654 | gauge@~2.7.3:
655 | version "2.7.4"
656 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
657 | dependencies:
658 | aproba "^1.0.3"
659 | console-control-strings "^1.0.0"
660 | has-unicode "^2.0.0"
661 | object-assign "^4.1.0"
662 | signal-exit "^3.0.0"
663 | string-width "^1.0.1"
664 | strip-ansi "^3.0.1"
665 | wide-align "^1.1.0"
666 |
667 | get-stdin@^4.0.1:
668 | version "4.0.1"
669 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
670 |
671 | get-value@^2.0.3, get-value@^2.0.6:
672 | version "2.0.6"
673 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
674 |
675 | glob-base@^0.3.0:
676 | version "0.3.0"
677 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
678 | dependencies:
679 | glob-parent "^2.0.0"
680 | is-glob "^2.0.0"
681 |
682 | glob-parent@^2.0.0:
683 | version "2.0.0"
684 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
685 | dependencies:
686 | is-glob "^2.0.0"
687 |
688 | glob@^5.0.15, glob@^5.0.5:
689 | version "5.0.15"
690 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
691 | dependencies:
692 | inflight "^1.0.4"
693 | inherits "2"
694 | minimatch "2 || 3"
695 | once "^1.3.0"
696 | path-is-absolute "^1.0.0"
697 |
698 | glob@^7.0.5:
699 | version "7.1.3"
700 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
701 | dependencies:
702 | fs.realpath "^1.0.0"
703 | inflight "^1.0.4"
704 | inherits "2"
705 | minimatch "^3.0.4"
706 | once "^1.3.0"
707 | path-is-absolute "^1.0.0"
708 |
709 | globals@^6.4.0:
710 | version "6.4.1"
711 | resolved "https://registry.yarnpkg.com/globals/-/globals-6.4.1.tgz#8498032b3b6d1cc81eebc5f79690d8fe29fabf4f"
712 |
713 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4:
714 | version "4.1.11"
715 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
716 |
717 | has-ansi@^2.0.0:
718 | version "2.0.0"
719 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
720 | dependencies:
721 | ansi-regex "^2.0.0"
722 |
723 | has-unicode@^2.0.0:
724 | version "2.0.1"
725 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
726 |
727 | has-value@^0.3.1:
728 | version "0.3.1"
729 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
730 | dependencies:
731 | get-value "^2.0.3"
732 | has-values "^0.1.4"
733 | isobject "^2.0.0"
734 |
735 | has-value@^1.0.0:
736 | version "1.0.0"
737 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
738 | dependencies:
739 | get-value "^2.0.6"
740 | has-values "^1.0.0"
741 | isobject "^3.0.0"
742 |
743 | has-values@^0.1.4:
744 | version "0.1.4"
745 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
746 |
747 | has-values@^1.0.0:
748 | version "1.0.0"
749 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
750 | dependencies:
751 | is-number "^3.0.0"
752 | kind-of "^4.0.0"
753 |
754 | home-or-tmp@^1.0.0:
755 | version "1.0.0"
756 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-1.0.0.tgz#4b9f1e40800c3e50c6c27f781676afcce71f3985"
757 | dependencies:
758 | os-tmpdir "^1.0.1"
759 | user-home "^1.1.1"
760 |
761 | iconv-lite@^0.4.4, iconv-lite@^0.4.5:
762 | version "0.4.24"
763 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
764 | dependencies:
765 | safer-buffer ">= 2.1.2 < 3"
766 |
767 | ignore-walk@^3.0.1:
768 | version "3.0.1"
769 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
770 | dependencies:
771 | minimatch "^3.0.4"
772 |
773 | inflight@^1.0.4:
774 | version "1.0.6"
775 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
776 | dependencies:
777 | once "^1.3.0"
778 | wrappy "1"
779 |
780 | inherits@2, inherits@^2.0.1, inherits@~2.0.3:
781 | version "2.0.3"
782 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
783 |
784 | ini@~1.3.0:
785 | version "1.3.5"
786 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
787 |
788 | invert-kv@^1.0.0:
789 | version "1.0.0"
790 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
791 |
792 | is-accessor-descriptor@^0.1.6:
793 | version "0.1.6"
794 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
795 | dependencies:
796 | kind-of "^3.0.2"
797 |
798 | is-accessor-descriptor@^1.0.0:
799 | version "1.0.0"
800 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
801 | dependencies:
802 | kind-of "^6.0.0"
803 |
804 | is-binary-path@^1.0.0:
805 | version "1.0.1"
806 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
807 | dependencies:
808 | binary-extensions "^1.0.0"
809 |
810 | is-buffer@^1.1.5:
811 | version "1.1.6"
812 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
813 |
814 | is-data-descriptor@^0.1.4:
815 | version "0.1.4"
816 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
817 | dependencies:
818 | kind-of "^3.0.2"
819 |
820 | is-data-descriptor@^1.0.0:
821 | version "1.0.0"
822 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
823 | dependencies:
824 | kind-of "^6.0.0"
825 |
826 | is-descriptor@^0.1.0:
827 | version "0.1.6"
828 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
829 | dependencies:
830 | is-accessor-descriptor "^0.1.6"
831 | is-data-descriptor "^0.1.4"
832 | kind-of "^5.0.0"
833 |
834 | is-descriptor@^1.0.0, is-descriptor@^1.0.2:
835 | version "1.0.2"
836 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
837 | dependencies:
838 | is-accessor-descriptor "^1.0.0"
839 | is-data-descriptor "^1.0.0"
840 | kind-of "^6.0.2"
841 |
842 | is-dotfile@^1.0.0:
843 | version "1.0.3"
844 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
845 |
846 | is-equal-shallow@^0.1.3:
847 | version "0.1.3"
848 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
849 | dependencies:
850 | is-primitive "^2.0.0"
851 |
852 | is-extendable@^0.1.0, is-extendable@^0.1.1:
853 | version "0.1.1"
854 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
855 |
856 | is-extendable@^1.0.1:
857 | version "1.0.1"
858 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
859 | dependencies:
860 | is-plain-object "^2.0.4"
861 |
862 | is-extglob@^1.0.0:
863 | version "1.0.0"
864 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
865 |
866 | is-finite@^1.0.0:
867 | version "1.0.2"
868 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
869 | dependencies:
870 | number-is-nan "^1.0.0"
871 |
872 | is-fullwidth-code-point@^1.0.0:
873 | version "1.0.0"
874 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
875 | dependencies:
876 | number-is-nan "^1.0.0"
877 |
878 | is-fullwidth-code-point@^2.0.0:
879 | version "2.0.0"
880 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
881 |
882 | is-glob@^2.0.0, is-glob@^2.0.1:
883 | version "2.0.1"
884 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
885 | dependencies:
886 | is-extglob "^1.0.0"
887 |
888 | is-integer@^1.0.4:
889 | version "1.0.7"
890 | resolved "https://registry.yarnpkg.com/is-integer/-/is-integer-1.0.7.tgz#6bde81aacddf78b659b6629d629cadc51a886d5c"
891 | dependencies:
892 | is-finite "^1.0.0"
893 |
894 | is-number@^2.1.0:
895 | version "2.1.0"
896 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
897 | dependencies:
898 | kind-of "^3.0.2"
899 |
900 | is-number@^3.0.0:
901 | version "3.0.0"
902 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
903 | dependencies:
904 | kind-of "^3.0.2"
905 |
906 | is-number@^4.0.0:
907 | version "4.0.0"
908 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
909 |
910 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
911 | version "2.0.4"
912 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
913 | dependencies:
914 | isobject "^3.0.1"
915 |
916 | is-posix-bracket@^0.1.0:
917 | version "0.1.1"
918 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
919 |
920 | is-primitive@^2.0.0:
921 | version "2.0.0"
922 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
923 |
924 | is-windows@^1.0.2:
925 | version "1.0.2"
926 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
927 |
928 | isarray@1.0.0, isarray@~1.0.0:
929 | version "1.0.0"
930 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
931 |
932 | isobject@^2.0.0:
933 | version "2.1.0"
934 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
935 | dependencies:
936 | isarray "1.0.0"
937 |
938 | isobject@^3.0.0, isobject@^3.0.1:
939 | version "3.0.1"
940 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
941 |
942 | js-tokens@1.0.1:
943 | version "1.0.1"
944 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.1.tgz#cc435a5c8b94ad15acb7983140fc80182c89aeae"
945 |
946 | "js-tokens@^3.0.0 || ^4.0.0":
947 | version "4.0.0"
948 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
949 |
950 | jsesc@~0.5.0:
951 | version "0.5.0"
952 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
953 |
954 | json5@^0.4.0:
955 | version "0.4.0"
956 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d"
957 |
958 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
959 | version "3.2.2"
960 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
961 | dependencies:
962 | is-buffer "^1.1.5"
963 |
964 | kind-of@^4.0.0:
965 | version "4.0.0"
966 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
967 | dependencies:
968 | is-buffer "^1.1.5"
969 |
970 | kind-of@^5.0.0:
971 | version "5.1.0"
972 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
973 |
974 | kind-of@^6.0.0, kind-of@^6.0.2:
975 | version "6.0.2"
976 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
977 |
978 | lazy-cache@^1.0.3:
979 | version "1.0.4"
980 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
981 |
982 | lcid@^1.0.0:
983 | version "1.0.0"
984 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
985 | dependencies:
986 | invert-kv "^1.0.0"
987 |
988 | leven@^1.0.2:
989 | version "1.0.2"
990 | resolved "https://registry.yarnpkg.com/leven/-/leven-1.0.2.tgz#9144b6eebca5f1d0680169f1a6770dcea60b75c3"
991 |
992 | lodash@^3.10.0, lodash@^3.2.0, lodash@^3.9.3:
993 | version "3.10.1"
994 | resolved "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
995 |
996 | longest@^1.0.1:
997 | version "1.0.1"
998 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
999 |
1000 | loose-envify@^1.1.0, loose-envify@^1.3.1:
1001 | version "1.4.0"
1002 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
1003 | dependencies:
1004 | js-tokens "^3.0.0 || ^4.0.0"
1005 |
1006 | map-cache@^0.2.2:
1007 | version "0.2.2"
1008 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
1009 |
1010 | map-visit@^1.0.0:
1011 | version "1.0.0"
1012 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
1013 | dependencies:
1014 | object-visit "^1.0.0"
1015 |
1016 | math-random@^1.0.1:
1017 | version "1.0.1"
1018 | resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
1019 |
1020 | micromatch@^2.1.5:
1021 | version "2.3.11"
1022 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
1023 | dependencies:
1024 | arr-diff "^2.0.0"
1025 | array-unique "^0.2.1"
1026 | braces "^1.8.2"
1027 | expand-brackets "^0.1.4"
1028 | extglob "^0.3.1"
1029 | filename-regex "^2.0.0"
1030 | is-extglob "^1.0.0"
1031 | is-glob "^2.0.1"
1032 | kind-of "^3.0.2"
1033 | normalize-path "^2.0.1"
1034 | object.omit "^2.0.0"
1035 | parse-glob "^3.0.4"
1036 | regex-cache "^0.4.2"
1037 |
1038 | micromatch@^3.1.10:
1039 | version "3.1.10"
1040 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
1041 | dependencies:
1042 | arr-diff "^4.0.0"
1043 | array-unique "^0.3.2"
1044 | braces "^2.3.1"
1045 | define-property "^2.0.2"
1046 | extend-shallow "^3.0.2"
1047 | extglob "^2.0.4"
1048 | fragment-cache "^0.2.1"
1049 | kind-of "^6.0.2"
1050 | nanomatch "^1.2.9"
1051 | object.pick "^1.3.0"
1052 | regex-not "^1.0.0"
1053 | snapdragon "^0.8.1"
1054 | to-regex "^3.0.2"
1055 |
1056 | "minimatch@2 || 3", minimatch@^3.0.4:
1057 | version "3.0.4"
1058 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1059 | dependencies:
1060 | brace-expansion "^1.1.7"
1061 |
1062 | minimatch@^2.0.3:
1063 | version "2.0.10"
1064 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
1065 | dependencies:
1066 | brace-expansion "^1.0.0"
1067 |
1068 | minimist@0.0.8:
1069 | version "0.0.8"
1070 | resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1071 |
1072 | minimist@^1.1.0, minimist@^1.2.0:
1073 | version "1.2.0"
1074 | resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1075 |
1076 | minipass@^2.2.1, minipass@^2.3.3:
1077 | version "2.3.4"
1078 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957"
1079 | dependencies:
1080 | safe-buffer "^5.1.2"
1081 | yallist "^3.0.0"
1082 |
1083 | minizlib@^1.1.0:
1084 | version "1.1.0"
1085 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
1086 | dependencies:
1087 | minipass "^2.2.1"
1088 |
1089 | mixin-deep@^1.2.0:
1090 | version "1.3.1"
1091 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
1092 | dependencies:
1093 | for-in "^1.0.2"
1094 | is-extendable "^1.0.1"
1095 |
1096 | mkdirp@^0.5.0, mkdirp@^0.5.1:
1097 | version "0.5.1"
1098 | resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1099 | dependencies:
1100 | minimist "0.0.8"
1101 |
1102 | ms@2.0.0:
1103 | version "2.0.0"
1104 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1105 |
1106 | nan@^2.9.2:
1107 | version "2.11.0"
1108 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.0.tgz#574e360e4d954ab16966ec102c0c049fd961a099"
1109 |
1110 | nanomatch@^1.2.9:
1111 | version "1.2.13"
1112 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
1113 | dependencies:
1114 | arr-diff "^4.0.0"
1115 | array-unique "^0.3.2"
1116 | define-property "^2.0.2"
1117 | extend-shallow "^3.0.2"
1118 | fragment-cache "^0.2.1"
1119 | is-windows "^1.0.2"
1120 | kind-of "^6.0.2"
1121 | object.pick "^1.3.0"
1122 | regex-not "^1.0.0"
1123 | snapdragon "^0.8.1"
1124 | to-regex "^3.0.1"
1125 |
1126 | needle@^2.2.1:
1127 | version "2.2.3"
1128 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.3.tgz#c1b04da378cd634d8befe2de965dc2cfb0fd65ca"
1129 | dependencies:
1130 | debug "^2.1.2"
1131 | iconv-lite "^0.4.4"
1132 | sax "^1.2.4"
1133 |
1134 | node-pre-gyp@^0.10.0:
1135 | version "0.10.3"
1136 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc"
1137 | dependencies:
1138 | detect-libc "^1.0.2"
1139 | mkdirp "^0.5.1"
1140 | needle "^2.2.1"
1141 | nopt "^4.0.1"
1142 | npm-packlist "^1.1.6"
1143 | npmlog "^4.0.2"
1144 | rc "^1.2.7"
1145 | rimraf "^2.6.1"
1146 | semver "^5.3.0"
1147 | tar "^4"
1148 |
1149 | nopt@^4.0.1:
1150 | version "4.0.1"
1151 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
1152 | dependencies:
1153 | abbrev "1"
1154 | osenv "^0.1.4"
1155 |
1156 | normalize-path@^2.0.0, normalize-path@^2.0.1:
1157 | version "2.1.1"
1158 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
1159 | dependencies:
1160 | remove-trailing-separator "^1.0.1"
1161 |
1162 | npm-bundled@^1.0.1:
1163 | version "1.0.5"
1164 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979"
1165 |
1166 | npm-packlist@^1.1.6:
1167 | version "1.1.11"
1168 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de"
1169 | dependencies:
1170 | ignore-walk "^3.0.1"
1171 | npm-bundled "^1.0.1"
1172 |
1173 | npmlog@^4.0.2:
1174 | version "4.1.2"
1175 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
1176 | dependencies:
1177 | are-we-there-yet "~1.1.2"
1178 | console-control-strings "~1.1.0"
1179 | gauge "~2.7.3"
1180 | set-blocking "~2.0.0"
1181 |
1182 | number-is-nan@^1.0.0:
1183 | version "1.0.1"
1184 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
1185 |
1186 | object-assign@^4.1.0, object-assign@^4.1.1:
1187 | version "4.1.1"
1188 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1189 |
1190 | object-copy@^0.1.0:
1191 | version "0.1.0"
1192 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
1193 | dependencies:
1194 | copy-descriptor "^0.1.0"
1195 | define-property "^0.2.5"
1196 | kind-of "^3.0.3"
1197 |
1198 | object-visit@^1.0.0:
1199 | version "1.0.1"
1200 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
1201 | dependencies:
1202 | isobject "^3.0.0"
1203 |
1204 | object.omit@^2.0.0:
1205 | version "2.0.1"
1206 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
1207 | dependencies:
1208 | for-own "^0.1.4"
1209 | is-extendable "^0.1.1"
1210 |
1211 | object.pick@^1.3.0:
1212 | version "1.3.0"
1213 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
1214 | dependencies:
1215 | isobject "^3.0.1"
1216 |
1217 | once@^1.3.0:
1218 | version "1.4.0"
1219 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1220 | dependencies:
1221 | wrappy "1"
1222 |
1223 | os-homedir@^1.0.0:
1224 | version "1.0.2"
1225 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
1226 |
1227 | os-locale@^1.4.0:
1228 | version "1.4.0"
1229 | resolved "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
1230 | dependencies:
1231 | lcid "^1.0.0"
1232 |
1233 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
1234 | version "1.0.2"
1235 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
1236 |
1237 | osenv@^0.1.4:
1238 | version "0.1.5"
1239 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
1240 | dependencies:
1241 | os-homedir "^1.0.0"
1242 | os-tmpdir "^1.0.0"
1243 |
1244 | output-file-sync@^1.1.0:
1245 | version "1.1.2"
1246 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
1247 | dependencies:
1248 | graceful-fs "^4.1.4"
1249 | mkdirp "^0.5.1"
1250 | object-assign "^4.1.0"
1251 |
1252 | parse-glob@^3.0.4:
1253 | version "3.0.4"
1254 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
1255 | dependencies:
1256 | glob-base "^0.3.0"
1257 | is-dotfile "^1.0.0"
1258 | is-extglob "^1.0.0"
1259 | is-glob "^2.0.0"
1260 |
1261 | pascalcase@^0.1.1:
1262 | version "0.1.1"
1263 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
1264 |
1265 | path-exists@^1.0.0:
1266 | version "1.0.0"
1267 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081"
1268 |
1269 | path-is-absolute@^1.0.0:
1270 | version "1.0.1"
1271 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1272 |
1273 | path-parse@^1.0.5:
1274 | version "1.0.6"
1275 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
1276 |
1277 | posix-character-classes@^0.1.0:
1278 | version "0.1.1"
1279 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
1280 |
1281 | preserve@^0.2.0:
1282 | version "0.2.0"
1283 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
1284 |
1285 | private@^0.1.6, private@~0.1.5:
1286 | version "0.1.8"
1287 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
1288 |
1289 | process-nextick-args@~2.0.0:
1290 | version "2.0.0"
1291 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
1292 |
1293 | prop-types@^15.6.2:
1294 | version "15.6.2"
1295 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
1296 | dependencies:
1297 | loose-envify "^1.3.1"
1298 | object-assign "^4.1.1"
1299 |
1300 | q@^1.1.2:
1301 | version "1.5.1"
1302 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
1303 |
1304 | randomatic@^3.0.0:
1305 | version "3.1.0"
1306 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116"
1307 | dependencies:
1308 | is-number "^4.0.0"
1309 | kind-of "^6.0.0"
1310 | math-random "^1.0.1"
1311 |
1312 | rc@^1.2.7:
1313 | version "1.2.8"
1314 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
1315 | dependencies:
1316 | deep-extend "^0.6.0"
1317 | ini "~1.3.0"
1318 | minimist "^1.2.0"
1319 | strip-json-comments "~2.0.1"
1320 |
1321 | react@>=0.13.0:
1322 | version "16.5.1"
1323 | resolved "https://registry.yarnpkg.com/react/-/react-16.5.1.tgz#8cb8e9f8cdcb4bde41c9a138bfbf907e66132372"
1324 | dependencies:
1325 | loose-envify "^1.1.0"
1326 | object-assign "^4.1.1"
1327 | prop-types "^15.6.2"
1328 | schedule "^0.4.0"
1329 |
1330 | readable-stream@^2.0.2, readable-stream@^2.0.6:
1331 | version "2.3.6"
1332 | resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
1333 | dependencies:
1334 | core-util-is "~1.0.0"
1335 | inherits "~2.0.3"
1336 | isarray "~1.0.0"
1337 | process-nextick-args "~2.0.0"
1338 | safe-buffer "~5.1.1"
1339 | string_decoder "~1.1.1"
1340 | util-deprecate "~1.0.1"
1341 |
1342 | readdirp@^2.0.0:
1343 | version "2.2.1"
1344 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
1345 | dependencies:
1346 | graceful-fs "^4.1.11"
1347 | micromatch "^3.1.10"
1348 | readable-stream "^2.0.2"
1349 |
1350 | recast@0.10.33:
1351 | version "0.10.33"
1352 | resolved "http://registry.npmjs.org/recast/-/recast-0.10.33.tgz#942808f7aa016f1fa7142c461d7e5704aaa8d697"
1353 | dependencies:
1354 | ast-types "0.8.12"
1355 | esprima-fb "~15001.1001.0-dev-harmony-fb"
1356 | private "~0.1.5"
1357 | source-map "~0.5.0"
1358 |
1359 | recast@^0.10.10:
1360 | version "0.10.43"
1361 | resolved "http://registry.npmjs.org/recast/-/recast-0.10.43.tgz#b95d50f6d60761a5f6252e15d80678168491ce7f"
1362 | dependencies:
1363 | ast-types "0.8.15"
1364 | esprima-fb "~15001.1001.0-dev-harmony-fb"
1365 | private "~0.1.5"
1366 | source-map "~0.5.0"
1367 |
1368 | recast@^0.11.17:
1369 | version "0.11.23"
1370 | resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
1371 | dependencies:
1372 | ast-types "0.9.6"
1373 | esprima "~3.1.0"
1374 | private "~0.1.5"
1375 | source-map "~0.5.0"
1376 |
1377 | regenerate@^1.2.1:
1378 | version "1.4.0"
1379 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
1380 |
1381 | regenerator@0.8.40:
1382 | version "0.8.40"
1383 | resolved "https://registry.yarnpkg.com/regenerator/-/regenerator-0.8.40.tgz#a0e457c58ebdbae575c9f8cd75127e93756435d8"
1384 | dependencies:
1385 | commoner "~0.10.3"
1386 | defs "~1.1.0"
1387 | esprima-fb "~15001.1001.0-dev-harmony-fb"
1388 | private "~0.1.5"
1389 | recast "0.10.33"
1390 | through "~2.3.8"
1391 |
1392 | regex-cache@^0.4.2:
1393 | version "0.4.4"
1394 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
1395 | dependencies:
1396 | is-equal-shallow "^0.1.3"
1397 |
1398 | regex-not@^1.0.0, regex-not@^1.0.2:
1399 | version "1.0.2"
1400 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
1401 | dependencies:
1402 | extend-shallow "^3.0.2"
1403 | safe-regex "^1.1.0"
1404 |
1405 | regexpu@^1.3.0:
1406 | version "1.3.0"
1407 | resolved "https://registry.yarnpkg.com/regexpu/-/regexpu-1.3.0.tgz#e534dc991a9e5846050c98de6d7dd4a55c9ea16d"
1408 | dependencies:
1409 | esprima "^2.6.0"
1410 | recast "^0.10.10"
1411 | regenerate "^1.2.1"
1412 | regjsgen "^0.2.0"
1413 | regjsparser "^0.1.4"
1414 |
1415 | regjsgen@^0.2.0:
1416 | version "0.2.0"
1417 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
1418 |
1419 | regjsparser@^0.1.4:
1420 | version "0.1.5"
1421 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
1422 | dependencies:
1423 | jsesc "~0.5.0"
1424 |
1425 | remove-trailing-separator@^1.0.1:
1426 | version "1.1.0"
1427 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
1428 |
1429 | repeat-element@^1.1.2:
1430 | version "1.1.3"
1431 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
1432 |
1433 | repeat-string@^1.5.2, repeat-string@^1.6.1:
1434 | version "1.6.1"
1435 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
1436 |
1437 | repeating@^1.1.0, repeating@^1.1.2:
1438 | version "1.1.3"
1439 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac"
1440 | dependencies:
1441 | is-finite "^1.0.0"
1442 |
1443 | resolve-url@^0.2.1:
1444 | version "0.2.1"
1445 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
1446 |
1447 | resolve@^1.1.6:
1448 | version "1.8.1"
1449 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
1450 | dependencies:
1451 | path-parse "^1.0.5"
1452 |
1453 | ret@~0.1.10:
1454 | version "0.1.15"
1455 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
1456 |
1457 | right-align@^0.1.1:
1458 | version "0.1.3"
1459 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
1460 | dependencies:
1461 | align-text "^0.1.1"
1462 |
1463 | rimraf@^2.6.1:
1464 | version "2.6.2"
1465 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
1466 | dependencies:
1467 | glob "^7.0.5"
1468 |
1469 | safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1470 | version "5.1.2"
1471 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1472 |
1473 | safe-regex@^1.1.0:
1474 | version "1.1.0"
1475 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
1476 | dependencies:
1477 | ret "~0.1.10"
1478 |
1479 | "safer-buffer@>= 2.1.2 < 3":
1480 | version "2.1.2"
1481 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1482 |
1483 | sax@^1.2.4:
1484 | version "1.2.4"
1485 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
1486 |
1487 | schedule@^0.4.0:
1488 | version "0.4.0"
1489 | resolved "https://registry.yarnpkg.com/schedule/-/schedule-0.4.0.tgz#fa20cfd0bfbf91c47d02272fd7096780d3170bbb"
1490 | dependencies:
1491 | object-assign "^4.1.1"
1492 |
1493 | semver@^5.3.0:
1494 | version "5.5.1"
1495 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477"
1496 |
1497 | set-blocking@~2.0.0:
1498 | version "2.0.0"
1499 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
1500 |
1501 | set-value@^0.4.3:
1502 | version "0.4.3"
1503 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
1504 | dependencies:
1505 | extend-shallow "^2.0.1"
1506 | is-extendable "^0.1.1"
1507 | is-plain-object "^2.0.1"
1508 | to-object-path "^0.3.0"
1509 |
1510 | set-value@^2.0.0:
1511 | version "2.0.0"
1512 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
1513 | dependencies:
1514 | extend-shallow "^2.0.1"
1515 | is-extendable "^0.1.1"
1516 | is-plain-object "^2.0.3"
1517 | split-string "^3.0.1"
1518 |
1519 | shebang-regex@^1.0.0:
1520 | version "1.0.0"
1521 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
1522 |
1523 | signal-exit@^3.0.0:
1524 | version "3.0.2"
1525 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
1526 |
1527 | simple-fmt@~0.1.0:
1528 | version "0.1.0"
1529 | resolved "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz#191bf566a59e6530482cb25ab53b4a8dc85c3a6b"
1530 |
1531 | simple-is@~0.2.0:
1532 | version "0.2.0"
1533 | resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0"
1534 |
1535 | slash@^1.0.0:
1536 | version "1.0.0"
1537 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
1538 |
1539 | snapdragon-node@^2.0.1:
1540 | version "2.1.1"
1541 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
1542 | dependencies:
1543 | define-property "^1.0.0"
1544 | isobject "^3.0.0"
1545 | snapdragon-util "^3.0.1"
1546 |
1547 | snapdragon-util@^3.0.1:
1548 | version "3.0.1"
1549 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
1550 | dependencies:
1551 | kind-of "^3.2.0"
1552 |
1553 | snapdragon@^0.8.1:
1554 | version "0.8.2"
1555 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
1556 | dependencies:
1557 | base "^0.11.1"
1558 | debug "^2.2.0"
1559 | define-property "^0.2.5"
1560 | extend-shallow "^2.0.1"
1561 | map-cache "^0.2.2"
1562 | source-map "^0.5.6"
1563 | source-map-resolve "^0.5.0"
1564 | use "^3.1.0"
1565 |
1566 | source-map-resolve@^0.5.0:
1567 | version "0.5.2"
1568 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
1569 | dependencies:
1570 | atob "^2.1.1"
1571 | decode-uri-component "^0.2.0"
1572 | resolve-url "^0.2.1"
1573 | source-map-url "^0.4.0"
1574 | urix "^0.1.0"
1575 |
1576 | source-map-support@^0.2.10:
1577 | version "0.2.10"
1578 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc"
1579 | dependencies:
1580 | source-map "0.1.32"
1581 |
1582 | source-map-url@^0.4.0:
1583 | version "0.4.0"
1584 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
1585 |
1586 | source-map@0.1.32:
1587 | version "0.1.32"
1588 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"
1589 | dependencies:
1590 | amdefine ">=0.0.4"
1591 |
1592 | source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.0:
1593 | version "0.5.7"
1594 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
1595 |
1596 | split-string@^3.0.1, split-string@^3.0.2:
1597 | version "3.1.0"
1598 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
1599 | dependencies:
1600 | extend-shallow "^3.0.0"
1601 |
1602 | stable@~0.1.3:
1603 | version "0.1.8"
1604 | resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
1605 |
1606 | static-extend@^0.1.1:
1607 | version "0.1.2"
1608 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
1609 | dependencies:
1610 | define-property "^0.2.5"
1611 | object-copy "^0.1.0"
1612 |
1613 | string-width@^1.0.1:
1614 | version "1.0.2"
1615 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
1616 | dependencies:
1617 | code-point-at "^1.0.0"
1618 | is-fullwidth-code-point "^1.0.0"
1619 | strip-ansi "^3.0.0"
1620 |
1621 | "string-width@^1.0.2 || 2":
1622 | version "2.1.1"
1623 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
1624 | dependencies:
1625 | is-fullwidth-code-point "^2.0.0"
1626 | strip-ansi "^4.0.0"
1627 |
1628 | string_decoder@~1.1.1:
1629 | version "1.1.1"
1630 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
1631 | dependencies:
1632 | safe-buffer "~5.1.0"
1633 |
1634 | stringmap@~0.2.2:
1635 | version "0.2.2"
1636 | resolved "https://registry.yarnpkg.com/stringmap/-/stringmap-0.2.2.tgz#556c137b258f942b8776f5b2ef582aa069d7d1b1"
1637 |
1638 | stringset@~0.2.1:
1639 | version "0.2.1"
1640 | resolved "https://registry.yarnpkg.com/stringset/-/stringset-0.2.1.tgz#ef259c4e349344377fcd1c913dd2e848c9c042b5"
1641 |
1642 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
1643 | version "3.0.1"
1644 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
1645 | dependencies:
1646 | ansi-regex "^2.0.0"
1647 |
1648 | strip-ansi@^4.0.0:
1649 | version "4.0.0"
1650 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
1651 | dependencies:
1652 | ansi-regex "^3.0.0"
1653 |
1654 | strip-json-comments@~2.0.1:
1655 | version "2.0.1"
1656 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
1657 |
1658 | supports-color@^2.0.0:
1659 | version "2.0.0"
1660 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
1661 |
1662 | tar@^4:
1663 | version "4.4.6"
1664 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b"
1665 | dependencies:
1666 | chownr "^1.0.1"
1667 | fs-minipass "^1.2.5"
1668 | minipass "^2.3.3"
1669 | minizlib "^1.1.0"
1670 | mkdirp "^0.5.0"
1671 | safe-buffer "^5.1.2"
1672 | yallist "^3.0.2"
1673 |
1674 | through@~2.3.8:
1675 | version "2.3.8"
1676 | resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
1677 |
1678 | to-fast-properties@^1.0.0:
1679 | version "1.0.3"
1680 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
1681 |
1682 | to-object-path@^0.3.0:
1683 | version "0.3.0"
1684 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
1685 | dependencies:
1686 | kind-of "^3.0.2"
1687 |
1688 | to-regex-range@^2.1.0:
1689 | version "2.1.1"
1690 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
1691 | dependencies:
1692 | is-number "^3.0.0"
1693 | repeat-string "^1.6.1"
1694 |
1695 | to-regex@^3.0.1, to-regex@^3.0.2:
1696 | version "3.0.2"
1697 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
1698 | dependencies:
1699 | define-property "^2.0.2"
1700 | extend-shallow "^3.0.2"
1701 | regex-not "^1.0.2"
1702 | safe-regex "^1.1.0"
1703 |
1704 | trim-right@^1.0.0:
1705 | version "1.0.1"
1706 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
1707 |
1708 | try-resolve@^1.0.0:
1709 | version "1.0.1"
1710 | resolved "https://registry.yarnpkg.com/try-resolve/-/try-resolve-1.0.1.tgz#cfde6fabd72d63e5797cfaab873abbe8e700e912"
1711 |
1712 | tryor@~0.1.2:
1713 | version "0.1.2"
1714 | resolved "https://registry.yarnpkg.com/tryor/-/tryor-0.1.2.tgz#8145e4ca7caff40acde3ccf946e8b8bb75b4172b"
1715 |
1716 | union-value@^1.0.0:
1717 | version "1.0.0"
1718 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
1719 | dependencies:
1720 | arr-union "^3.1.0"
1721 | get-value "^2.0.6"
1722 | is-extendable "^0.1.1"
1723 | set-value "^0.4.3"
1724 |
1725 | unset-value@^1.0.0:
1726 | version "1.0.0"
1727 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
1728 | dependencies:
1729 | has-value "^0.3.1"
1730 | isobject "^3.0.0"
1731 |
1732 | urix@^0.1.0:
1733 | version "0.1.0"
1734 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
1735 |
1736 | use@^3.1.0:
1737 | version "3.1.1"
1738 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
1739 |
1740 | user-home@^1.1.1:
1741 | version "1.1.1"
1742 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
1743 |
1744 | util-deprecate@~1.0.1:
1745 | version "1.0.2"
1746 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1747 |
1748 | wide-align@^1.1.0:
1749 | version "1.1.3"
1750 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
1751 | dependencies:
1752 | string-width "^1.0.2 || 2"
1753 |
1754 | window-size@^0.1.2:
1755 | version "0.1.4"
1756 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
1757 |
1758 | wordwrap@0.0.2:
1759 | version "0.0.2"
1760 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
1761 |
1762 | wrappy@1:
1763 | version "1.0.2"
1764 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1765 |
1766 | y18n@^3.2.0:
1767 | version "3.2.1"
1768 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
1769 |
1770 | yallist@^3.0.0, yallist@^3.0.2:
1771 | version "3.0.2"
1772 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
1773 |
1774 | yargs@~3.27.0:
1775 | version "3.27.0"
1776 | resolved "http://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz#21205469316e939131d59f2da0c6d7f98221ea40"
1777 | dependencies:
1778 | camelcase "^1.2.1"
1779 | cliui "^2.1.0"
1780 | decamelize "^1.0.0"
1781 | os-locale "^1.4.0"
1782 | window-size "^0.1.2"
1783 | y18n "^3.2.0"
1784 |
--------------------------------------------------------------------------------