├── .editorconfig
├── .eslintrc.json
├── .gitignore
├── .prettierrc
├── .snippets
└── exampleSrc
│ ├── ExampleNoTplFiles.snippet
│ └── (SOMNE_NAME).md
│ ├── ExampleTplError.snippet
│ └── (SOME_NAME).md.tpl
│ ├── components
│ └── Component.snippet
│ │ ├── (SomeName)
│ │ ├── (SomeName).jsx.tpl
│ │ ├── (someName).css.tpl
│ │ ├── __test__
│ │ │ └── (SomeName).test.js.tpl
│ │ └── index.js.tpl
│ │ └── options.json
│ └── services
│ └── Service.snippet
│ └── (SomeName)Service.js.tpl
├── LICENSE
├── README.md
├── cli
├── createSnippet.js
├── dryRun.js
├── helpers
│ ├── copyFileWithTransform.js
│ ├── getFilesAndDirs.js
│ ├── prepareCases.js
│ ├── removeEmptyDirs.js
│ ├── removeSnippetDir.js
│ ├── replaceFileVars.js
│ └── snippetsToSrcPath.js
├── index.js
├── lib
│ ├── createVars.js
│ ├── getDestinationPath.js
│ └── renderFile.js
└── prepareSnippet.js
├── docs
├── example-files-tree.png
└── project-snippets-cli-example.gif
├── exampleSrc
├── components
│ └── Button
│ │ ├── Button.jsx
│ │ ├── index.js
│ │ └── styles.css
└── services
│ └── UserService.js
├── package.json
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | indent_style = space
7 | indent_size = 4
8 | max_line_length = 90
9 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "parser": "babel-eslint",
3 | "extends": "eslint:recommended",
4 | "env": {
5 | "node": true,
6 | "commonjs": true,
7 | "es6": true
8 | },
9 | "rules": {
10 | "indent": ["error", 4],
11 | "linebreak-style": ["error", "unix"],
12 | "quotes": ["error", "single"],
13 | "semi": ["error", "always"],
14 | "no-console": ["off"]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "parser": "typescript",
3 | "printWidth": 90,
4 | "tabWidth": 4,
5 | "semi": true,
6 | "singleQuote": true,
7 | "trailingComma": "all"
8 | }
9 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/ExampleNoTplFiles.snippet/(SOMNE_NAME).md:
--------------------------------------------------------------------------------
1 | # Where is my .tpl file?!
2 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/ExampleTplError.snippet/(SOME_NAME).md.tpl:
--------------------------------------------------------------------------------
1 | # <%= sOMEnAME %>
2 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/components/Component.snippet/(SomeName)/(SomeName).jsx.tpl:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | <% if (styles) { %>
3 | import css from './<%= someName %>.css'
4 | <% } %>
5 | const <%= SomeName %> = ({ children }) => (
6 | <% if (styles) { %>
}><% } else { %>
<% } %>
7 | {children}
8 |
9 | );
10 |
11 | export default <%= SomeName %>;
12 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/components/Component.snippet/(SomeName)/(someName).css.tpl:
--------------------------------------------------------------------------------
1 | <% if (styles) { %>
2 | .<%= someName %> {}
3 | .<%= locals['some-name'] %> {}
4 | <% } %>
5 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/components/Component.snippet/(SomeName)/__test__/(SomeName).test.js.tpl:
--------------------------------------------------------------------------------
1 | <% if (tests) { %>
2 | describe('<%= SomeName %>', () => {
3 | it('should TODO this test', () => {
4 | expect('nothing').toBe('a nice test');
5 | });
6 | });
7 | <% } %>
8 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/components/Component.snippet/(SomeName)/index.js.tpl:
--------------------------------------------------------------------------------
1 | export { default } from './<%= SomeName %>';
2 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/components/Component.snippet/options.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "type": "confirm",
4 | "name": "styles",
5 | "message": "With styles?"
6 | },
7 | {
8 | "type": "confirm",
9 | "name": "tests",
10 | "message": "With unit tests?"
11 | }
12 | ]
13 |
--------------------------------------------------------------------------------
/.snippets/exampleSrc/services/Service.snippet/(SomeName)Service.js.tpl:
--------------------------------------------------------------------------------
1 | class <%= SomeName %>Service {
2 | constructor() {}
3 | start() {
4 | // @TODO
5 | }
6 | stop() {
7 | // @TODO
8 | }
9 | }
10 |
11 | export default <%= SomeName %>Service;
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Kacper Kozak
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 | # Project Snippets
2 |
3 | Keep code snippets directly in your project repository and let anyone create files easily and quickly.
4 |
5 | 
6 |
7 | ## Quick start and how it works
8 |
9 | ### Installation
10 |
11 | First, install the package:
12 |
13 | ```bash
14 | yarn add --dev project-snippets
15 |
16 | # or npm
17 |
18 | npm install --save-dev project-snippets
19 | ```
20 |
21 | Now you have available `snippet` command, let's use this in `package.json` as `create` script:
22 |
23 | ```json
24 | {
25 | "scripts": {
26 | "create": "snippet create"
27 | }
28 | }
29 | ```
30 |
31 | You can run this by typing `yarn run create` or `npm run create`, but first you need `.snippets` directory with your code templates.
32 |
33 | ### Snippets directory
34 |
35 | 
36 |
37 | For example you like to make a snippet for components in `/src/components/*.js`, then `.snippets` directory structure should look like this:
38 |
39 | ```
40 | .snippets/
41 | src/
42 | components/
43 | MySimpleComponent.snippet/ ← Snippet name, this dir will be omitted
44 | (SomeName).js.tpl ← Snippet files or even directories
45 | (someName).css.tpl ← .tpl extension is important!
46 | ```
47 |
48 | Now after running the `create` command, you will see list for your snippets. If you select `MySimpleComponent` and then enter the name eg. `circle button` it will create a file:
49 |
50 | ```
51 | src/
52 | components/
53 | …
54 | CircleButton.js
55 | circleButton.css
56 | …
57 | ```
58 |
59 | Let's look inside the files.
60 |
61 | ### Templates
62 |
63 | Inside the files will we use [ejs templates](https://github.com/mde/ejs):
64 |
65 | `(SomeName).js.tpl`:
66 |
67 | ```js
68 | import '<%= someName %>.css'
69 |
70 | export function <%= SomeName %>() {
71 | // ...
72 | }
73 | ```
74 |
75 | And similarly for `(someName).css.tpl`.
76 | ```
77 | .<%= someName %> {
78 | /* ... */
79 | }
80 | ```
81 |
82 | Finally, that's all, now you can run this command again and you will receive ready to use `CircleButton.js` and `circleButton.css` files:
83 |
84 | ```javascript
85 | import 'circleButton.css'
86 |
87 | export function CircleButton() {
88 | // ...
89 | }
90 | ```
91 | ```css
92 | .circleButton {
93 | /* ... */
94 | }
95 | ```
96 |
97 | ### CLI options
98 |
99 | * `--dry-run` - show the contents of files without creating them
100 |
101 | ### Variables
102 |
103 | The following variables are now available:
104 |
105 | * Camel case: `someName`
106 | * Pascal case: `SomeName`
107 | * Snake case: `some_name`
108 | * Constant case: `SOME_NAME`
109 | * Param case: `some-name` (IMPORTANT: inside templates use `<%= locals['some-name'] %>`)
110 |
111 | #### Custom variables
112 |
113 | If you need more options for your snippet you can create the `options.json` file in snippet directory. (And remember: empty file = no file)
114 |
115 | Example `.snippets/src/components/Component.snippet/options.json`:
116 | ```json
117 | [
118 | {
119 | "type": "confirm",
120 | "name": "styles",
121 | "message": "With styles?"
122 | },
123 | {
124 | "type": "confirm",
125 | "name": "tests",
126 | "message": "With unit tests?"
127 | }
128 | ]
129 | ```
130 |
131 |
--------------------------------------------------------------------------------
/cli/createSnippet.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const fs = require('fs');
4 | const chalk = require('chalk');
5 |
6 | const copyFileWithTransform = require('./helpers/copyFileWithTransform');
7 | const getFilesAndDirs = require('./helpers/getFilesAndDirs');
8 | const removeEmptyDirs = require('./helpers/removeEmptyDirs');
9 |
10 | const getDestinationPath = require('./lib/getDestinationPath');
11 | const createVars = require('./lib/createVars');
12 | const renderFile = require('./lib/renderFile');
13 |
14 | function createSnippet(snippetPath, values) {
15 | const { files, dirs } = getFilesAndDirs(snippetPath);
16 | const vars = createVars(values);
17 |
18 | dirs.forEach(dir => {
19 | const rdyDir = getDestinationPath(dir, vars);
20 |
21 | if (fs.existsSync(rdyDir)) throw `${rdyDir} already exists!`;
22 |
23 | fs.mkdirSync(rdyDir);
24 | });
25 |
26 | files.forEach(file => {
27 | const rdyFile = getDestinationPath(file, vars);
28 |
29 | const created = copyFileWithTransform(file, rdyFile, content =>
30 | renderFile(content, vars),
31 | );
32 |
33 | if (created) {
34 | console.log(chalk`${rdyFile} {green.bold ✔}`);
35 | } else {
36 | console.log(chalk`${rdyFile} {gray.bold ✘}`);
37 | }
38 | });
39 |
40 | removeEmptyDirs(getDestinationPath(snippetPath, vars));
41 | }
42 |
43 | module.exports = createSnippet;
44 |
--------------------------------------------------------------------------------
/cli/dryRun.js:
--------------------------------------------------------------------------------
1 | module.export = 'use strict';
2 |
3 | const fs = require('fs');
4 | const path = require('path');
5 | const chalk = require('chalk');
6 | const highlight = require('cli-highlight').highlight;
7 |
8 | const getFilesAndDirs = require('./helpers/getFilesAndDirs');
9 |
10 | const getDestinationPath = require('./lib/getDestinationPath');
11 | const createVars = require('./lib/createVars');
12 | const renderFile = require('./lib/renderFile');
13 |
14 | function getExtension(filename) {
15 | var ext = path.extname(filename || '').split('.');
16 | return ext[ext.length - 1];
17 | }
18 |
19 | function dryRun(snippetPath, values) {
20 | const { files } = getFilesAndDirs(snippetPath);
21 | const vars = createVars(values);
22 |
23 | files.forEach(file => {
24 | const rdyFile = getDestinationPath(file, vars);
25 |
26 | fs.readFile(file, 'utf8', (err, content) => {
27 | if (err) throw err;
28 |
29 | const rdyContent = renderFile(content, vars);
30 |
31 | console.log('\n');
32 | console.log(chalk.bold(rdyFile));
33 | console.log('-'.repeat(70));
34 | console.log(
35 | highlight(rdyContent, {
36 | language: getExtension(rdyFile),
37 | ignoreIllegals: true,
38 | }),
39 | );
40 | });
41 | });
42 | }
43 |
44 | module.exports = dryRun;
45 |
--------------------------------------------------------------------------------
/cli/helpers/copyFileWithTransform.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const fs = require('fs');
4 | const { trim } = require('lodash');
5 |
6 | function copyFileWithTransform(fromPath, toPath, transform) {
7 | const content = fs.readFileSync(fromPath, 'utf8');
8 |
9 | const transformedContent = transform(content);
10 |
11 | if (!trim(transformedContent)) {
12 | return false;
13 | }
14 |
15 | fs.writeFileSync(toPath, transformedContent);
16 | return true;
17 | }
18 |
19 | module.exports = copyFileWithTransform;
20 |
--------------------------------------------------------------------------------
/cli/helpers/getFilesAndDirs.js:
--------------------------------------------------------------------------------
1 | const glob = require('glob');
2 | const chalk = require('chalk');
3 |
4 | function getFilesAndDirs(snippetPath) {
5 | const files = glob.sync(snippetPath + '**/*.tpl');
6 | const dirs = glob.sync(snippetPath + '*/**/');
7 |
8 | if (!files.length) {
9 | throw chalk.red`No files found with the extension .tpl in ${snippetPath}`;
10 | }
11 |
12 | return { files, dirs };
13 | }
14 |
15 | module.exports = getFilesAndDirs;
16 |
--------------------------------------------------------------------------------
/cli/helpers/prepareCases.js:
--------------------------------------------------------------------------------
1 | const {
2 | camelCase,
3 | pascalCase,
4 | snakeCase,
5 | paramCase,
6 | constantCase,
7 | } = require('change-case');
8 |
9 | function prepareCases(key, value) {
10 | return {
11 | [camelCase(key)]: camelCase(value),
12 | [pascalCase(key)]: pascalCase(value),
13 | [snakeCase(key)]: snakeCase(value),
14 | [paramCase(key)]: paramCase(value),
15 | [constantCase(key)]: constantCase(value),
16 | };
17 | }
18 |
19 | module.exports = prepareCases;
20 |
--------------------------------------------------------------------------------
/cli/helpers/removeEmptyDirs.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const path = require('path');
3 |
4 | function removeEmptyDirs(dir) {
5 | const isDir = fs.statSync(dir).isDirectory();
6 | if (!isDir) return;
7 |
8 | let files = fs.readdirSync(dir);
9 |
10 | if (files.length > 0) {
11 | files.forEach(file => {
12 | const fullPath = path.join(dir, file);
13 | removeEmptyDirs(fullPath);
14 | });
15 |
16 | files = fs.readdirSync(dir);
17 | }
18 |
19 | if (files.length == 0) {
20 | fs.rmdirSync(dir);
21 | return;
22 | }
23 | }
24 |
25 | module.exports = removeEmptyDirs;
26 |
--------------------------------------------------------------------------------
/cli/helpers/removeSnippetDir.js:
--------------------------------------------------------------------------------
1 | function removeSnippetDir(path) {
2 | path.replace(/[^/\\]+\.snippet\//, '');
3 | }
4 |
5 | module.exports = removeSnippetDir;
6 |
--------------------------------------------------------------------------------
/cli/helpers/replaceFileVars.js:
--------------------------------------------------------------------------------
1 | function replaceFileVars(path, data) {
2 | return path.replace(/\(([^)]+)?\)/g, function($1, $2) {
3 | return data[$2];
4 | });
5 | }
6 |
7 | module.exports = replaceFileVars;
8 |
--------------------------------------------------------------------------------
/cli/helpers/snippetsToSrcPath.js:
--------------------------------------------------------------------------------
1 | function removeSnippetBaseDir(path) {
2 | return path.replace(/^\.\/\.snippets\//, './');
3 | }
4 |
5 | function removeSnippetNameDir(path) {
6 | return path.replace(/[^/\\]+\.snippet\//, '');
7 | }
8 |
9 | function snippetsToSrcPath(path) {
10 | return removeSnippetNameDir(removeSnippetBaseDir(path));
11 | }
12 |
13 | module.exports = snippetsToSrcPath;
14 |
--------------------------------------------------------------------------------
/cli/index.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 'use strict';
3 |
4 | const caporal = require('caporal');
5 | const inquirer = require('inquirer');
6 | const glob = require('glob');
7 | const chalk = require('chalk');
8 | const prepareSnippet = require('./prepareSnippet');
9 |
10 | const snippetsDirList = glob.sync('./.snippets/**/*.snippet/');
11 | const snippetsList = snippetsDirList.map(
12 | path => path.match(/^\.\/\.snippets\/(.+)\.snippet/)[1],
13 | );
14 |
15 | caporal
16 | .command('create', 'Create file(s) from snippet')
17 | .option(
18 | '--dry-run',
19 | 'Show the contents of files without creating them',
20 | caporal.BOOLEAN,
21 | )
22 | .action(function(args, options) {
23 | inquirer
24 | .prompt([
25 | {
26 | type: 'list',
27 | name: 'path',
28 | message: 'What do you want to do?',
29 | choices: snippetsList,
30 | },
31 | {
32 | type: 'input',
33 | name: 'name',
34 | message: 'Name',
35 | },
36 | ])
37 | .then(({ path, ...values }) => {
38 | if (!values.name) {
39 | console.log(chalk.red`Name is required!`);
40 | return process.exit(1);
41 | }
42 |
43 | const fullPath = snippetsDirList[snippetsList.indexOf(path)];
44 | prepareSnippet(fullPath, values, options);
45 | })
46 | .catch(console.error);
47 | });
48 |
49 | caporal.parse(process.argv);
50 |
--------------------------------------------------------------------------------
/cli/lib/createVars.js:
--------------------------------------------------------------------------------
1 | const prepareCases = require('../helpers/prepareCases');
2 |
3 | function createVars(values) {
4 | const names = prepareCases('some name', values.name);
5 | return Object.assign({}, values, names);
6 | }
7 |
8 | module.exports = createVars;
9 |
--------------------------------------------------------------------------------
/cli/lib/getDestinationPath.js:
--------------------------------------------------------------------------------
1 | const { trimEnd } = require('lodash');
2 | const replaceFileVars = require('../helpers/replaceFileVars');
3 | const snippetsToSrcPath = require('../helpers/snippetsToSrcPath');
4 |
5 | function getDestinationPath(snippetFile, vars) {
6 | const srcFile = snippetsToSrcPath(snippetFile);
7 | const noTplFile = trimEnd(srcFile, '.tpl');
8 | return replaceFileVars(noTplFile, vars);
9 | }
10 |
11 | module.exports = getDestinationPath;
12 |
--------------------------------------------------------------------------------
/cli/lib/renderFile.js:
--------------------------------------------------------------------------------
1 | const ejs = require('ejs');
2 |
3 | function renderFile(content, vars) {
4 | return ejs.render(content, vars);
5 | }
6 |
7 | module.exports = renderFile;
8 |
--------------------------------------------------------------------------------
/cli/prepareSnippet.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const fs = require('fs');
4 | const path = require('path');
5 | const glob = require('glob');
6 | const chalk = require('chalk');
7 | const inquirer = require('inquirer');
8 |
9 | const createSnippet = require('./createSnippet');
10 | const dryRun = require('./dryRun');
11 |
12 | const OPTION_FILE_NAME = 'options.json';
13 |
14 | function prepareSnippet(snippetPath, values, options) {
15 | if (!fs.lstatSync(snippetPath).isDirectory()) {
16 | throw `Snippet [${snippetPath}] is a file, all snippets should be a directory with .snippet on end!`;
17 | }
18 |
19 | const files = glob.sync(snippetPath + '**/*.tpl');
20 |
21 | if (!files.length) {
22 | throw chalk.red`No files found with the extension .tpl in ${snippetPath}`;
23 | }
24 |
25 | const snippetOptionsFile = path.resolve(snippetPath, OPTION_FILE_NAME);
26 | const snippetOptions = fs.existsSync(snippetOptionsFile)
27 | ? require(snippetOptionsFile)
28 | : [];
29 |
30 | inquirer
31 | .prompt(snippetOptions)
32 | .then(customValues => {
33 | const allValues = { ...values, ...customValues };
34 |
35 | if (options.dryRun) {
36 | return dryRun(snippetPath, allValues, options);
37 | }
38 |
39 | return createSnippet(snippetPath, allValues, options);
40 | })
41 | .catch(console.error);
42 | }
43 |
44 | module.exports = prepareSnippet;
45 |
--------------------------------------------------------------------------------
/docs/example-files-tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KacperKozak/project-snippets/779dbac3561658a81d49c8e1f26af0de5566ce37/docs/example-files-tree.png
--------------------------------------------------------------------------------
/docs/project-snippets-cli-example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KacperKozak/project-snippets/779dbac3561658a81d49c8e1f26af0de5566ce37/docs/project-snippets-cli-example.gif
--------------------------------------------------------------------------------
/exampleSrc/components/Button/Button.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styles from './button.css';
3 |
4 | const Button = ({ onClick, children }) => (
5 |
8 | );
9 |
10 | export default Button;
11 |
--------------------------------------------------------------------------------
/exampleSrc/components/Button/index.js:
--------------------------------------------------------------------------------
1 | export { default } from './Button';
2 |
--------------------------------------------------------------------------------
/exampleSrc/components/Button/styles.css:
--------------------------------------------------------------------------------
1 | .button {
2 | background: black;
3 | color: hotpink;
4 | padding: 20px;
5 | }
6 |
--------------------------------------------------------------------------------
/exampleSrc/services/UserService.js:
--------------------------------------------------------------------------------
1 | class UserService extends Ajax {
2 | constructor() {}
3 | start() {
4 | // ... nothing ...
5 | }
6 | stop() {
7 | // ... this is only example :)
8 | }
9 | }
10 |
11 | export default UserService;
12 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "project-snippets",
3 | "version": "0.4.0",
4 | "description": "",
5 | "main": "cli/index.js",
6 | "scripts": {
7 | "create": "node ./cli create",
8 | "lint": "eslint ./cli"
9 | },
10 | "bin": {
11 | "snippet": "./cli/index.js"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "git+https://github.com/KacperKozak/project-snippets.git"
16 | },
17 | "author": "Kacper Kozak
",
18 | "license": "MIT",
19 | "bugs": {
20 | "url": "https://github.com/KacperKozak/project-snippets/issues"
21 | },
22 | "homepage": "https://github.com/KacperKozak/project-snippets#readme",
23 | "dependencies": {
24 | "caporal": "^0.9.0",
25 | "chalk": "^2.3.1",
26 | "change-case": "^3.0.1",
27 | "cli-highlight": "^1.2.3",
28 | "ejs": "^2.5.7",
29 | "glob": "^7.1.2",
30 | "inquirer": "^5.1.0",
31 | "lodash": "^4.17.5"
32 | },
33 | "devDependencies": {
34 | "babel-eslint": "^8.2.2",
35 | "eslint": "^4.18.2"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@7.0.0-beta.40", "@babel/code-frame@^7.0.0-beta.40":
6 | version "7.0.0-beta.40"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz#37e2b0cf7c56026b4b21d3927cadf81adec32ac6"
8 | dependencies:
9 | "@babel/highlight" "7.0.0-beta.40"
10 |
11 | "@babel/generator@7.0.0-beta.40":
12 | version "7.0.0-beta.40"
13 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.40.tgz#ab61f9556f4f71dbd1138949c795bb9a21e302ea"
14 | dependencies:
15 | "@babel/types" "7.0.0-beta.40"
16 | jsesc "^2.5.1"
17 | lodash "^4.2.0"
18 | source-map "^0.5.0"
19 | trim-right "^1.0.1"
20 |
21 | "@babel/helper-function-name@7.0.0-beta.40":
22 | version "7.0.0-beta.40"
23 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.40.tgz#9d033341ab16517f40d43a73f2d81fc431ccd7b6"
24 | dependencies:
25 | "@babel/helper-get-function-arity" "7.0.0-beta.40"
26 | "@babel/template" "7.0.0-beta.40"
27 | "@babel/types" "7.0.0-beta.40"
28 |
29 | "@babel/helper-get-function-arity@7.0.0-beta.40":
30 | version "7.0.0-beta.40"
31 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.40.tgz#ac0419cf067b0ec16453e1274f03878195791c6e"
32 | dependencies:
33 | "@babel/types" "7.0.0-beta.40"
34 |
35 | "@babel/highlight@7.0.0-beta.40":
36 | version "7.0.0-beta.40"
37 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.40.tgz#b43d67d76bf46e1d10d227f68cddcd263786b255"
38 | dependencies:
39 | chalk "^2.0.0"
40 | esutils "^2.0.2"
41 | js-tokens "^3.0.0"
42 |
43 | "@babel/template@7.0.0-beta.40":
44 | version "7.0.0-beta.40"
45 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.40.tgz#034988c6424eb5c3268fe6a608626de1f4410fc8"
46 | dependencies:
47 | "@babel/code-frame" "7.0.0-beta.40"
48 | "@babel/types" "7.0.0-beta.40"
49 | babylon "7.0.0-beta.40"
50 | lodash "^4.2.0"
51 |
52 | "@babel/traverse@^7.0.0-beta.40":
53 | version "7.0.0-beta.40"
54 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.40.tgz#d140e449b2e093ef9fe1a2eecc28421ffb4e521e"
55 | dependencies:
56 | "@babel/code-frame" "7.0.0-beta.40"
57 | "@babel/generator" "7.0.0-beta.40"
58 | "@babel/helper-function-name" "7.0.0-beta.40"
59 | "@babel/types" "7.0.0-beta.40"
60 | babylon "7.0.0-beta.40"
61 | debug "^3.0.1"
62 | globals "^11.1.0"
63 | invariant "^2.2.0"
64 | lodash "^4.2.0"
65 |
66 | "@babel/types@7.0.0-beta.40", "@babel/types@^7.0.0-beta.40":
67 | version "7.0.0-beta.40"
68 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.40.tgz#25c3d7aae14126abe05fcb098c65a66b6d6b8c14"
69 | dependencies:
70 | esutils "^2.0.2"
71 | lodash "^4.2.0"
72 | to-fast-properties "^2.0.0"
73 |
74 | "@types/node@*":
75 | version "9.4.6"
76 | resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.6.tgz#d8176d864ee48753d053783e4e463aec86b8d82e"
77 |
78 | acorn-jsx@^3.0.0:
79 | version "3.0.1"
80 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
81 | dependencies:
82 | acorn "^3.0.4"
83 |
84 | acorn@^3.0.4:
85 | version "3.3.0"
86 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
87 |
88 | acorn@^5.5.0:
89 | version "5.5.3"
90 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
91 |
92 | ajv-keywords@^2.1.0:
93 | version "2.1.1"
94 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
95 |
96 | ajv@^5.2.3, ajv@^5.3.0:
97 | version "5.5.2"
98 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
99 | dependencies:
100 | co "^4.6.0"
101 | fast-deep-equal "^1.0.0"
102 | fast-json-stable-stringify "^2.0.0"
103 | json-schema-traverse "^0.3.0"
104 |
105 | ansi-escapes@^1.1.0:
106 | version "1.4.0"
107 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
108 |
109 | ansi-escapes@^3.0.0:
110 | version "3.0.0"
111 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
112 |
113 | ansi-regex@^2.0.0:
114 | version "2.1.1"
115 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
116 |
117 | ansi-regex@^3.0.0:
118 | version "3.0.0"
119 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
120 |
121 | ansi-styles@^2.2.1:
122 | version "2.2.1"
123 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
124 |
125 | ansi-styles@^3.1.0, ansi-styles@^3.2.0:
126 | version "3.2.0"
127 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
128 | dependencies:
129 | color-convert "^1.9.0"
130 |
131 | ansi-styles@^3.2.1:
132 | version "3.2.1"
133 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
134 | dependencies:
135 | color-convert "^1.9.0"
136 |
137 | ansi@^0.3.0, ansi@~0.3.1:
138 | version "0.3.1"
139 | resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
140 |
141 | any-promise@^1.0.0:
142 | version "1.3.0"
143 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
144 |
145 | are-we-there-yet@~1.1.2:
146 | version "1.1.4"
147 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
148 | dependencies:
149 | delegates "^1.0.0"
150 | readable-stream "^2.0.6"
151 |
152 | argparse@^1.0.7:
153 | version "1.0.10"
154 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
155 | dependencies:
156 | sprintf-js "~1.0.2"
157 |
158 | array-union@^1.0.1:
159 | version "1.0.2"
160 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
161 | dependencies:
162 | array-uniq "^1.0.1"
163 |
164 | array-uniq@^1.0.1:
165 | version "1.0.3"
166 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
167 |
168 | arrify@^1.0.0:
169 | version "1.0.1"
170 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
171 |
172 | async@~1.0.0:
173 | version "1.0.0"
174 | resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
175 |
176 | babel-code-frame@^6.22.0:
177 | version "6.26.0"
178 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
179 | dependencies:
180 | chalk "^1.1.3"
181 | esutils "^2.0.2"
182 | js-tokens "^3.0.2"
183 |
184 | babel-eslint@^8.2.2:
185 | version "8.2.2"
186 | resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.2.tgz#1102273354c6f0b29b4ea28a65f97d122296b68b"
187 | dependencies:
188 | "@babel/code-frame" "^7.0.0-beta.40"
189 | "@babel/traverse" "^7.0.0-beta.40"
190 | "@babel/types" "^7.0.0-beta.40"
191 | babylon "^7.0.0-beta.40"
192 | eslint-scope "~3.7.1"
193 | eslint-visitor-keys "^1.0.0"
194 |
195 | babylon@7.0.0-beta.40, babylon@^7.0.0-beta.40:
196 | version "7.0.0-beta.40"
197 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.40.tgz#91fc8cd56d5eb98b28e6fde41045f2957779940a"
198 |
199 | balanced-match@^1.0.0:
200 | version "1.0.0"
201 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
202 |
203 | bluebird@^3.4.7:
204 | version "3.5.1"
205 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
206 |
207 | brace-expansion@^1.1.7:
208 | version "1.1.9"
209 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.9.tgz#acdc7dde0e939fb3b32fe933336573e2a7dc2b7c"
210 | dependencies:
211 | balanced-match "^1.0.0"
212 | concat-map "0.0.1"
213 |
214 | caller-path@^0.1.0:
215 | version "0.1.0"
216 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
217 | dependencies:
218 | callsites "^0.2.0"
219 |
220 | callsites@^0.2.0:
221 | version "0.2.0"
222 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
223 |
224 | camel-case@^3.0.0:
225 | version "3.0.0"
226 | resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
227 | dependencies:
228 | no-case "^2.2.0"
229 | upper-case "^1.1.1"
230 |
231 | camelcase@^4.1.0:
232 | version "4.1.0"
233 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
234 |
235 | caporal@^0.9.0:
236 | version "0.9.0"
237 | resolved "https://registry.yarnpkg.com/caporal/-/caporal-0.9.0.tgz#4c2434a8d4ec5fe25161ccc9cb076d8848949998"
238 | dependencies:
239 | bluebird "^3.4.7"
240 | chalk "^1.1.3"
241 | cli-table2 "^0.2.0"
242 | fast-levenshtein "^2.0.6"
243 | lodash.camelcase "^4.3.0"
244 | lodash.kebabcase "^4.1.1"
245 | micromist "^1.0.1"
246 | prettyjson "^1.2.1"
247 | tabtab "^2.2.2"
248 | winston "^2.3.1"
249 |
250 | chalk@^1.0.0, chalk@^1.1.3:
251 | version "1.1.3"
252 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
253 | dependencies:
254 | ansi-styles "^2.2.1"
255 | escape-string-regexp "^1.0.2"
256 | has-ansi "^2.0.0"
257 | strip-ansi "^3.0.0"
258 | supports-color "^2.0.0"
259 |
260 | chalk@^2.0.0:
261 | version "2.3.0"
262 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
263 | dependencies:
264 | ansi-styles "^3.1.0"
265 | escape-string-regexp "^1.0.5"
266 | supports-color "^4.0.0"
267 |
268 | chalk@^2.1.0:
269 | version "2.3.2"
270 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65"
271 | dependencies:
272 | ansi-styles "^3.2.1"
273 | escape-string-regexp "^1.0.5"
274 | supports-color "^5.3.0"
275 |
276 | chalk@^2.3.0, chalk@^2.3.1:
277 | version "2.3.1"
278 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796"
279 | dependencies:
280 | ansi-styles "^3.2.0"
281 | escape-string-regexp "^1.0.5"
282 | supports-color "^5.2.0"
283 |
284 | change-case@^3.0.1:
285 | version "3.0.1"
286 | resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554"
287 | dependencies:
288 | camel-case "^3.0.0"
289 | constant-case "^2.0.0"
290 | dot-case "^2.1.0"
291 | header-case "^1.0.0"
292 | is-lower-case "^1.1.0"
293 | is-upper-case "^1.1.0"
294 | lower-case "^1.1.1"
295 | lower-case-first "^1.0.0"
296 | no-case "^2.2.0"
297 | param-case "^2.1.0"
298 | pascal-case "^2.0.0"
299 | path-case "^2.1.0"
300 | sentence-case "^2.1.0"
301 | snake-case "^2.1.0"
302 | swap-case "^1.1.0"
303 | title-case "^2.1.0"
304 | upper-case "^1.1.1"
305 | upper-case-first "^1.1.0"
306 |
307 | chardet@^0.4.0:
308 | version "0.4.2"
309 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
310 |
311 | circular-json@^0.3.1:
312 | version "0.3.3"
313 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
314 |
315 | cli-cursor@^1.0.1:
316 | version "1.0.2"
317 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
318 | dependencies:
319 | restore-cursor "^1.0.1"
320 |
321 | cli-cursor@^2.1.0:
322 | version "2.1.0"
323 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
324 | dependencies:
325 | restore-cursor "^2.0.0"
326 |
327 | cli-highlight@^1.2.3:
328 | version "1.2.3"
329 | resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-1.2.3.tgz#b200f97ed0e43d24633e89de0f489a48bb87d2bf"
330 | dependencies:
331 | chalk "^2.3.0"
332 | highlight.js "^9.6.0"
333 | mz "^2.4.0"
334 | parse5 "^3.0.3"
335 | yargs "^10.0.3"
336 |
337 | cli-table2@^0.2.0:
338 | version "0.2.0"
339 | resolved "https://registry.yarnpkg.com/cli-table2/-/cli-table2-0.2.0.tgz#2d1ef7f218a0e786e214540562d4bd177fe32d97"
340 | dependencies:
341 | lodash "^3.10.1"
342 | string-width "^1.0.1"
343 | optionalDependencies:
344 | colors "^1.1.2"
345 |
346 | cli-width@^2.0.0:
347 | version "2.2.0"
348 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
349 |
350 | cliui@^4.0.0:
351 | version "4.0.0"
352 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc"
353 | dependencies:
354 | string-width "^2.1.1"
355 | strip-ansi "^4.0.0"
356 | wrap-ansi "^2.0.0"
357 |
358 | co@^4.6.0:
359 | version "4.6.0"
360 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
361 |
362 | code-point-at@^1.0.0:
363 | version "1.1.0"
364 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
365 |
366 | color-convert@^1.9.0:
367 | version "1.9.1"
368 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
369 | dependencies:
370 | color-name "^1.1.1"
371 |
372 | color-name@^1.1.1:
373 | version "1.1.3"
374 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
375 |
376 | colors@1.0.x:
377 | version "1.0.3"
378 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
379 |
380 | colors@^1.1.2:
381 | version "1.1.2"
382 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
383 |
384 | concat-map@0.0.1:
385 | version "0.0.1"
386 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
387 |
388 | concat-stream@^1.4.7:
389 | version "1.6.0"
390 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
391 | dependencies:
392 | inherits "^2.0.3"
393 | readable-stream "^2.2.2"
394 | typedarray "^0.0.6"
395 |
396 | concat-stream@^1.6.0:
397 | version "1.6.1"
398 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26"
399 | dependencies:
400 | inherits "^2.0.3"
401 | readable-stream "^2.2.2"
402 | typedarray "^0.0.6"
403 |
404 | constant-case@^2.0.0:
405 | version "2.0.0"
406 | resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
407 | dependencies:
408 | snake-case "^2.1.0"
409 | upper-case "^1.1.1"
410 |
411 | core-util-is@~1.0.0:
412 | version "1.0.2"
413 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
414 |
415 | cross-spawn@^5.0.1, cross-spawn@^5.1.0:
416 | version "5.1.0"
417 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
418 | dependencies:
419 | lru-cache "^4.0.1"
420 | shebang-command "^1.2.0"
421 | which "^1.2.9"
422 |
423 | cycle@1.0.x:
424 | version "1.0.3"
425 | resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
426 |
427 | debug@^2.2.0:
428 | version "2.6.9"
429 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
430 | dependencies:
431 | ms "2.0.0"
432 |
433 | debug@^3.0.1, debug@^3.1.0:
434 | version "3.1.0"
435 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
436 | dependencies:
437 | ms "2.0.0"
438 |
439 | decamelize@^1.1.1:
440 | version "1.2.0"
441 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
442 |
443 | deep-is@~0.1.3:
444 | version "0.1.3"
445 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
446 |
447 | del@^2.0.2:
448 | version "2.2.2"
449 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
450 | dependencies:
451 | globby "^5.0.0"
452 | is-path-cwd "^1.0.0"
453 | is-path-in-cwd "^1.0.0"
454 | object-assign "^4.0.1"
455 | pify "^2.0.0"
456 | pinkie-promise "^2.0.0"
457 | rimraf "^2.2.8"
458 |
459 | delegates@^1.0.0:
460 | version "1.0.0"
461 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
462 |
463 | doctrine@^2.1.0:
464 | version "2.1.0"
465 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
466 | dependencies:
467 | esutils "^2.0.2"
468 |
469 | dot-case@^2.1.0:
470 | version "2.1.1"
471 | resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
472 | dependencies:
473 | no-case "^2.2.0"
474 |
475 | ejs@^2.5.7:
476 | version "2.5.7"
477 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a"
478 |
479 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
480 | version "1.0.5"
481 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
482 |
483 | eslint-scope@^3.7.1, eslint-scope@~3.7.1:
484 | version "3.7.1"
485 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
486 | dependencies:
487 | esrecurse "^4.1.0"
488 | estraverse "^4.1.1"
489 |
490 | eslint-visitor-keys@^1.0.0:
491 | version "1.0.0"
492 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
493 |
494 | eslint@^4.18.2:
495 | version "4.18.2"
496 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.18.2.tgz#0f81267ad1012e7d2051e186a9004cc2267b8d45"
497 | dependencies:
498 | ajv "^5.3.0"
499 | babel-code-frame "^6.22.0"
500 | chalk "^2.1.0"
501 | concat-stream "^1.6.0"
502 | cross-spawn "^5.1.0"
503 | debug "^3.1.0"
504 | doctrine "^2.1.0"
505 | eslint-scope "^3.7.1"
506 | eslint-visitor-keys "^1.0.0"
507 | espree "^3.5.2"
508 | esquery "^1.0.0"
509 | esutils "^2.0.2"
510 | file-entry-cache "^2.0.0"
511 | functional-red-black-tree "^1.0.1"
512 | glob "^7.1.2"
513 | globals "^11.0.1"
514 | ignore "^3.3.3"
515 | imurmurhash "^0.1.4"
516 | inquirer "^3.0.6"
517 | is-resolvable "^1.0.0"
518 | js-yaml "^3.9.1"
519 | json-stable-stringify-without-jsonify "^1.0.1"
520 | levn "^0.3.0"
521 | lodash "^4.17.4"
522 | minimatch "^3.0.2"
523 | mkdirp "^0.5.1"
524 | natural-compare "^1.4.0"
525 | optionator "^0.8.2"
526 | path-is-inside "^1.0.2"
527 | pluralize "^7.0.0"
528 | progress "^2.0.0"
529 | require-uncached "^1.0.3"
530 | semver "^5.3.0"
531 | strip-ansi "^4.0.0"
532 | strip-json-comments "~2.0.1"
533 | table "4.0.2"
534 | text-table "~0.2.0"
535 |
536 | espree@^3.5.2:
537 | version "3.5.4"
538 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
539 | dependencies:
540 | acorn "^5.5.0"
541 | acorn-jsx "^3.0.0"
542 |
543 | esprima@^4.0.0:
544 | version "4.0.0"
545 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
546 |
547 | esquery@^1.0.0:
548 | version "1.0.0"
549 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
550 | dependencies:
551 | estraverse "^4.0.0"
552 |
553 | esrecurse@^4.1.0:
554 | version "4.2.1"
555 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
556 | dependencies:
557 | estraverse "^4.1.0"
558 |
559 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
560 | version "4.2.0"
561 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
562 |
563 | esutils@^2.0.2:
564 | version "2.0.2"
565 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
566 |
567 | execa@^0.7.0:
568 | version "0.7.0"
569 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
570 | dependencies:
571 | cross-spawn "^5.0.1"
572 | get-stream "^3.0.0"
573 | is-stream "^1.1.0"
574 | npm-run-path "^2.0.0"
575 | p-finally "^1.0.0"
576 | signal-exit "^3.0.0"
577 | strip-eof "^1.0.0"
578 |
579 | exit-hook@^1.0.0:
580 | version "1.1.1"
581 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
582 |
583 | extend@^3.0.0:
584 | version "3.0.1"
585 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
586 |
587 | external-editor@^1.1.0:
588 | version "1.1.1"
589 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b"
590 | dependencies:
591 | extend "^3.0.0"
592 | spawn-sync "^1.0.15"
593 | tmp "^0.0.29"
594 |
595 | external-editor@^2.0.4, external-editor@^2.1.0:
596 | version "2.1.0"
597 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
598 | dependencies:
599 | chardet "^0.4.0"
600 | iconv-lite "^0.4.17"
601 | tmp "^0.0.33"
602 |
603 | eyes@0.1.x:
604 | version "0.1.8"
605 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
606 |
607 | fast-deep-equal@^1.0.0:
608 | version "1.1.0"
609 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
610 |
611 | fast-json-stable-stringify@^2.0.0:
612 | version "2.0.0"
613 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
614 |
615 | fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4:
616 | version "2.0.6"
617 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
618 |
619 | figures@^1.3.5:
620 | version "1.7.0"
621 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
622 | dependencies:
623 | escape-string-regexp "^1.0.5"
624 | object-assign "^4.1.0"
625 |
626 | figures@^2.0.0:
627 | version "2.0.0"
628 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
629 | dependencies:
630 | escape-string-regexp "^1.0.5"
631 |
632 | file-entry-cache@^2.0.0:
633 | version "2.0.0"
634 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
635 | dependencies:
636 | flat-cache "^1.2.1"
637 | object-assign "^4.0.1"
638 |
639 | find-up@^2.1.0:
640 | version "2.1.0"
641 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
642 | dependencies:
643 | locate-path "^2.0.0"
644 |
645 | flat-cache@^1.2.1:
646 | version "1.3.0"
647 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
648 | dependencies:
649 | circular-json "^0.3.1"
650 | del "^2.0.2"
651 | graceful-fs "^4.1.2"
652 | write "^0.2.1"
653 |
654 | fs.realpath@^1.0.0:
655 | version "1.0.0"
656 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
657 |
658 | functional-red-black-tree@^1.0.1:
659 | version "1.0.1"
660 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
661 |
662 | gauge@~1.2.5:
663 | version "1.2.7"
664 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
665 | dependencies:
666 | ansi "^0.3.0"
667 | has-unicode "^2.0.0"
668 | lodash.pad "^4.1.0"
669 | lodash.padend "^4.1.0"
670 | lodash.padstart "^4.1.0"
671 |
672 | get-caller-file@^1.0.1:
673 | version "1.0.2"
674 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
675 |
676 | get-stream@^3.0.0:
677 | version "3.0.0"
678 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
679 |
680 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.2:
681 | version "7.1.2"
682 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
683 | dependencies:
684 | fs.realpath "^1.0.0"
685 | inflight "^1.0.4"
686 | inherits "2"
687 | minimatch "^3.0.4"
688 | once "^1.3.0"
689 | path-is-absolute "^1.0.0"
690 |
691 | globals@^11.0.1, globals@^11.1.0:
692 | version "11.3.0"
693 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0"
694 |
695 | globby@^5.0.0:
696 | version "5.0.0"
697 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
698 | dependencies:
699 | array-union "^1.0.1"
700 | arrify "^1.0.0"
701 | glob "^7.0.3"
702 | object-assign "^4.0.1"
703 | pify "^2.0.0"
704 | pinkie-promise "^2.0.0"
705 |
706 | graceful-fs@^4.1.2:
707 | version "4.1.11"
708 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
709 |
710 | has-ansi@^2.0.0:
711 | version "2.0.0"
712 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
713 | dependencies:
714 | ansi-regex "^2.0.0"
715 |
716 | has-flag@^2.0.0:
717 | version "2.0.0"
718 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
719 |
720 | has-flag@^3.0.0:
721 | version "3.0.0"
722 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
723 |
724 | has-unicode@^2.0.0:
725 | version "2.0.1"
726 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
727 |
728 | header-case@^1.0.0:
729 | version "1.0.1"
730 | resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
731 | dependencies:
732 | no-case "^2.2.0"
733 | upper-case "^1.1.3"
734 |
735 | highlight.js@^9.6.0:
736 | version "9.12.0"
737 | resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
738 |
739 | iconv-lite@^0.4.17:
740 | version "0.4.19"
741 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
742 |
743 | ignore@^3.3.3:
744 | version "3.3.7"
745 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
746 |
747 | imurmurhash@^0.1.4:
748 | version "0.1.4"
749 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
750 |
751 | inflight@^1.0.4:
752 | version "1.0.6"
753 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
754 | dependencies:
755 | once "^1.3.0"
756 | wrappy "1"
757 |
758 | inherits@2, inherits@^2.0.3, inherits@~2.0.3:
759 | version "2.0.3"
760 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
761 |
762 | inquirer@^1.0.2:
763 | version "1.2.3"
764 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918"
765 | dependencies:
766 | ansi-escapes "^1.1.0"
767 | chalk "^1.0.0"
768 | cli-cursor "^1.0.1"
769 | cli-width "^2.0.0"
770 | external-editor "^1.1.0"
771 | figures "^1.3.5"
772 | lodash "^4.3.0"
773 | mute-stream "0.0.6"
774 | pinkie-promise "^2.0.0"
775 | run-async "^2.2.0"
776 | rx "^4.1.0"
777 | string-width "^1.0.1"
778 | strip-ansi "^3.0.0"
779 | through "^2.3.6"
780 |
781 | inquirer@^3.0.6:
782 | version "3.3.0"
783 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
784 | dependencies:
785 | ansi-escapes "^3.0.0"
786 | chalk "^2.0.0"
787 | cli-cursor "^2.1.0"
788 | cli-width "^2.0.0"
789 | external-editor "^2.0.4"
790 | figures "^2.0.0"
791 | lodash "^4.3.0"
792 | mute-stream "0.0.7"
793 | run-async "^2.2.0"
794 | rx-lite "^4.0.8"
795 | rx-lite-aggregates "^4.0.8"
796 | string-width "^2.1.0"
797 | strip-ansi "^4.0.0"
798 | through "^2.3.6"
799 |
800 | inquirer@^5.1.0:
801 | version "5.1.0"
802 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.1.0.tgz#19da508931892328abbbdd4c477f1efc65abfd67"
803 | dependencies:
804 | ansi-escapes "^3.0.0"
805 | chalk "^2.0.0"
806 | cli-cursor "^2.1.0"
807 | cli-width "^2.0.0"
808 | external-editor "^2.1.0"
809 | figures "^2.0.0"
810 | lodash "^4.3.0"
811 | mute-stream "0.0.7"
812 | run-async "^2.2.0"
813 | rxjs "^5.5.2"
814 | string-width "^2.1.0"
815 | strip-ansi "^4.0.0"
816 | through "^2.3.6"
817 |
818 | invariant@^2.2.0:
819 | version "2.2.3"
820 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.3.tgz#1a827dfde7dcbd7c323f0ca826be8fa7c5e9d688"
821 | dependencies:
822 | loose-envify "^1.0.0"
823 |
824 | invert-kv@^1.0.0:
825 | version "1.0.0"
826 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
827 |
828 | is-fullwidth-code-point@^1.0.0:
829 | version "1.0.0"
830 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
831 | dependencies:
832 | number-is-nan "^1.0.0"
833 |
834 | is-fullwidth-code-point@^2.0.0:
835 | version "2.0.0"
836 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
837 |
838 | is-lower-case@^1.1.0:
839 | version "1.1.3"
840 | resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
841 | dependencies:
842 | lower-case "^1.1.0"
843 |
844 | is-path-cwd@^1.0.0:
845 | version "1.0.0"
846 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
847 |
848 | is-path-in-cwd@^1.0.0:
849 | version "1.0.0"
850 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
851 | dependencies:
852 | is-path-inside "^1.0.0"
853 |
854 | is-path-inside@^1.0.0:
855 | version "1.0.1"
856 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
857 | dependencies:
858 | path-is-inside "^1.0.1"
859 |
860 | is-promise@^2.1.0:
861 | version "2.1.0"
862 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
863 |
864 | is-resolvable@^1.0.0:
865 | version "1.1.0"
866 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
867 |
868 | is-stream@^1.1.0:
869 | version "1.1.0"
870 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
871 |
872 | is-upper-case@^1.1.0:
873 | version "1.1.2"
874 | resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
875 | dependencies:
876 | upper-case "^1.1.0"
877 |
878 | isarray@~1.0.0:
879 | version "1.0.0"
880 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
881 |
882 | isexe@^2.0.0:
883 | version "2.0.0"
884 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
885 |
886 | isstream@0.1.x:
887 | version "0.1.2"
888 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
889 |
890 | js-tokens@^3.0.0, js-tokens@^3.0.2:
891 | version "3.0.2"
892 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
893 |
894 | js-yaml@^3.9.1:
895 | version "3.11.0"
896 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
897 | dependencies:
898 | argparse "^1.0.7"
899 | esprima "^4.0.0"
900 |
901 | jsesc@^2.5.1:
902 | version "2.5.1"
903 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe"
904 |
905 | json-schema-traverse@^0.3.0:
906 | version "0.3.1"
907 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
908 |
909 | json-stable-stringify-without-jsonify@^1.0.1:
910 | version "1.0.1"
911 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
912 |
913 | lcid@^1.0.0:
914 | version "1.0.0"
915 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
916 | dependencies:
917 | invert-kv "^1.0.0"
918 |
919 | levn@^0.3.0, levn@~0.3.0:
920 | version "0.3.0"
921 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
922 | dependencies:
923 | prelude-ls "~1.1.2"
924 | type-check "~0.3.2"
925 |
926 | locate-path@^2.0.0:
927 | version "2.0.0"
928 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
929 | dependencies:
930 | p-locate "^2.0.0"
931 | path-exists "^3.0.0"
932 |
933 | lodash.camelcase@^4.3.0:
934 | version "4.3.0"
935 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
936 |
937 | lodash.difference@^4.5.0:
938 | version "4.5.0"
939 | resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
940 |
941 | lodash.kebabcase@^4.1.1:
942 | version "4.1.1"
943 | resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
944 |
945 | lodash.pad@^4.1.0:
946 | version "4.5.1"
947 | resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
948 |
949 | lodash.padend@^4.1.0:
950 | version "4.6.1"
951 | resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
952 |
953 | lodash.padstart@^4.1.0:
954 | version "4.6.1"
955 | resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
956 |
957 | lodash.uniq@^4.5.0:
958 | version "4.5.0"
959 | resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
960 |
961 | lodash@^3.10.1:
962 | version "3.10.1"
963 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
964 |
965 | lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0:
966 | version "4.17.5"
967 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
968 |
969 | loose-envify@^1.0.0:
970 | version "1.3.1"
971 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
972 | dependencies:
973 | js-tokens "^3.0.0"
974 |
975 | lower-case-first@^1.0.0:
976 | version "1.0.2"
977 | resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
978 | dependencies:
979 | lower-case "^1.1.2"
980 |
981 | lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
982 | version "1.1.4"
983 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
984 |
985 | lru-cache@^4.0.1:
986 | version "4.1.1"
987 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
988 | dependencies:
989 | pseudomap "^1.0.2"
990 | yallist "^2.1.2"
991 |
992 | mem@^1.1.0:
993 | version "1.1.0"
994 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
995 | dependencies:
996 | mimic-fn "^1.0.0"
997 |
998 | micromist@^1.0.1:
999 | version "1.0.2"
1000 | resolved "https://registry.yarnpkg.com/micromist/-/micromist-1.0.2.tgz#41f84949a04c30cdc60a394d0cb06aaa08b86364"
1001 | dependencies:
1002 | lodash.camelcase "^4.3.0"
1003 |
1004 | mimic-fn@^1.0.0:
1005 | version "1.2.0"
1006 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
1007 |
1008 | minimatch@^3.0.2, minimatch@^3.0.4:
1009 | version "3.0.4"
1010 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1011 | dependencies:
1012 | brace-expansion "^1.1.7"
1013 |
1014 | minimist@0.0.8:
1015 | version "0.0.8"
1016 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1017 |
1018 | minimist@^1.2.0:
1019 | version "1.2.0"
1020 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1021 |
1022 | mkdirp@^0.5.1:
1023 | version "0.5.1"
1024 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1025 | dependencies:
1026 | minimist "0.0.8"
1027 |
1028 | ms@2.0.0:
1029 | version "2.0.0"
1030 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1031 |
1032 | mute-stream@0.0.6:
1033 | version "0.0.6"
1034 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
1035 |
1036 | mute-stream@0.0.7:
1037 | version "0.0.7"
1038 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
1039 |
1040 | mz@^2.4.0:
1041 | version "2.7.0"
1042 | resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
1043 | dependencies:
1044 | any-promise "^1.0.0"
1045 | object-assign "^4.0.1"
1046 | thenify-all "^1.0.0"
1047 |
1048 | natural-compare@^1.4.0:
1049 | version "1.4.0"
1050 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1051 |
1052 | no-case@^2.2.0:
1053 | version "2.3.2"
1054 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
1055 | dependencies:
1056 | lower-case "^1.1.1"
1057 |
1058 | npm-run-path@^2.0.0:
1059 | version "2.0.2"
1060 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
1061 | dependencies:
1062 | path-key "^2.0.0"
1063 |
1064 | npmlog@^2.0.3:
1065 | version "2.0.4"
1066 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
1067 | dependencies:
1068 | ansi "~0.3.1"
1069 | are-we-there-yet "~1.1.2"
1070 | gauge "~1.2.5"
1071 |
1072 | number-is-nan@^1.0.0:
1073 | version "1.0.1"
1074 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
1075 |
1076 | object-assign@^4.0.1, object-assign@^4.1.0:
1077 | version "4.1.1"
1078 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1079 |
1080 | once@^1.3.0:
1081 | version "1.4.0"
1082 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1083 | dependencies:
1084 | wrappy "1"
1085 |
1086 | onetime@^1.0.0:
1087 | version "1.1.0"
1088 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
1089 |
1090 | onetime@^2.0.0:
1091 | version "2.0.1"
1092 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
1093 | dependencies:
1094 | mimic-fn "^1.0.0"
1095 |
1096 | optionator@^0.8.2:
1097 | version "0.8.2"
1098 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
1099 | dependencies:
1100 | deep-is "~0.1.3"
1101 | fast-levenshtein "~2.0.4"
1102 | levn "~0.3.0"
1103 | prelude-ls "~1.1.2"
1104 | type-check "~0.3.2"
1105 | wordwrap "~1.0.0"
1106 |
1107 | os-locale@^2.0.0:
1108 | version "2.1.0"
1109 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
1110 | dependencies:
1111 | execa "^0.7.0"
1112 | lcid "^1.0.0"
1113 | mem "^1.1.0"
1114 |
1115 | os-shim@^0.1.2:
1116 | version "0.1.3"
1117 | resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
1118 |
1119 | os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
1120 | version "1.0.2"
1121 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
1122 |
1123 | p-finally@^1.0.0:
1124 | version "1.0.0"
1125 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
1126 |
1127 | p-limit@^1.1.0:
1128 | version "1.2.0"
1129 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
1130 | dependencies:
1131 | p-try "^1.0.0"
1132 |
1133 | p-locate@^2.0.0:
1134 | version "2.0.0"
1135 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
1136 | dependencies:
1137 | p-limit "^1.1.0"
1138 |
1139 | p-try@^1.0.0:
1140 | version "1.0.0"
1141 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
1142 |
1143 | param-case@^2.1.0:
1144 | version "2.1.1"
1145 | resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
1146 | dependencies:
1147 | no-case "^2.2.0"
1148 |
1149 | parse5@^3.0.3:
1150 | version "3.0.3"
1151 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
1152 | dependencies:
1153 | "@types/node" "*"
1154 |
1155 | pascal-case@^2.0.0:
1156 | version "2.0.1"
1157 | resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
1158 | dependencies:
1159 | camel-case "^3.0.0"
1160 | upper-case-first "^1.1.0"
1161 |
1162 | path-case@^2.1.0:
1163 | version "2.1.1"
1164 | resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
1165 | dependencies:
1166 | no-case "^2.2.0"
1167 |
1168 | path-exists@^3.0.0:
1169 | version "3.0.0"
1170 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
1171 |
1172 | path-is-absolute@^1.0.0:
1173 | version "1.0.1"
1174 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1175 |
1176 | path-is-inside@^1.0.1, path-is-inside@^1.0.2:
1177 | version "1.0.2"
1178 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
1179 |
1180 | path-key@^2.0.0:
1181 | version "2.0.1"
1182 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
1183 |
1184 | pify@^2.0.0:
1185 | version "2.3.0"
1186 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
1187 |
1188 | pinkie-promise@^2.0.0:
1189 | version "2.0.1"
1190 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
1191 | dependencies:
1192 | pinkie "^2.0.0"
1193 |
1194 | pinkie@^2.0.0:
1195 | version "2.0.4"
1196 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
1197 |
1198 | pluralize@^7.0.0:
1199 | version "7.0.0"
1200 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
1201 |
1202 | prelude-ls@~1.1.2:
1203 | version "1.1.2"
1204 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
1205 |
1206 | prettyjson@^1.2.1:
1207 | version "1.2.1"
1208 | resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289"
1209 | dependencies:
1210 | colors "^1.1.2"
1211 | minimist "^1.2.0"
1212 |
1213 | process-nextick-args@~1.0.6:
1214 | version "1.0.7"
1215 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
1216 |
1217 | progress@^2.0.0:
1218 | version "2.0.0"
1219 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
1220 |
1221 | pseudomap@^1.0.2:
1222 | version "1.0.2"
1223 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
1224 |
1225 | readable-stream@^2.0.6, readable-stream@^2.2.2:
1226 | version "2.3.3"
1227 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
1228 | dependencies:
1229 | core-util-is "~1.0.0"
1230 | inherits "~2.0.3"
1231 | isarray "~1.0.0"
1232 | process-nextick-args "~1.0.6"
1233 | safe-buffer "~5.1.1"
1234 | string_decoder "~1.0.3"
1235 | util-deprecate "~1.0.1"
1236 |
1237 | require-directory@^2.1.1:
1238 | version "2.1.1"
1239 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1240 |
1241 | require-main-filename@^1.0.1:
1242 | version "1.0.1"
1243 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
1244 |
1245 | require-uncached@^1.0.3:
1246 | version "1.0.3"
1247 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
1248 | dependencies:
1249 | caller-path "^0.1.0"
1250 | resolve-from "^1.0.0"
1251 |
1252 | resolve-from@^1.0.0:
1253 | version "1.0.1"
1254 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
1255 |
1256 | restore-cursor@^1.0.1:
1257 | version "1.0.1"
1258 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
1259 | dependencies:
1260 | exit-hook "^1.0.0"
1261 | onetime "^1.0.0"
1262 |
1263 | restore-cursor@^2.0.0:
1264 | version "2.0.0"
1265 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
1266 | dependencies:
1267 | onetime "^2.0.0"
1268 | signal-exit "^3.0.2"
1269 |
1270 | rimraf@^2.2.8:
1271 | version "2.6.2"
1272 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
1273 | dependencies:
1274 | glob "^7.0.5"
1275 |
1276 | run-async@^2.2.0:
1277 | version "2.3.0"
1278 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
1279 | dependencies:
1280 | is-promise "^2.1.0"
1281 |
1282 | rx-lite-aggregates@^4.0.8:
1283 | version "4.0.8"
1284 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
1285 | dependencies:
1286 | rx-lite "*"
1287 |
1288 | rx-lite@*, rx-lite@^4.0.8:
1289 | version "4.0.8"
1290 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
1291 |
1292 | rx@^4.1.0:
1293 | version "4.1.0"
1294 | resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
1295 |
1296 | rxjs@^5.5.2:
1297 | version "5.5.6"
1298 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02"
1299 | dependencies:
1300 | symbol-observable "1.0.1"
1301 |
1302 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1303 | version "5.1.1"
1304 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
1305 |
1306 | semver@^5.3.0:
1307 | version "5.5.0"
1308 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
1309 |
1310 | sentence-case@^2.1.0:
1311 | version "2.1.1"
1312 | resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
1313 | dependencies:
1314 | no-case "^2.2.0"
1315 | upper-case-first "^1.1.2"
1316 |
1317 | set-blocking@^2.0.0:
1318 | version "2.0.0"
1319 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
1320 |
1321 | shebang-command@^1.2.0:
1322 | version "1.2.0"
1323 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
1324 | dependencies:
1325 | shebang-regex "^1.0.0"
1326 |
1327 | shebang-regex@^1.0.0:
1328 | version "1.0.0"
1329 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
1330 |
1331 | signal-exit@^3.0.0, signal-exit@^3.0.2:
1332 | version "3.0.2"
1333 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
1334 |
1335 | slice-ansi@1.0.0:
1336 | version "1.0.0"
1337 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
1338 | dependencies:
1339 | is-fullwidth-code-point "^2.0.0"
1340 |
1341 | snake-case@^2.1.0:
1342 | version "2.1.0"
1343 | resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
1344 | dependencies:
1345 | no-case "^2.2.0"
1346 |
1347 | source-map@^0.5.0:
1348 | version "0.5.7"
1349 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
1350 |
1351 | spawn-sync@^1.0.15:
1352 | version "1.0.15"
1353 | resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
1354 | dependencies:
1355 | concat-stream "^1.4.7"
1356 | os-shim "^0.1.2"
1357 |
1358 | sprintf-js@~1.0.2:
1359 | version "1.0.3"
1360 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
1361 |
1362 | stack-trace@0.0.x:
1363 | version "0.0.10"
1364 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
1365 |
1366 | string-width@^1.0.1:
1367 | version "1.0.2"
1368 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
1369 | dependencies:
1370 | code-point-at "^1.0.0"
1371 | is-fullwidth-code-point "^1.0.0"
1372 | strip-ansi "^3.0.0"
1373 |
1374 | string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
1375 | version "2.1.1"
1376 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
1377 | dependencies:
1378 | is-fullwidth-code-point "^2.0.0"
1379 | strip-ansi "^4.0.0"
1380 |
1381 | string_decoder@~1.0.3:
1382 | version "1.0.3"
1383 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
1384 | dependencies:
1385 | safe-buffer "~5.1.0"
1386 |
1387 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
1388 | version "3.0.1"
1389 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
1390 | dependencies:
1391 | ansi-regex "^2.0.0"
1392 |
1393 | strip-ansi@^4.0.0:
1394 | version "4.0.0"
1395 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
1396 | dependencies:
1397 | ansi-regex "^3.0.0"
1398 |
1399 | strip-eof@^1.0.0:
1400 | version "1.0.0"
1401 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
1402 |
1403 | strip-json-comments@~2.0.1:
1404 | version "2.0.1"
1405 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
1406 |
1407 | supports-color@^2.0.0:
1408 | version "2.0.0"
1409 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
1410 |
1411 | supports-color@^4.0.0:
1412 | version "4.5.0"
1413 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
1414 | dependencies:
1415 | has-flag "^2.0.0"
1416 |
1417 | supports-color@^5.2.0:
1418 | version "5.2.0"
1419 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.2.0.tgz#b0d5333b1184dd3666cbe5aa0b45c5ac7ac17a4a"
1420 | dependencies:
1421 | has-flag "^3.0.0"
1422 |
1423 | supports-color@^5.3.0:
1424 | version "5.3.0"
1425 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
1426 | dependencies:
1427 | has-flag "^3.0.0"
1428 |
1429 | swap-case@^1.1.0:
1430 | version "1.1.2"
1431 | resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
1432 | dependencies:
1433 | lower-case "^1.1.1"
1434 | upper-case "^1.1.1"
1435 |
1436 | symbol-observable@1.0.1:
1437 | version "1.0.1"
1438 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
1439 |
1440 | table@4.0.2:
1441 | version "4.0.2"
1442 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
1443 | dependencies:
1444 | ajv "^5.2.3"
1445 | ajv-keywords "^2.1.0"
1446 | chalk "^2.1.0"
1447 | lodash "^4.17.4"
1448 | slice-ansi "1.0.0"
1449 | string-width "^2.1.1"
1450 |
1451 | tabtab@^2.2.2:
1452 | version "2.2.2"
1453 | resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14"
1454 | dependencies:
1455 | debug "^2.2.0"
1456 | inquirer "^1.0.2"
1457 | lodash.difference "^4.5.0"
1458 | lodash.uniq "^4.5.0"
1459 | minimist "^1.2.0"
1460 | mkdirp "^0.5.1"
1461 | npmlog "^2.0.3"
1462 | object-assign "^4.1.0"
1463 |
1464 | text-table@~0.2.0:
1465 | version "0.2.0"
1466 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1467 |
1468 | thenify-all@^1.0.0:
1469 | version "1.6.0"
1470 | resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
1471 | dependencies:
1472 | thenify ">= 3.1.0 < 4"
1473 |
1474 | "thenify@>= 3.1.0 < 4":
1475 | version "3.3.0"
1476 | resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839"
1477 | dependencies:
1478 | any-promise "^1.0.0"
1479 |
1480 | through@^2.3.6:
1481 | version "2.3.8"
1482 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
1483 |
1484 | title-case@^2.1.0:
1485 | version "2.1.1"
1486 | resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
1487 | dependencies:
1488 | no-case "^2.2.0"
1489 | upper-case "^1.0.3"
1490 |
1491 | tmp@^0.0.29:
1492 | version "0.0.29"
1493 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0"
1494 | dependencies:
1495 | os-tmpdir "~1.0.1"
1496 |
1497 | tmp@^0.0.33:
1498 | version "0.0.33"
1499 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
1500 | dependencies:
1501 | os-tmpdir "~1.0.2"
1502 |
1503 | to-fast-properties@^2.0.0:
1504 | version "2.0.0"
1505 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1506 |
1507 | trim-right@^1.0.1:
1508 | version "1.0.1"
1509 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
1510 |
1511 | type-check@~0.3.2:
1512 | version "0.3.2"
1513 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
1514 | dependencies:
1515 | prelude-ls "~1.1.2"
1516 |
1517 | typedarray@^0.0.6:
1518 | version "0.0.6"
1519 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
1520 |
1521 | upper-case-first@^1.1.0, upper-case-first@^1.1.2:
1522 | version "1.1.2"
1523 | resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
1524 | dependencies:
1525 | upper-case "^1.1.1"
1526 |
1527 | upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
1528 | version "1.1.3"
1529 | resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
1530 |
1531 | util-deprecate@~1.0.1:
1532 | version "1.0.2"
1533 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1534 |
1535 | which-module@^2.0.0:
1536 | version "2.0.0"
1537 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
1538 |
1539 | which@^1.2.9:
1540 | version "1.3.0"
1541 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
1542 | dependencies:
1543 | isexe "^2.0.0"
1544 |
1545 | winston@^2.3.1:
1546 | version "2.4.0"
1547 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.0.tgz#808050b93d52661ed9fb6c26b3f0c826708b0aee"
1548 | dependencies:
1549 | async "~1.0.0"
1550 | colors "1.0.x"
1551 | cycle "1.0.x"
1552 | eyes "0.1.x"
1553 | isstream "0.1.x"
1554 | stack-trace "0.0.x"
1555 |
1556 | wordwrap@~1.0.0:
1557 | version "1.0.0"
1558 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
1559 |
1560 | wrap-ansi@^2.0.0:
1561 | version "2.1.0"
1562 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
1563 | dependencies:
1564 | string-width "^1.0.1"
1565 | strip-ansi "^3.0.1"
1566 |
1567 | wrappy@1:
1568 | version "1.0.2"
1569 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1570 |
1571 | write@^0.2.1:
1572 | version "0.2.1"
1573 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
1574 | dependencies:
1575 | mkdirp "^0.5.1"
1576 |
1577 | y18n@^3.2.1:
1578 | version "3.2.1"
1579 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
1580 |
1581 | yallist@^2.1.2:
1582 | version "2.1.2"
1583 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
1584 |
1585 | yargs-parser@^8.1.0:
1586 | version "8.1.0"
1587 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
1588 | dependencies:
1589 | camelcase "^4.1.0"
1590 |
1591 | yargs@^10.0.3:
1592 | version "10.1.2"
1593 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5"
1594 | dependencies:
1595 | cliui "^4.0.0"
1596 | decamelize "^1.1.1"
1597 | find-up "^2.1.0"
1598 | get-caller-file "^1.0.1"
1599 | os-locale "^2.0.0"
1600 | require-directory "^2.1.1"
1601 | require-main-filename "^1.0.1"
1602 | set-blocking "^2.0.0"
1603 | string-width "^2.0.0"
1604 | which-module "^2.0.0"
1605 | y18n "^3.2.1"
1606 | yargs-parser "^8.1.0"
1607 |
--------------------------------------------------------------------------------