├── .circleci
└── config.yml
├── .gitignore
├── .yarnrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── index.js
├── package.json
└── yarn.lock
/.circleci/config.yml:
--------------------------------------------------------------------------------
1 | # Javascript Node CircleCI 2.0 configuration file
2 | #
3 | # Check https://circleci.com/docs/2.0/language-javascript/ for more details
4 | #
5 | version: 2
6 | jobs:
7 | build:
8 | docker:
9 | # specify the version you desire here
10 | - image: circleci/node:9
11 |
12 | # Specify service dependencies here if necessary
13 | # CircleCI maintains a library of pre-built images
14 | # documented at https://circleci.com/docs/2.0/circleci-images/
15 | # - image: circleci/mongo:3.4.4
16 |
17 | working_directory: ~/repo
18 |
19 | steps:
20 | - checkout
21 |
22 | # Download and cache dependencies
23 | - restore_cache:
24 | keys:
25 | - v1-dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}
26 | # fallback to using the latest cache if no exact match is found
27 | - v1-dependencies-{{ .Branch }}-
28 | - v1-dependencies-
29 |
30 | - run: yarn install
31 |
32 | - save_cache:
33 | paths:
34 | - node_modules
35 | key: v1-dependencies-{{ checksum "yarn.lock" }}
36 |
37 | # run tests!
38 | - run: yarn test
39 |
40 | deploy:
41 | docker:
42 | # specify the version you desire here
43 | - image: circleci/node:9
44 | steps:
45 | - checkout
46 | - run:
47 | name: Setup NPM
48 | command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
49 |
50 | - run:
51 | name: Push to NPM
52 | command: npm publish
53 |
54 | workflows:
55 | version: 2
56 | build-and-deploy:
57 | jobs:
58 | - build:
59 | filters:
60 | tags:
61 | only: /.*/
62 | - deploy:
63 | requires:
64 | - build
65 | filters:
66 | tags:
67 | only: /^v\d+\.\d+\.\d+$/
68 | branches:
69 | ignore: /.*/
70 |
71 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # dependencies
3 | node_modules
4 |
5 | # logs
6 | npm-debug.log
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.yarnrc:
--------------------------------------------------------------------------------
1 | save-exact true
2 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Change Log
2 |
3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4 |
5 |
6 | ## [2.1.5](https://github.com/chabou/hyper-pane/compare/v2.1.4...v2.1.5) (2019-07-31)
7 |
8 |
9 | ### Bug Fixes
10 |
11 | * **dep:** bump lodash.merge from 4.6.0 to 4.6.2 ([#52](https://github.com/chabou/hyper-pane/issues/52)) ([5e33fe9](https://github.com/chabou/hyper-pane/commit/5e33fe9))
12 |
13 |
14 |
15 |
16 | ## [2.1.4](https://github.com/chabou/hyper-pane/compare/v2.1.3...v2.1.4) (2019-01-27)
17 |
18 |
19 | ### Bug Fixes
20 |
21 | * **maximize:** fix invisible data in other panes ([7f0c766](https://github.com/chabou/hyper-pane/commit/7f0c766)), closes [#41](https://github.com/chabou/hyper-pane/issues/41)
22 |
23 |
24 |
25 |
26 | ## [2.1.3](https://github.com/chabou/hyper-pane/compare/v2.1.2...v2.1.3) (2018-06-03)
27 |
28 |
29 | ### Bug Fixes
30 |
31 | * onDecorated chain was broken ([#28](https://github.com/chabou/hyper-pane/issues/28)) ([f9c5387](https://github.com/chabou/hyper-pane/commit/f9c5387))
32 |
33 |
34 |
35 |
36 | ## [2.1.2](https://github.com/chabou/hyper-pane/compare/v2.1.1...v2.1.2) (2018-05-23)
37 |
38 |
39 | ### Bug Fixes
40 |
41 | * **maximize:** fix unmaximize regression ([b0de17f](https://github.com/chabou/hyper-pane/commit/b0de17f))
42 |
43 |
44 |
45 |
46 | ## [2.1.1](https://github.com/chabou/hyper-pane/compare/v2.1.0...v2.1.1) (2018-05-23)
47 |
48 |
49 | ### Bug Fixes
50 |
51 | * prevent maximize if there is only one pane ([965bb3b](https://github.com/chabou/hyper-pane/commit/965bb3b)), closes [#27](https://github.com/chabou/hyper-pane/issues/27)
52 |
53 |
54 |
55 |
56 | # [2.1.0](https://github.com/chabou/hyper-pane/compare/v2.0.0...v2.1.0) (2018-04-24)
57 |
58 |
59 | ### Features
60 |
61 | * dim inactive panes ([75aba86](https://github.com/chabou/hyper-pane/commit/75aba86)), closes [#24](https://github.com/chabou/hyper-pane/issues/24)
62 |
63 |
64 |
65 |
66 | ## [1.3.4](https://github.com/chabou/hyper-pane/compare/v1.3.3...v1.3.4) (2018-03-08)
67 |
68 |
69 |
70 | # Change Log
71 |
72 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
73 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 CHaBou
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # hyper-pane
2 | [](https://circleci.com/gh/chabou/hyper-pane)
3 | [](https://www.npmjs.com/package/hyper-pane)
4 | 
5 | [](https://conventionalcommits.org)
6 |
7 | Extension for Hyper.app to enhance pane navigation. Navigate through panes with arrows, jump directly to a specific pane with digit, change focus on mouse hover or temporarily maximize a pane.
8 |
9 | Navigation with arrows:
10 | 
11 |
12 |
13 | Maximize pane:
14 | 
15 |
16 | Inspired by https://github.com/iamstarkov/hyper-panes-iterm2-hotkeys
17 |
18 | ## Install
19 |
20 | To install, execute:
21 | ```
22 | hyper i hyper-pane
23 | ```
24 |
25 | Or edit `~/.hyper.js` manually and add `"hyper-pane"` to `plugins`:
26 |
27 | ```
28 | plugins: [
29 | "hyper-pane",
30 | ],
31 | ```
32 |
33 | ## Configuration
34 |
35 | ### Default configuration:
36 | ``` js
37 | module.exports = {
38 | config: {
39 | // other configs...
40 | paneNavigation: {
41 | debug: false,
42 | hotkeys: {
43 | navigation: {
44 | up: 'ctrl+alt+up',
45 | down: 'ctrl+alt+down',
46 | left: 'ctrl+alt+left',
47 | right: 'ctrl+alt+right'
48 | },
49 | jump_prefix: 'ctrl+alt', // completed with 1-9 digits
50 | permutation_modifier: 'shift', // Added to jump and navigation hotkeys for pane permutation
51 | maximize: 'meta+enter'
52 | },
53 | showIndicators: true, // Show pane number
54 | indicatorPrefix: '^⌥', // Will be completed with pane number
55 | indicatorStyle: { // Added to indicator
56 | position: 'absolute',
57 | top: 0,
58 | left: 0,
59 | fontSize: '10px'
60 | },
61 | focusOnMouseHover: false,
62 | inactivePaneOpacity: 0.6 // Set to 1 to disable inactive panes dimming
63 | }
64 | }
65 | //...
66 | };
67 | ```
68 | ### Supported keys
69 | For modifier keys you can use `shift`, `ctrl`, `alt`, or `meta`. You can substitute `option` for `alt` and `command` for `meta`.
70 |
71 | Other special keys are `backspace`, `tab`, `enter`, `return`, `capslock`, `esc`, `escape`, `space`, `pageup`, `pagedown`, `end`, `home`, `left`, `up`, `right`, `down`, `ins`, `del`, and `plus`.
72 |
73 | Any other key you should be able to reference by name like `a`, `/`, `$`, `*`, or `=`.
74 |
75 | **⚠ Warning**: Use `ctrl+alt` or `cmd+alt` modifier only with arrow and digit key. Otherwise, shortcut will not be detected by Hyper.
76 |
77 | ## Usage
78 | ### Navigation with arrows
79 |
80 | Use `ctrl+alt+` (or your configured hotkeys) to navigate to a neighbor pane.
81 |
82 | ### Jump with digit
83 |
84 | Use `ctrl+alt+<1-9>` (or your configured hotkeys) to jump directly to a numbered pane.
85 | Panes are ordered "first child descendent" and `9` is reserved to the last pane.
86 |
87 | Hotkey indicators are displayed on top left corner of each pane from 2 panes opened.
88 | You can change its content, its style or hide them completly.
89 |
90 | ### Pane permutation
91 |
92 | Adding `shift` key (or your configured key) to previous hotkeys cause a pane switching.
93 |
94 | ### Focus on mouse hover
95 |
96 | Set `config.paneNavigation.focusOnMouseHover` to `true` and focus will change when mouse cursor enters into an another pane.
97 |
98 | ### Maximize a pane
99 |
100 | You can temporarily maximize pane with `meta+enter` (or your configured key) and restore it with the same key.
101 | You can have one maximized pane per tab.
102 |
103 | ### Dim inactive panes
104 |
105 | By default, inactive panes are dimmed (opacity: 0.6).
106 | You can disable this by setting `inactivePaneOpacity` to `1`.
107 |
108 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const merge = require('lodash.merge');
2 |
3 | const defaultConfig = {
4 | debug: false,
5 | hotkeys: {
6 | navigation: {
7 | up: 'ctrl+alt+up',
8 | down: 'ctrl+alt+down',
9 | left: 'ctrl+alt+left',
10 | right: 'ctrl+alt+right'
11 | },
12 | jump_prefix: 'ctrl+alt',
13 | permutation_modifier: 'shift',
14 | maximize: 'cmd+enter'
15 | },
16 | showIndicators: true,
17 | indicatorPrefix: '^⌥',
18 | indicatorStyle: {
19 | position: 'absolute',
20 | top: 0,
21 | left: 0,
22 | fontSize: '10px'
23 | },
24 | focusOnMouseHover: false,
25 | inactivePaneOpacity: 0.8
26 | };
27 |
28 | let config = defaultConfig;
29 |
30 | const debug = function() {
31 | if (config.debug) {
32 | [].unshift.call(arguments, '|HYPER-PANE|');
33 | //eslint-disable-next-line no-console
34 | console.log.apply(this, arguments);
35 | }
36 | };
37 |
38 | /**
39 | * Duplicate Hyper code
40 | */
41 |
42 | const SESSION_SET_ACTIVE = 'SESSION_SET_ACTIVE';
43 | const SESSION_ADD = 'SESSION_ADD';
44 | const TERM_GROUP_RESIZE = 'TERM_GROUP_RESIZE';
45 | const TERM_GROUP_EXIT = 'TERM_GROUP_EXIT';
46 | const DIRECTION = {
47 | HORIZONTAL: 'HORIZONTAL',
48 | VERTICAL: 'VERTICAL'
49 | };
50 |
51 | function getRootGroups(termGroups) {
52 | return Object.keys(termGroups)
53 | .map(uid => termGroups[uid])
54 | .filter(({parentUid}) => !parentUid);
55 | }
56 |
57 | // Find all sessions that are below the given
58 | // termGroup uid in the hierarchy:
59 | function findChildSessions(termGroups, uid) {
60 | const group = termGroups[uid];
61 | if (group.sessionUid) {
62 | return [uid];
63 | }
64 |
65 | return group.children.reduce((total, childUid) => total.concat(findChildSessions(termGroups, childUid)), []);
66 | }
67 |
68 | const setActiveSession = (uid, focusPoint) => {
69 | return dispatch => {
70 | dispatch({
71 | type: SESSION_SET_ACTIVE,
72 | uid,
73 | focusPoint
74 | });
75 | };
76 | };
77 |
78 | function findBySession(termGroupState, sessionUid) {
79 | const {termGroups} = termGroupState;
80 | return Object.keys(termGroups)
81 | .map(uid => termGroups[uid])
82 | .find(group => group.sessionUid === sessionUid);
83 | }
84 |
85 | /**
86 | * Plugin Code
87 | */
88 | // Action types
89 | const UI_MOVE_TO_PANE = 'UI_MOVE_TO_PANE';
90 | const UI_MOVE_UP_PANE = 'UI_MOVE_UP_PANE';
91 | const UI_MOVE_DOWN_PANE = 'UI_MOVE_DOWN_PANE';
92 | const UI_MOVE_LEFT_PANE = 'UI_MOVE_LEFT_PANE';
93 | const UI_MOVE_RIGHT_PANE = 'UI_MOVE_RIGHT_PANE';
94 | const UI_SWITCH_SESSIONS = 'UI_SWITCH_SESSIONS';
95 |
96 | const navigationActionMap = {
97 | up: UI_MOVE_UP_PANE,
98 | down: UI_MOVE_DOWN_PANE,
99 | left: UI_MOVE_LEFT_PANE,
100 | right: UI_MOVE_RIGHT_PANE
101 | };
102 |
103 | // Others
104 | const ROOT_FRAME = {
105 | x: 0,
106 | y: 0,
107 | w: 1,
108 | h: 1
109 | };
110 |
111 | const hiddenTerms = {};
112 |
113 | // For each rootGroup, it sorts its children
114 | function getSortedSessionGroups(termGroups) {
115 | return getRootGroups(termGroups).reduce(
116 | (result, {uid}) => Object.assign(result, {[uid]: findChildSessions(termGroups, uid)}),
117 | {}
118 | );
119 | }
120 |
121 | const onMoveToPane = dispatch => (index, doSwitch) => {
122 | dispatch((dispatch_, getState) => {
123 | dispatch_({
124 | type: UI_MOVE_TO_PANE,
125 | index,
126 | effect() {
127 | const {sessions, termGroups} = getState();
128 | const rootGroupUid = termGroups.activeRootGroup;
129 | const sortedSessionGroups = findChildSessions(termGroups.termGroups, rootGroupUid);
130 | const uid =
131 | index > sortedSessionGroups.length
132 | ? null
133 | : index === 9 ? sortedSessionGroups[sortedSessionGroups.length - 1] : sortedSessionGroups[index - 1];
134 | if (uid === null) {
135 | debug('ignoring inexistent index', index);
136 | return;
137 | }
138 | const nextSessionUid = termGroups.termGroups[uid].sessionUid;
139 | if (sessions.activeUid === nextSessionUid) {
140 | debug('ignoring same uid');
141 | } else {
142 | if (doSwitch) {
143 | const activeSessionUid = sessions.activeUid;
144 | dispatch_({
145 | type: UI_SWITCH_SESSIONS,
146 | from: activeSessionUid,
147 | to: nextSessionUid
148 | });
149 | } else {
150 | dispatch_(setActiveSession(nextSessionUid));
151 | }
152 | }
153 | }
154 | });
155 | });
156 | };
157 |
158 | const onMoveToDirectionPane = dispatch => (type, doSwitch) => {
159 | dispatch((dispatch_, getState) => {
160 | dispatch_({
161 | type,
162 | effect() {
163 | const {sessions, termGroups, ui} = getState();
164 | const termGroup = findBySession(termGroups, sessions.activeUid);
165 | debug('Move Pane', type, termGroup.uid);
166 | const focusPoint =
167 | ui.paneNavigation && ui.paneNavigation.focusPoint
168 | ? ui.paneNavigation.focusPoint.asMutable()
169 | : {
170 | x: termGroup.frame.x + termGroup.frame.w / 2,
171 | y: termGroup.frame.y + termGroup.frame.h / 2
172 | };
173 |
174 | const isHorzontal = type === UI_MOVE_RIGHT_PANE || type === UI_MOVE_LEFT_PANE;
175 | const coord = isHorzontal ? 'x' : 'y';
176 | const dimension = isHorzontal ? 'w' : 'h';
177 | const focusPointCoord = isHorzontal ? 'y' : 'x';
178 | const focusPointDimension = isHorzontal ? 'h' : 'w';
179 | const invert = type === UI_MOVE_LEFT_PANE || type === UI_MOVE_UP_PANE;
180 |
181 | const rootGroupUid = termGroups.activeRootGroup;
182 | const sortedSessionGroups = findChildSessions(termGroups.termGroups, rootGroupUid);
183 | const nextTermGroup = sortedSessionGroups.map(uid => termGroups.termGroups[uid]).find(candidate => {
184 | if (!candidate.sessionUid) {
185 | return false;
186 | }
187 | //debug('Testing candidate', candidate);
188 | const first = invert ? candidate : termGroup;
189 | const second = invert ? termGroup : candidate;
190 | //debug(first.frame[coord], '+', first.frame[dimension], '-', second.frame[coord]);
191 | return (
192 | first.frame[coord] + first.frame[dimension] - second.frame[coord] < Number.EPSILON &&
193 | first.frame[coord] + first.frame[dimension] - second.frame[coord] > -Number.EPSILON &&
194 | focusPoint[focusPointCoord] >= candidate.frame[focusPointCoord] &&
195 | focusPoint[focusPointCoord] <= candidate.frame[focusPointCoord] + candidate.frame[focusPointDimension]
196 | );
197 | });
198 |
199 | debug('nextTermGroup', nextTermGroup);
200 | if (nextTermGroup) {
201 | if (doSwitch) {
202 | const activeSessionUid = sessions.activeUid;
203 | dispatch_({
204 | type: UI_SWITCH_SESSIONS,
205 | from: activeSessionUid,
206 | to: nextTermGroup.sessionUid
207 | });
208 | } else {
209 | focusPoint[coord] = nextTermGroup.frame[coord] + nextTermGroup.frame[dimension] / 2;
210 | // If next Pane border is included in current pane border, we can move opposite focusPoint coord accordly
211 | if (
212 | nextTermGroup.frame[focusPointCoord] > termGroup.frame[focusPointCoord] &&
213 | nextTermGroup.frame[focusPointDimension] < termGroup.frame[focusPointDimension]
214 | ) {
215 | focusPoint[focusPointCoord] =
216 | nextTermGroup.frame[focusPointCoord] + nextTermGroup.frame[focusPointDimension] / 2;
217 | }
218 | dispatch_(setActiveSession(nextTermGroup.sessionUid, focusPoint));
219 | }
220 | }
221 | }
222 | });
223 | });
224 | };
225 |
226 | const updateChildrenFrames = (state, groupUid) => {
227 | debug('updateChildrenFrames: call on', groupUid);
228 | if (!groupUid) {
229 | debug('WARNING: undefined groupUid');
230 | return state;
231 | }
232 | const group = state.termGroups[groupUid];
233 | if (!group) {
234 | debug('WARNING: undefined group for groupUid', groupUid);
235 | return state;
236 | }
237 |
238 | if (group.sessionUid && group.parentUid) {
239 | debug('updateChildrenFrames: sessionUid found, skipping', group.sessionUid);
240 | return state;
241 | }
242 | if (group.children.length === 0) {
243 | debug('updateChildrenFrames: no children found, skipping', group.sessionUid);
244 | if (!group.parentUid) {
245 | state = state.setIn(['termGroups', group.uid, 'frame'], ROOT_FRAME);
246 | }
247 | return state;
248 | }
249 | const originProp = group.direction === DIRECTION.HORIZONTAL ? 'y' : 'x';
250 | const sizeProp = group.direction === DIRECTION.HORIZONTAL ? 'h' : 'w';
251 |
252 | let currentOrigin = group.frame[originProp];
253 | for (let i = 0; i < group.children.length; i++) {
254 | debug('dealing child', group.children[i]);
255 | const child = state.termGroups[group.children[i]];
256 | const size = group.frame[sizeProp] * (group.sizes ? group.sizes[i] : 1 / group.children.length);
257 | debug('Setting frame for', child, currentOrigin, size);
258 | const frame = group.frame.asMutable();
259 | frame[originProp] = currentOrigin;
260 | frame[sizeProp] = size;
261 |
262 | state = state.setIn(['termGroups', child.uid, 'frame'], frame);
263 |
264 | state = updateChildrenFrames(state, child.uid);
265 |
266 | currentOrigin += size;
267 | }
268 |
269 | return state;
270 | };
271 |
272 | const onMaximizePane = dispatch => () => {
273 | debug('onMaximizePane');
274 | dispatch((dispatch_, getState) => {
275 | const {sessions, termGroups} = getState();
276 | const termGroup = findBySession(termGroups, sessions.activeUid);
277 | if (!termGroup) {
278 | debug('No termGroup found for active Session');
279 | return;
280 | }
281 | dispatch_({
282 | type: 'UI_MAXIMIZE_PANE',
283 | uid: termGroup.uid
284 | });
285 | });
286 | };
287 |
288 | /**
289 | * Plugin bindings
290 | */
291 |
292 | exports.decorateConfig = mainConfig => {
293 | if (mainConfig.paneNavigation) {
294 | config = merge(JSON.parse(JSON.stringify(defaultConfig)), mainConfig.paneNavigation);
295 | }
296 | if (config.inactivePaneOpacity < 1) {
297 | mainConfig.css += `
298 | .term_fit:not(.term_term):not(.term_wrapper):not(.term_active) {
299 | opacity: ${config.inactivePaneOpacity};
300 | }
301 | .term_fit.term_active {
302 | opacity: 1;
303 | transition: opacity 0.06s ease-in-out;
304 | will-change: opacity;
305 | }
306 | `;
307 | }
308 | debug('Decorated config', mainConfig);
309 | return mainConfig;
310 | };
311 |
312 | exports.middleware = store => next => action => {
313 | switch (action.type) {
314 | case 'CONFIG_LOAD':
315 | case 'CONFIG_RELOAD':
316 | if (action.config.paneNavigation) {
317 | config = merge(JSON.parse(JSON.stringify(defaultConfig)), action.config.paneNavigation);
318 | }
319 | break;
320 | case 'SESSION_ADD':
321 | {
322 | const {termGroups} = store.getState();
323 | if (termGroups.maximizeSave && termGroups.maximizeSave[termGroups.activeRootGroup]) {
324 | // Current Pane is maximized, restore it before adding a potential split
325 | store.dispatch({
326 | type: 'UI_MAXIMIZE_PANE',
327 | uid: termGroups.activeRootGroup
328 | });
329 | }
330 | }
331 | break;
332 | case 'SESSION_PTY_DATA': {
333 | // Hyper doesn't send data if Term is unmounted
334 | const term = hiddenTerms[action.uid];
335 | if (term) {
336 | term.write(action.data);
337 | }
338 | break;
339 | }
340 | }
341 | return next(action);
342 | };
343 |
344 | exports.reduceTermGroups = (state, action) => {
345 | switch (action.type) {
346 | case 'UI_MAXIMIZE_PANE':
347 | {
348 | if (!state.maximizeSave || !state.maximizeSave[action.uid]) {
349 | // Maximize
350 | debug('Maximizing', action.uid);
351 | const {parentUid, sessionUid} = state.termGroups[action.uid];
352 | if (!parentUid) {
353 | debug('No parent for this session, maximize discarded');
354 | break;
355 | }
356 | state = state.setIn(['maximizeSave', action.uid], {
357 | activeRootGroup: state.activeRootGroup,
358 | parentUid,
359 | sessionUid
360 | });
361 | state = state.setIn(['termGroups', action.uid, 'parentUid'], null);
362 | state = state.setIn(['termGroups', state.activeRootGroup, 'parentUid'], 'fakeParent'); // fake parentUid to prevent getRootGroups selector to include it
363 | state = state.setIn(['activeSessions', action.uid], sessionUid);
364 | state = state.set('activeSessions', state.activeSessions.without(state.activeRootGroup));
365 | state = state.set('activeRootGroup', action.uid);
366 | } else {
367 | // Restore
368 | debug('Restoring', action.uid);
369 | const {activeRootGroup, parentUid, sessionUid} = state.maximizeSave[action.uid];
370 | state = state.setIn(['termGroups', action.uid, 'parentUid'], parentUid);
371 | state = state.setIn(['termGroups', activeRootGroup, 'parentUid'], null);
372 | state = state.setIn(['activeSessions', activeRootGroup], sessionUid);
373 | state = state.set('activeSessions', state.activeSessions.without(action.uid));
374 | state = state.set('activeRootGroup', activeRootGroup);
375 | state = state.set('maximizeSave', state.maximizeSave.without(action.uid));
376 | }
377 | }
378 | break;
379 | case 'UI_SWITCH_SESSIONS': {
380 | const fromTermGroupUid = findBySession(state, action.from).uid;
381 | const toTermGroupUid = findBySession(state, action.to).uid;
382 | if (!fromTermGroupUid || !toTermGroupUid) {
383 | return state;
384 | }
385 | debug('Switching sessions for termGroups', fromTermGroupUid, toTermGroupUid);
386 | state = state
387 | .setIn(['termGroups', fromTermGroupUid, 'sessionUid'], action.to)
388 | .setIn(['termGroups', toTermGroupUid, 'sessionUid'], action.from);
389 | break;
390 | }
391 | case SESSION_ADD:
392 | if (!state.activeRootGroup) {
393 | break;
394 | }
395 | state = updateChildrenFrames(state, state.activeRootGroup);
396 | break;
397 | case TERM_GROUP_RESIZE:
398 | case TERM_GROUP_EXIT: {
399 | if (!state.activeRootGroup) {
400 | break;
401 | }
402 | let rootGroupUid = state.activeRootGroup;
403 | if (!state.termGroups[rootGroupUid]) {
404 | // This should not happen but it's a protection: See https://github.com/chabou/hyper-pane/issues/3
405 | rootGroupUid = state.activeTermGroup;
406 | }
407 | state = updateChildrenFrames(state, rootGroupUid);
408 | break;
409 | }
410 | }
411 |
412 | return state;
413 | };
414 |
415 | exports.reduceUI = (state, action) => {
416 | switch (action.type) {
417 | case SESSION_SET_ACTIVE:
418 | state = state.setIn(['paneNavigation', 'focusPoint'], action.focusPoint);
419 | break;
420 | }
421 | return state;
422 | };
423 |
424 | exports.mapTermsState = (state, map) => {
425 | const sortedSessionGroups = getSortedSessionGroups(state.termGroups.termGroups);
426 | const maximizedTermGroups = state.termGroups.maximizeSave;
427 | return Object.assign({}, map, {sortedSessionGroups, maximizedTermGroups});
428 | };
429 |
430 | exports.getTermGroupProps = (uid, parentProps, props) => {
431 | const {sortedSessionGroups, activeRootGroup, maximizedTermGroups} = parentProps;
432 | if (sortedSessionGroups[activeRootGroup]) {
433 | props = Object.assign(props, {
434 | sortedSessionGroups: sortedSessionGroups[activeRootGroup]
435 | });
436 | }
437 | props = Object.assign(props, {
438 | isMaximized: !!(maximizedTermGroups && maximizedTermGroups[uid])
439 | });
440 | return props;
441 | };
442 |
443 | exports.getTermProps = (uid, parentProps, props) => {
444 | const {termGroup, sortedSessionGroups, isMaximized} = parentProps;
445 | if (!sortedSessionGroups) {
446 | return props;
447 | }
448 | const index = sortedSessionGroups.indexOf(termGroup.uid);
449 | // Only 1-9 keys are used and if there is more than 9 terms, number 9 is reserved to the last term
450 | let termShorcutNum = 0;
451 | if (sortedSessionGroups.length === 1) {
452 | termShorcutNum = 0;
453 | } else if (index < 8) {
454 | termShorcutNum = index + 1;
455 | } else if (index === sortedSessionGroups.length - 1) {
456 | termShorcutNum = 9;
457 | }
458 |
459 | //debug('Setting Shortcutnum', termShorcutNum, 'to Term', uid);
460 | return Object.assign({}, props, {termShorcutNum, isMaximized});
461 | };
462 |
463 | exports.mapTermsDispatch = (dispatch, map) => {
464 | map.onMoveToPane = onMoveToPane(dispatch);
465 | //map.onSwitchWithActiveSession = onSwitchWithActiveSession(dispatch);
466 | map.onMoveToDirectionPane = onMoveToDirectionPane(dispatch);
467 | map.onMaximizePane = onMaximizePane(dispatch);
468 | return map;
469 | };
470 |
471 | exports.decorateKeymaps = keymaps => {
472 | const keys = {};
473 | const jump_prefix = config.hotkeys.jump_prefix ? config.hotkeys.jump_prefix.toLowerCase() : '';
474 | const permutation_modifier = config.hotkeys.permutation_modifier
475 | ? config.hotkeys.permutation_modifier.toLowerCase()
476 | : '';
477 | let shortcut;
478 | let name;
479 |
480 | if (jump_prefix && jump_prefix.length) {
481 | ['1', '2', '3', '4', '5', '6', '7', '8', '9'].forEach(num => {
482 | shortcut = `${jump_prefix}+${num}`;
483 | name = `pane:move_${num}`;
484 | keys[name] = shortcut;
485 | if (permutation_modifier && permutation_modifier.length) {
486 | shortcut = `${permutation_modifier}+${shortcut}`;
487 | name = `pane:switch_${num}`;
488 | keys[name] = shortcut;
489 | }
490 | });
491 | }
492 |
493 | Object.keys(config.hotkeys.navigation).forEach(direction => {
494 | const key = config.hotkeys.navigation[direction].toLowerCase();
495 | const actionType = navigationActionMap[direction];
496 |
497 | if (key && key.length && actionType && actionType.length) {
498 | shortcut = key;
499 | name = `pane:move_${direction}`;
500 | keys[name] = shortcut;
501 | if (permutation_modifier && permutation_modifier.length) {
502 | shortcut = `${permutation_modifier}+${key}`;
503 | name = `pane:switch_${direction}`;
504 | keys[name] = shortcut;
505 | }
506 | }
507 | });
508 |
509 | const maximize = config.hotkeys.maximize ? config.hotkeys.maximize.toLowerCase() : '';
510 | if (maximize.length) {
511 | shortcut = maximize;
512 | name = 'pane:maximize';
513 | keys[name] = shortcut;
514 | }
515 |
516 | debug('Extend keymaps with', keys);
517 | return Object.assign({}, keymaps, keys);
518 | };
519 |
520 | exports.decorateTerms = (Terms, {React}) => {
521 | return class extends React.Component {
522 | constructor(props, context) {
523 | super(props, context);
524 | this.handleFocusActive = this.handleFocusActive.bind(this);
525 | this.onDecorated = this.onDecorated.bind(this);
526 | }
527 |
528 | handleFocusActive() {
529 | if (!this.terms.getActiveTerm) {
530 | return;
531 | }
532 | const term = this.terms.getActiveTerm();
533 | if (term) {
534 | term.focus();
535 | }
536 | }
537 |
538 | generateCommands() {
539 | let name;
540 | let handler;
541 | let commands = ['1', '2', '3', '4', '5', '6', '7', '8', '9'].reduce((commands_, num) => {
542 | name = `pane:move_${num}`;
543 | handler = e => {
544 | this.props.onMoveToPane(num);
545 | e.preventDefault();
546 | };
547 | commands_[name] = handler;
548 |
549 | name = `pane:switch_${num}`;
550 | handler = e => {
551 | this.props.onMoveToPane(num, true);
552 | e.preventDefault();
553 | };
554 | commands_[name] = handler;
555 |
556 | return commands_;
557 | }, {});
558 |
559 | commands = Object.keys(navigationActionMap).reduce((commands_, direction) => {
560 | const actionType = navigationActionMap[direction];
561 | name = `pane:move_${direction}`;
562 | handler = e => {
563 | this.props.onMoveToDirectionPane(actionType);
564 | e.preventDefault();
565 | };
566 | commands_[name] = handler;
567 |
568 | name = `pane:switch_${direction}`;
569 | handler = e => {
570 | this.props.onMoveToDirectionPane(actionType, true);
571 | e.preventDefault();
572 | };
573 | commands_[name] = handler;
574 |
575 | return commands_;
576 | }, commands);
577 |
578 | name = 'pane:maximize';
579 | handler = e => {
580 | this.props.onMaximizePane();
581 | this.handleFocusActive();
582 | e.preventDefault();
583 | };
584 | commands[name] = handler;
585 |
586 | return commands;
587 | }
588 |
589 | onDecorated(terms) {
590 | debug('onDecorated', terms);
591 | this.terms = terms;
592 | if (this.props.onDecorated) {
593 | this.props.onDecorated(terms);
594 | }
595 | if (this.terms) {
596 | this.terms.registerCommands(this.generateCommands());
597 | }
598 | }
599 |
600 | render() {
601 | return React.createElement(
602 | Terms,
603 | Object.assign({}, this.props, {
604 | onDecorated: this.onDecorated
605 | })
606 | );
607 | }
608 | };
609 | };
610 |
611 | exports.decorateTerm = (Term, {React}) => {
612 | return class extends React.Component {
613 | constructor(props, context) {
614 | super(props, context);
615 | this.onDecorated = this.onDecorated.bind(this);
616 | this.onMouseEnter = this.onMouseEnter.bind(this);
617 | }
618 |
619 | onMouseEnter() {
620 | debug('Mouse is hover Term', this.term);
621 | if (config.focusOnMouseHover && !this.term.props.isTermActive) {
622 | this.term.props.onActive(this.term.props.uid);
623 | }
624 | }
625 |
626 | onDecorated(term) {
627 | debug('Keep term ref');
628 | this.term = term;
629 | if (this.term && this.term.termRef) {
630 | this.term.termRef.onmouseenter = this.onMouseEnter;
631 | } else if (this.term && this.term.getTermDocument) {
632 | // Backward compatibility
633 | const doc = this.term.getTermDocument();
634 | if (doc && doc.body) {
635 | doc.body.onmouseenter = this.onMouseEnter;
636 | }
637 | }
638 | if (this.props.onDecorated) {
639 | this.props.onDecorated(term);
640 | }
641 | }
642 |
643 | componentWillUnmount() {
644 | // Keep reference to hidden terms to write PTY data.
645 | // Hyper doesn't send them if Term is unmounted
646 | hiddenTerms[this.props.uid] = this.term.term;
647 | }
648 | componentDidMount() {
649 | hiddenTerms[this.props.uid] = null;
650 | }
651 |
652 | render() {
653 | const props = {
654 | onDecorated: this.onDecorated
655 | };
656 |
657 | //return toto.titi;
658 | let indicator;
659 | if (config.showIndicators) {
660 | if (this.props.isMaximized) {
661 | indicator = '🗖';
662 | } else if (this.props.termShorcutNum > 0) {
663 | indicator = config.indicatorPrefix + this.props.termShorcutNum;
664 | }
665 | }
666 |
667 | if (!indicator) {
668 | return React.createElement(Term, Object.assign({}, this.props, props));
669 | }
670 | const myCustomChildrenBefore = React.createElement(
671 | 'div',
672 | {
673 | key: 'pane',
674 | style: config.indicatorStyle
675 | },
676 | indicator
677 | );
678 | const customChildrenBefore = this.props.customChildrenBefore
679 | ? Array(this.props.customChildrenBefore).concat(myCustomChildrenBefore)
680 | : myCustomChildrenBefore;
681 | props.customChildrenBefore = customChildrenBefore;
682 | return React.createElement(Term, Object.assign({}, this.props, props));
683 | }
684 | };
685 | };
686 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hyper-pane",
3 | "version": "2.1.5",
4 | "description": "Extension for Hyper.app to enhance pane navigation. Navigate through panes with arrows, jump directly to a specific pane with digit, change focus on mouse hover or temporarily maximize a pane.",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "eslint .",
8 | "release": "yarn run test && standard-version"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "git+https://github.com/chabou/hyper-pane.git"
13 | },
14 | "keywords": [
15 | "hyper",
16 | "hyper-plugin",
17 | "hyper.app",
18 | "hyperterm",
19 | "pane",
20 | "navigation",
21 | "plugin"
22 | ],
23 | "plugin": {
24 | "preview": "https://cloud.githubusercontent.com/assets/4137761/22717106/844a9c5c-ed99-11e6-8e88-8c71a8cbbd5a.gif"
25 | },
26 | "author": "CHaBou",
27 | "license": "MIT",
28 | "bugs": {
29 | "url": "https://github.com/chabou/hyper-pane/issues"
30 | },
31 | "homepage": "https://github.com/chabou/hyper-pane#readme",
32 | "eslintConfig": {
33 | "plugins": [
34 | "react",
35 | "prettier"
36 | ],
37 | "extends": [
38 | "eslint:recommended",
39 | "plugin:react/recommended",
40 | "prettier"
41 | ],
42 | "parserOptions": {
43 | "ecmaVersion": 8,
44 | "sourceType": "module",
45 | "ecmaFeatures": {
46 | "jsx": true,
47 | "impliedStrict": true,
48 | "experimentalObjectRestSpread": true
49 | },
50 | "allowImportExportEverywhere": true
51 | },
52 | "env": {
53 | "es6": true,
54 | "browser": true,
55 | "node": true
56 | },
57 | "rules": {
58 | "func-names": [
59 | "error",
60 | "as-needed"
61 | ],
62 | "no-shadow": "error",
63 | "no-extra-semi": 0,
64 | "react/prop-types": 0,
65 | "react/react-in-jsx-scope": 0,
66 | "react/no-unescaped-entities": 0,
67 | "react/jsx-no-target-blank": 0,
68 | "react/no-string-refs": 0,
69 | "prettier/prettier": [
70 | "error",
71 | {
72 | "printWidth": 120,
73 | "tabWidth": 2,
74 | "singleQuote": true,
75 | "trailingComma": "none",
76 | "bracketSpacing": false,
77 | "semi": true,
78 | "useTabs": false,
79 | "parser": "babylon",
80 | "jsxBracketSameLine": false
81 | }
82 | ]
83 | }
84 | },
85 | "dependencies": {
86 | "lodash.merge": "^4.6.0"
87 | },
88 | "devDependencies": {
89 | "eslint": "4.18.2",
90 | "eslint-config-prettier": "2.7.0",
91 | "eslint-plugin-prettier": "2.3.1",
92 | "eslint-plugin-react": "7.4.0",
93 | "prettier": "1.7.4",
94 | "standard-version": "4.3.0"
95 | }
96 | }
97 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | JSONStream@^1.0.4:
6 | version "1.3.2"
7 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea"
8 | dependencies:
9 | jsonparse "^1.2.0"
10 | through ">=2.2.7 <3"
11 |
12 | acorn-jsx@^3.0.0:
13 | version "3.0.1"
14 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
15 | dependencies:
16 | acorn "^3.0.4"
17 |
18 | acorn@^3.0.4:
19 | version "3.3.0"
20 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
21 |
22 | acorn@^5.5.0:
23 | version "5.7.3"
24 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
25 |
26 | ajv-keywords@^2.1.0:
27 | version "2.1.1"
28 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
29 |
30 | ajv@^5.2.3, ajv@^5.3.0:
31 | version "5.5.2"
32 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
33 | dependencies:
34 | co "^4.6.0"
35 | fast-deep-equal "^1.0.0"
36 | fast-json-stable-stringify "^2.0.0"
37 | json-schema-traverse "^0.3.0"
38 |
39 | ansi-escapes@^3.0.0:
40 | version "3.0.0"
41 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
42 |
43 | ansi-regex@^2.0.0:
44 | version "2.1.1"
45 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
46 |
47 | ansi-regex@^3.0.0:
48 | version "3.0.0"
49 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
50 |
51 | ansi-styles@^2.2.1:
52 | version "2.2.1"
53 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
54 |
55 | ansi-styles@^3.1.0:
56 | version "3.2.0"
57 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
58 | dependencies:
59 | color-convert "^1.9.0"
60 |
61 | argparse@^1.0.7:
62 | version "1.0.10"
63 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
64 | dependencies:
65 | sprintf-js "~1.0.2"
66 |
67 | array-find-index@^1.0.1:
68 | version "1.0.2"
69 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
70 |
71 | array-ify@^1.0.0:
72 | version "1.0.0"
73 | resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
74 |
75 | array-includes@^3.0.3:
76 | version "3.0.3"
77 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
78 | dependencies:
79 | define-properties "^1.1.2"
80 | es-abstract "^1.7.0"
81 |
82 | array-union@^1.0.1:
83 | version "1.0.2"
84 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
85 | dependencies:
86 | array-uniq "^1.0.1"
87 |
88 | array-uniq@^1.0.1:
89 | version "1.0.3"
90 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
91 |
92 | arrify@^1.0.0, arrify@^1.0.1:
93 | version "1.0.1"
94 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
95 |
96 | asap@~2.0.3:
97 | version "2.0.6"
98 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
99 |
100 | babel-code-frame@^6.22.0:
101 | version "6.26.0"
102 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
103 | dependencies:
104 | chalk "^1.1.3"
105 | esutils "^2.0.2"
106 | js-tokens "^3.0.2"
107 |
108 | balanced-match@^1.0.0:
109 | version "1.0.0"
110 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
111 |
112 | brace-expansion@^1.1.7:
113 | version "1.1.8"
114 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
115 | dependencies:
116 | balanced-match "^1.0.0"
117 | concat-map "0.0.1"
118 |
119 | buffer-from@^1.0.0:
120 | version "1.0.0"
121 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
122 |
123 | builtin-modules@^1.0.0:
124 | version "1.1.1"
125 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
126 |
127 | caller-path@^0.1.0:
128 | version "0.1.0"
129 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
130 | dependencies:
131 | callsites "^0.2.0"
132 |
133 | callsites@^0.2.0:
134 | version "0.2.0"
135 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
136 |
137 | camelcase-keys@^2.0.0:
138 | version "2.1.0"
139 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
140 | dependencies:
141 | camelcase "^2.0.0"
142 | map-obj "^1.0.0"
143 |
144 | camelcase-keys@^4.0.0:
145 | version "4.2.0"
146 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
147 | dependencies:
148 | camelcase "^4.1.0"
149 | map-obj "^2.0.0"
150 | quick-lru "^1.0.0"
151 |
152 | camelcase@^2.0.0:
153 | version "2.1.1"
154 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
155 |
156 | camelcase@^4.1.0:
157 | version "4.1.0"
158 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
159 |
160 | chalk@^1.1.3:
161 | version "1.1.3"
162 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
163 | dependencies:
164 | ansi-styles "^2.2.1"
165 | escape-string-regexp "^1.0.2"
166 | has-ansi "^2.0.0"
167 | strip-ansi "^3.0.0"
168 | supports-color "^2.0.0"
169 |
170 | chalk@^2.0.0, chalk@^2.1.0:
171 | version "2.3.0"
172 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
173 | dependencies:
174 | ansi-styles "^3.1.0"
175 | escape-string-regexp "^1.0.5"
176 | supports-color "^4.0.0"
177 |
178 | circular-json@^0.3.1:
179 | version "0.3.3"
180 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
181 |
182 | cli-cursor@^2.1.0:
183 | version "2.1.0"
184 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
185 | dependencies:
186 | restore-cursor "^2.0.0"
187 |
188 | cli-width@^2.0.0:
189 | version "2.2.0"
190 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
191 |
192 | cliui@^3.2.0:
193 | version "3.2.0"
194 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
195 | dependencies:
196 | string-width "^1.0.1"
197 | strip-ansi "^3.0.1"
198 | wrap-ansi "^2.0.0"
199 |
200 | co@^4.6.0:
201 | version "4.6.0"
202 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
203 |
204 | code-point-at@^1.0.0:
205 | version "1.1.0"
206 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
207 |
208 | color-convert@^1.9.0:
209 | version "1.9.0"
210 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
211 | dependencies:
212 | color-name "^1.1.1"
213 |
214 | color-name@^1.1.1:
215 | version "1.1.3"
216 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
217 |
218 | commander@~2.20.0:
219 | version "2.20.0"
220 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
221 |
222 | compare-func@^1.3.1:
223 | version "1.3.2"
224 | resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648"
225 | dependencies:
226 | array-ify "^1.0.0"
227 | dot-prop "^3.0.0"
228 |
229 | concat-map@0.0.1:
230 | version "0.0.1"
231 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
232 |
233 | concat-stream@^1.4.10, concat-stream@^1.6.0:
234 | version "1.6.2"
235 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
236 | dependencies:
237 | buffer-from "^1.0.0"
238 | inherits "^2.0.3"
239 | readable-stream "^2.2.2"
240 | typedarray "^0.0.6"
241 |
242 | conventional-changelog-angular@^1.6.6:
243 | version "1.6.6"
244 | resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f"
245 | dependencies:
246 | compare-func "^1.3.1"
247 | q "^1.5.1"
248 |
249 | conventional-changelog-atom@^0.2.8:
250 | version "0.2.8"
251 | resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz#8037693455990e3256f297320a45fa47ee553a14"
252 | dependencies:
253 | q "^1.5.1"
254 |
255 | conventional-changelog-codemirror@^0.3.8:
256 | version "0.3.8"
257 | resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz#a1982c8291f4ee4d6f2f62817c6b2ecd2c4b7b47"
258 | dependencies:
259 | q "^1.5.1"
260 |
261 | conventional-changelog-core@^2.0.11:
262 | version "2.0.11"
263 | resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz#19b5fbd55a9697773ed6661f4e32030ed7e30287"
264 | dependencies:
265 | conventional-changelog-writer "^3.0.9"
266 | conventional-commits-parser "^2.1.7"
267 | dateformat "^3.0.0"
268 | get-pkg-repo "^1.0.0"
269 | git-raw-commits "^1.3.6"
270 | git-remote-origin-url "^2.0.0"
271 | git-semver-tags "^1.3.6"
272 | lodash "^4.2.1"
273 | normalize-package-data "^2.3.5"
274 | q "^1.5.1"
275 | read-pkg "^1.1.0"
276 | read-pkg-up "^1.0.1"
277 | through2 "^2.0.0"
278 |
279 | conventional-changelog-ember@^0.3.12:
280 | version "0.3.12"
281 | resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz#b7d31851756d0fcb49b031dffeb6afa93b202400"
282 | dependencies:
283 | q "^1.5.1"
284 |
285 | conventional-changelog-eslint@^1.0.9:
286 | version "1.0.9"
287 | resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz#b13cc7e4b472c819450ede031ff1a75c0e3d07d3"
288 | dependencies:
289 | q "^1.5.1"
290 |
291 | conventional-changelog-express@^0.3.6:
292 | version "0.3.6"
293 | resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz#4a6295cb11785059fb09202180d0e59c358b9c2c"
294 | dependencies:
295 | q "^1.5.1"
296 |
297 | conventional-changelog-jquery@^0.1.0:
298 | version "0.1.0"
299 | resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510"
300 | dependencies:
301 | q "^1.4.1"
302 |
303 | conventional-changelog-jscs@^0.1.0:
304 | version "0.1.0"
305 | resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c"
306 | dependencies:
307 | q "^1.4.1"
308 |
309 | conventional-changelog-jshint@^0.3.8:
310 | version "0.3.8"
311 | resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz#9051c1ac0767abaf62a31f74d2fe8790e8acc6c8"
312 | dependencies:
313 | compare-func "^1.3.1"
314 | q "^1.5.1"
315 |
316 | conventional-changelog-preset-loader@^1.1.8:
317 | version "1.1.8"
318 | resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz#40bb0f142cd27d16839ec6c74ee8db418099b373"
319 |
320 | conventional-changelog-writer@^3.0.9:
321 | version "3.0.9"
322 | resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz#4aecdfef33ff2a53bb0cf3b8071ce21f0e994634"
323 | dependencies:
324 | compare-func "^1.3.1"
325 | conventional-commits-filter "^1.1.6"
326 | dateformat "^3.0.0"
327 | handlebars "^4.0.2"
328 | json-stringify-safe "^5.0.1"
329 | lodash "^4.2.1"
330 | meow "^4.0.0"
331 | semver "^5.5.0"
332 | split "^1.0.0"
333 | through2 "^2.0.0"
334 |
335 | conventional-changelog@^1.1.0:
336 | version "1.1.24"
337 | resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.24.tgz#3d94c29c960f5261c002678315b756cdd3d7d1f0"
338 | dependencies:
339 | conventional-changelog-angular "^1.6.6"
340 | conventional-changelog-atom "^0.2.8"
341 | conventional-changelog-codemirror "^0.3.8"
342 | conventional-changelog-core "^2.0.11"
343 | conventional-changelog-ember "^0.3.12"
344 | conventional-changelog-eslint "^1.0.9"
345 | conventional-changelog-express "^0.3.6"
346 | conventional-changelog-jquery "^0.1.0"
347 | conventional-changelog-jscs "^0.1.0"
348 | conventional-changelog-jshint "^0.3.8"
349 | conventional-changelog-preset-loader "^1.1.8"
350 |
351 | conventional-commits-filter@^1.1.1, conventional-commits-filter@^1.1.6:
352 | version "1.1.6"
353 | resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831"
354 | dependencies:
355 | is-subset "^0.1.1"
356 | modify-values "^1.0.0"
357 |
358 | conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.7:
359 | version "2.1.7"
360 | resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e"
361 | dependencies:
362 | JSONStream "^1.0.4"
363 | is-text-path "^1.0.0"
364 | lodash "^4.2.1"
365 | meow "^4.0.0"
366 | split2 "^2.0.0"
367 | through2 "^2.0.0"
368 | trim-off-newlines "^1.0.0"
369 |
370 | conventional-recommended-bump@^1.0.0:
371 | version "1.2.1"
372 | resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz#1b7137efb5091f99fe009e2fe9ddb7cc490e9375"
373 | dependencies:
374 | concat-stream "^1.4.10"
375 | conventional-commits-filter "^1.1.1"
376 | conventional-commits-parser "^2.1.1"
377 | git-raw-commits "^1.3.0"
378 | git-semver-tags "^1.3.0"
379 | meow "^3.3.0"
380 | object-assign "^4.0.1"
381 |
382 | core-js@^1.0.0:
383 | version "1.2.7"
384 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
385 |
386 | core-util-is@~1.0.0:
387 | version "1.0.2"
388 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
389 |
390 | cross-spawn@^5.0.1, cross-spawn@^5.1.0:
391 | version "5.1.0"
392 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
393 | dependencies:
394 | lru-cache "^4.0.1"
395 | shebang-command "^1.2.0"
396 | which "^1.2.9"
397 |
398 | currently-unhandled@^0.4.1:
399 | version "0.4.1"
400 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
401 | dependencies:
402 | array-find-index "^1.0.1"
403 |
404 | dargs@^4.0.1:
405 | version "4.1.0"
406 | resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
407 | dependencies:
408 | number-is-nan "^1.0.0"
409 |
410 | dateformat@^3.0.0:
411 | version "3.0.3"
412 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
413 |
414 | debug@^3.1.0:
415 | version "3.2.6"
416 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
417 | dependencies:
418 | ms "^2.1.1"
419 |
420 | decamelize-keys@^1.0.0:
421 | version "1.1.0"
422 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
423 | dependencies:
424 | decamelize "^1.1.0"
425 | map-obj "^1.0.0"
426 |
427 | decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2:
428 | version "1.2.0"
429 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
430 |
431 | deep-is@~0.1.3:
432 | version "0.1.3"
433 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
434 |
435 | define-properties@^1.1.2:
436 | version "1.1.2"
437 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
438 | dependencies:
439 | foreach "^2.0.5"
440 | object-keys "^1.0.8"
441 |
442 | del@^2.0.2:
443 | version "2.2.2"
444 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
445 | dependencies:
446 | globby "^5.0.0"
447 | is-path-cwd "^1.0.0"
448 | is-path-in-cwd "^1.0.0"
449 | object-assign "^4.0.1"
450 | pify "^2.0.0"
451 | pinkie-promise "^2.0.0"
452 | rimraf "^2.2.8"
453 |
454 | doctrine@^2.0.0, doctrine@^2.1.0:
455 | version "2.1.0"
456 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
457 | dependencies:
458 | esutils "^2.0.2"
459 |
460 | dot-prop@^3.0.0:
461 | version "3.0.0"
462 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
463 | dependencies:
464 | is-obj "^1.0.0"
465 |
466 | dotgitignore@^1.0.3:
467 | version "1.0.3"
468 | resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-1.0.3.tgz#a442cbde7dc20dff51cdb849e4c5a64568c07923"
469 | dependencies:
470 | find-up "^2.1.0"
471 | minimatch "^3.0.4"
472 |
473 | encoding@^0.1.11:
474 | version "0.1.12"
475 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
476 | dependencies:
477 | iconv-lite "~0.4.13"
478 |
479 | error-ex@^1.2.0, error-ex@^1.3.1:
480 | version "1.3.1"
481 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
482 | dependencies:
483 | is-arrayish "^0.2.1"
484 |
485 | es-abstract@^1.7.0:
486 | version "1.9.0"
487 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227"
488 | dependencies:
489 | es-to-primitive "^1.1.1"
490 | function-bind "^1.1.1"
491 | has "^1.0.1"
492 | is-callable "^1.1.3"
493 | is-regex "^1.0.4"
494 |
495 | es-to-primitive@^1.1.1:
496 | version "1.1.1"
497 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
498 | dependencies:
499 | is-callable "^1.1.1"
500 | is-date-object "^1.0.1"
501 | is-symbol "^1.0.1"
502 |
503 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
504 | version "1.0.5"
505 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
506 |
507 | eslint-config-prettier@2.7.0:
508 | version "2.7.0"
509 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.7.0.tgz#7bbfef66ad783277836f4ea556e68b9bcc9da4d0"
510 | dependencies:
511 | get-stdin "^5.0.1"
512 |
513 | eslint-plugin-prettier@2.3.1:
514 | version "2.3.1"
515 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.3.1.tgz#e7a746c67e716f335274b88295a9ead9f544e44d"
516 | dependencies:
517 | fast-diff "^1.1.1"
518 | jest-docblock "^21.0.0"
519 |
520 | eslint-plugin-react@7.4.0:
521 | version "7.4.0"
522 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.4.0.tgz#300a95861b9729c087d362dd64abcc351a74364a"
523 | dependencies:
524 | doctrine "^2.0.0"
525 | has "^1.0.1"
526 | jsx-ast-utils "^2.0.0"
527 | prop-types "^15.5.10"
528 |
529 | eslint-scope@^3.7.1:
530 | version "3.7.1"
531 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
532 | dependencies:
533 | esrecurse "^4.1.0"
534 | estraverse "^4.1.1"
535 |
536 | eslint-visitor-keys@^1.0.0:
537 | version "1.0.0"
538 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
539 |
540 | eslint@4.18.2:
541 | version "4.18.2"
542 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.18.2.tgz#0f81267ad1012e7d2051e186a9004cc2267b8d45"
543 | dependencies:
544 | ajv "^5.3.0"
545 | babel-code-frame "^6.22.0"
546 | chalk "^2.1.0"
547 | concat-stream "^1.6.0"
548 | cross-spawn "^5.1.0"
549 | debug "^3.1.0"
550 | doctrine "^2.1.0"
551 | eslint-scope "^3.7.1"
552 | eslint-visitor-keys "^1.0.0"
553 | espree "^3.5.2"
554 | esquery "^1.0.0"
555 | esutils "^2.0.2"
556 | file-entry-cache "^2.0.0"
557 | functional-red-black-tree "^1.0.1"
558 | glob "^7.1.2"
559 | globals "^11.0.1"
560 | ignore "^3.3.3"
561 | imurmurhash "^0.1.4"
562 | inquirer "^3.0.6"
563 | is-resolvable "^1.0.0"
564 | js-yaml "^3.9.1"
565 | json-stable-stringify-without-jsonify "^1.0.1"
566 | levn "^0.3.0"
567 | lodash "^4.17.4"
568 | minimatch "^3.0.2"
569 | mkdirp "^0.5.1"
570 | natural-compare "^1.4.0"
571 | optionator "^0.8.2"
572 | path-is-inside "^1.0.2"
573 | pluralize "^7.0.0"
574 | progress "^2.0.0"
575 | require-uncached "^1.0.3"
576 | semver "^5.3.0"
577 | strip-ansi "^4.0.0"
578 | strip-json-comments "~2.0.1"
579 | table "4.0.2"
580 | text-table "~0.2.0"
581 |
582 | espree@^3.5.2:
583 | version "3.5.4"
584 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
585 | dependencies:
586 | acorn "^5.5.0"
587 | acorn-jsx "^3.0.0"
588 |
589 | esprima@^4.0.0:
590 | version "4.0.1"
591 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
592 |
593 | esquery@^1.0.0:
594 | version "1.0.0"
595 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
596 | dependencies:
597 | estraverse "^4.0.0"
598 |
599 | esrecurse@^4.1.0:
600 | version "4.2.0"
601 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163"
602 | dependencies:
603 | estraverse "^4.1.0"
604 | object-assign "^4.0.1"
605 |
606 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
607 | version "4.2.0"
608 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
609 |
610 | esutils@^2.0.2:
611 | version "2.0.2"
612 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
613 |
614 | execa@^0.7.0:
615 | version "0.7.0"
616 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
617 | dependencies:
618 | cross-spawn "^5.0.1"
619 | get-stream "^3.0.0"
620 | is-stream "^1.1.0"
621 | npm-run-path "^2.0.0"
622 | p-finally "^1.0.0"
623 | signal-exit "^3.0.0"
624 | strip-eof "^1.0.0"
625 |
626 | external-editor@^2.0.4:
627 | version "2.0.5"
628 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc"
629 | dependencies:
630 | iconv-lite "^0.4.17"
631 | jschardet "^1.4.2"
632 | tmp "^0.0.33"
633 |
634 | fast-deep-equal@^1.0.0:
635 | version "1.0.0"
636 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
637 |
638 | fast-diff@^1.1.1:
639 | version "1.1.2"
640 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
641 |
642 | fast-json-stable-stringify@^2.0.0:
643 | version "2.0.0"
644 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
645 |
646 | fast-levenshtein@~2.0.4:
647 | version "2.0.6"
648 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
649 |
650 | fbjs@^0.8.16:
651 | version "0.8.16"
652 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
653 | dependencies:
654 | core-js "^1.0.0"
655 | isomorphic-fetch "^2.1.1"
656 | loose-envify "^1.0.0"
657 | object-assign "^4.1.0"
658 | promise "^7.1.1"
659 | setimmediate "^1.0.5"
660 | ua-parser-js "^0.7.9"
661 |
662 | figures@^1.5.0:
663 | version "1.7.0"
664 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
665 | dependencies:
666 | escape-string-regexp "^1.0.5"
667 | object-assign "^4.1.0"
668 |
669 | figures@^2.0.0:
670 | version "2.0.0"
671 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
672 | dependencies:
673 | escape-string-regexp "^1.0.5"
674 |
675 | file-entry-cache@^2.0.0:
676 | version "2.0.0"
677 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
678 | dependencies:
679 | flat-cache "^1.2.1"
680 | object-assign "^4.0.1"
681 |
682 | find-up@^1.0.0:
683 | version "1.1.2"
684 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
685 | dependencies:
686 | path-exists "^2.0.0"
687 | pinkie-promise "^2.0.0"
688 |
689 | find-up@^2.0.0, find-up@^2.1.0:
690 | version "2.1.0"
691 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
692 | dependencies:
693 | locate-path "^2.0.0"
694 |
695 | flat-cache@^1.2.1:
696 | version "1.3.0"
697 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
698 | dependencies:
699 | circular-json "^0.3.1"
700 | del "^2.0.2"
701 | graceful-fs "^4.1.2"
702 | write "^0.2.1"
703 |
704 | foreach@^2.0.5:
705 | version "2.0.5"
706 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
707 |
708 | fs-access@^1.0.0:
709 | version "1.0.1"
710 | resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
711 | dependencies:
712 | null-check "^1.0.0"
713 |
714 | fs.realpath@^1.0.0:
715 | version "1.0.0"
716 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
717 |
718 | function-bind@^1.0.2, function-bind@^1.1.1:
719 | version "1.1.1"
720 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
721 |
722 | functional-red-black-tree@^1.0.1:
723 | version "1.0.1"
724 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
725 |
726 | get-caller-file@^1.0.1:
727 | version "1.0.2"
728 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
729 |
730 | get-pkg-repo@^1.0.0:
731 | version "1.4.0"
732 | resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
733 | dependencies:
734 | hosted-git-info "^2.1.4"
735 | meow "^3.3.0"
736 | normalize-package-data "^2.3.0"
737 | parse-github-repo-url "^1.3.0"
738 | through2 "^2.0.0"
739 |
740 | get-stdin@^4.0.1:
741 | version "4.0.1"
742 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
743 |
744 | get-stdin@^5.0.1:
745 | version "5.0.1"
746 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
747 |
748 | get-stream@^3.0.0:
749 | version "3.0.0"
750 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
751 |
752 | git-raw-commits@^1.3.0, git-raw-commits@^1.3.6:
753 | version "1.3.6"
754 | resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff"
755 | dependencies:
756 | dargs "^4.0.1"
757 | lodash.template "^4.0.2"
758 | meow "^4.0.0"
759 | split2 "^2.0.0"
760 | through2 "^2.0.0"
761 |
762 | git-remote-origin-url@^2.0.0:
763 | version "2.0.0"
764 | resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
765 | dependencies:
766 | gitconfiglocal "^1.0.0"
767 | pify "^2.3.0"
768 |
769 | git-semver-tags@^1.3.0, git-semver-tags@^1.3.6:
770 | version "1.3.6"
771 | resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.6.tgz#357ea01f7280794fe0927f2806bee6414d2caba5"
772 | dependencies:
773 | meow "^4.0.0"
774 | semver "^5.5.0"
775 |
776 | gitconfiglocal@^1.0.0:
777 | version "1.0.0"
778 | resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
779 | dependencies:
780 | ini "^1.3.2"
781 |
782 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.2:
783 | version "7.1.2"
784 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
785 | dependencies:
786 | fs.realpath "^1.0.0"
787 | inflight "^1.0.4"
788 | inherits "2"
789 | minimatch "^3.0.4"
790 | once "^1.3.0"
791 | path-is-absolute "^1.0.0"
792 |
793 | globals@^11.0.1:
794 | version "11.12.0"
795 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
796 |
797 | globby@^5.0.0:
798 | version "5.0.0"
799 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
800 | dependencies:
801 | array-union "^1.0.1"
802 | arrify "^1.0.0"
803 | glob "^7.0.3"
804 | object-assign "^4.0.1"
805 | pify "^2.0.0"
806 | pinkie-promise "^2.0.0"
807 |
808 | graceful-fs@^4.1.2:
809 | version "4.1.11"
810 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
811 |
812 | handlebars@^4.0.2:
813 | version "4.1.2"
814 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67"
815 | dependencies:
816 | neo-async "^2.6.0"
817 | optimist "^0.6.1"
818 | source-map "^0.6.1"
819 | optionalDependencies:
820 | uglify-js "^3.1.4"
821 |
822 | has-ansi@^2.0.0:
823 | version "2.0.0"
824 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
825 | dependencies:
826 | ansi-regex "^2.0.0"
827 |
828 | has-flag@^2.0.0:
829 | version "2.0.0"
830 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
831 |
832 | has@^1.0.1:
833 | version "1.0.1"
834 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
835 | dependencies:
836 | function-bind "^1.0.2"
837 |
838 | hosted-git-info@^2.1.4:
839 | version "2.6.0"
840 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
841 |
842 | iconv-lite@^0.4.17, iconv-lite@~0.4.13:
843 | version "0.4.19"
844 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
845 |
846 | ignore@^3.3.3:
847 | version "3.3.7"
848 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
849 |
850 | imurmurhash@^0.1.4:
851 | version "0.1.4"
852 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
853 |
854 | indent-string@^2.1.0:
855 | version "2.1.0"
856 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
857 | dependencies:
858 | repeating "^2.0.0"
859 |
860 | indent-string@^3.0.0:
861 | version "3.2.0"
862 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
863 |
864 | inflight@^1.0.4:
865 | version "1.0.6"
866 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
867 | dependencies:
868 | once "^1.3.0"
869 | wrappy "1"
870 |
871 | inherits@2, inherits@^2.0.3, inherits@~2.0.3:
872 | version "2.0.3"
873 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
874 |
875 | ini@^1.3.2:
876 | version "1.3.5"
877 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
878 |
879 | inquirer@^3.0.6:
880 | version "3.3.0"
881 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
882 | dependencies:
883 | ansi-escapes "^3.0.0"
884 | chalk "^2.0.0"
885 | cli-cursor "^2.1.0"
886 | cli-width "^2.0.0"
887 | external-editor "^2.0.4"
888 | figures "^2.0.0"
889 | lodash "^4.3.0"
890 | mute-stream "0.0.7"
891 | run-async "^2.2.0"
892 | rx-lite "^4.0.8"
893 | rx-lite-aggregates "^4.0.8"
894 | string-width "^2.1.0"
895 | strip-ansi "^4.0.0"
896 | through "^2.3.6"
897 |
898 | invert-kv@^1.0.0:
899 | version "1.0.0"
900 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
901 |
902 | is-arrayish@^0.2.1:
903 | version "0.2.1"
904 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
905 |
906 | is-builtin-module@^1.0.0:
907 | version "1.0.0"
908 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
909 | dependencies:
910 | builtin-modules "^1.0.0"
911 |
912 | is-callable@^1.1.1, is-callable@^1.1.3:
913 | version "1.1.3"
914 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
915 |
916 | is-date-object@^1.0.1:
917 | version "1.0.1"
918 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
919 |
920 | is-finite@^1.0.0:
921 | version "1.0.2"
922 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
923 | dependencies:
924 | number-is-nan "^1.0.0"
925 |
926 | is-fullwidth-code-point@^1.0.0:
927 | version "1.0.0"
928 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
929 | dependencies:
930 | number-is-nan "^1.0.0"
931 |
932 | is-fullwidth-code-point@^2.0.0:
933 | version "2.0.0"
934 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
935 |
936 | is-obj@^1.0.0:
937 | version "1.0.1"
938 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
939 |
940 | is-path-cwd@^1.0.0:
941 | version "1.0.0"
942 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
943 |
944 | is-path-in-cwd@^1.0.0:
945 | version "1.0.0"
946 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
947 | dependencies:
948 | is-path-inside "^1.0.0"
949 |
950 | is-path-inside@^1.0.0:
951 | version "1.0.0"
952 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
953 | dependencies:
954 | path-is-inside "^1.0.1"
955 |
956 | is-plain-obj@^1.1.0:
957 | version "1.1.0"
958 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
959 |
960 | is-promise@^2.1.0:
961 | version "2.1.0"
962 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
963 |
964 | is-regex@^1.0.4:
965 | version "1.0.4"
966 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
967 | dependencies:
968 | has "^1.0.1"
969 |
970 | is-resolvable@^1.0.0:
971 | version "1.0.0"
972 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
973 | dependencies:
974 | tryit "^1.0.1"
975 |
976 | is-stream@^1.0.1, is-stream@^1.1.0:
977 | version "1.1.0"
978 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
979 |
980 | is-subset@^0.1.1:
981 | version "0.1.1"
982 | resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
983 |
984 | is-symbol@^1.0.1:
985 | version "1.0.1"
986 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
987 |
988 | is-text-path@^1.0.0:
989 | version "1.0.1"
990 | resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
991 | dependencies:
992 | text-extensions "^1.0.0"
993 |
994 | is-utf8@^0.2.0:
995 | version "0.2.1"
996 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
997 |
998 | isarray@~1.0.0:
999 | version "1.0.0"
1000 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1001 |
1002 | isexe@^2.0.0:
1003 | version "2.0.0"
1004 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1005 |
1006 | isomorphic-fetch@^2.1.1:
1007 | version "2.2.1"
1008 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
1009 | dependencies:
1010 | node-fetch "^1.0.1"
1011 | whatwg-fetch ">=0.10.0"
1012 |
1013 | jest-docblock@^21.0.0:
1014 | version "21.2.0"
1015 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414"
1016 |
1017 | js-tokens@^3.0.0, js-tokens@^3.0.2:
1018 | version "3.0.2"
1019 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
1020 |
1021 | js-yaml@^3.9.1:
1022 | version "3.13.1"
1023 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
1024 | dependencies:
1025 | argparse "^1.0.7"
1026 | esprima "^4.0.0"
1027 |
1028 | jschardet@^1.4.2:
1029 | version "1.6.0"
1030 | resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.6.0.tgz#c7d1a71edcff2839db2f9ec30fc5d5ebd3c1a678"
1031 |
1032 | json-parse-better-errors@^1.0.1:
1033 | version "1.0.2"
1034 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
1035 |
1036 | json-schema-traverse@^0.3.0:
1037 | version "0.3.1"
1038 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
1039 |
1040 | json-stable-stringify-without-jsonify@^1.0.1:
1041 | version "1.0.1"
1042 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1043 |
1044 | json-stringify-safe@^5.0.1:
1045 | version "5.0.1"
1046 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1047 |
1048 | jsonparse@^1.2.0:
1049 | version "1.3.1"
1050 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
1051 |
1052 | jsx-ast-utils@^2.0.0:
1053 | version "2.0.1"
1054 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f"
1055 | dependencies:
1056 | array-includes "^3.0.3"
1057 |
1058 | lcid@^1.0.0:
1059 | version "1.0.0"
1060 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
1061 | dependencies:
1062 | invert-kv "^1.0.0"
1063 |
1064 | levn@^0.3.0, levn@~0.3.0:
1065 | version "0.3.0"
1066 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
1067 | dependencies:
1068 | prelude-ls "~1.1.2"
1069 | type-check "~0.3.2"
1070 |
1071 | load-json-file@^1.0.0:
1072 | version "1.1.0"
1073 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
1074 | dependencies:
1075 | graceful-fs "^4.1.2"
1076 | parse-json "^2.2.0"
1077 | pify "^2.0.0"
1078 | pinkie-promise "^2.0.0"
1079 | strip-bom "^2.0.0"
1080 |
1081 | load-json-file@^2.0.0:
1082 | version "2.0.0"
1083 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
1084 | dependencies:
1085 | graceful-fs "^4.1.2"
1086 | parse-json "^2.2.0"
1087 | pify "^2.0.0"
1088 | strip-bom "^3.0.0"
1089 |
1090 | load-json-file@^4.0.0:
1091 | version "4.0.0"
1092 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
1093 | dependencies:
1094 | graceful-fs "^4.1.2"
1095 | parse-json "^4.0.0"
1096 | pify "^3.0.0"
1097 | strip-bom "^3.0.0"
1098 |
1099 | locate-path@^2.0.0:
1100 | version "2.0.0"
1101 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
1102 | dependencies:
1103 | p-locate "^2.0.0"
1104 | path-exists "^3.0.0"
1105 |
1106 | lodash._reinterpolate@^3.0.0:
1107 | version "3.0.0"
1108 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
1109 |
1110 | lodash.merge@^4.6.0:
1111 | version "4.6.2"
1112 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1113 |
1114 | lodash.template@^4.0.2:
1115 | version "4.5.0"
1116 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
1117 | dependencies:
1118 | lodash._reinterpolate "^3.0.0"
1119 | lodash.templatesettings "^4.0.0"
1120 |
1121 | lodash.templatesettings@^4.0.0:
1122 | version "4.2.0"
1123 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
1124 | dependencies:
1125 | lodash._reinterpolate "^3.0.0"
1126 |
1127 | lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0:
1128 | version "4.17.15"
1129 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
1130 |
1131 | loose-envify@^1.0.0, loose-envify@^1.3.1:
1132 | version "1.3.1"
1133 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
1134 | dependencies:
1135 | js-tokens "^3.0.0"
1136 |
1137 | loud-rejection@^1.0.0:
1138 | version "1.6.0"
1139 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
1140 | dependencies:
1141 | currently-unhandled "^0.4.1"
1142 | signal-exit "^3.0.0"
1143 |
1144 | lru-cache@^4.0.1:
1145 | version "4.1.1"
1146 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
1147 | dependencies:
1148 | pseudomap "^1.0.2"
1149 | yallist "^2.1.2"
1150 |
1151 | map-obj@^1.0.0, map-obj@^1.0.1:
1152 | version "1.0.1"
1153 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
1154 |
1155 | map-obj@^2.0.0:
1156 | version "2.0.0"
1157 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9"
1158 |
1159 | mem@^1.1.0:
1160 | version "1.1.0"
1161 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
1162 | dependencies:
1163 | mimic-fn "^1.0.0"
1164 |
1165 | meow@^3.3.0:
1166 | version "3.7.0"
1167 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
1168 | dependencies:
1169 | camelcase-keys "^2.0.0"
1170 | decamelize "^1.1.2"
1171 | loud-rejection "^1.0.0"
1172 | map-obj "^1.0.1"
1173 | minimist "^1.1.3"
1174 | normalize-package-data "^2.3.4"
1175 | object-assign "^4.0.1"
1176 | read-pkg-up "^1.0.1"
1177 | redent "^1.0.0"
1178 | trim-newlines "^1.0.0"
1179 |
1180 | meow@^4.0.0:
1181 | version "4.0.0"
1182 | resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.0.tgz#fd5855dd008db5b92c552082db1c307cba20b29d"
1183 | dependencies:
1184 | camelcase-keys "^4.0.0"
1185 | decamelize-keys "^1.0.0"
1186 | loud-rejection "^1.0.0"
1187 | minimist "^1.1.3"
1188 | minimist-options "^3.0.1"
1189 | normalize-package-data "^2.3.4"
1190 | read-pkg-up "^3.0.0"
1191 | redent "^2.0.0"
1192 | trim-newlines "^2.0.0"
1193 |
1194 | mimic-fn@^1.0.0:
1195 | version "1.1.0"
1196 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
1197 |
1198 | minimatch@^3.0.2, minimatch@^3.0.4:
1199 | version "3.0.4"
1200 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1201 | dependencies:
1202 | brace-expansion "^1.1.7"
1203 |
1204 | minimist-options@^3.0.1:
1205 | version "3.0.2"
1206 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954"
1207 | dependencies:
1208 | arrify "^1.0.1"
1209 | is-plain-obj "^1.1.0"
1210 |
1211 | minimist@0.0.8:
1212 | version "0.0.8"
1213 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1214 |
1215 | minimist@^1.1.3:
1216 | version "1.2.0"
1217 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1218 |
1219 | minimist@~0.0.1:
1220 | version "0.0.10"
1221 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
1222 |
1223 | mkdirp@^0.5.1:
1224 | version "0.5.1"
1225 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1226 | dependencies:
1227 | minimist "0.0.8"
1228 |
1229 | modify-values@^1.0.0:
1230 | version "1.0.1"
1231 | resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
1232 |
1233 | ms@^2.1.1:
1234 | version "2.1.2"
1235 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1236 |
1237 | mute-stream@0.0.7:
1238 | version "0.0.7"
1239 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
1240 |
1241 | natural-compare@^1.4.0:
1242 | version "1.4.0"
1243 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1244 |
1245 | neo-async@^2.6.0:
1246 | version "2.6.1"
1247 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
1248 |
1249 | node-fetch@^1.0.1:
1250 | version "1.7.3"
1251 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
1252 | dependencies:
1253 | encoding "^0.1.11"
1254 | is-stream "^1.0.1"
1255 |
1256 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5:
1257 | version "2.4.0"
1258 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
1259 | dependencies:
1260 | hosted-git-info "^2.1.4"
1261 | is-builtin-module "^1.0.0"
1262 | semver "2 || 3 || 4 || 5"
1263 | validate-npm-package-license "^3.0.1"
1264 |
1265 | npm-run-path@^2.0.0:
1266 | version "2.0.2"
1267 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
1268 | dependencies:
1269 | path-key "^2.0.0"
1270 |
1271 | null-check@^1.0.0:
1272 | version "1.0.0"
1273 | resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
1274 |
1275 | number-is-nan@^1.0.0:
1276 | version "1.0.1"
1277 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
1278 |
1279 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
1280 | version "4.1.1"
1281 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1282 |
1283 | object-keys@^1.0.8:
1284 | version "1.0.11"
1285 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
1286 |
1287 | once@^1.3.0:
1288 | version "1.4.0"
1289 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1290 | dependencies:
1291 | wrappy "1"
1292 |
1293 | onetime@^2.0.0:
1294 | version "2.0.1"
1295 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
1296 | dependencies:
1297 | mimic-fn "^1.0.0"
1298 |
1299 | optimist@^0.6.1:
1300 | version "0.6.1"
1301 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
1302 | dependencies:
1303 | minimist "~0.0.1"
1304 | wordwrap "~0.0.2"
1305 |
1306 | optionator@^0.8.2:
1307 | version "0.8.2"
1308 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
1309 | dependencies:
1310 | deep-is "~0.1.3"
1311 | fast-levenshtein "~2.0.4"
1312 | levn "~0.3.0"
1313 | prelude-ls "~1.1.2"
1314 | type-check "~0.3.2"
1315 | wordwrap "~1.0.0"
1316 |
1317 | os-locale@^2.0.0:
1318 | version "2.1.0"
1319 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
1320 | dependencies:
1321 | execa "^0.7.0"
1322 | lcid "^1.0.0"
1323 | mem "^1.1.0"
1324 |
1325 | os-tmpdir@~1.0.2:
1326 | version "1.0.2"
1327 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
1328 |
1329 | p-finally@^1.0.0:
1330 | version "1.0.0"
1331 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
1332 |
1333 | p-limit@^1.1.0:
1334 | version "1.2.0"
1335 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
1336 | dependencies:
1337 | p-try "^1.0.0"
1338 |
1339 | p-locate@^2.0.0:
1340 | version "2.0.0"
1341 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
1342 | dependencies:
1343 | p-limit "^1.1.0"
1344 |
1345 | p-try@^1.0.0:
1346 | version "1.0.0"
1347 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
1348 |
1349 | parse-github-repo-url@^1.3.0:
1350 | version "1.4.1"
1351 | resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50"
1352 |
1353 | parse-json@^2.2.0:
1354 | version "2.2.0"
1355 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
1356 | dependencies:
1357 | error-ex "^1.2.0"
1358 |
1359 | parse-json@^4.0.0:
1360 | version "4.0.0"
1361 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
1362 | dependencies:
1363 | error-ex "^1.3.1"
1364 | json-parse-better-errors "^1.0.1"
1365 |
1366 | path-exists@^2.0.0:
1367 | version "2.1.0"
1368 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
1369 | dependencies:
1370 | pinkie-promise "^2.0.0"
1371 |
1372 | path-exists@^3.0.0:
1373 | version "3.0.0"
1374 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
1375 |
1376 | path-is-absolute@^1.0.0:
1377 | version "1.0.1"
1378 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1379 |
1380 | path-is-inside@^1.0.1, path-is-inside@^1.0.2:
1381 | version "1.0.2"
1382 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
1383 |
1384 | path-key@^2.0.0:
1385 | version "2.0.1"
1386 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
1387 |
1388 | path-type@^1.0.0:
1389 | version "1.1.0"
1390 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
1391 | dependencies:
1392 | graceful-fs "^4.1.2"
1393 | pify "^2.0.0"
1394 | pinkie-promise "^2.0.0"
1395 |
1396 | path-type@^2.0.0:
1397 | version "2.0.0"
1398 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
1399 | dependencies:
1400 | pify "^2.0.0"
1401 |
1402 | path-type@^3.0.0:
1403 | version "3.0.0"
1404 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
1405 | dependencies:
1406 | pify "^3.0.0"
1407 |
1408 | pify@^2.0.0, pify@^2.3.0:
1409 | version "2.3.0"
1410 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
1411 |
1412 | pify@^3.0.0:
1413 | version "3.0.0"
1414 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
1415 |
1416 | pinkie-promise@^2.0.0:
1417 | version "2.0.1"
1418 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
1419 | dependencies:
1420 | pinkie "^2.0.0"
1421 |
1422 | pinkie@^2.0.0:
1423 | version "2.0.4"
1424 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
1425 |
1426 | pluralize@^7.0.0:
1427 | version "7.0.0"
1428 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
1429 |
1430 | prelude-ls@~1.1.2:
1431 | version "1.1.2"
1432 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
1433 |
1434 | prettier@1.7.4:
1435 | version "1.7.4"
1436 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa"
1437 |
1438 | process-nextick-args@~1.0.6:
1439 | version "1.0.7"
1440 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
1441 |
1442 | process-nextick-args@~2.0.0:
1443 | version "2.0.0"
1444 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
1445 |
1446 | progress@^2.0.0:
1447 | version "2.0.0"
1448 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
1449 |
1450 | promise@^7.1.1:
1451 | version "7.3.1"
1452 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
1453 | dependencies:
1454 | asap "~2.0.3"
1455 |
1456 | prop-types@^15.5.10:
1457 | version "15.6.0"
1458 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856"
1459 | dependencies:
1460 | fbjs "^0.8.16"
1461 | loose-envify "^1.3.1"
1462 | object-assign "^4.1.1"
1463 |
1464 | pseudomap@^1.0.2:
1465 | version "1.0.2"
1466 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
1467 |
1468 | q@^1.4.1, q@^1.5.1:
1469 | version "1.5.1"
1470 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
1471 |
1472 | quick-lru@^1.0.0:
1473 | version "1.1.0"
1474 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
1475 |
1476 | read-pkg-up@^1.0.1:
1477 | version "1.0.1"
1478 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
1479 | dependencies:
1480 | find-up "^1.0.0"
1481 | read-pkg "^1.0.0"
1482 |
1483 | read-pkg-up@^2.0.0:
1484 | version "2.0.0"
1485 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
1486 | dependencies:
1487 | find-up "^2.0.0"
1488 | read-pkg "^2.0.0"
1489 |
1490 | read-pkg-up@^3.0.0:
1491 | version "3.0.0"
1492 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
1493 | dependencies:
1494 | find-up "^2.0.0"
1495 | read-pkg "^3.0.0"
1496 |
1497 | read-pkg@^1.0.0, read-pkg@^1.1.0:
1498 | version "1.1.0"
1499 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
1500 | dependencies:
1501 | load-json-file "^1.0.0"
1502 | normalize-package-data "^2.3.2"
1503 | path-type "^1.0.0"
1504 |
1505 | read-pkg@^2.0.0:
1506 | version "2.0.0"
1507 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
1508 | dependencies:
1509 | load-json-file "^2.0.0"
1510 | normalize-package-data "^2.3.2"
1511 | path-type "^2.0.0"
1512 |
1513 | read-pkg@^3.0.0:
1514 | version "3.0.0"
1515 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
1516 | dependencies:
1517 | load-json-file "^4.0.0"
1518 | normalize-package-data "^2.3.2"
1519 | path-type "^3.0.0"
1520 |
1521 | readable-stream@^2.1.5:
1522 | version "2.3.6"
1523 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
1524 | dependencies:
1525 | core-util-is "~1.0.0"
1526 | inherits "~2.0.3"
1527 | isarray "~1.0.0"
1528 | process-nextick-args "~2.0.0"
1529 | safe-buffer "~5.1.1"
1530 | string_decoder "~1.1.1"
1531 | util-deprecate "~1.0.1"
1532 |
1533 | readable-stream@^2.2.2:
1534 | version "2.3.3"
1535 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
1536 | dependencies:
1537 | core-util-is "~1.0.0"
1538 | inherits "~2.0.3"
1539 | isarray "~1.0.0"
1540 | process-nextick-args "~1.0.6"
1541 | safe-buffer "~5.1.1"
1542 | string_decoder "~1.0.3"
1543 | util-deprecate "~1.0.1"
1544 |
1545 | redent@^1.0.0:
1546 | version "1.0.0"
1547 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
1548 | dependencies:
1549 | indent-string "^2.1.0"
1550 | strip-indent "^1.0.1"
1551 |
1552 | redent@^2.0.0:
1553 | version "2.0.0"
1554 | resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa"
1555 | dependencies:
1556 | indent-string "^3.0.0"
1557 | strip-indent "^2.0.0"
1558 |
1559 | repeating@^2.0.0:
1560 | version "2.0.1"
1561 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
1562 | dependencies:
1563 | is-finite "^1.0.0"
1564 |
1565 | require-directory@^2.1.1:
1566 | version "2.1.1"
1567 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1568 |
1569 | require-main-filename@^1.0.1:
1570 | version "1.0.1"
1571 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
1572 |
1573 | require-uncached@^1.0.3:
1574 | version "1.0.3"
1575 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
1576 | dependencies:
1577 | caller-path "^0.1.0"
1578 | resolve-from "^1.0.0"
1579 |
1580 | resolve-from@^1.0.0:
1581 | version "1.0.1"
1582 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
1583 |
1584 | restore-cursor@^2.0.0:
1585 | version "2.0.0"
1586 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
1587 | dependencies:
1588 | onetime "^2.0.0"
1589 | signal-exit "^3.0.2"
1590 |
1591 | rimraf@^2.2.8:
1592 | version "2.6.2"
1593 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
1594 | dependencies:
1595 | glob "^7.0.5"
1596 |
1597 | run-async@^2.2.0:
1598 | version "2.3.0"
1599 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
1600 | dependencies:
1601 | is-promise "^2.1.0"
1602 |
1603 | rx-lite-aggregates@^4.0.8:
1604 | version "4.0.8"
1605 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
1606 | dependencies:
1607 | rx-lite "*"
1608 |
1609 | rx-lite@*, rx-lite@^4.0.8:
1610 | version "4.0.8"
1611 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
1612 |
1613 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1614 | version "5.1.1"
1615 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
1616 |
1617 | "semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.5.0:
1618 | version "5.5.0"
1619 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
1620 |
1621 | set-blocking@^2.0.0:
1622 | version "2.0.0"
1623 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
1624 |
1625 | setimmediate@^1.0.5:
1626 | version "1.0.5"
1627 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
1628 |
1629 | shebang-command@^1.2.0:
1630 | version "1.2.0"
1631 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
1632 | dependencies:
1633 | shebang-regex "^1.0.0"
1634 |
1635 | shebang-regex@^1.0.0:
1636 | version "1.0.0"
1637 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
1638 |
1639 | signal-exit@^3.0.0, signal-exit@^3.0.2:
1640 | version "3.0.2"
1641 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
1642 |
1643 | slice-ansi@1.0.0:
1644 | version "1.0.0"
1645 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
1646 | dependencies:
1647 | is-fullwidth-code-point "^2.0.0"
1648 |
1649 | source-map@^0.6.1, source-map@~0.6.1:
1650 | version "0.6.1"
1651 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1652 |
1653 | spdx-correct@^3.0.0:
1654 | version "3.0.0"
1655 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
1656 | dependencies:
1657 | spdx-expression-parse "^3.0.0"
1658 | spdx-license-ids "^3.0.0"
1659 |
1660 | spdx-exceptions@^2.1.0:
1661 | version "2.1.0"
1662 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"
1663 |
1664 | spdx-expression-parse@^3.0.0:
1665 | version "3.0.0"
1666 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
1667 | dependencies:
1668 | spdx-exceptions "^2.1.0"
1669 | spdx-license-ids "^3.0.0"
1670 |
1671 | spdx-license-ids@^3.0.0:
1672 | version "3.0.0"
1673 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
1674 |
1675 | split2@^2.0.0:
1676 | version "2.2.0"
1677 | resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
1678 | dependencies:
1679 | through2 "^2.0.2"
1680 |
1681 | split@^1.0.0:
1682 | version "1.0.1"
1683 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
1684 | dependencies:
1685 | through "2"
1686 |
1687 | sprintf-js@~1.0.2:
1688 | version "1.0.3"
1689 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
1690 |
1691 | standard-version@4.3.0:
1692 | version "4.3.0"
1693 | resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-4.3.0.tgz#41006cfee4eeab7c0ff3a47eecaa4c7506ed2e3f"
1694 | dependencies:
1695 | chalk "^1.1.3"
1696 | conventional-changelog "^1.1.0"
1697 | conventional-recommended-bump "^1.0.0"
1698 | dotgitignore "^1.0.3"
1699 | figures "^1.5.0"
1700 | fs-access "^1.0.0"
1701 | semver "^5.1.0"
1702 | yargs "^8.0.1"
1703 |
1704 | string-width@^1.0.1:
1705 | version "1.0.2"
1706 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
1707 | dependencies:
1708 | code-point-at "^1.0.0"
1709 | is-fullwidth-code-point "^1.0.0"
1710 | strip-ansi "^3.0.0"
1711 |
1712 | string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
1713 | version "2.1.1"
1714 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
1715 | dependencies:
1716 | is-fullwidth-code-point "^2.0.0"
1717 | strip-ansi "^4.0.0"
1718 |
1719 | string_decoder@~1.0.3:
1720 | version "1.0.3"
1721 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
1722 | dependencies:
1723 | safe-buffer "~5.1.0"
1724 |
1725 | string_decoder@~1.1.1:
1726 | version "1.1.1"
1727 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
1728 | dependencies:
1729 | safe-buffer "~5.1.0"
1730 |
1731 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
1732 | version "3.0.1"
1733 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
1734 | dependencies:
1735 | ansi-regex "^2.0.0"
1736 |
1737 | strip-ansi@^4.0.0:
1738 | version "4.0.0"
1739 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
1740 | dependencies:
1741 | ansi-regex "^3.0.0"
1742 |
1743 | strip-bom@^2.0.0:
1744 | version "2.0.0"
1745 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
1746 | dependencies:
1747 | is-utf8 "^0.2.0"
1748 |
1749 | strip-bom@^3.0.0:
1750 | version "3.0.0"
1751 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
1752 |
1753 | strip-eof@^1.0.0:
1754 | version "1.0.0"
1755 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
1756 |
1757 | strip-indent@^1.0.1:
1758 | version "1.0.1"
1759 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
1760 | dependencies:
1761 | get-stdin "^4.0.1"
1762 |
1763 | strip-indent@^2.0.0:
1764 | version "2.0.0"
1765 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
1766 |
1767 | strip-json-comments@~2.0.1:
1768 | version "2.0.1"
1769 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
1770 |
1771 | supports-color@^2.0.0:
1772 | version "2.0.0"
1773 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
1774 |
1775 | supports-color@^4.0.0:
1776 | version "4.5.0"
1777 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
1778 | dependencies:
1779 | has-flag "^2.0.0"
1780 |
1781 | table@4.0.2:
1782 | version "4.0.2"
1783 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
1784 | dependencies:
1785 | ajv "^5.2.3"
1786 | ajv-keywords "^2.1.0"
1787 | chalk "^2.1.0"
1788 | lodash "^4.17.4"
1789 | slice-ansi "1.0.0"
1790 | string-width "^2.1.1"
1791 |
1792 | text-extensions@^1.0.0:
1793 | version "1.7.0"
1794 | resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39"
1795 |
1796 | text-table@~0.2.0:
1797 | version "0.2.0"
1798 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1799 |
1800 | through2@^2.0.0, through2@^2.0.2:
1801 | version "2.0.3"
1802 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
1803 | dependencies:
1804 | readable-stream "^2.1.5"
1805 | xtend "~4.0.1"
1806 |
1807 | through@2, "through@>=2.2.7 <3", through@^2.3.6:
1808 | version "2.3.8"
1809 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
1810 |
1811 | tmp@^0.0.33:
1812 | version "0.0.33"
1813 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
1814 | dependencies:
1815 | os-tmpdir "~1.0.2"
1816 |
1817 | trim-newlines@^1.0.0:
1818 | version "1.0.0"
1819 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
1820 |
1821 | trim-newlines@^2.0.0:
1822 | version "2.0.0"
1823 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20"
1824 |
1825 | trim-off-newlines@^1.0.0:
1826 | version "1.0.1"
1827 | resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
1828 |
1829 | tryit@^1.0.1:
1830 | version "1.0.3"
1831 | resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
1832 |
1833 | type-check@~0.3.2:
1834 | version "0.3.2"
1835 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
1836 | dependencies:
1837 | prelude-ls "~1.1.2"
1838 |
1839 | typedarray@^0.0.6:
1840 | version "0.0.6"
1841 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
1842 |
1843 | ua-parser-js@^0.7.9:
1844 | version "0.7.17"
1845 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
1846 |
1847 | uglify-js@^3.1.4:
1848 | version "3.6.0"
1849 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5"
1850 | dependencies:
1851 | commander "~2.20.0"
1852 | source-map "~0.6.1"
1853 |
1854 | util-deprecate@~1.0.1:
1855 | version "1.0.2"
1856 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1857 |
1858 | validate-npm-package-license@^3.0.1:
1859 | version "3.0.3"
1860 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
1861 | dependencies:
1862 | spdx-correct "^3.0.0"
1863 | spdx-expression-parse "^3.0.0"
1864 |
1865 | whatwg-fetch@>=0.10.0:
1866 | version "2.0.3"
1867 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
1868 |
1869 | which-module@^2.0.0:
1870 | version "2.0.0"
1871 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
1872 |
1873 | which@^1.2.9:
1874 | version "1.3.0"
1875 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
1876 | dependencies:
1877 | isexe "^2.0.0"
1878 |
1879 | wordwrap@~0.0.2:
1880 | version "0.0.3"
1881 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
1882 |
1883 | wordwrap@~1.0.0:
1884 | version "1.0.0"
1885 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
1886 |
1887 | wrap-ansi@^2.0.0:
1888 | version "2.1.0"
1889 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
1890 | dependencies:
1891 | string-width "^1.0.1"
1892 | strip-ansi "^3.0.1"
1893 |
1894 | wrappy@1:
1895 | version "1.0.2"
1896 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1897 |
1898 | write@^0.2.1:
1899 | version "0.2.1"
1900 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
1901 | dependencies:
1902 | mkdirp "^0.5.1"
1903 |
1904 | xtend@~4.0.1:
1905 | version "4.0.1"
1906 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
1907 |
1908 | y18n@^3.2.1:
1909 | version "3.2.1"
1910 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
1911 |
1912 | yallist@^2.1.2:
1913 | version "2.1.2"
1914 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
1915 |
1916 | yargs-parser@^7.0.0:
1917 | version "7.0.0"
1918 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
1919 | dependencies:
1920 | camelcase "^4.1.0"
1921 |
1922 | yargs@^8.0.1:
1923 | version "8.0.2"
1924 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
1925 | dependencies:
1926 | camelcase "^4.1.0"
1927 | cliui "^3.2.0"
1928 | decamelize "^1.1.1"
1929 | get-caller-file "^1.0.1"
1930 | os-locale "^2.0.0"
1931 | read-pkg-up "^2.0.0"
1932 | require-directory "^2.1.1"
1933 | require-main-filename "^1.0.1"
1934 | set-blocking "^2.0.0"
1935 | string-width "^2.0.0"
1936 | which-module "^2.0.0"
1937 | y18n "^3.2.1"
1938 | yargs-parser "^7.0.0"
1939 |
--------------------------------------------------------------------------------