├── .gitignore ├── package.json ├── lib ├── index.js └── rules │ └── single-component-per-file.js ├── docs └── rules │ └── single-component-per-file.md ├── README.md ├── tests └── lib │ └── rules │ └── single-component-per-file.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-plugin-clean-styled-components", 3 | "version": "0.0.2", 4 | "description": "Lint your styled-components code to be clean", 5 | "keywords": [ 6 | "eslint", 7 | "eslintplugin", 8 | "eslint-plugin" 9 | ], 10 | "author": "Max Stoiber", 11 | "main": "lib/index.js", 12 | "scripts": { 13 | "test": "mocha tests --recursive" 14 | }, 15 | "dependencies": { 16 | "requireindex": "~1.1.0" 17 | }, 18 | "devDependencies": { 19 | "eslint": "~3.9.1", 20 | "mocha": "^3.1.2" 21 | }, 22 | "engines": { 23 | "node": ">=0.10.0" 24 | }, 25 | "license": "ISC" 26 | } 27 | -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileoverview Lint your styled-components code to be clean 3 | * @author Max Stoiber 4 | */ 5 | "use strict"; 6 | 7 | //------------------------------------------------------------------------------ 8 | // Requirements 9 | //------------------------------------------------------------------------------ 10 | 11 | var requireIndex = require("requireindex"); 12 | 13 | //------------------------------------------------------------------------------ 14 | // Plugin Definition 15 | //------------------------------------------------------------------------------ 16 | 17 | 18 | // import all rules in lib/rules 19 | module.exports.rules = requireIndex(__dirname + "/rules"); 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/rules/single-component-per-file.md: -------------------------------------------------------------------------------- 1 | # There should only be a single component per file (single-component-per-file) 2 | 3 | Please describe the origin of the rule here. 4 | 5 | 6 | ## Rule Details 7 | 8 | This rule aims to... 9 | 10 | Examples of **incorrect** code for this rule: 11 | 12 | ```js 13 | 14 | // fill me in 15 | 16 | ``` 17 | 18 | Examples of **correct** code for this rule: 19 | 20 | ```js 21 | 22 | // fill me in 23 | 24 | ``` 25 | 26 | ### Options 27 | 28 | If there are any options, describe them here. Otherwise, delete this section. 29 | 30 | ## When Not To Use It 31 | 32 | Give a short description of when it would be appropriate to turn off this rule. 33 | 34 | ## Further Reading 35 | 36 | If there are other links that describe the issue this rule addresses, please include them here in a bulleted list. 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # eslint-plugin-clean-styled-components 2 | 3 | Lint your styled-components code to be clean 4 | 5 | ## Installation 6 | 7 | You'll first need to install [ESLint](http://eslint.org): 8 | 9 | ``` 10 | $ npm install eslint --dev 11 | ``` 12 | 13 | Next, install `eslint-plugin-clean-styled-components`: 14 | 15 | ``` 16 | $ npm install eslint-plugin-clean-styled-components --dev 17 | ``` 18 | 19 | **Note:** If you installed ESLint globally (using the `-g` flag) then you must also install `eslint-plugin-clean-styled-components` globally. 20 | 21 | ## Usage 22 | 23 | Add `clean-styled-components` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix: 24 | 25 | ```json 26 | { 27 | "plugins": [ 28 | "clean-styled-components" 29 | ] 30 | } 31 | ``` 32 | 33 | Then configure the rules you want to use under the rules section. 34 | 35 | ```json 36 | { 37 | "plugins": [ 38 | "clean-styled-components" 39 | ], 40 | "rules": { 41 | "clean-styled-components/single-component-per-file": 2 42 | } 43 | } 44 | ``` 45 | 46 | If you want to enable all recommended rules, extend the `eslint:recommended` config: 47 | 48 | ```json 49 | { 50 | "plugins": [ 51 | "clean-styled-components" 52 | ], 53 | "extends": ["eslint:recommended"] 54 | } 55 | ``` 56 | 57 | ## Supported Rules 58 | 59 | * `single-component-per-file`: enforce only having a single styled component per source file 60 | -------------------------------------------------------------------------------- /lib/rules/single-component-per-file.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileoverview There should only be a single styled component per file 3 | * @author Max Stoiber 4 | */ 5 | "use strict"; 6 | 7 | //------------------------------------------------------------------------------ 8 | // Rule Definition 9 | //------------------------------------------------------------------------------ 10 | 11 | module.exports = { 12 | meta: { 13 | type: "problem", 14 | docs: { 15 | description: "There should only be a single styled component per file", 16 | category: "Best Practices", 17 | recommended: true 18 | }, 19 | fixable: null, 20 | schema: [] 21 | }, 22 | 23 | create: function(context) { 24 | let importName = ''; 25 | let components = []; 26 | let reportedComponents = []; 27 | let reactComponents = 0; 28 | 29 | const handleNewStyledComponent = (node) => { 30 | components.push(node); 31 | reportedComponents.push(false); 32 | if (components.length > 1) context.report({ 33 | message: 'More than one styled component defined', 34 | node: node, 35 | }); 36 | if (reactComponents > 0) { 37 | reportedComponents[reportedComponents.length - 1] = true; 38 | context.report({ 39 | message: "styled component defined in the same file as a React component", 40 | node: node, 41 | }) 42 | } 43 | } 44 | 45 | return { 46 | TaggedTemplateExpression: node => { 47 | // Will be handled by CallExpression visitor instead 48 | if (node.tag.type === 'CallExpression') return; 49 | const tag = node.tag.object ? node.tag.object.name : node.tag.callee ? node.tag.callee.name : undefined; 50 | if (tag === importName) { 51 | handleNewStyledComponent(node); 52 | } 53 | }, 54 | CallExpression: node => { 55 | const id = node.callee.object ? node.callee.object.name : node.callee.name ? node.callee.name : undefined; 56 | if (id === importName) { 57 | handleNewStyledComponent(node); 58 | } 59 | }, 60 | JSXElement: node => { 61 | reactComponents++; 62 | if (components.length > 0) { 63 | for (var i = 0; i < components.length; i++ ) { 64 | if (reportedComponents[i] !== true) { 65 | reportedComponents[i] = true; 66 | context.report({ 67 | message: "styled component defined in the same file as a React component", 68 | node: components[i], 69 | }) 70 | } 71 | } 72 | } 73 | }, 74 | ImportDefaultSpecifier: (node) => { 75 | if (node.parent.source.value === 'styled-components') { 76 | const variables = context.getDeclaredVariables(node); 77 | if (variables.length === 0) return; 78 | importName = variables[0].name; 79 | return; 80 | } 81 | } 82 | }; 83 | } 84 | }; 85 | -------------------------------------------------------------------------------- /tests/lib/rules/single-component-per-file.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileoverview There should only be a single styled component per file 3 | * @author Max Stoiber 4 | */ 5 | "use strict"; 6 | 7 | //------------------------------------------------------------------------------ 8 | // Requirements 9 | //------------------------------------------------------------------------------ 10 | 11 | var rule = require("../../../lib/rules/single-component-per-file"), 12 | 13 | RuleTester = require("eslint").RuleTester; 14 | 15 | 16 | //------------------------------------------------------------------------------ 17 | // Tests 18 | //------------------------------------------------------------------------------ 19 | 20 | var ruleTester = new RuleTester({ 21 | parserOptions: { ecmaVersion: 2015, sourceType: 'module', ecmaFeatures: { jsx: true } }, 22 | }); 23 | 24 | ruleTester.run("single-component-per-file", rule, { 25 | valid: [ 26 | 'import styled from "styled-components"; const Button = styled.button``; export default Button;', 27 | 'import styled from "styled-components"; const Button = styled("button")``; export default Button;', 28 | 'import styled from "styled-components"; const Button = styled(Button2)``; export default Button;', 29 | 'import styled from "styled-components"; export default styled.button``;', 30 | 'import styled from "styled-components"; export default styled.button({ });', 31 | 'import styled, { css } from "styled-components"; const Button = styled.button``; export default Button;', 32 | 'import styled from "somewhere-else"; const Button = styled.button``; const Button2 = styled.button``', 33 | ], 34 | invalid: [ 35 | { 36 | code: 'import styled from "styled-components"; const Button = styled.button``; const Button2 = styled.button``', 37 | errors: [{ 38 | message: "More than one styled component defined", 39 | }] 40 | }, 41 | { 42 | code: 'import styled from "styled-components"; const Button = styled("button")``; const Button2 = styled("button")``', 43 | errors: [{ 44 | message: "More than one styled component defined", 45 | }] 46 | }, 47 | { 48 | code: 'import styled from "styled-components"; const Button = styled("button")``; const Button2 = styled.button``', 49 | errors: [{ 50 | message: "More than one styled component defined", 51 | }] 52 | }, 53 | { 54 | code: 'import styled from "styled-components"; const Button = styled.button({}); const Button2 = styled.button({})', 55 | errors: [{ 56 | message: "More than one styled component defined", 57 | }] 58 | }, 59 | { 60 | code: 'import styled from "styled-components"; const Button = styled.button({}); const Button2 = styled.button``', 61 | errors: [{ 62 | message: "More than one styled component defined", 63 | }] 64 | }, 65 | { 66 | code: 'import bugger from "styled-components"; const Button = bugger.button``; const Button2 = bugger.button``', 67 | errors: [{ 68 | message: "More than one styled component defined", 69 | }] 70 | }, 71 | { 72 | code: 'import styled from "styled-components"; const Button = styled.button``; const Button2 = styled.button``; const Button3 = styled.button``', 73 | errors: [{ 74 | message: "More than one styled component defined", 75 | }, { 76 | message: "More than one styled component defined", 77 | }] 78 | }, 79 | { 80 | code: 'import styled from "styled-components"; const Button = styled.button``; const Button2 = styled(Button)``', 81 | errors: [{ 82 | message: "More than one styled component defined", 83 | }] 84 | }, 85 | { 86 | code: 'import styled from "styled-components"; const Button = styled.button``; export default styled.button``', 87 | errors: [{ 88 | message: "More than one styled component defined", 89 | }] 90 | }, 91 | { 92 | code: 'import React from "react"; import styled from "styled-components"; const Button = styled.button``; class Bla extends React.Component { render() { return
} }', 93 | errors: [{ 94 | message: "styled component defined in the same file as a React component", 95 | type: "TaggedTemplateExpression" 96 | }] 97 | }, 98 | { 99 | code: 'import React from "react"; import styled from "styled-components"; const Bla = () => ; const Button = styled.button``;', 100 | errors: [{ 101 | message: "styled component defined in the same file as a React component", 102 | type: "TaggedTemplateExpression" 103 | }] 104 | }, 105 | { 106 | code: 'import React from "react"; import styled from "styled-components"; const Button = styled.button``; const Bla = () => ', 107 | errors: [{ 108 | message: "styled component defined in the same file as a React component", 109 | type: "TaggedTemplateExpression" 110 | }] 111 | }, 112 | { 113 | code: 'import React from "react"; import styled from "styled-components"; const Button = styled.button({ }); const Bla = () => ', 114 | errors: [{ 115 | message: "styled component defined in the same file as a React component", 116 | type: "CallExpression" 117 | }] 118 | }, 119 | { 120 | code: 'import React from "react"; import styled from "styled-components"; const Button = styled.button``; const Button2 = styled.button``; const Bla = () => ', 121 | errors: [{ 122 | message: "styled component defined in the same file as a React component", 123 | type: "TaggedTemplateExpression" 124 | }, { 125 | message: "More than one styled component defined", 126 | type: "TaggedTemplateExpression" 127 | }, { 128 | message: "styled component defined in the same file as a React component", 129 | type: "TaggedTemplateExpression" 130 | }] 131 | }, 132 | ] 133 | }); 134 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | acorn-jsx@^3.0.0: 6 | version "3.0.1" 7 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" 8 | integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= 9 | dependencies: 10 | acorn "^3.0.4" 11 | 12 | acorn@^3.0.4: 13 | version "3.3.0" 14 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 15 | integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= 16 | 17 | acorn@^5.5.0: 18 | version "5.7.3" 19 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" 20 | integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== 21 | 22 | ajv-keywords@^1.0.0: 23 | version "1.5.1" 24 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" 25 | integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw= 26 | 27 | ajv@^4.7.0: 28 | version "4.11.8" 29 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 30 | integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= 31 | dependencies: 32 | co "^4.6.0" 33 | json-stable-stringify "^1.0.1" 34 | 35 | ansi-escapes@^1.1.0: 36 | version "1.4.0" 37 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 38 | integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= 39 | 40 | ansi-regex@^2.0.0: 41 | version "2.1.1" 42 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 43 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 44 | 45 | ansi-regex@^3.0.0: 46 | version "3.0.0" 47 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 48 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 49 | 50 | ansi-styles@^2.2.1: 51 | version "2.2.1" 52 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 53 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 54 | 55 | argparse@^1.0.7: 56 | version "1.0.10" 57 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 58 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 59 | dependencies: 60 | sprintf-js "~1.0.2" 61 | 62 | babel-code-frame@^6.16.0: 63 | version "6.26.0" 64 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 65 | integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= 66 | dependencies: 67 | chalk "^1.1.3" 68 | esutils "^2.0.2" 69 | js-tokens "^3.0.2" 70 | 71 | balanced-match@^1.0.0: 72 | version "1.0.0" 73 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 74 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 75 | 76 | brace-expansion@^1.1.7: 77 | version "1.1.11" 78 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 79 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 80 | dependencies: 81 | balanced-match "^1.0.0" 82 | concat-map "0.0.1" 83 | 84 | browser-stdout@1.3.0: 85 | version "1.3.0" 86 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 87 | integrity sha1-81HTKWnTL6XXpVZxVCY9korjvR8= 88 | 89 | buffer-from@^1.0.0: 90 | version "1.1.1" 91 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 92 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 93 | 94 | caller-path@^0.1.0: 95 | version "0.1.0" 96 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 97 | integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= 98 | dependencies: 99 | callsites "^0.2.0" 100 | 101 | callsites@^0.2.0: 102 | version "0.2.0" 103 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 104 | integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= 105 | 106 | chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: 107 | version "1.1.3" 108 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 109 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 110 | dependencies: 111 | ansi-styles "^2.2.1" 112 | escape-string-regexp "^1.0.2" 113 | has-ansi "^2.0.0" 114 | strip-ansi "^3.0.0" 115 | supports-color "^2.0.0" 116 | 117 | circular-json@^0.3.1: 118 | version "0.3.3" 119 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 120 | integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== 121 | 122 | cli-cursor@^1.0.1: 123 | version "1.0.2" 124 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 125 | integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= 126 | dependencies: 127 | restore-cursor "^1.0.1" 128 | 129 | cli-width@^2.0.0: 130 | version "2.2.0" 131 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 132 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 133 | 134 | co@^4.6.0: 135 | version "4.6.0" 136 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 137 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 138 | 139 | code-point-at@^1.0.0: 140 | version "1.1.0" 141 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 142 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 143 | 144 | commander@2.9.0: 145 | version "2.9.0" 146 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 147 | integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= 148 | dependencies: 149 | graceful-readlink ">= 1.0.0" 150 | 151 | concat-map@0.0.1: 152 | version "0.0.1" 153 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 154 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 155 | 156 | concat-stream@^1.4.6: 157 | version "1.6.2" 158 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 159 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 160 | dependencies: 161 | buffer-from "^1.0.0" 162 | inherits "^2.0.3" 163 | readable-stream "^2.2.2" 164 | typedarray "^0.0.6" 165 | 166 | core-util-is@~1.0.0: 167 | version "1.0.2" 168 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 169 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 170 | 171 | d@1: 172 | version "1.0.0" 173 | resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" 174 | integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= 175 | dependencies: 176 | es5-ext "^0.10.9" 177 | 178 | debug@2.6.8: 179 | version "2.6.8" 180 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" 181 | integrity sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw= 182 | dependencies: 183 | ms "2.0.0" 184 | 185 | debug@^2.1.1: 186 | version "2.6.9" 187 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 188 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 189 | dependencies: 190 | ms "2.0.0" 191 | 192 | deep-is@~0.1.3: 193 | version "0.1.3" 194 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 195 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 196 | 197 | diff@3.2.0: 198 | version "3.2.0" 199 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" 200 | integrity sha1-yc45Okt8vQsFinJck98pkCeGj/k= 201 | 202 | doctrine@^1.2.2: 203 | version "1.5.0" 204 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 205 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 206 | dependencies: 207 | esutils "^2.0.2" 208 | isarray "^1.0.0" 209 | 210 | es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: 211 | version "0.10.50" 212 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" 213 | integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== 214 | dependencies: 215 | es6-iterator "~2.0.3" 216 | es6-symbol "~3.1.1" 217 | next-tick "^1.0.0" 218 | 219 | es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: 220 | version "2.0.3" 221 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" 222 | integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= 223 | dependencies: 224 | d "1" 225 | es5-ext "^0.10.35" 226 | es6-symbol "^3.1.1" 227 | 228 | es6-map@^0.1.3: 229 | version "0.1.5" 230 | resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" 231 | integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= 232 | dependencies: 233 | d "1" 234 | es5-ext "~0.10.14" 235 | es6-iterator "~2.0.1" 236 | es6-set "~0.1.5" 237 | es6-symbol "~3.1.1" 238 | event-emitter "~0.3.5" 239 | 240 | es6-set@~0.1.5: 241 | version "0.1.5" 242 | resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" 243 | integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= 244 | dependencies: 245 | d "1" 246 | es5-ext "~0.10.14" 247 | es6-iterator "~2.0.1" 248 | es6-symbol "3.1.1" 249 | event-emitter "~0.3.5" 250 | 251 | es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: 252 | version "3.1.1" 253 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" 254 | integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= 255 | dependencies: 256 | d "1" 257 | es5-ext "~0.10.14" 258 | 259 | es6-weak-map@^2.0.1: 260 | version "2.0.2" 261 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" 262 | integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8= 263 | dependencies: 264 | d "1" 265 | es5-ext "^0.10.14" 266 | es6-iterator "^2.0.1" 267 | es6-symbol "^3.1.1" 268 | 269 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 270 | version "1.0.5" 271 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 272 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 273 | 274 | escope@^3.6.0: 275 | version "3.6.0" 276 | resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" 277 | integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= 278 | dependencies: 279 | es6-map "^0.1.3" 280 | es6-weak-map "^2.0.1" 281 | esrecurse "^4.1.0" 282 | estraverse "^4.1.1" 283 | 284 | eslint@~3.9.1: 285 | version "3.9.1" 286 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.9.1.tgz#5a8597706fc6048bc6061ac754d4a211d28f4f5b" 287 | integrity sha1-WoWXcG/GBIvGBhrHVNSiEdKPT1s= 288 | dependencies: 289 | babel-code-frame "^6.16.0" 290 | chalk "^1.1.3" 291 | concat-stream "^1.4.6" 292 | debug "^2.1.1" 293 | doctrine "^1.2.2" 294 | escope "^3.6.0" 295 | espree "^3.3.1" 296 | estraverse "^4.2.0" 297 | esutils "^2.0.2" 298 | file-entry-cache "^2.0.0" 299 | glob "^7.0.3" 300 | globals "^9.2.0" 301 | ignore "^3.1.5" 302 | imurmurhash "^0.1.4" 303 | inquirer "^0.12.0" 304 | is-my-json-valid "^2.10.0" 305 | is-resolvable "^1.0.0" 306 | js-yaml "^3.5.1" 307 | json-stable-stringify "^1.0.0" 308 | levn "^0.3.0" 309 | lodash "^4.0.0" 310 | mkdirp "^0.5.0" 311 | natural-compare "^1.4.0" 312 | optionator "^0.8.2" 313 | path-is-inside "^1.0.1" 314 | pluralize "^1.2.1" 315 | progress "^1.1.8" 316 | require-uncached "^1.0.2" 317 | shelljs "^0.7.5" 318 | strip-bom "^3.0.0" 319 | strip-json-comments "~1.0.1" 320 | table "^3.7.8" 321 | text-table "~0.2.0" 322 | user-home "^2.0.0" 323 | 324 | espree@^3.3.1: 325 | version "3.5.4" 326 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" 327 | integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== 328 | dependencies: 329 | acorn "^5.5.0" 330 | acorn-jsx "^3.0.0" 331 | 332 | esprima@^4.0.0: 333 | version "4.0.1" 334 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 335 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 336 | 337 | esrecurse@^4.1.0: 338 | version "4.2.1" 339 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 340 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 341 | dependencies: 342 | estraverse "^4.1.0" 343 | 344 | estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: 345 | version "4.2.0" 346 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 347 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 348 | 349 | esutils@^2.0.2: 350 | version "2.0.2" 351 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 352 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 353 | 354 | event-emitter@~0.3.5: 355 | version "0.3.5" 356 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" 357 | integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= 358 | dependencies: 359 | d "1" 360 | es5-ext "~0.10.14" 361 | 362 | exit-hook@^1.0.0: 363 | version "1.1.1" 364 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 365 | integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= 366 | 367 | fast-levenshtein@~2.0.4: 368 | version "2.0.6" 369 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 370 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 371 | 372 | figures@^1.3.5: 373 | version "1.7.0" 374 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 375 | integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= 376 | dependencies: 377 | escape-string-regexp "^1.0.5" 378 | object-assign "^4.1.0" 379 | 380 | file-entry-cache@^2.0.0: 381 | version "2.0.0" 382 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 383 | integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= 384 | dependencies: 385 | flat-cache "^1.2.1" 386 | object-assign "^4.0.1" 387 | 388 | flat-cache@^1.2.1: 389 | version "1.3.4" 390 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" 391 | integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== 392 | dependencies: 393 | circular-json "^0.3.1" 394 | graceful-fs "^4.1.2" 395 | rimraf "~2.6.2" 396 | write "^0.2.1" 397 | 398 | fs.realpath@^1.0.0: 399 | version "1.0.0" 400 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 401 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 402 | 403 | generate-function@^2.0.0: 404 | version "2.3.1" 405 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" 406 | integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== 407 | dependencies: 408 | is-property "^1.0.2" 409 | 410 | generate-object-property@^1.1.0: 411 | version "1.2.0" 412 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 413 | integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= 414 | dependencies: 415 | is-property "^1.0.0" 416 | 417 | glob@7.1.1: 418 | version "7.1.1" 419 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 420 | integrity sha1-gFIR3wT6rxxjo2ADBs31reULLsg= 421 | dependencies: 422 | fs.realpath "^1.0.0" 423 | inflight "^1.0.4" 424 | inherits "2" 425 | minimatch "^3.0.2" 426 | once "^1.3.0" 427 | path-is-absolute "^1.0.0" 428 | 429 | glob@^7.0.0, glob@^7.0.3, glob@^7.1.3: 430 | version "7.1.4" 431 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 432 | integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 433 | dependencies: 434 | fs.realpath "^1.0.0" 435 | inflight "^1.0.4" 436 | inherits "2" 437 | minimatch "^3.0.4" 438 | once "^1.3.0" 439 | path-is-absolute "^1.0.0" 440 | 441 | globals@^9.2.0: 442 | version "9.18.0" 443 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 444 | integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== 445 | 446 | graceful-fs@^4.1.2: 447 | version "4.1.15" 448 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 449 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 450 | 451 | "graceful-readlink@>= 1.0.0": 452 | version "1.0.1" 453 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 454 | integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= 455 | 456 | growl@1.9.2: 457 | version "1.9.2" 458 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 459 | integrity sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8= 460 | 461 | has-ansi@^2.0.0: 462 | version "2.0.0" 463 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 464 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 465 | dependencies: 466 | ansi-regex "^2.0.0" 467 | 468 | has-flag@^1.0.0: 469 | version "1.0.0" 470 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 471 | integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= 472 | 473 | he@1.1.1: 474 | version "1.1.1" 475 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 476 | integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= 477 | 478 | ignore@^3.1.5: 479 | version "3.3.10" 480 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" 481 | integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== 482 | 483 | imurmurhash@^0.1.4: 484 | version "0.1.4" 485 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 486 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 487 | 488 | inflight@^1.0.4: 489 | version "1.0.6" 490 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 491 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 492 | dependencies: 493 | once "^1.3.0" 494 | wrappy "1" 495 | 496 | inherits@2, inherits@^2.0.3, inherits@~2.0.3: 497 | version "2.0.3" 498 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 499 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 500 | 501 | inquirer@^0.12.0: 502 | version "0.12.0" 503 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" 504 | integrity sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34= 505 | dependencies: 506 | ansi-escapes "^1.1.0" 507 | ansi-regex "^2.0.0" 508 | chalk "^1.0.0" 509 | cli-cursor "^1.0.1" 510 | cli-width "^2.0.0" 511 | figures "^1.3.5" 512 | lodash "^4.3.0" 513 | readline2 "^1.0.1" 514 | run-async "^0.1.0" 515 | rx-lite "^3.1.2" 516 | string-width "^1.0.1" 517 | strip-ansi "^3.0.0" 518 | through "^2.3.6" 519 | 520 | interpret@^1.0.0: 521 | version "1.2.0" 522 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" 523 | integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== 524 | 525 | is-fullwidth-code-point@^1.0.0: 526 | version "1.0.0" 527 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 528 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 529 | dependencies: 530 | number-is-nan "^1.0.0" 531 | 532 | is-fullwidth-code-point@^2.0.0: 533 | version "2.0.0" 534 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 535 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 536 | 537 | is-my-ip-valid@^1.0.0: 538 | version "1.0.0" 539 | resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" 540 | integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== 541 | 542 | is-my-json-valid@^2.10.0: 543 | version "2.20.0" 544 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" 545 | integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== 546 | dependencies: 547 | generate-function "^2.0.0" 548 | generate-object-property "^1.1.0" 549 | is-my-ip-valid "^1.0.0" 550 | jsonpointer "^4.0.0" 551 | xtend "^4.0.0" 552 | 553 | is-property@^1.0.0, is-property@^1.0.2: 554 | version "1.0.2" 555 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 556 | integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= 557 | 558 | is-resolvable@^1.0.0: 559 | version "1.1.0" 560 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" 561 | integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== 562 | 563 | isarray@^1.0.0, isarray@~1.0.0: 564 | version "1.0.0" 565 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 566 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 567 | 568 | js-tokens@^3.0.2: 569 | version "3.0.2" 570 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 571 | integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= 572 | 573 | js-yaml@^3.5.1: 574 | version "3.13.1" 575 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 576 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 577 | dependencies: 578 | argparse "^1.0.7" 579 | esprima "^4.0.0" 580 | 581 | json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: 582 | version "1.0.1" 583 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 584 | integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= 585 | dependencies: 586 | jsonify "~0.0.0" 587 | 588 | json3@3.3.2: 589 | version "3.3.2" 590 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 591 | integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= 592 | 593 | jsonify@~0.0.0: 594 | version "0.0.0" 595 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 596 | integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= 597 | 598 | jsonpointer@^4.0.0: 599 | version "4.0.1" 600 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" 601 | integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= 602 | 603 | levn@^0.3.0, levn@~0.3.0: 604 | version "0.3.0" 605 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 606 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 607 | dependencies: 608 | prelude-ls "~1.1.2" 609 | type-check "~0.3.2" 610 | 611 | lodash._baseassign@^3.0.0: 612 | version "3.2.0" 613 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 614 | integrity sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4= 615 | dependencies: 616 | lodash._basecopy "^3.0.0" 617 | lodash.keys "^3.0.0" 618 | 619 | lodash._basecopy@^3.0.0: 620 | version "3.0.1" 621 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 622 | integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= 623 | 624 | lodash._basecreate@^3.0.0: 625 | version "3.0.3" 626 | resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" 627 | integrity sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE= 628 | 629 | lodash._getnative@^3.0.0: 630 | version "3.9.1" 631 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 632 | integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= 633 | 634 | lodash._isiterateecall@^3.0.0: 635 | version "3.0.9" 636 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 637 | integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= 638 | 639 | lodash.create@3.1.1: 640 | version "3.1.1" 641 | resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" 642 | integrity sha1-1/KEnw29p+BGgruM1yqwIkYd6+c= 643 | dependencies: 644 | lodash._baseassign "^3.0.0" 645 | lodash._basecreate "^3.0.0" 646 | lodash._isiterateecall "^3.0.0" 647 | 648 | lodash.isarguments@^3.0.0: 649 | version "3.1.0" 650 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 651 | integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= 652 | 653 | lodash.isarray@^3.0.0: 654 | version "3.0.4" 655 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 656 | integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= 657 | 658 | lodash.keys@^3.0.0: 659 | version "3.1.2" 660 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 661 | integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= 662 | dependencies: 663 | lodash._getnative "^3.0.0" 664 | lodash.isarguments "^3.0.0" 665 | lodash.isarray "^3.0.0" 666 | 667 | lodash@^4.0.0, lodash@^4.3.0: 668 | version "4.17.11" 669 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 670 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 671 | 672 | minimatch@^3.0.2, minimatch@^3.0.4: 673 | version "3.0.4" 674 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 675 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 676 | dependencies: 677 | brace-expansion "^1.1.7" 678 | 679 | minimist@0.0.8: 680 | version "0.0.8" 681 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 682 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 683 | 684 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: 685 | version "0.5.1" 686 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 687 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 688 | dependencies: 689 | minimist "0.0.8" 690 | 691 | mocha@^3.1.2: 692 | version "3.5.3" 693 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d" 694 | integrity sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg== 695 | dependencies: 696 | browser-stdout "1.3.0" 697 | commander "2.9.0" 698 | debug "2.6.8" 699 | diff "3.2.0" 700 | escape-string-regexp "1.0.5" 701 | glob "7.1.1" 702 | growl "1.9.2" 703 | he "1.1.1" 704 | json3 "3.3.2" 705 | lodash.create "3.1.1" 706 | mkdirp "0.5.1" 707 | supports-color "3.1.2" 708 | 709 | ms@2.0.0: 710 | version "2.0.0" 711 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 712 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 713 | 714 | mute-stream@0.0.5: 715 | version "0.0.5" 716 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" 717 | integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= 718 | 719 | natural-compare@^1.4.0: 720 | version "1.4.0" 721 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 722 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 723 | 724 | next-tick@^1.0.0: 725 | version "1.0.0" 726 | resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" 727 | integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= 728 | 729 | number-is-nan@^1.0.0: 730 | version "1.0.1" 731 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 732 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 733 | 734 | object-assign@^4.0.1, object-assign@^4.1.0: 735 | version "4.1.1" 736 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 737 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 738 | 739 | once@^1.3.0: 740 | version "1.4.0" 741 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 742 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 743 | dependencies: 744 | wrappy "1" 745 | 746 | onetime@^1.0.0: 747 | version "1.1.0" 748 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 749 | integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= 750 | 751 | optionator@^0.8.2: 752 | version "0.8.2" 753 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 754 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 755 | dependencies: 756 | deep-is "~0.1.3" 757 | fast-levenshtein "~2.0.4" 758 | levn "~0.3.0" 759 | prelude-ls "~1.1.2" 760 | type-check "~0.3.2" 761 | wordwrap "~1.0.0" 762 | 763 | os-homedir@^1.0.0: 764 | version "1.0.2" 765 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 766 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 767 | 768 | path-is-absolute@^1.0.0: 769 | version "1.0.1" 770 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 771 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 772 | 773 | path-is-inside@^1.0.1: 774 | version "1.0.2" 775 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 776 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 777 | 778 | path-parse@^1.0.6: 779 | version "1.0.6" 780 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 781 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 782 | 783 | pluralize@^1.2.1: 784 | version "1.2.1" 785 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" 786 | integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU= 787 | 788 | prelude-ls@~1.1.2: 789 | version "1.1.2" 790 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 791 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 792 | 793 | process-nextick-args@~2.0.0: 794 | version "2.0.0" 795 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 796 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 797 | 798 | progress@^1.1.8: 799 | version "1.1.8" 800 | resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" 801 | integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= 802 | 803 | readable-stream@^2.2.2: 804 | version "2.3.6" 805 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 806 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 807 | dependencies: 808 | core-util-is "~1.0.0" 809 | inherits "~2.0.3" 810 | isarray "~1.0.0" 811 | process-nextick-args "~2.0.0" 812 | safe-buffer "~5.1.1" 813 | string_decoder "~1.1.1" 814 | util-deprecate "~1.0.1" 815 | 816 | readline2@^1.0.1: 817 | version "1.0.1" 818 | resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" 819 | integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= 820 | dependencies: 821 | code-point-at "^1.0.0" 822 | is-fullwidth-code-point "^1.0.0" 823 | mute-stream "0.0.5" 824 | 825 | rechoir@^0.6.2: 826 | version "0.6.2" 827 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 828 | integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= 829 | dependencies: 830 | resolve "^1.1.6" 831 | 832 | require-uncached@^1.0.2: 833 | version "1.0.3" 834 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" 835 | integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= 836 | dependencies: 837 | caller-path "^0.1.0" 838 | resolve-from "^1.0.0" 839 | 840 | requireindex@~1.1.0: 841 | version "1.1.0" 842 | resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162" 843 | integrity sha1-5UBLgVV+91225JxacgBIk/4D4WI= 844 | 845 | resolve-from@^1.0.0: 846 | version "1.0.1" 847 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 848 | integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= 849 | 850 | resolve@^1.1.6: 851 | version "1.11.0" 852 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" 853 | integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== 854 | dependencies: 855 | path-parse "^1.0.6" 856 | 857 | restore-cursor@^1.0.1: 858 | version "1.0.1" 859 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 860 | integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= 861 | dependencies: 862 | exit-hook "^1.0.0" 863 | onetime "^1.0.0" 864 | 865 | rimraf@~2.6.2: 866 | version "2.6.3" 867 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 868 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 869 | dependencies: 870 | glob "^7.1.3" 871 | 872 | run-async@^0.1.0: 873 | version "0.1.0" 874 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" 875 | integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= 876 | dependencies: 877 | once "^1.3.0" 878 | 879 | rx-lite@^3.1.2: 880 | version "3.1.2" 881 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" 882 | integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= 883 | 884 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 885 | version "5.1.2" 886 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 887 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 888 | 889 | shelljs@^0.7.5: 890 | version "0.7.8" 891 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" 892 | integrity sha1-3svPh0sNHl+3LhSxZKloMEjprLM= 893 | dependencies: 894 | glob "^7.0.0" 895 | interpret "^1.0.0" 896 | rechoir "^0.6.2" 897 | 898 | slice-ansi@0.0.4: 899 | version "0.0.4" 900 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 901 | integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= 902 | 903 | sprintf-js@~1.0.2: 904 | version "1.0.3" 905 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 906 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 907 | 908 | string-width@^1.0.1: 909 | version "1.0.2" 910 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 911 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 912 | dependencies: 913 | code-point-at "^1.0.0" 914 | is-fullwidth-code-point "^1.0.0" 915 | strip-ansi "^3.0.0" 916 | 917 | string-width@^2.0.0: 918 | version "2.1.1" 919 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 920 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 921 | dependencies: 922 | is-fullwidth-code-point "^2.0.0" 923 | strip-ansi "^4.0.0" 924 | 925 | string_decoder@~1.1.1: 926 | version "1.1.1" 927 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 928 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 929 | dependencies: 930 | safe-buffer "~5.1.0" 931 | 932 | strip-ansi@^3.0.0: 933 | version "3.0.1" 934 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 935 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 936 | dependencies: 937 | ansi-regex "^2.0.0" 938 | 939 | strip-ansi@^4.0.0: 940 | version "4.0.0" 941 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 942 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 943 | dependencies: 944 | ansi-regex "^3.0.0" 945 | 946 | strip-bom@^3.0.0: 947 | version "3.0.0" 948 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 949 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 950 | 951 | strip-json-comments@~1.0.1: 952 | version "1.0.4" 953 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" 954 | integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= 955 | 956 | supports-color@3.1.2: 957 | version "3.1.2" 958 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 959 | integrity sha1-cqJiiU2dQIuVbKBf83su2KbiotU= 960 | dependencies: 961 | has-flag "^1.0.0" 962 | 963 | supports-color@^2.0.0: 964 | version "2.0.0" 965 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 966 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 967 | 968 | table@^3.7.8: 969 | version "3.8.3" 970 | resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" 971 | integrity sha1-K7xULw/amGGnVdOUf+/Ys/UThV8= 972 | dependencies: 973 | ajv "^4.7.0" 974 | ajv-keywords "^1.0.0" 975 | chalk "^1.1.1" 976 | lodash "^4.0.0" 977 | slice-ansi "0.0.4" 978 | string-width "^2.0.0" 979 | 980 | text-table@~0.2.0: 981 | version "0.2.0" 982 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 983 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 984 | 985 | through@^2.3.6: 986 | version "2.3.8" 987 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 988 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 989 | 990 | type-check@~0.3.2: 991 | version "0.3.2" 992 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 993 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 994 | dependencies: 995 | prelude-ls "~1.1.2" 996 | 997 | typedarray@^0.0.6: 998 | version "0.0.6" 999 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1000 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 1001 | 1002 | user-home@^2.0.0: 1003 | version "2.0.0" 1004 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" 1005 | integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= 1006 | dependencies: 1007 | os-homedir "^1.0.0" 1008 | 1009 | util-deprecate@~1.0.1: 1010 | version "1.0.2" 1011 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1012 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1013 | 1014 | wordwrap@~1.0.0: 1015 | version "1.0.0" 1016 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1017 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1018 | 1019 | wrappy@1: 1020 | version "1.0.2" 1021 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1022 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1023 | 1024 | write@^0.2.1: 1025 | version "0.2.1" 1026 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 1027 | integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= 1028 | dependencies: 1029 | mkdirp "^0.5.1" 1030 | 1031 | xtend@^4.0.0: 1032 | version "4.0.1" 1033 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1034 | integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= 1035 | --------------------------------------------------------------------------------