├── .gitignore ├── .npmignore ├── README.md ├── bin └── ohshit.js ├── lib ├── git.js ├── project.js ├── questions.js ├── speak.js └── tasks.js ├── media └── prompt.png ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | npm-debug.log* 4 | yarn-debug.log* 5 | yarn-error.log* 6 | selenium-debug.log 7 | 8 | # Editor directories and files 9 | .idea 10 | *.suo 11 | *.ntvs* 12 | *.njsproj 13 | *.sln 14 | .vscode 15 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | media/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Oh shit!](media/prompt.png) 2 | 3 | > A cli tool to help you unfuck your git mistake. 4 | 5 | Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible. 6 | 7 | ## Install 8 | 9 | ```bash 10 | npm install -g ohshitgit 11 | ``` 12 | 13 | ## Usage 14 | 15 | Once that's done, you can run this command inside your project's root directory: 16 | 17 | ```bash 18 | ohshit 19 | ``` 20 | 21 | That's it! :tada: 22 | 23 | ## Inspired by 24 | 25 | [Katie Sylor-Miller's](https://twitter.com/ksylor) awesome webpage [Oh Shit Git!](https://ohshitgit.com/) 26 | 27 | ## Author 28 | 29 | Leif Riksheim ([@leifriksheim](https://github.com/leifriksheim)) - [WTFoo](https://github.com/whatthefoo) 30 | -------------------------------------------------------------------------------- /bin/ohshit.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const tasks = require("../lib/tasks"); 4 | const clear = require("clear"); 5 | const figlet = require("figlet"); 6 | 7 | const project = require("../lib/project"); 8 | const questions = require("../lib/questions"); 9 | const speak = require("../lib/speak"); 10 | 11 | if (!project.gitExist()) { 12 | speak.error( 13 | "Could not locate your git project. Try again in the root folder of your project" 14 | ); 15 | process.exit(); 16 | } 17 | 18 | async function run() { 19 | clear(); 20 | speak.normal(figlet.textSync("Oh Shit Git!")); 21 | 22 | try { 23 | const { command } = await questions.init(); 24 | tasks[command](); 25 | } catch (err) {} 26 | } 27 | 28 | run(); 29 | -------------------------------------------------------------------------------- /lib/git.js: -------------------------------------------------------------------------------- 1 | const git = require("simple-git")(); 2 | const ListLogSummary = require("simple-git/src/responses/ListLogSummary"); 3 | const speak = require("./speak"); 4 | 5 | module.exports = { 6 | getHistory: function() { 7 | return new Promise((resolve, reject) => { 8 | git.raw( 9 | ["reflog", "--pretty=format:%gd;%gs" + ListLogSummary.COMMIT_BOUNDARY], 10 | (err, result) => { 11 | if (!err) { 12 | const reflogs = ListLogSummary.parse(result, ";", [ 13 | "head", 14 | "message" 15 | ]); 16 | resolve(reflogs.all); 17 | } 18 | resolve([]); 19 | } 20 | ); 21 | }); 22 | }, 23 | getAllCommits(branch = null) { 24 | console.log(branch); 25 | return new Promise((resolve, reject) => { 26 | git.log(["master"], (err, commits) => { 27 | if (!err) { 28 | resolve(commits.all); 29 | } 30 | reject(err); 31 | }); 32 | }); 33 | }, 34 | getLocalCommits() { 35 | return new Promise((resolve, reject) => { 36 | git.log(["@{u}.."], (err, commits) => { 37 | if (!err) { 38 | resolve(commits.all); 39 | } 40 | reject(err); 41 | }); 42 | }); 43 | }, 44 | getCurrentBranchName() { 45 | return new Promise((resolve, reject) => { 46 | git.raw(["symbolic-ref", "--short", "HEAD"], (err, branch) => { 47 | if (!err) { 48 | resolve(branch); 49 | } 50 | reject(err); 51 | }); 52 | }); 53 | }, 54 | getLatestCommit: async function() { 55 | return new Promise((resolve, reject) => { 56 | git.log(["@{u}.."], (err, commits) => { 57 | if (!err) { 58 | resolve(commits.all[0]); 59 | } 60 | reject(err); 61 | }); 62 | }); 63 | }, 64 | getDiffFiles: function() { 65 | return new Promise((resolve, reject) => { 66 | git.status(function(err, status) { 67 | if (!err) { 68 | // array of unstaged files 69 | resolve(status.files); 70 | } 71 | reject(err); 72 | }); 73 | }); 74 | }, 75 | getLocalBranches: async function() { 76 | return new Promise((resolve, reject) => { 77 | git.branchLocal((err, branches) => { 78 | if (!err) { 79 | resolve(branches.all); 80 | } 81 | reject(err); 82 | }); 83 | }); 84 | }, 85 | resetHead: (head = "HEAD~", mode = "--soft") => { 86 | // https://stackoverflow.com/questions/49388201/git-revert-back-to-certain-commit-without-changing-history-and-creating-a-new-co 87 | git.raw(["reset", head, mode], function(err, result) { 88 | if (!err) { 89 | speak.success("Reset to " + head); 90 | } 91 | }); 92 | }, 93 | resetToCommit: function(hash) { 94 | // https://stackoverflow.com/questions/49388201/git-revert-back-to-certain-commit-without-changing-history-and-creating-a-new-co 95 | git.raw(["read-tree", "-u", "--reset", hash], function(err, result) { 96 | if (!err) { 97 | speak.success("Successfully reverted back to selected commit"); 98 | } 99 | }); 100 | }, 101 | stash() { 102 | git.raw(["stash"], function(err, result) { 103 | if (!err) { 104 | speak.success(`Stashed changes`); 105 | } 106 | }); 107 | }, 108 | stashPop() { 109 | git.raw(["stash", "pop"], function(err, result) { 110 | if (!err) { 111 | speak.success(`Applied stash`); 112 | } 113 | }); 114 | }, 115 | createBranch: branchName => { 116 | git.raw(["branch", branchName], function(err, result) { 117 | if (!err) { 118 | speak.success(`Created new branch with name ${branchName}`); 119 | } 120 | }); 121 | }, 122 | checkout: branchName => { 123 | git.raw(["checkout", branchName], function(err, result) { 124 | if (!err) { 125 | speak.success(`Checked out to ${branchName}`); 126 | } 127 | }); 128 | }, 129 | addAll: function() { 130 | git.add(["."], function(err, result) { 131 | if (!err) { 132 | speak.success("Added all files"); 133 | } 134 | }); 135 | }, 136 | add: function(files) { 137 | git.add(files, function(err, result) { 138 | if (!err) { 139 | speak.success("Added selected files"); 140 | } 141 | }); 142 | }, 143 | amend: function(message) { 144 | git.raw(["commit", "--amend", "-m", message], function(err, result) { 145 | if (!err) { 146 | speak.success("Updated commit"); 147 | } 148 | }); 149 | }, 150 | diffStaged() { 151 | git.raw(["diff", "--staged"], function(err, result) { 152 | if (!err) { 153 | speak.normal(result); 154 | } 155 | }); 156 | } 157 | }; 158 | -------------------------------------------------------------------------------- /lib/project.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const path = require("path"); 3 | 4 | module.exports = { 5 | currentDirectoryBase: () => { 6 | return path.basename(process.cwd()); 7 | }, 8 | 9 | directoryExists: filePath => { 10 | try { 11 | return fs.statSync(filePath).isDirectory(); 12 | } catch (err) { 13 | return false; 14 | } 15 | }, 16 | 17 | gitExist: () => { 18 | try { 19 | return fs.statSync(".git").isDirectory(); 20 | } catch (err) { 21 | return false; 22 | } 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /lib/questions.js: -------------------------------------------------------------------------------- 1 | const inquirer = require("inquirer"); 2 | 3 | module.exports = { 4 | init: () => { 5 | const questions = [ 6 | { 7 | name: "command", 8 | type: "list", 9 | message: "Select an option", 10 | choices: [ 11 | { 12 | name: "I fucked up. I need a time machine!", 13 | value: "timemachine" 14 | }, 15 | { 16 | name: 17 | "I committed and immediately realized I need to add one small change!", 18 | value: "addToCommit" 19 | }, 20 | { 21 | name: "I need to change the message on my last commit!", 22 | value: "changeCommitMessage" 23 | }, 24 | { 25 | name: 26 | "Delete everything I've done locally, and make everything up to date with the remote branch!", 27 | value: "resetToRemoteBranch" 28 | }, 29 | { 30 | name: "I accidentally committed to the wrong branch!", 31 | value: "regretCommitToBranch" 32 | }, 33 | { 34 | name: "I tried to run a diff but nothing happened?!", 35 | value: "noDiff" 36 | }, 37 | { 38 | name: "Fuck this noise, I give up.", 39 | value: "fuckEverything" 40 | } 41 | ] 42 | } 43 | ]; 44 | return inquirer.prompt(questions); 45 | }, 46 | selectHead: (heads, message) => { 47 | const question = heads.reduce( 48 | (acc, head) => { 49 | return { 50 | ...acc, 51 | choices: [...acc.choices, { name: head.message, value: head.head }] 52 | }; 53 | }, 54 | { 55 | name: "head", 56 | type: "list", 57 | message: message, 58 | choices: [] 59 | } 60 | ); 61 | return inquirer.prompt([question]); 62 | }, 63 | selectCommit: (commits, message) => { 64 | const question = commits.reduce( 65 | (acc, commit) => { 66 | return { 67 | ...acc, 68 | choices: [ 69 | ...acc.choices, 70 | { name: commit.message, value: commit.hash } 71 | ] 72 | }; 73 | }, 74 | { 75 | name: "commit", 76 | type: "list", 77 | message: message, 78 | choices: [] 79 | } 80 | ); 81 | return inquirer.prompt([question]); 82 | }, 83 | selectCommits: (commits, message) => { 84 | const question = commits.reduce( 85 | (acc, commit) => { 86 | return { 87 | ...acc, 88 | choices: [ 89 | ...acc.choices, 90 | { name: commit.message, value: commit.hash } 91 | ] 92 | }; 93 | }, 94 | { 95 | name: "selectedCommits", 96 | type: "checkbox", 97 | message: message, 98 | choices: [] 99 | } 100 | ); 101 | return inquirer.prompt([question]); 102 | }, 103 | selectBranch: branches => { 104 | const question = branches.reduce( 105 | (acc, branch) => { 106 | return { 107 | ...acc, 108 | choices: [...acc.choices, { name: branch, value: branch }] 109 | }; 110 | }, 111 | { 112 | name: "selectedBranch", 113 | type: "list", 114 | message: "Select a branch", 115 | choices: [] 116 | } 117 | ); 118 | return inquirer.prompt([question]); 119 | }, 120 | allOrIndividualFiles: () => { 121 | return inquirer.prompt([ 122 | { 123 | name: "files", 124 | type: "list", 125 | message: "Fuck up's happen! What do you want to do?", 126 | choices: [ 127 | { 128 | name: "Add all my changes to last commit!", 129 | value: "all" 130 | }, 131 | { 132 | name: "Let me add individual files to the last commit!", 133 | value: "individual" 134 | } 135 | ] 136 | } 137 | ]); 138 | }, 139 | newCommitMessage: previousMessage => { 140 | return inquirer.prompt([ 141 | { 142 | name: "commitMessage", 143 | type: "input", 144 | message: "Enter a new commit message", 145 | default: previousMessage 146 | } 147 | ]); 148 | }, 149 | newBranch: () => { 150 | return inquirer.prompt([ 151 | { 152 | name: "newBranchName", 153 | type: "input", 154 | message: "Enter a name for the new branch" 155 | } 156 | ]); 157 | }, 158 | selectFiles: files => { 159 | const question = files.reduce( 160 | (acc, file) => { 161 | return { 162 | ...acc, 163 | choices: [...acc.choices, { name: file.path, value: file.path }] 164 | }; 165 | }, 166 | { 167 | name: "selectedFiles", 168 | type: "checkbox", 169 | message: "Select the files you want to add to your last commit", 170 | choices: [] 171 | } 172 | ); 173 | 174 | return inquirer.prompt([question]); 175 | }, 176 | removeAndClone: () => { 177 | return inquirer.prompt([ 178 | { 179 | name: "fuckIt", 180 | type: "confirm", 181 | message: 182 | "Warning! This will delete your local project, and clone it again. You will loose all local changes" 183 | } 184 | ]); 185 | } 186 | }; 187 | -------------------------------------------------------------------------------- /lib/speak.js: -------------------------------------------------------------------------------- 1 | const chalk = require("chalk"); 2 | const ora = require("ora"); 3 | 4 | module.exports = { 5 | error: string => { 6 | return console.log(chalk.bgRed.black(string)); 7 | }, 8 | success: string => { 9 | return ora(string).succeed(); 10 | }, 11 | normal: string => { 12 | return console.log(string); 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /lib/tasks.js: -------------------------------------------------------------------------------- 1 | const speak = require("./speak"); 2 | const git = require("./git"); 3 | const questions = require("./questions"); 4 | const util = require("util"); 5 | const exec = util.promisify(require("child_process").exec); 6 | 7 | module.exports = { 8 | timemachine: async function() { 9 | const branch = await git.getCurrentBranchName(); 10 | const commits = await git.getAllCommits(branch); 11 | if (commits.length === 0) { 12 | speak.error("Could not find any commits in this branch"); 13 | process.exit(); 14 | } 15 | const { commit } = await questions.selectCommit( 16 | commits, 17 | "Select a place you want to go back to. Make sure you have no unsaved changes you want to keep." 18 | ); 19 | git.resetToCommit(commit); 20 | }, 21 | resetToRemoteBranch: function() { 22 | console.log("Resetting"); 23 | }, 24 | addToCommit: async function() { 25 | const { files } = await questions.allOrIndividualFiles(); 26 | const diffFiles = await git.getDiffFiles(); 27 | 28 | if (diffFiles.length === 0) { 29 | speak.success("You don't have any unsaved changes"); 30 | process.exit(); 31 | } 32 | 33 | const latestCommit = await git.getLatestCommit(); 34 | 35 | if (!latestCommit) { 36 | speak.error("You have pushed all your commits already!"); 37 | process.exit(); 38 | } 39 | 40 | const { commitMessage } = await questions.newCommitMessage( 41 | latestCommit.message 42 | ); 43 | 44 | if (files === "all") { 45 | git.addAll(); 46 | git.amend(commitMessage); 47 | } 48 | 49 | if (files === "individual") { 50 | const { selectedFiles } = await questions.selectFiles(diffFiles); 51 | 52 | if (selectedFiles.length < 1) { 53 | speak.error("You didn't choose any files to add"); 54 | process.exit(); 55 | } 56 | 57 | git.add(selectedFiles); 58 | git.amend(commitMessage); 59 | } 60 | }, 61 | changeCommitMessage: async () => { 62 | const latestCommit = await git.getLatestCommit(); 63 | if (latestCommit) { 64 | const { commitMessage } = await questions.newCommitMessage( 65 | latestCommit.message 66 | ); 67 | git.amend(commitMessage); 68 | } else { 69 | speak.error("You seem to have pushed all your commits"); 70 | } 71 | }, 72 | regretCommitToMaster: async () => { 73 | const commits = await git.getLocalCommits(); 74 | if (commits.length === 0) { 75 | speak.error("Seems like you have pushed all your commits already!"); 76 | process.exit(); 77 | } 78 | const { newBranchName } = await questions.newBranch(); 79 | git.createBranch(newBranchName); 80 | git.resetHead("--hard"); 81 | git.checkout(newBranchName); 82 | }, 83 | regretCommitToBranch: async () => { 84 | const commits = await git.getLocalCommits(); 85 | if (commits.length === 0) { 86 | speak.error("Seems like you have pushed all your commits already!"); 87 | process.exit(); 88 | } 89 | git.resetHead("--soft"); 90 | git.stash(); 91 | const branches = await git.getLocalBranches(); 92 | const { selectedBranch } = await questions.selectBranch(branches); 93 | git.checkout(selectedBranch); 94 | git.stashPop(); 95 | }, 96 | noDiff: () => { 97 | git.diffStaged(); 98 | }, 99 | fuckEverything: async () => { 100 | speak.normal("Run these commands after each other"); 101 | speak.normal("cd .."); 102 | speak.normal("sudo rm -r my-fucking-git-repo-dir"); 103 | speak.normal("git clone https://some.github.url/fucking-git-repo-dir.git"); 104 | speak.normal("cd my-fucking-git-repo-dir"); 105 | } 106 | }; 107 | -------------------------------------------------------------------------------- /media/prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whatthefoo/ohshitgit/710845eb72dd63faffe3825e96b97246da1e2136/media/prompt.png -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ohshitgit", 3 | "version": "0.0.5", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@samverschueren/stream-to-observable": { 8 | "version": "0.3.0", 9 | "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", 10 | "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", 11 | "dev": true, 12 | "requires": { 13 | "any-observable": "0.3.0" 14 | } 15 | }, 16 | "ansi-align": { 17 | "version": "2.0.0", 18 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", 19 | "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", 20 | "dev": true, 21 | "requires": { 22 | "string-width": "2.1.1" 23 | } 24 | }, 25 | "ansi-escapes": { 26 | "version": "3.1.0", 27 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", 28 | "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" 29 | }, 30 | "ansi-regex": { 31 | "version": "3.0.0", 32 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 33 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 34 | }, 35 | "ansi-styles": { 36 | "version": "3.2.1", 37 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 38 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 39 | "requires": { 40 | "color-convert": "1.9.3" 41 | } 42 | }, 43 | "any-observable": { 44 | "version": "0.3.0", 45 | "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", 46 | "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", 47 | "dev": true 48 | }, 49 | "array-find-index": { 50 | "version": "1.0.2", 51 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 52 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 53 | "dev": true 54 | }, 55 | "array-union": { 56 | "version": "1.0.2", 57 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 58 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 59 | "dev": true, 60 | "requires": { 61 | "array-uniq": "1.0.3" 62 | } 63 | }, 64 | "array-uniq": { 65 | "version": "1.0.3", 66 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 67 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 68 | "dev": true 69 | }, 70 | "arrify": { 71 | "version": "1.0.1", 72 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 73 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 74 | "dev": true 75 | }, 76 | "asap": { 77 | "version": "2.0.6", 78 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 79 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" 80 | }, 81 | "balanced-match": { 82 | "version": "1.0.0", 83 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 84 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 85 | "dev": true 86 | }, 87 | "boxen": { 88 | "version": "1.3.0", 89 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", 90 | "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", 91 | "dev": true, 92 | "requires": { 93 | "ansi-align": "2.0.0", 94 | "camelcase": "4.1.0", 95 | "chalk": "2.4.1", 96 | "cli-boxes": "1.0.0", 97 | "string-width": "2.1.1", 98 | "term-size": "1.2.0", 99 | "widest-line": "2.0.0" 100 | } 101 | }, 102 | "brace-expansion": { 103 | "version": "1.1.11", 104 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 105 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 106 | "dev": true, 107 | "requires": { 108 | "balanced-match": "1.0.0", 109 | "concat-map": "0.0.1" 110 | } 111 | }, 112 | "builtin-modules": { 113 | "version": "1.1.1", 114 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 115 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 116 | "dev": true 117 | }, 118 | "camelcase": { 119 | "version": "4.1.0", 120 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 121 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", 122 | "dev": true 123 | }, 124 | "camelcase-keys": { 125 | "version": "4.2.0", 126 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", 127 | "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", 128 | "dev": true, 129 | "requires": { 130 | "camelcase": "4.1.0", 131 | "map-obj": "2.0.0", 132 | "quick-lru": "1.1.0" 133 | } 134 | }, 135 | "capture-stack-trace": { 136 | "version": "1.0.1", 137 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", 138 | "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", 139 | "dev": true 140 | }, 141 | "chalk": { 142 | "version": "2.4.1", 143 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", 144 | "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", 145 | "requires": { 146 | "ansi-styles": "3.2.1", 147 | "escape-string-regexp": "1.0.5", 148 | "supports-color": "5.5.0" 149 | } 150 | }, 151 | "chardet": { 152 | "version": "0.7.0", 153 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 154 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 155 | }, 156 | "ci-info": { 157 | "version": "1.4.0", 158 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.4.0.tgz", 159 | "integrity": "sha512-Oqmw2pVfCl8sCL+1QgMywPfdxPJPkC51y4usw0iiE2S9qnEOAqXy8bwl1CpMpnoU39g4iKJTz6QZj+28FvOnjQ==", 160 | "dev": true 161 | }, 162 | "clear": { 163 | "version": "0.1.0", 164 | "resolved": "https://registry.npmjs.org/clear/-/clear-0.1.0.tgz", 165 | "integrity": "sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==" 166 | }, 167 | "cli-boxes": { 168 | "version": "1.0.0", 169 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", 170 | "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", 171 | "dev": true 172 | }, 173 | "cli-cursor": { 174 | "version": "2.1.0", 175 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 176 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 177 | "requires": { 178 | "restore-cursor": "2.0.0" 179 | } 180 | }, 181 | "cli-spinners": { 182 | "version": "1.3.1", 183 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", 184 | "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==" 185 | }, 186 | "cli-truncate": { 187 | "version": "0.2.1", 188 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", 189 | "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", 190 | "dev": true, 191 | "requires": { 192 | "slice-ansi": "0.0.4", 193 | "string-width": "1.0.2" 194 | }, 195 | "dependencies": { 196 | "ansi-regex": { 197 | "version": "2.1.1", 198 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 199 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 200 | "dev": true 201 | }, 202 | "is-fullwidth-code-point": { 203 | "version": "1.0.0", 204 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 205 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 206 | "dev": true, 207 | "requires": { 208 | "number-is-nan": "1.0.1" 209 | } 210 | }, 211 | "string-width": { 212 | "version": "1.0.2", 213 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 214 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 215 | "dev": true, 216 | "requires": { 217 | "code-point-at": "1.1.0", 218 | "is-fullwidth-code-point": "1.0.0", 219 | "strip-ansi": "3.0.1" 220 | } 221 | }, 222 | "strip-ansi": { 223 | "version": "3.0.1", 224 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 225 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 226 | "dev": true, 227 | "requires": { 228 | "ansi-regex": "2.1.1" 229 | } 230 | } 231 | } 232 | }, 233 | "cli-width": { 234 | "version": "2.2.0", 235 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 236 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 237 | }, 238 | "clone": { 239 | "version": "1.0.4", 240 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 241 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 242 | }, 243 | "code-point-at": { 244 | "version": "1.1.0", 245 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 246 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 247 | "dev": true 248 | }, 249 | "color-convert": { 250 | "version": "1.9.3", 251 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 252 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 253 | "requires": { 254 | "color-name": "1.1.3" 255 | } 256 | }, 257 | "color-name": { 258 | "version": "1.1.3", 259 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 260 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 261 | }, 262 | "commander": { 263 | "version": "2.18.0", 264 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", 265 | "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==" 266 | }, 267 | "concat-map": { 268 | "version": "0.0.1", 269 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 270 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 271 | "dev": true 272 | }, 273 | "configstore": { 274 | "version": "3.1.2", 275 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", 276 | "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", 277 | "dev": true, 278 | "requires": { 279 | "dot-prop": "4.2.0", 280 | "graceful-fs": "4.1.11", 281 | "make-dir": "1.3.0", 282 | "unique-string": "1.0.0", 283 | "write-file-atomic": "2.3.0", 284 | "xdg-basedir": "3.0.0" 285 | } 286 | }, 287 | "create-error-class": { 288 | "version": "3.0.2", 289 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", 290 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", 291 | "dev": true, 292 | "requires": { 293 | "capture-stack-trace": "1.0.1" 294 | } 295 | }, 296 | "cross-spawn": { 297 | "version": "6.0.5", 298 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 299 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 300 | "requires": { 301 | "nice-try": "1.0.5", 302 | "path-key": "2.0.1", 303 | "semver": "5.5.1", 304 | "shebang-command": "1.2.0", 305 | "which": "1.3.1" 306 | } 307 | }, 308 | "crypto-random-string": { 309 | "version": "1.0.0", 310 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", 311 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", 312 | "dev": true 313 | }, 314 | "currently-unhandled": { 315 | "version": "0.4.1", 316 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 317 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 318 | "dev": true, 319 | "requires": { 320 | "array-find-index": "1.0.2" 321 | } 322 | }, 323 | "date-fns": { 324 | "version": "1.29.0", 325 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", 326 | "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", 327 | "dev": true 328 | }, 329 | "debug": { 330 | "version": "3.1.0", 331 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 332 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 333 | "requires": { 334 | "ms": "2.0.0" 335 | } 336 | }, 337 | "decamelize": { 338 | "version": "1.2.0", 339 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 340 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 341 | "dev": true 342 | }, 343 | "decamelize-keys": { 344 | "version": "1.1.0", 345 | "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", 346 | "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", 347 | "dev": true, 348 | "requires": { 349 | "decamelize": "1.2.0", 350 | "map-obj": "1.0.1" 351 | }, 352 | "dependencies": { 353 | "map-obj": { 354 | "version": "1.0.1", 355 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 356 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 357 | "dev": true 358 | } 359 | } 360 | }, 361 | "deep-extend": { 362 | "version": "0.6.0", 363 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 364 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 365 | "dev": true 366 | }, 367 | "defaults": { 368 | "version": "1.0.3", 369 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 370 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 371 | "requires": { 372 | "clone": "1.0.4" 373 | } 374 | }, 375 | "del": { 376 | "version": "3.0.0", 377 | "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", 378 | "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", 379 | "dev": true, 380 | "requires": { 381 | "globby": "6.1.0", 382 | "is-path-cwd": "1.0.0", 383 | "is-path-in-cwd": "1.0.1", 384 | "p-map": "1.2.0", 385 | "pify": "3.0.0", 386 | "rimraf": "2.6.2" 387 | } 388 | }, 389 | "dot-prop": { 390 | "version": "4.2.0", 391 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", 392 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", 393 | "dev": true, 394 | "requires": { 395 | "is-obj": "1.0.1" 396 | } 397 | }, 398 | "duplexer3": { 399 | "version": "0.1.4", 400 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 401 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", 402 | "dev": true 403 | }, 404 | "elegant-spinner": { 405 | "version": "1.0.1", 406 | "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", 407 | "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", 408 | "dev": true 409 | }, 410 | "end-of-stream": { 411 | "version": "1.4.1", 412 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 413 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 414 | "requires": { 415 | "once": "1.4.0" 416 | } 417 | }, 418 | "error-ex": { 419 | "version": "1.3.2", 420 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 421 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 422 | "dev": true, 423 | "requires": { 424 | "is-arrayish": "0.2.1" 425 | } 426 | }, 427 | "escape-string-regexp": { 428 | "version": "1.0.5", 429 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 430 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 431 | }, 432 | "execa": { 433 | "version": "1.0.0", 434 | "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", 435 | "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", 436 | "requires": { 437 | "cross-spawn": "6.0.5", 438 | "get-stream": "4.0.0", 439 | "is-stream": "1.1.0", 440 | "npm-run-path": "2.0.2", 441 | "p-finally": "1.0.0", 442 | "signal-exit": "3.0.2", 443 | "strip-eof": "1.0.0" 444 | } 445 | }, 446 | "exit-hook": { 447 | "version": "1.1.1", 448 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 449 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", 450 | "dev": true 451 | }, 452 | "external-editor": { 453 | "version": "3.0.3", 454 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 455 | "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 456 | "requires": { 457 | "chardet": "0.7.0", 458 | "iconv-lite": "0.4.24", 459 | "tmp": "0.0.33" 460 | } 461 | }, 462 | "figlet": { 463 | "version": "1.2.0", 464 | "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.2.0.tgz", 465 | "integrity": "sha1-bEZTc3j6tkkUa1phQ92gGbQwtBA=" 466 | }, 467 | "figures": { 468 | "version": "2.0.0", 469 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 470 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 471 | "requires": { 472 | "escape-string-regexp": "1.0.5" 473 | } 474 | }, 475 | "find-up": { 476 | "version": "2.1.0", 477 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 478 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 479 | "dev": true, 480 | "requires": { 481 | "locate-path": "2.0.0" 482 | } 483 | }, 484 | "fs.realpath": { 485 | "version": "1.0.0", 486 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 487 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 488 | "dev": true 489 | }, 490 | "get-stream": { 491 | "version": "4.0.0", 492 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.0.0.tgz", 493 | "integrity": "sha512-FneLKMENeOR7wOK0/ZXCh+lwqtnPwkeunJjRN28LPqzGvNAhYvrTAhXv6xDm4vsJ0M7lcRbIYHQudKsSy2RtSQ==", 494 | "requires": { 495 | "pump": "3.0.0" 496 | } 497 | }, 498 | "github-url-from-git": { 499 | "version": "1.5.0", 500 | "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz", 501 | "integrity": "sha1-+YX+3MCpqledyI16/waNVcxiUaA=", 502 | "dev": true 503 | }, 504 | "glob": { 505 | "version": "7.1.3", 506 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 507 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 508 | "dev": true, 509 | "requires": { 510 | "fs.realpath": "1.0.0", 511 | "inflight": "1.0.6", 512 | "inherits": "2.0.3", 513 | "minimatch": "3.0.4", 514 | "once": "1.4.0", 515 | "path-is-absolute": "1.0.1" 516 | } 517 | }, 518 | "global-dirs": { 519 | "version": "0.1.1", 520 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", 521 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", 522 | "dev": true, 523 | "requires": { 524 | "ini": "1.3.5" 525 | } 526 | }, 527 | "globby": { 528 | "version": "6.1.0", 529 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 530 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", 531 | "dev": true, 532 | "requires": { 533 | "array-union": "1.0.2", 534 | "glob": "7.1.3", 535 | "object-assign": "4.1.1", 536 | "pify": "2.3.0", 537 | "pinkie-promise": "2.0.1" 538 | }, 539 | "dependencies": { 540 | "pify": { 541 | "version": "2.3.0", 542 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 543 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 544 | "dev": true 545 | } 546 | } 547 | }, 548 | "got": { 549 | "version": "6.7.1", 550 | "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", 551 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", 552 | "dev": true, 553 | "requires": { 554 | "create-error-class": "3.0.2", 555 | "duplexer3": "0.1.4", 556 | "get-stream": "3.0.0", 557 | "is-redirect": "1.0.0", 558 | "is-retry-allowed": "1.1.0", 559 | "is-stream": "1.1.0", 560 | "lowercase-keys": "1.0.1", 561 | "safe-buffer": "5.1.2", 562 | "timed-out": "4.0.1", 563 | "unzip-response": "2.0.1", 564 | "url-parse-lax": "1.0.0" 565 | }, 566 | "dependencies": { 567 | "get-stream": { 568 | "version": "3.0.0", 569 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 570 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", 571 | "dev": true 572 | } 573 | } 574 | }, 575 | "graceful-fs": { 576 | "version": "4.1.11", 577 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 578 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 579 | "dev": true 580 | }, 581 | "has-ansi": { 582 | "version": "2.0.0", 583 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 584 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 585 | "dev": true, 586 | "requires": { 587 | "ansi-regex": "2.1.1" 588 | }, 589 | "dependencies": { 590 | "ansi-regex": { 591 | "version": "2.1.1", 592 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 593 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 594 | "dev": true 595 | } 596 | } 597 | }, 598 | "has-flag": { 599 | "version": "3.0.0", 600 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 601 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 602 | }, 603 | "has-yarn": { 604 | "version": "1.0.0", 605 | "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-1.0.0.tgz", 606 | "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", 607 | "dev": true 608 | }, 609 | "hosted-git-info": { 610 | "version": "2.7.1", 611 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", 612 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", 613 | "dev": true 614 | }, 615 | "iconv-lite": { 616 | "version": "0.4.24", 617 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 618 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 619 | "requires": { 620 | "safer-buffer": "2.1.2" 621 | } 622 | }, 623 | "import-lazy": { 624 | "version": "2.1.0", 625 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", 626 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", 627 | "dev": true 628 | }, 629 | "imurmurhash": { 630 | "version": "0.1.4", 631 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 632 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 633 | "dev": true 634 | }, 635 | "indent-string": { 636 | "version": "3.2.0", 637 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 638 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", 639 | "dev": true 640 | }, 641 | "inflight": { 642 | "version": "1.0.6", 643 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 644 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 645 | "dev": true, 646 | "requires": { 647 | "once": "1.4.0", 648 | "wrappy": "1.0.2" 649 | } 650 | }, 651 | "inherits": { 652 | "version": "2.0.3", 653 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 654 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 655 | "dev": true 656 | }, 657 | "ini": { 658 | "version": "1.3.5", 659 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 660 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 661 | "dev": true 662 | }, 663 | "inquirer": { 664 | "version": "6.2.0", 665 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", 666 | "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", 667 | "requires": { 668 | "ansi-escapes": "3.1.0", 669 | "chalk": "2.4.1", 670 | "cli-cursor": "2.1.0", 671 | "cli-width": "2.2.0", 672 | "external-editor": "3.0.3", 673 | "figures": "2.0.0", 674 | "lodash": "4.17.10", 675 | "mute-stream": "0.0.7", 676 | "run-async": "2.3.0", 677 | "rxjs": "6.3.2", 678 | "string-width": "2.1.1", 679 | "strip-ansi": "4.0.0", 680 | "through": "2.3.8" 681 | } 682 | }, 683 | "is-arrayish": { 684 | "version": "0.2.1", 685 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 686 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 687 | "dev": true 688 | }, 689 | "is-builtin-module": { 690 | "version": "1.0.0", 691 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 692 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 693 | "dev": true, 694 | "requires": { 695 | "builtin-modules": "1.1.1" 696 | } 697 | }, 698 | "is-ci": { 699 | "version": "1.2.0", 700 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.0.tgz", 701 | "integrity": "sha512-plgvKjQtalH2P3Gytb7L61Lmz95g2DlpzFiQyRSFew8WoJKxtKRzrZMeyRN2supblm3Psc8OQGy7Xjb6XG11jw==", 702 | "dev": true, 703 | "requires": { 704 | "ci-info": "1.4.0" 705 | } 706 | }, 707 | "is-fullwidth-code-point": { 708 | "version": "2.0.0", 709 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 710 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 711 | }, 712 | "is-installed-globally": { 713 | "version": "0.1.0", 714 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", 715 | "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", 716 | "dev": true, 717 | "requires": { 718 | "global-dirs": "0.1.1", 719 | "is-path-inside": "1.0.1" 720 | } 721 | }, 722 | "is-npm": { 723 | "version": "1.0.0", 724 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", 725 | "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", 726 | "dev": true 727 | }, 728 | "is-obj": { 729 | "version": "1.0.1", 730 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 731 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", 732 | "dev": true 733 | }, 734 | "is-observable": { 735 | "version": "1.1.0", 736 | "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", 737 | "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", 738 | "dev": true, 739 | "requires": { 740 | "symbol-observable": "1.2.0" 741 | }, 742 | "dependencies": { 743 | "symbol-observable": { 744 | "version": "1.2.0", 745 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 746 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", 747 | "dev": true 748 | } 749 | } 750 | }, 751 | "is-path-cwd": { 752 | "version": "1.0.0", 753 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 754 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 755 | "dev": true 756 | }, 757 | "is-path-in-cwd": { 758 | "version": "1.0.1", 759 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", 760 | "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", 761 | "dev": true, 762 | "requires": { 763 | "is-path-inside": "1.0.1" 764 | } 765 | }, 766 | "is-path-inside": { 767 | "version": "1.0.1", 768 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 769 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 770 | "dev": true, 771 | "requires": { 772 | "path-is-inside": "1.0.2" 773 | } 774 | }, 775 | "is-plain-obj": { 776 | "version": "1.1.0", 777 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 778 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", 779 | "dev": true 780 | }, 781 | "is-promise": { 782 | "version": "2.1.0", 783 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 784 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 785 | }, 786 | "is-redirect": { 787 | "version": "1.0.0", 788 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", 789 | "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", 790 | "dev": true 791 | }, 792 | "is-retry-allowed": { 793 | "version": "1.1.0", 794 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 795 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", 796 | "dev": true 797 | }, 798 | "is-stream": { 799 | "version": "1.1.0", 800 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 801 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 802 | }, 803 | "isexe": { 804 | "version": "2.0.0", 805 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 806 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 807 | }, 808 | "issue-regex": { 809 | "version": "2.0.0", 810 | "resolved": "https://registry.npmjs.org/issue-regex/-/issue-regex-2.0.0.tgz", 811 | "integrity": "sha512-flaQ/45dMqCYSMzBQI/h3bcto6T70uN7kjNnI8n3gQU6no5p+QcnMWBNXkraED0YvbUymxKaqdvgPa09RZQM5A==", 812 | "dev": true 813 | }, 814 | "json-parse-better-errors": { 815 | "version": "1.0.2", 816 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 817 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 818 | "dev": true 819 | }, 820 | "latest-version": { 821 | "version": "3.1.0", 822 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", 823 | "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", 824 | "dev": true, 825 | "requires": { 826 | "package-json": "4.0.1" 827 | } 828 | }, 829 | "listr": { 830 | "version": "0.14.2", 831 | "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.2.tgz", 832 | "integrity": "sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw==", 833 | "dev": true, 834 | "requires": { 835 | "@samverschueren/stream-to-observable": "0.3.0", 836 | "is-observable": "1.1.0", 837 | "is-promise": "2.1.0", 838 | "is-stream": "1.1.0", 839 | "listr-silent-renderer": "1.1.1", 840 | "listr-update-renderer": "0.4.0", 841 | "listr-verbose-renderer": "0.4.1", 842 | "p-map": "1.2.0", 843 | "rxjs": "6.3.2" 844 | } 845 | }, 846 | "listr-input": { 847 | "version": "0.1.3", 848 | "resolved": "https://registry.npmjs.org/listr-input/-/listr-input-0.1.3.tgz", 849 | "integrity": "sha512-dvjSD1MrWGXxxPixpMQlSBmkyqhJrPxGo30un25k/vlvFOWZj70AauU+YkEh7CA8vmpkE6Wde37DJDmqYqF39g==", 850 | "dev": true, 851 | "requires": { 852 | "inquirer": "3.3.0", 853 | "rxjs": "5.5.12", 854 | "through": "2.3.8" 855 | }, 856 | "dependencies": { 857 | "chardet": { 858 | "version": "0.4.2", 859 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 860 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", 861 | "dev": true 862 | }, 863 | "external-editor": { 864 | "version": "2.2.0", 865 | "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", 866 | "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", 867 | "dev": true, 868 | "requires": { 869 | "chardet": "0.4.2", 870 | "iconv-lite": "0.4.24", 871 | "tmp": "0.0.33" 872 | } 873 | }, 874 | "inquirer": { 875 | "version": "3.3.0", 876 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", 877 | "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", 878 | "dev": true, 879 | "requires": { 880 | "ansi-escapes": "3.1.0", 881 | "chalk": "2.4.1", 882 | "cli-cursor": "2.1.0", 883 | "cli-width": "2.2.0", 884 | "external-editor": "2.2.0", 885 | "figures": "2.0.0", 886 | "lodash": "4.17.10", 887 | "mute-stream": "0.0.7", 888 | "run-async": "2.3.0", 889 | "rx-lite": "4.0.8", 890 | "rx-lite-aggregates": "4.0.8", 891 | "string-width": "2.1.1", 892 | "strip-ansi": "4.0.0", 893 | "through": "2.3.8" 894 | } 895 | }, 896 | "rxjs": { 897 | "version": "5.5.12", 898 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", 899 | "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", 900 | "dev": true, 901 | "requires": { 902 | "symbol-observable": "1.0.1" 903 | } 904 | } 905 | } 906 | }, 907 | "listr-silent-renderer": { 908 | "version": "1.1.1", 909 | "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", 910 | "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", 911 | "dev": true 912 | }, 913 | "listr-update-renderer": { 914 | "version": "0.4.0", 915 | "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", 916 | "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", 917 | "dev": true, 918 | "requires": { 919 | "chalk": "1.1.3", 920 | "cli-truncate": "0.2.1", 921 | "elegant-spinner": "1.0.1", 922 | "figures": "1.7.0", 923 | "indent-string": "3.2.0", 924 | "log-symbols": "1.0.2", 925 | "log-update": "1.0.2", 926 | "strip-ansi": "3.0.1" 927 | }, 928 | "dependencies": { 929 | "ansi-regex": { 930 | "version": "2.1.1", 931 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 932 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 933 | "dev": true 934 | }, 935 | "ansi-styles": { 936 | "version": "2.2.1", 937 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 938 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 939 | "dev": true 940 | }, 941 | "chalk": { 942 | "version": "1.1.3", 943 | "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 944 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 945 | "dev": true, 946 | "requires": { 947 | "ansi-styles": "2.2.1", 948 | "escape-string-regexp": "1.0.5", 949 | "has-ansi": "2.0.0", 950 | "strip-ansi": "3.0.1", 951 | "supports-color": "2.0.0" 952 | } 953 | }, 954 | "figures": { 955 | "version": "1.7.0", 956 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 957 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 958 | "dev": true, 959 | "requires": { 960 | "escape-string-regexp": "1.0.5", 961 | "object-assign": "4.1.1" 962 | } 963 | }, 964 | "log-symbols": { 965 | "version": "1.0.2", 966 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", 967 | "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", 968 | "dev": true, 969 | "requires": { 970 | "chalk": "1.1.3" 971 | } 972 | }, 973 | "strip-ansi": { 974 | "version": "3.0.1", 975 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 976 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 977 | "dev": true, 978 | "requires": { 979 | "ansi-regex": "2.1.1" 980 | } 981 | }, 982 | "supports-color": { 983 | "version": "2.0.0", 984 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 985 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 986 | "dev": true 987 | } 988 | } 989 | }, 990 | "listr-verbose-renderer": { 991 | "version": "0.4.1", 992 | "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", 993 | "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", 994 | "dev": true, 995 | "requires": { 996 | "chalk": "1.1.3", 997 | "cli-cursor": "1.0.2", 998 | "date-fns": "1.29.0", 999 | "figures": "1.7.0" 1000 | }, 1001 | "dependencies": { 1002 | "ansi-regex": { 1003 | "version": "2.1.1", 1004 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 1005 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 1006 | "dev": true 1007 | }, 1008 | "ansi-styles": { 1009 | "version": "2.2.1", 1010 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1011 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1012 | "dev": true 1013 | }, 1014 | "chalk": { 1015 | "version": "1.1.3", 1016 | "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1017 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1018 | "dev": true, 1019 | "requires": { 1020 | "ansi-styles": "2.2.1", 1021 | "escape-string-regexp": "1.0.5", 1022 | "has-ansi": "2.0.0", 1023 | "strip-ansi": "3.0.1", 1024 | "supports-color": "2.0.0" 1025 | } 1026 | }, 1027 | "cli-cursor": { 1028 | "version": "1.0.2", 1029 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 1030 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 1031 | "dev": true, 1032 | "requires": { 1033 | "restore-cursor": "1.0.1" 1034 | } 1035 | }, 1036 | "figures": { 1037 | "version": "1.7.0", 1038 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 1039 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 1040 | "dev": true, 1041 | "requires": { 1042 | "escape-string-regexp": "1.0.5", 1043 | "object-assign": "4.1.1" 1044 | } 1045 | }, 1046 | "onetime": { 1047 | "version": "1.1.0", 1048 | "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 1049 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", 1050 | "dev": true 1051 | }, 1052 | "restore-cursor": { 1053 | "version": "1.0.1", 1054 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 1055 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 1056 | "dev": true, 1057 | "requires": { 1058 | "exit-hook": "1.1.1", 1059 | "onetime": "1.1.0" 1060 | } 1061 | }, 1062 | "strip-ansi": { 1063 | "version": "3.0.1", 1064 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1065 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1066 | "dev": true, 1067 | "requires": { 1068 | "ansi-regex": "2.1.1" 1069 | } 1070 | }, 1071 | "supports-color": { 1072 | "version": "2.0.0", 1073 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1074 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1075 | "dev": true 1076 | } 1077 | } 1078 | }, 1079 | "load-json-file": { 1080 | "version": "4.0.0", 1081 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 1082 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 1083 | "dev": true, 1084 | "requires": { 1085 | "graceful-fs": "4.1.11", 1086 | "parse-json": "4.0.0", 1087 | "pify": "3.0.0", 1088 | "strip-bom": "3.0.0" 1089 | } 1090 | }, 1091 | "locate-path": { 1092 | "version": "2.0.0", 1093 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1094 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1095 | "dev": true, 1096 | "requires": { 1097 | "p-locate": "2.0.0", 1098 | "path-exists": "3.0.0" 1099 | } 1100 | }, 1101 | "lodash": { 1102 | "version": "4.17.10", 1103 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 1104 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" 1105 | }, 1106 | "log-symbols": { 1107 | "version": "2.2.0", 1108 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 1109 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 1110 | "requires": { 1111 | "chalk": "2.4.1" 1112 | } 1113 | }, 1114 | "log-update": { 1115 | "version": "1.0.2", 1116 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", 1117 | "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", 1118 | "dev": true, 1119 | "requires": { 1120 | "ansi-escapes": "1.4.0", 1121 | "cli-cursor": "1.0.2" 1122 | }, 1123 | "dependencies": { 1124 | "ansi-escapes": { 1125 | "version": "1.4.0", 1126 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 1127 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", 1128 | "dev": true 1129 | }, 1130 | "cli-cursor": { 1131 | "version": "1.0.2", 1132 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 1133 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 1134 | "dev": true, 1135 | "requires": { 1136 | "restore-cursor": "1.0.1" 1137 | } 1138 | }, 1139 | "onetime": { 1140 | "version": "1.1.0", 1141 | "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 1142 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", 1143 | "dev": true 1144 | }, 1145 | "restore-cursor": { 1146 | "version": "1.0.1", 1147 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 1148 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 1149 | "dev": true, 1150 | "requires": { 1151 | "exit-hook": "1.1.1", 1152 | "onetime": "1.1.0" 1153 | } 1154 | } 1155 | } 1156 | }, 1157 | "loud-rejection": { 1158 | "version": "1.6.0", 1159 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 1160 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 1161 | "dev": true, 1162 | "requires": { 1163 | "currently-unhandled": "0.4.1", 1164 | "signal-exit": "3.0.2" 1165 | } 1166 | }, 1167 | "lowercase-keys": { 1168 | "version": "1.0.1", 1169 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 1170 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", 1171 | "dev": true 1172 | }, 1173 | "lru-cache": { 1174 | "version": "4.1.3", 1175 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", 1176 | "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", 1177 | "dev": true, 1178 | "requires": { 1179 | "pseudomap": "1.0.2", 1180 | "yallist": "2.1.2" 1181 | } 1182 | }, 1183 | "make-dir": { 1184 | "version": "1.3.0", 1185 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 1186 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 1187 | "dev": true, 1188 | "requires": { 1189 | "pify": "3.0.0" 1190 | } 1191 | }, 1192 | "map-obj": { 1193 | "version": "2.0.0", 1194 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", 1195 | "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", 1196 | "dev": true 1197 | }, 1198 | "meow": { 1199 | "version": "5.0.0", 1200 | "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", 1201 | "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", 1202 | "dev": true, 1203 | "requires": { 1204 | "camelcase-keys": "4.2.0", 1205 | "decamelize-keys": "1.1.0", 1206 | "loud-rejection": "1.6.0", 1207 | "minimist-options": "3.0.2", 1208 | "normalize-package-data": "2.4.0", 1209 | "read-pkg-up": "3.0.0", 1210 | "redent": "2.0.0", 1211 | "trim-newlines": "2.0.0", 1212 | "yargs-parser": "10.1.0" 1213 | } 1214 | }, 1215 | "mimic-fn": { 1216 | "version": "1.2.0", 1217 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1218 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 1219 | }, 1220 | "minimatch": { 1221 | "version": "3.0.4", 1222 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1223 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1224 | "dev": true, 1225 | "requires": { 1226 | "brace-expansion": "1.1.11" 1227 | } 1228 | }, 1229 | "minimist": { 1230 | "version": "1.2.0", 1231 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1232 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1233 | "dev": true 1234 | }, 1235 | "minimist-options": { 1236 | "version": "3.0.2", 1237 | "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", 1238 | "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", 1239 | "dev": true, 1240 | "requires": { 1241 | "arrify": "1.0.1", 1242 | "is-plain-obj": "1.1.0" 1243 | } 1244 | }, 1245 | "ms": { 1246 | "version": "2.0.0", 1247 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1248 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1249 | }, 1250 | "mute-stream": { 1251 | "version": "0.0.7", 1252 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1253 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 1254 | }, 1255 | "nice-try": { 1256 | "version": "1.0.5", 1257 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1258 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 1259 | }, 1260 | "nodegit-promise": { 1261 | "version": "4.0.0", 1262 | "resolved": "https://registry.npmjs.org/nodegit-promise/-/nodegit-promise-4.0.0.tgz", 1263 | "integrity": "sha1-VyKxhPLfcycWEGSnkdLoQskWezQ=", 1264 | "requires": { 1265 | "asap": "2.0.6" 1266 | } 1267 | }, 1268 | "normalize-package-data": { 1269 | "version": "2.4.0", 1270 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 1271 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 1272 | "dev": true, 1273 | "requires": { 1274 | "hosted-git-info": "2.7.1", 1275 | "is-builtin-module": "1.0.0", 1276 | "semver": "5.5.1", 1277 | "validate-npm-package-license": "3.0.4" 1278 | } 1279 | }, 1280 | "np": { 1281 | "version": "3.0.4", 1282 | "resolved": "https://registry.npmjs.org/np/-/np-3.0.4.tgz", 1283 | "integrity": "sha512-w8g6tgyI4zGzHML5f+UFGFzV1CbZVHlvNN6qXp7zoO4Wen8hho1GmQzPqngxYtPxFTZGuITQnyt4ACV4F0FSHQ==", 1284 | "dev": true, 1285 | "requires": { 1286 | "@samverschueren/stream-to-observable": "0.3.0", 1287 | "any-observable": "0.3.0", 1288 | "chalk": "2.4.1", 1289 | "del": "3.0.0", 1290 | "execa": "0.10.0", 1291 | "github-url-from-git": "1.5.0", 1292 | "has-yarn": "1.0.0", 1293 | "inquirer": "5.2.0", 1294 | "issue-regex": "2.0.0", 1295 | "listr": "0.14.2", 1296 | "listr-input": "0.1.3", 1297 | "log-symbols": "2.2.0", 1298 | "meow": "5.0.0", 1299 | "p-timeout": "2.0.1", 1300 | "read-pkg-up": "3.0.0", 1301 | "rxjs": "6.3.2", 1302 | "semver": "5.5.1", 1303 | "split": "1.0.1", 1304 | "terminal-link": "1.1.0", 1305 | "update-notifier": "2.5.0" 1306 | }, 1307 | "dependencies": { 1308 | "chardet": { 1309 | "version": "0.4.2", 1310 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 1311 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", 1312 | "dev": true 1313 | }, 1314 | "execa": { 1315 | "version": "0.10.0", 1316 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", 1317 | "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", 1318 | "dev": true, 1319 | "requires": { 1320 | "cross-spawn": "6.0.5", 1321 | "get-stream": "3.0.0", 1322 | "is-stream": "1.1.0", 1323 | "npm-run-path": "2.0.2", 1324 | "p-finally": "1.0.0", 1325 | "signal-exit": "3.0.2", 1326 | "strip-eof": "1.0.0" 1327 | } 1328 | }, 1329 | "external-editor": { 1330 | "version": "2.2.0", 1331 | "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", 1332 | "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", 1333 | "dev": true, 1334 | "requires": { 1335 | "chardet": "0.4.2", 1336 | "iconv-lite": "0.4.24", 1337 | "tmp": "0.0.33" 1338 | } 1339 | }, 1340 | "get-stream": { 1341 | "version": "3.0.0", 1342 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1343 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", 1344 | "dev": true 1345 | }, 1346 | "inquirer": { 1347 | "version": "5.2.0", 1348 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", 1349 | "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", 1350 | "dev": true, 1351 | "requires": { 1352 | "ansi-escapes": "3.1.0", 1353 | "chalk": "2.4.1", 1354 | "cli-cursor": "2.1.0", 1355 | "cli-width": "2.2.0", 1356 | "external-editor": "2.2.0", 1357 | "figures": "2.0.0", 1358 | "lodash": "4.17.10", 1359 | "mute-stream": "0.0.7", 1360 | "run-async": "2.3.0", 1361 | "rxjs": "5.5.12", 1362 | "string-width": "2.1.1", 1363 | "strip-ansi": "4.0.0", 1364 | "through": "2.3.8" 1365 | }, 1366 | "dependencies": { 1367 | "rxjs": { 1368 | "version": "5.5.12", 1369 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", 1370 | "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", 1371 | "dev": true, 1372 | "requires": { 1373 | "symbol-observable": "1.0.1" 1374 | } 1375 | } 1376 | } 1377 | } 1378 | } 1379 | }, 1380 | "npm-run-path": { 1381 | "version": "2.0.2", 1382 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 1383 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 1384 | "requires": { 1385 | "path-key": "2.0.1" 1386 | } 1387 | }, 1388 | "number-is-nan": { 1389 | "version": "1.0.1", 1390 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1391 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1392 | "dev": true 1393 | }, 1394 | "object-assign": { 1395 | "version": "4.1.1", 1396 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1397 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 1398 | }, 1399 | "once": { 1400 | "version": "1.4.0", 1401 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1402 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1403 | "requires": { 1404 | "wrappy": "1.0.2" 1405 | } 1406 | }, 1407 | "onetime": { 1408 | "version": "2.0.1", 1409 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 1410 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 1411 | "requires": { 1412 | "mimic-fn": "1.2.0" 1413 | } 1414 | }, 1415 | "ora": { 1416 | "version": "3.0.0", 1417 | "resolved": "https://registry.npmjs.org/ora/-/ora-3.0.0.tgz", 1418 | "integrity": "sha512-LBS97LFe2RV6GJmXBi6OKcETKyklHNMV0xw7BtsVn2MlsgsydyZetSCbCANr+PFLmDyv4KV88nn0eCKza665Mg==", 1419 | "requires": { 1420 | "chalk": "2.4.1", 1421 | "cli-cursor": "2.1.0", 1422 | "cli-spinners": "1.3.1", 1423 | "log-symbols": "2.2.0", 1424 | "strip-ansi": "4.0.0", 1425 | "wcwidth": "1.0.1" 1426 | } 1427 | }, 1428 | "os-tmpdir": { 1429 | "version": "1.0.2", 1430 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1431 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 1432 | }, 1433 | "p-finally": { 1434 | "version": "1.0.0", 1435 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1436 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 1437 | }, 1438 | "p-limit": { 1439 | "version": "1.3.0", 1440 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 1441 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 1442 | "dev": true, 1443 | "requires": { 1444 | "p-try": "1.0.0" 1445 | } 1446 | }, 1447 | "p-locate": { 1448 | "version": "2.0.0", 1449 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1450 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 1451 | "dev": true, 1452 | "requires": { 1453 | "p-limit": "1.3.0" 1454 | } 1455 | }, 1456 | "p-map": { 1457 | "version": "1.2.0", 1458 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", 1459 | "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", 1460 | "dev": true 1461 | }, 1462 | "p-timeout": { 1463 | "version": "2.0.1", 1464 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", 1465 | "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", 1466 | "dev": true, 1467 | "requires": { 1468 | "p-finally": "1.0.0" 1469 | } 1470 | }, 1471 | "p-try": { 1472 | "version": "1.0.0", 1473 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1474 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 1475 | "dev": true 1476 | }, 1477 | "package-json": { 1478 | "version": "4.0.1", 1479 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", 1480 | "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", 1481 | "dev": true, 1482 | "requires": { 1483 | "got": "6.7.1", 1484 | "registry-auth-token": "3.3.2", 1485 | "registry-url": "3.1.0", 1486 | "semver": "5.5.1" 1487 | } 1488 | }, 1489 | "parse-json": { 1490 | "version": "4.0.0", 1491 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 1492 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 1493 | "dev": true, 1494 | "requires": { 1495 | "error-ex": "1.3.2", 1496 | "json-parse-better-errors": "1.0.2" 1497 | } 1498 | }, 1499 | "path-exists": { 1500 | "version": "3.0.0", 1501 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1502 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1503 | "dev": true 1504 | }, 1505 | "path-is-absolute": { 1506 | "version": "1.0.1", 1507 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1508 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1509 | "dev": true 1510 | }, 1511 | "path-is-inside": { 1512 | "version": "1.0.2", 1513 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 1514 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 1515 | "dev": true 1516 | }, 1517 | "path-key": { 1518 | "version": "2.0.1", 1519 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1520 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 1521 | }, 1522 | "path-type": { 1523 | "version": "3.0.0", 1524 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 1525 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 1526 | "dev": true, 1527 | "requires": { 1528 | "pify": "3.0.0" 1529 | } 1530 | }, 1531 | "pify": { 1532 | "version": "3.0.0", 1533 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1534 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 1535 | "dev": true 1536 | }, 1537 | "pinkie": { 1538 | "version": "2.0.4", 1539 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1540 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 1541 | "dev": true 1542 | }, 1543 | "pinkie-promise": { 1544 | "version": "2.0.1", 1545 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1546 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1547 | "dev": true, 1548 | "requires": { 1549 | "pinkie": "2.0.4" 1550 | } 1551 | }, 1552 | "prepend-http": { 1553 | "version": "1.0.4", 1554 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 1555 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", 1556 | "dev": true 1557 | }, 1558 | "promisify-node": { 1559 | "version": "0.5.0", 1560 | "resolved": "https://registry.npmjs.org/promisify-node/-/promisify-node-0.5.0.tgz", 1561 | "integrity": "sha512-GR2E4qgCoKFTprhULqP2OP3bl8kHo16XtnqtkHH6be7tPW1yL6rXd15nl3oV2sLTFv1+j6tqoF69VVpFtJ/j+A==", 1562 | "requires": { 1563 | "nodegit-promise": "4.0.0", 1564 | "object-assign": "4.1.1" 1565 | } 1566 | }, 1567 | "pseudomap": { 1568 | "version": "1.0.2", 1569 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 1570 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 1571 | "dev": true 1572 | }, 1573 | "pump": { 1574 | "version": "3.0.0", 1575 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1576 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1577 | "requires": { 1578 | "end-of-stream": "1.4.1", 1579 | "once": "1.4.0" 1580 | } 1581 | }, 1582 | "quick-lru": { 1583 | "version": "1.1.0", 1584 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", 1585 | "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", 1586 | "dev": true 1587 | }, 1588 | "rc": { 1589 | "version": "1.2.8", 1590 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 1591 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 1592 | "dev": true, 1593 | "requires": { 1594 | "deep-extend": "0.6.0", 1595 | "ini": "1.3.5", 1596 | "minimist": "1.2.0", 1597 | "strip-json-comments": "2.0.1" 1598 | } 1599 | }, 1600 | "read-pkg": { 1601 | "version": "3.0.0", 1602 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 1603 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 1604 | "dev": true, 1605 | "requires": { 1606 | "load-json-file": "4.0.0", 1607 | "normalize-package-data": "2.4.0", 1608 | "path-type": "3.0.0" 1609 | } 1610 | }, 1611 | "read-pkg-up": { 1612 | "version": "3.0.0", 1613 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", 1614 | "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", 1615 | "dev": true, 1616 | "requires": { 1617 | "find-up": "2.1.0", 1618 | "read-pkg": "3.0.0" 1619 | } 1620 | }, 1621 | "redent": { 1622 | "version": "2.0.0", 1623 | "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", 1624 | "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", 1625 | "dev": true, 1626 | "requires": { 1627 | "indent-string": "3.2.0", 1628 | "strip-indent": "2.0.0" 1629 | } 1630 | }, 1631 | "registry-auth-token": { 1632 | "version": "3.3.2", 1633 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", 1634 | "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", 1635 | "dev": true, 1636 | "requires": { 1637 | "rc": "1.2.8", 1638 | "safe-buffer": "5.1.2" 1639 | } 1640 | }, 1641 | "registry-url": { 1642 | "version": "3.1.0", 1643 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 1644 | "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", 1645 | "dev": true, 1646 | "requires": { 1647 | "rc": "1.2.8" 1648 | } 1649 | }, 1650 | "restore-cursor": { 1651 | "version": "2.0.0", 1652 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1653 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1654 | "requires": { 1655 | "onetime": "2.0.1", 1656 | "signal-exit": "3.0.2" 1657 | } 1658 | }, 1659 | "rimraf": { 1660 | "version": "2.6.2", 1661 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 1662 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 1663 | "dev": true, 1664 | "requires": { 1665 | "glob": "7.1.3" 1666 | } 1667 | }, 1668 | "run-async": { 1669 | "version": "2.3.0", 1670 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 1671 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 1672 | "requires": { 1673 | "is-promise": "2.1.0" 1674 | } 1675 | }, 1676 | "rx-lite": { 1677 | "version": "4.0.8", 1678 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", 1679 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", 1680 | "dev": true 1681 | }, 1682 | "rx-lite-aggregates": { 1683 | "version": "4.0.8", 1684 | "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", 1685 | "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", 1686 | "dev": true, 1687 | "requires": { 1688 | "rx-lite": "4.0.8" 1689 | } 1690 | }, 1691 | "rxjs": { 1692 | "version": "6.3.2", 1693 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.2.tgz", 1694 | "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", 1695 | "requires": { 1696 | "tslib": "1.9.3" 1697 | } 1698 | }, 1699 | "safe-buffer": { 1700 | "version": "5.1.2", 1701 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1702 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1703 | "dev": true 1704 | }, 1705 | "safer-buffer": { 1706 | "version": "2.1.2", 1707 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1708 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1709 | }, 1710 | "semver": { 1711 | "version": "5.5.1", 1712 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", 1713 | "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" 1714 | }, 1715 | "semver-diff": { 1716 | "version": "2.1.0", 1717 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", 1718 | "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", 1719 | "dev": true, 1720 | "requires": { 1721 | "semver": "5.5.1" 1722 | } 1723 | }, 1724 | "shebang-command": { 1725 | "version": "1.2.0", 1726 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1727 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1728 | "requires": { 1729 | "shebang-regex": "1.0.0" 1730 | } 1731 | }, 1732 | "shebang-regex": { 1733 | "version": "1.0.0", 1734 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1735 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 1736 | }, 1737 | "signal-exit": { 1738 | "version": "3.0.2", 1739 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1740 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 1741 | }, 1742 | "simple-git": { 1743 | "version": "1.96.0", 1744 | "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.96.0.tgz", 1745 | "integrity": "sha512-+gXuzJFpGtK9zCa7rPMMNs8AF2weWMsB0Vlyym5VkFX2VGQ3VBzKhnxPN//PWrGuPFGQ/u0F1yL6rZoPhj/KPQ==", 1746 | "requires": { 1747 | "debug": "3.1.0" 1748 | } 1749 | }, 1750 | "slice-ansi": { 1751 | "version": "0.0.4", 1752 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", 1753 | "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", 1754 | "dev": true 1755 | }, 1756 | "spdx-correct": { 1757 | "version": "3.0.0", 1758 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", 1759 | "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", 1760 | "dev": true, 1761 | "requires": { 1762 | "spdx-expression-parse": "3.0.0", 1763 | "spdx-license-ids": "3.0.1" 1764 | } 1765 | }, 1766 | "spdx-exceptions": { 1767 | "version": "2.1.0", 1768 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", 1769 | "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", 1770 | "dev": true 1771 | }, 1772 | "spdx-expression-parse": { 1773 | "version": "3.0.0", 1774 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 1775 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 1776 | "dev": true, 1777 | "requires": { 1778 | "spdx-exceptions": "2.1.0", 1779 | "spdx-license-ids": "3.0.1" 1780 | } 1781 | }, 1782 | "spdx-license-ids": { 1783 | "version": "3.0.1", 1784 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz", 1785 | "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", 1786 | "dev": true 1787 | }, 1788 | "split": { 1789 | "version": "1.0.1", 1790 | "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", 1791 | "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", 1792 | "dev": true, 1793 | "requires": { 1794 | "through": "2.3.8" 1795 | } 1796 | }, 1797 | "string-width": { 1798 | "version": "2.1.1", 1799 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1800 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1801 | "requires": { 1802 | "is-fullwidth-code-point": "2.0.0", 1803 | "strip-ansi": "4.0.0" 1804 | } 1805 | }, 1806 | "strip-ansi": { 1807 | "version": "4.0.0", 1808 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1809 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1810 | "requires": { 1811 | "ansi-regex": "3.0.0" 1812 | } 1813 | }, 1814 | "strip-bom": { 1815 | "version": "3.0.0", 1816 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1817 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 1818 | "dev": true 1819 | }, 1820 | "strip-eof": { 1821 | "version": "1.0.0", 1822 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 1823 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 1824 | }, 1825 | "strip-indent": { 1826 | "version": "2.0.0", 1827 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", 1828 | "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", 1829 | "dev": true 1830 | }, 1831 | "strip-json-comments": { 1832 | "version": "2.0.1", 1833 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1834 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 1835 | "dev": true 1836 | }, 1837 | "supports-color": { 1838 | "version": "5.5.0", 1839 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1840 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1841 | "requires": { 1842 | "has-flag": "3.0.0" 1843 | } 1844 | }, 1845 | "supports-hyperlinks": { 1846 | "version": "1.0.1", 1847 | "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", 1848 | "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", 1849 | "dev": true, 1850 | "requires": { 1851 | "has-flag": "2.0.0", 1852 | "supports-color": "5.5.0" 1853 | }, 1854 | "dependencies": { 1855 | "has-flag": { 1856 | "version": "2.0.0", 1857 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", 1858 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", 1859 | "dev": true 1860 | } 1861 | } 1862 | }, 1863 | "symbol-observable": { 1864 | "version": "1.0.1", 1865 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", 1866 | "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", 1867 | "dev": true 1868 | }, 1869 | "term-size": { 1870 | "version": "1.2.0", 1871 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", 1872 | "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", 1873 | "dev": true, 1874 | "requires": { 1875 | "execa": "0.7.0" 1876 | }, 1877 | "dependencies": { 1878 | "cross-spawn": { 1879 | "version": "5.1.0", 1880 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 1881 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 1882 | "dev": true, 1883 | "requires": { 1884 | "lru-cache": "4.1.3", 1885 | "shebang-command": "1.2.0", 1886 | "which": "1.3.1" 1887 | } 1888 | }, 1889 | "execa": { 1890 | "version": "0.7.0", 1891 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 1892 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 1893 | "dev": true, 1894 | "requires": { 1895 | "cross-spawn": "5.1.0", 1896 | "get-stream": "3.0.0", 1897 | "is-stream": "1.1.0", 1898 | "npm-run-path": "2.0.2", 1899 | "p-finally": "1.0.0", 1900 | "signal-exit": "3.0.2", 1901 | "strip-eof": "1.0.0" 1902 | } 1903 | }, 1904 | "get-stream": { 1905 | "version": "3.0.0", 1906 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1907 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", 1908 | "dev": true 1909 | } 1910 | } 1911 | }, 1912 | "terminal-link": { 1913 | "version": "1.1.0", 1914 | "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-1.1.0.tgz", 1915 | "integrity": "sha512-sOZb3eUbMEcBeuA+TePxEiyueKHNoFOdU8gJtw6vXBKQEgj2ZeyQfWT0aXqjSDI1a/xEZfjzTZMApcSgV70KGg==", 1916 | "dev": true, 1917 | "requires": { 1918 | "ansi-escapes": "3.1.0", 1919 | "supports-hyperlinks": "1.0.1" 1920 | } 1921 | }, 1922 | "through": { 1923 | "version": "2.3.8", 1924 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1925 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 1926 | }, 1927 | "timed-out": { 1928 | "version": "4.0.1", 1929 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 1930 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", 1931 | "dev": true 1932 | }, 1933 | "tmp": { 1934 | "version": "0.0.33", 1935 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1936 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1937 | "requires": { 1938 | "os-tmpdir": "1.0.2" 1939 | } 1940 | }, 1941 | "trim-newlines": { 1942 | "version": "2.0.0", 1943 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", 1944 | "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", 1945 | "dev": true 1946 | }, 1947 | "tslib": { 1948 | "version": "1.9.3", 1949 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 1950 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" 1951 | }, 1952 | "unique-string": { 1953 | "version": "1.0.0", 1954 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", 1955 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", 1956 | "dev": true, 1957 | "requires": { 1958 | "crypto-random-string": "1.0.0" 1959 | } 1960 | }, 1961 | "unzip-response": { 1962 | "version": "2.0.1", 1963 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", 1964 | "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", 1965 | "dev": true 1966 | }, 1967 | "update-notifier": { 1968 | "version": "2.5.0", 1969 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", 1970 | "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", 1971 | "dev": true, 1972 | "requires": { 1973 | "boxen": "1.3.0", 1974 | "chalk": "2.4.1", 1975 | "configstore": "3.1.2", 1976 | "import-lazy": "2.1.0", 1977 | "is-ci": "1.2.0", 1978 | "is-installed-globally": "0.1.0", 1979 | "is-npm": "1.0.0", 1980 | "latest-version": "3.1.0", 1981 | "semver-diff": "2.1.0", 1982 | "xdg-basedir": "3.0.0" 1983 | } 1984 | }, 1985 | "url-parse-lax": { 1986 | "version": "1.0.0", 1987 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 1988 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 1989 | "dev": true, 1990 | "requires": { 1991 | "prepend-http": "1.0.4" 1992 | } 1993 | }, 1994 | "validate-npm-package-license": { 1995 | "version": "3.0.4", 1996 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 1997 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 1998 | "dev": true, 1999 | "requires": { 2000 | "spdx-correct": "3.0.0", 2001 | "spdx-expression-parse": "3.0.0" 2002 | } 2003 | }, 2004 | "wcwidth": { 2005 | "version": "1.0.1", 2006 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 2007 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 2008 | "requires": { 2009 | "defaults": "1.0.3" 2010 | } 2011 | }, 2012 | "which": { 2013 | "version": "1.3.1", 2014 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2015 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2016 | "requires": { 2017 | "isexe": "2.0.0" 2018 | } 2019 | }, 2020 | "widest-line": { 2021 | "version": "2.0.0", 2022 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", 2023 | "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", 2024 | "dev": true, 2025 | "requires": { 2026 | "string-width": "2.1.1" 2027 | } 2028 | }, 2029 | "wrappy": { 2030 | "version": "1.0.2", 2031 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2032 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2033 | }, 2034 | "write-file-atomic": { 2035 | "version": "2.3.0", 2036 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", 2037 | "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", 2038 | "dev": true, 2039 | "requires": { 2040 | "graceful-fs": "4.1.11", 2041 | "imurmurhash": "0.1.4", 2042 | "signal-exit": "3.0.2" 2043 | } 2044 | }, 2045 | "xdg-basedir": { 2046 | "version": "3.0.0", 2047 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", 2048 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", 2049 | "dev": true 2050 | }, 2051 | "yallist": { 2052 | "version": "2.1.2", 2053 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 2054 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 2055 | "dev": true 2056 | }, 2057 | "yargs-parser": { 2058 | "version": "10.1.0", 2059 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", 2060 | "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", 2061 | "dev": true, 2062 | "requires": { 2063 | "camelcase": "4.1.0" 2064 | } 2065 | } 2066 | } 2067 | } 2068 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ohshitgit", 3 | "version": "0.0.5", 4 | "description": "", 5 | "main": "index.js", 6 | "bin": { 7 | "ohshit": "bin/ohshit.js", 8 | "ohshitgit": "bin/ohshit.js" 9 | }, 10 | "scripts": { 11 | "release": "np" 12 | }, 13 | "keywords": [], 14 | "author": "", 15 | "license": "ISC", 16 | "dependencies": { 17 | "chalk": "^2.4.1", 18 | "clear": "^0.1.0", 19 | "commander": "^2.18.0", 20 | "execa": "^1.0.0", 21 | "figlet": "^1.2.0", 22 | "inquirer": "^6.2.0", 23 | "ora": "^3.0.0", 24 | "promisify-node": "^0.5.0", 25 | "simple-git": "^1.96.0" 26 | }, 27 | "devDependencies": { 28 | "np": "^3.0.4" 29 | } 30 | } 31 | --------------------------------------------------------------------------------