├── .npmignore ├── src ├── get-var-from-env.js ├── rules.js ├── status-for-var.js ├── validate-joi.js ├── index.js ├── validate-plain.js ├── cli.js ├── apply-rules.js └── resolve-config.js ├── test ├── .env-for-defaults ├── .env-for-required ├── .lookenvrc ├── .env-for-joi ├── .env-for-joi-with-errors ├── lookenv-for-required.config.js ├── lookenv-for-defaults.config.js ├── test-dotlookenv.js ├── lookenv-with-joi-errors.config.js ├── lookenv-with-joi.config.js ├── test-joi-with-errors.js ├── test-joi.js ├── test-defaults.js └── test-required.js ├── bin └── lookenv.js ├── lookenv.config.js ├── .babelrc ├── .travis.yml ├── CHANGELOG.md ├── package.json ├── LICENSE ├── .gitignore ├── README.md └── yarn.lock /.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /src/get-var-from-env.js: -------------------------------------------------------------------------------- 1 | module.export = (varName, context = process.env) => context[varName] 2 | -------------------------------------------------------------------------------- /test/.env-for-defaults: -------------------------------------------------------------------------------- 1 | TEST=true 2 | A_NUMBER=1 3 | A_STRING=testing 4 | AN_OBJECT={ testing: true } 5 | -------------------------------------------------------------------------------- /test/.env-for-required: -------------------------------------------------------------------------------- 1 | TEST=true 2 | A_NUMBER=1 3 | A_STRING=testing 4 | AN_OBJECT={ testing: true } 5 | -------------------------------------------------------------------------------- /test/.lookenvrc: -------------------------------------------------------------------------------- 1 | { 2 | "TESTING_DEFAULT_NUMBER": 1234, 3 | "TESTING_DEFAULT_STRING": "1234" 4 | } 5 | -------------------------------------------------------------------------------- /bin/lookenv.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict' 4 | 5 | require('../src/cli').run(process.argv) 6 | -------------------------------------------------------------------------------- /test/.env-for-joi: -------------------------------------------------------------------------------- 1 | TEST=true 2 | A_NUMBER=1 3 | A_STRING=testing 4 | AN_OBJECT={ testing: true } 5 | A_PORT=3333 -------------------------------------------------------------------------------- /test/.env-for-joi-with-errors: -------------------------------------------------------------------------------- 1 | TEST=true 2 | A_NUMBER=1 3 | A_STRING=testing 4 | AN_OBJECT={ testing: true } 5 | A_PORT=3333 -------------------------------------------------------------------------------- /lookenv.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used when testing. 3 | * "test": "TESTING=true ./bin/lookenv.js -- ava test/test-*.js" 4 | */ 5 | module.exports = { 6 | TESTING: { 7 | required: true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/rules.js: -------------------------------------------------------------------------------- 1 | const isRequired = rules => rules.required 2 | 3 | const hasDefault = rules => rules.default 4 | 5 | /** 6 | * BOOK OF RULES. 7 | */ 8 | module.exports = { 9 | isRequired, 10 | hasDefault 11 | } 12 | -------------------------------------------------------------------------------- /test/lookenv-for-required.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | A_NUMBER: { 3 | required: true 4 | }, 5 | A_STRING: { 6 | required: true 7 | }, 8 | SOMETHING_ELSE_REQUIRED: { 9 | required: true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "node": "4.3.0" 8 | } 9 | } 10 | ] 11 | ], 12 | "plugins": [ 13 | "transform-regenerator" 14 | ] 15 | } -------------------------------------------------------------------------------- /src/status-for-var.js: -------------------------------------------------------------------------------- 1 | module.exports = (name, error) => { 2 | if (error) { 3 | return { 4 | name, 5 | status: 'error', 6 | error 7 | } 8 | } 9 | 10 | return { 11 | name, 12 | status: 'ok', 13 | error: null 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8" 4 | - "10" 5 | before_install: 6 | - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.24.3 7 | - export PATH="$HOME/.yarn/bin:$PATH" 8 | before_script: 9 | - yarn 10 | script: yarn test 11 | cache: yarn 12 | -------------------------------------------------------------------------------- /test/lookenv-for-defaults.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | A_NUMBER: { 3 | default: 2 4 | }, 5 | A_NUMBER_WITH_DEFAULTS: { 6 | default: 7 7 | }, 8 | A_STRING_WITH_DEFAULTS: { 9 | default: 'seven' 10 | }, 11 | AN_OBJECT_WITH_DEFAULTS: { 12 | default: { testing: true } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/test-dotlookenv.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const lookenv = require('../src') 3 | 4 | const PATH_TO_DOT_LOOKENV = `${__dirname}/.lookenvrc` 5 | 6 | test('import .lookenvrc file', async t => { 7 | await lookenv.validate({ path: PATH_TO_DOT_LOOKENV }) 8 | 9 | t.is(process.env.TESTING_DEFAULT_NUMBER, '1234') 10 | t.is(process.env.TESTING_DEFAULT_STRING, '1234') 11 | 12 | t.pass() 13 | }) 14 | -------------------------------------------------------------------------------- /test/lookenv-with-joi-errors.config.js: -------------------------------------------------------------------------------- 1 | const Joi = require('joi') 2 | 3 | module.exports = Joi.object().keys({ 4 | SOMETHING_MISSING: Joi.string().required(), 5 | 6 | TESTING: Joi.string().required(), 7 | A_NUMBER: Joi.number().required(), 8 | A_STRING: Joi.string().required(), 9 | AN_OBJECT: Joi.string().required(), 10 | 11 | A_NUMBER_WITH_DEFAULTS: Joi.number().default(7), 12 | A_STRING_WITH_DEFAULTS: Joi.string().default('seven') 13 | }) 14 | -------------------------------------------------------------------------------- /test/lookenv-with-joi.config.js: -------------------------------------------------------------------------------- 1 | const Joi = require('joi') 2 | 3 | module.exports = Joi.object().keys({ 4 | TESTING: Joi.string().required(), 5 | A_NUMBER: Joi.number().required(), 6 | A_STRING: Joi.string().required(), 7 | AN_OBJECT: Joi.string().required(), 8 | 9 | A_PORT: Joi.number() 10 | .positive() 11 | .default(3000), 12 | 13 | A_NUMBER_WITH_DEFAULTS: Joi.number().default(7), 14 | A_STRING_WITH_DEFAULTS: Joi.string().default('seven') 15 | }) 16 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This is the changelog for [lookenv](https://github.com/RodrigoEspinosa/lookenv). **Last update: Oct. 22nd, 2018.** 4 | 5 | * 1.0.0 6 | * REMOVE: Babel, only support Node 7 or newer. 7 | 8 | * 0.6.0 9 | * ADD: Babel to support older versions of Node 10 | 11 | * 0.5.0 12 | * ADD: Accept Joi schemas in validations 13 | 14 | * 0.4.0 15 | * ADD: Out-of-the-box `dotenv` option 16 | 17 | * 0.3.0 18 | * ADD: CLI to validate easily 19 | * ADD: Logo 20 | 21 | * 0.2.0 22 | * ADD: Tests 23 | * ADD: Add simplified method for setting defaults 24 | 25 | * 0.1.0 26 | * First proper release 27 | 28 | * 0.0.1 29 | * Work in progress 30 | -------------------------------------------------------------------------------- /test/test-joi-with-errors.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const dotenv = require('dotenv') 3 | const lookenv = require('../src') 4 | 5 | const PATH_TO_DOT_ENV = `${__dirname}/.env-for-joi-with-errors` 6 | const PATH_TO_LOOK_ENV = `${__dirname}/lookenv-with-joi-errors.config.js` 7 | 8 | test('import lookenv-with-joi-errors.config.js and throw error on missing vars', async t => { 9 | dotenv.config({ path: PATH_TO_DOT_ENV }) 10 | 11 | const error = await t.throws(lookenv.validate({ path: PATH_TO_LOOK_ENV })) 12 | 13 | t.is(error.message, '"SOMETHING_MISSING" is required') 14 | 15 | t.is(process.env.A_NUMBER, '1') 16 | t.is(process.env.A_STRING, 'testing') 17 | t.is(process.env.AN_OBJECT, '{ testing: true }') 18 | 19 | t.falsy(process.env.A_NUMBER_WITH_DEFAULTS) 20 | t.falsy(process.env.A_STRING_WITH_DEFAULTS) 21 | 22 | t.pass() 23 | }) 24 | -------------------------------------------------------------------------------- /test/test-joi.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const dotenv = require('dotenv') 3 | const lookenv = require('../src') 4 | 5 | const PATH_TO_DOT_ENV = `${__dirname}/.env-for-joi` 6 | const PATH_TO_LOOK_ENV = `${__dirname}/lookenv-with-joi.config.js` 7 | 8 | test.before('import lookenv-with-joi.config.js file', async t => { 9 | dotenv.config({ path: PATH_TO_DOT_ENV }) 10 | await lookenv.validate({ path: PATH_TO_LOOK_ENV }) 11 | }) 12 | 13 | test('lookenv with joi, .env values are present', t => { 14 | t.is(process.env.A_NUMBER, '1') 15 | t.is(process.env.A_STRING, 'testing') 16 | t.is(process.env.AN_OBJECT, '{ testing: true }') 17 | }) 18 | 19 | test('lookenv with joi, default values are present', t => { 20 | t.is(process.env.A_NUMBER_WITH_DEFAULTS, '7') 21 | t.is(process.env.A_STRING_WITH_DEFAULTS, 'seven') 22 | }) 23 | 24 | test('ilookenv with joi, custom validations are working', t => { 25 | t.is(process.env.A_PORT, '3333') 26 | }) 27 | -------------------------------------------------------------------------------- /test/test-defaults.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const dotenv = require('dotenv') 3 | const lookenv = require('../src') 4 | 5 | const PATH_TO_DOT_ENV = `${__dirname}/.env-for-defaults` 6 | const PATH_TO_LOOK_ENV = `${__dirname}/lookenv-for-defaults.config.js` 7 | 8 | test('import .env file', t => { 9 | dotenv.config({ path: PATH_TO_DOT_ENV }) 10 | 11 | t.is(process.env.A_NUMBER, '1') 12 | t.is(process.env.A_STRING, 'testing') 13 | t.is(process.env.AN_OBJECT, '{ testing: true }') 14 | 15 | t.pass() 16 | }) 17 | 18 | test('import .config file', async t => { 19 | dotenv.config({ path: PATH_TO_DOT_ENV }) 20 | 21 | await lookenv.validate({ path: PATH_TO_LOOK_ENV }) 22 | 23 | t.is(process.env.A_NUMBER, '1') 24 | t.is(process.env.A_STRING, 'testing') 25 | t.is(process.env.AN_OBJECT, '{ testing: true }') 26 | 27 | t.is(process.env.A_NUMBER_WITH_DEFAULTS, '7') 28 | t.is(process.env.A_STRING_WITH_DEFAULTS, 'seven') 29 | t.deepEqual(JSON.parse(process.env.AN_OBJECT_WITH_DEFAULTS), { 30 | testing: true 31 | }) 32 | 33 | t.pass() 34 | }) 35 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lookenv", 3 | "version": "1.0.1", 4 | "description": "Set rules for the environment variables in your project. Works great with dotenv", 5 | "main": "src/index.js", 6 | "repository": "https://github.com/RodrigoEspinosa/lookenv", 7 | "author": "rec ", 8 | "license": "MIT", 9 | "scripts": { 10 | "test": "TESTING=true ./bin/lookenv.js -- ava test/test-*.js", 11 | "precommit": "lint-staged", 12 | "lint": "prettier src/*.js test/*.js --write" 13 | }, 14 | "lint-staged": { 15 | "*.js": [ 16 | "yarn lint", 17 | "git add" 18 | ] 19 | }, 20 | "bin": { 21 | "lookenv": "./bin/lookenv.js" 22 | }, 23 | "dependencies": { 24 | "commander": "^2.11.0", 25 | "cosmiconfig": "^3.1.0", 26 | "dotenv": "^4.0.0" 27 | }, 28 | "prettier": { 29 | "semi": false, 30 | "single-quote": true 31 | }, 32 | "devDependencies": { 33 | "ava": "^0.22.0", 34 | "husky": "^0.14.3", 35 | "joi": "^13.0.2", 36 | "lint-staged": "^4.3.0", 37 | "prettier": "^1.8.2", 38 | "release": "^4.0.2" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/validate-joi.js: -------------------------------------------------------------------------------- 1 | const statusForVar = require('./status-for-var') 2 | 3 | const JOI_OPTIONS = { 4 | stripUnknown: true 5 | } 6 | 7 | module.exports = async (config, context) => { 8 | try { 9 | // Validate the config using Joi, passing all the context. 10 | const value = await config.validate(context, JOI_OPTIONS) 11 | 12 | // Iterate over all the values after the config. 13 | const res = Object.keys(value).map(name => { 14 | // Ensure that every value after the validation, exist in the context (generally `process.env`). 15 | // This is so the default values created after the validation, are present there. 16 | context[name] = value[name] 17 | 18 | // Append the variable using the common status object. 19 | return statusForVar(name) 20 | }) 21 | 22 | // Return the collection of all the variables' status. Same as in the plain validation. 23 | return res 24 | } catch (error) { 25 | // Map the error message to be the same as the plain validation, and throw the error. 26 | throw new Error(error.details.map(error => error.message).join('\n')) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Rodrigo Espinosa 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 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const validateJoi = require('./validate-joi') 2 | const loadConfig = require('./resolve-config') 3 | const validatePlain = require('./validate-plain') 4 | 5 | const DEFAULT_PARAMS = { 6 | path: process.cwd(), 7 | context: process.env 8 | } 9 | 10 | /** 11 | * Check if the config is using joi. 12 | * @param {Object} config 13 | * @return {Boolean} 14 | */ 15 | const isUsingJoi = (config = {}) => config.isJoi 16 | 17 | module.exports = { 18 | /** 19 | * Load the configuration. This function is only exposed for testing. 20 | * 21 | * @param {String} path Path of the config (set of rules for the env.) 22 | * @return {Promise} 23 | */ 24 | config: async ({ path } = DEFAULT_PARAMS) => { 25 | return loadConfig({ path }) 26 | }, 27 | 28 | /** 29 | * Validate the context (generally `process.env`.) 30 | * 31 | * @param {String} path 32 | * @param {Object} [context=process.env] 33 | * @return {Promise} 34 | */ 35 | validate: async ({ path, context = process.env } = DEFAULT_PARAMS) => { 36 | // Load the config (using cosiconfig.) 37 | const { config } = await loadConfig({ path }) 38 | 39 | // Check if it should use the plan validation or with joi. 40 | return isUsingJoi(config) 41 | ? validateJoi(config, context) 42 | : validatePlain(config, context) 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /test/test-required.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const dotenv = require('dotenv') 3 | const lookenv = require('../src') 4 | 5 | const PATH_TO_DOT_ENV = `${__dirname}/.env-for-required` 6 | const PATH_TO_LOOK_ENV = `${__dirname}/lookenv-for-required.config.js` 7 | 8 | test('import .env file', t => { 9 | dotenv.config({ path: PATH_TO_DOT_ENV }) 10 | 11 | t.is(process.env.A_NUMBER, '1') 12 | t.is(process.env.A_STRING, 'testing') 13 | t.is(process.env.AN_OBJECT, '{ testing: true }') 14 | 15 | t.pass() 16 | }) 17 | 18 | test.serial('import .config file with a missing required', async t => { 19 | dotenv.config({ path: PATH_TO_DOT_ENV }) 20 | 21 | const error = await t.throws(lookenv.validate({ path: PATH_TO_LOOK_ENV })) 22 | 23 | t.is(error.message, '"SOMETHING_ELSE_REQUIRED" is required') 24 | 25 | t.is(process.env.A_NUMBER, '1') 26 | t.is(process.env.A_STRING, 'testing') 27 | t.is(process.env.AN_OBJECT, '{ testing: true }') 28 | 29 | t.pass() 30 | }) 31 | 32 | test('import .config file with everything present', async t => { 33 | dotenv.config({ path: PATH_TO_DOT_ENV }) 34 | 35 | // Set the required variable before validation, any value is ok. 36 | process.env.SOMETHING_ELSE_REQUIRED = true 37 | 38 | await lookenv.validate({ path: PATH_TO_LOOK_ENV }) 39 | 40 | t.is(process.env.A_NUMBER, '1') 41 | t.is(process.env.A_STRING, 'testing') 42 | t.is(process.env.AN_OBJECT, '{ testing: true }') 43 | 44 | t.pass() 45 | }) 46 | -------------------------------------------------------------------------------- /src/validate-plain.js: -------------------------------------------------------------------------------- 1 | const applyRules = require('./apply-rules') 2 | const statusForVar = require('./status-for-var') 3 | 4 | /** 5 | * Get the variable names from the config. 6 | * @param {Object} config 7 | * @return {Array} 8 | */ 9 | const getVarEnvs = config => Object.keys(config) 10 | 11 | /** 12 | * Get the rules for a variable based on the name and the config. 13 | * @param {Object} config 14 | * @param {String} varName 15 | * @return {Object} 16 | */ 17 | const getRuleForVarEnv = (config, varName) => config[varName] 18 | 19 | module.exports = (config, context) => { 20 | // Get the variables (with rules) that are present in the config. 21 | const varEnvs = getVarEnvs(config) 22 | 23 | // Iterate over all the set of rules. 24 | const status = varEnvs.map(varName => { 25 | // Get the rules for the current variable. 26 | const rule = getRuleForVarEnv(config, varName) 27 | 28 | // If the set of rules is empty, continue to the next variable. 29 | if (!rule) { 30 | return statusForVar(varName) 31 | } 32 | 33 | // Apply the rules to the current variable. 34 | return applyRules(rule, varName, context) 35 | }) 36 | 37 | // Filter the status of those that contains errors. 38 | const hasErrors = status.filter(({ status }) => status === 'error') 39 | 40 | // Check if there are errors in the status. 41 | if (hasErrors.length > 0) { 42 | throw new Error(hasErrors.map(({ error }) => error.message).join('\n')) 43 | } 44 | 45 | // Return the status. 46 | return status 47 | } 48 | -------------------------------------------------------------------------------- /src/cli.js: -------------------------------------------------------------------------------- 1 | const dotenv = require('dotenv') 2 | const program = require('commander') 3 | const { spawn } = require('child_process') 4 | 5 | const { validate } = require('./index') 6 | const { version } = require('../package.json') 7 | 8 | // Define the options for the program. 9 | program 10 | .version(version) 11 | .option('-d --dotenv [path]', 'Config dotenv before executive lookenv') 12 | .option('-p --path ', 'Path to the config file', process.cwd()) 13 | 14 | module.exports.run = async args => { 15 | // Parse the arguments. 16 | program.parse(args) 17 | 18 | try { 19 | // Check if dotenv should be loaded before, with optional path. 20 | if (program.dotenv) { 21 | // Set the dotenv path if this is specified. 22 | const dotenvConfig = 23 | program.dotenv !== true ? { path: program.dotenv } : {} 24 | 25 | // Load dotenv. 26 | dotenv.config(dotenvConfig) 27 | } 28 | 29 | // Validate (the path is the current working directory as default.) 30 | await validate({ path: program.path }) 31 | 32 | // Spaw the program. 33 | if (program.args.length < 1) { 34 | // Exit the script with a `0` status code as everything went ok. 35 | return process.exit(0) 36 | } 37 | 38 | // Get the program and its arguments, which is everything after `--`. 39 | const [childProgram, ...childProgramArgs] = program.args 40 | 41 | // Spawn the program. 42 | spawn(childProgram, childProgramArgs, { stdio: 'inherit' }) 43 | } catch (error) { 44 | // Log the error into the console. This specifies the variable names. 45 | console.error(error) 46 | 47 | // Exit the script with a `1` status code as there was an error. 48 | process.exit(1) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/apply-rules.js: -------------------------------------------------------------------------------- 1 | const statusForVar = require('./status-for-var') 2 | const { isRequired, hasDefault } = require('./rules') 3 | 4 | /** 5 | * Get the value of a variable from the environment. 6 | * @param {String} varName 7 | * @param {Object} [context=process.env] 8 | * @return {Object} 9 | */ 10 | const getValueFromEnv = (varName, context = process.env) => context[varName] 11 | 12 | /** 13 | * Mutate the state of `context` (generally `process.env`) 14 | * to set the value of the missing var env. 15 | * 16 | * @param {String} varName 17 | * @param {Object} varDefault 18 | * @param {Object} context 19 | * @return {Object} 20 | */ 21 | const processDefault = (varName, varDefault, context) => { 22 | context[varName] = varDefault 23 | 24 | if (typeof varDefault === 'object') { 25 | context[varName] = JSON.stringify(varDefault) 26 | } 27 | 28 | return varDefault 29 | } 30 | 31 | /** 32 | * Apply the set of rules for the variable in question. 33 | * @param {Object} rules 34 | * @param {String} varName 35 | * @param {Object} context 36 | * @return {String} 37 | */ 38 | module.exports = (rules, varName, context) => { 39 | // Get the current value of the variable from the environment. 40 | const originalValue = getValueFromEnv(varName, context) 41 | 42 | // Check if the variable is required and not present. 43 | if (isRequired(rules) && !originalValue) { 44 | // Return the error specifying that the variable is not present. 45 | return statusForVar(varName, new Error(`"${varName}" is required`)) 46 | } 47 | 48 | // Check if the variable has a default and is not present. 49 | if (hasDefault(rules) && !originalValue) { 50 | // Apply the fault to the variable. 51 | processDefault(varName, hasDefault(rules), context) 52 | } 53 | 54 | // Return the state, to give the script a reference. 55 | return statusForVar(varName) 56 | } 57 | -------------------------------------------------------------------------------- /src/resolve-config.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const cosmiconfig = require('cosmiconfig') 3 | 4 | // Set the default path as the current working directory. 5 | const DEFAULT_PATH = process.cwd() 6 | 7 | /** 8 | * Transform for the config file, mapping the defaults values 9 | * that were written using the simplified form into the standard form. 10 | * @param {Object} config 11 | * @return {Object} 12 | */ 13 | const cleanConfig = config => { 14 | // Check if the config is using `joi` instead of a plain object. 15 | if (config.isJoi) { 16 | // Bypass the transformation. 17 | return config 18 | } 19 | 20 | return Object.keys(config).reduce((collection, item) => { 21 | // Check if the value of the item is not an object with the rules, 22 | // but a literal value. 23 | if (['string', 'number', 'boolean'].includes(typeof config[item])) { 24 | // In that case, assing the literal value as the variable default. 25 | collection[item] = { 26 | default: config[item] 27 | } 28 | 29 | // Otherwise, use the set of rules for the 30 | // variable as stablished in the config file. 31 | } else { 32 | collection[item] = config[item] 33 | } 34 | 35 | // Return the modified collection. 36 | return collection 37 | }, {}) 38 | } 39 | 40 | // Load the config for the package name `lookenv`. 41 | const explorer = cosmiconfig('lookenv', { 42 | transform: async ({ config, filepath }) => { 43 | return { config: cleanConfig(config), filepath } 44 | } 45 | }) 46 | 47 | /** 48 | * Check if the path is a directory. 49 | * @param {String} path 50 | * @return {Boolean} 51 | */ 52 | const isDir = path => fs.statSync(path).isDirectory() 53 | 54 | module.exports = async ({ path = DEFAULT_PATH }) => { 55 | const [directory, pathToConfigFile] = isDir(path) 56 | ? [path, undefined] 57 | : [null, path] 58 | 59 | try { 60 | // Load the config. 61 | const { config, filepath } = await explorer.load( 62 | directory, 63 | pathToConfigFile 64 | ) 65 | 66 | // Return the config and filepath. 67 | return { config, filepath } 68 | } catch (parsingError) { 69 | // Log any errors. 70 | console.error('Parsing error:', parsingError) 71 | return parsingError 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lookenv 2 | 3 | lookenv 4 | 5 | > Set rules for the environment variables in your project. 6 | 7 | [![NPM Version][npm-image]][npm-url] 8 | [![Build Status][travis-image]][travis-url] 9 | [![Downloads Stats][npm-downloads]][npm-url] 10 | 11 | `lookenv` can check if all the variables you need are present before starting your app. It also can set defaults for those variables that are not present. Works fine with `dotenv` or `dotenv-safe`. 12 | 13 | ## Installation 14 | 15 | ```sh 16 | npm install lookenv --save 17 | 18 | # Or with yarn 19 | yarn add lookenv 20 | ``` 21 | 22 | ## Usage example 23 | 24 | Create a `lookenv.config.js` file, or `.lookenvrc` that exposes a JSON like the following: 25 | 26 | ```js 27 | module.exports = { 28 | MY_ENV_VAR: { 29 | required: true 30 | }, 31 | MY_SECOND_ENV_VAR: { 32 | default: 'testing' 33 | } 34 | } 35 | ``` 36 | 37 | Then, add `lookenv` to the `package.json` start script, before the app starts but after dotenv (if you are using it!). 38 | 39 | ```json 40 | { 41 | "start": "lookenv -- node index.js" 42 | } 43 | ``` 44 | 45 | You can also specify a path to the config file, or the directory where the config file by passing `--path` or `-p`. 46 | 47 | ```json 48 | { 49 | "start": "lookenv --path=lookenv.config.js -- node index.js" 50 | } 51 | ``` 52 | 53 | ### With `dotenv` 54 | 55 | You can pass a `--dotenv` (or `-d` for short) to the cli to load `dotenv` before 56 | validating the env vars. 57 | 58 | ```json 59 | "start": "lookenv --dotenv -- node index.js" 60 | ``` 61 | 62 | _You can optionally pass the location of your `.env` in the `--dotenv` option, 63 | like `lookenv --dotenv=/path/to/custom/env -- node index.js`._ 64 | 65 | 90 | 91 | ### With [`Joi`](https://github.com/hapijs/joi) 92 | 93 | _Joi, the object schema description language and validator for JavaScript objects._ 94 | 95 | Lookenv recognizes and supports Joi schemas from the config files. In order to do so, please remember to install (`npm install --save joi`) in your project. And then, export the Joi schema in your `lookenv.config.js` file. 96 | 97 | ```js 98 | const Joi = require('joi'); 99 | 100 | module.exports = Joi.object().keys({ 101 | A_NUMBER: Joi.number().required(), 102 | A_STRING: Joi.string().required(), 103 | AN_OBJECT: Joi.string().required(), 104 | 105 | A_PORT: Joi.number() 106 | .positive() 107 | .default(3000), 108 | 109 | A_NUMBER_WITH_DEFAULTS: Joi.number().default(7), 110 | A_STRING_WITH_DEFAULTS: Joi.string().default('seven') 111 | }) 112 | ``` 113 | 114 | This means that you can use the entire [Joi Schema API](https://github.com/hapijs/joi/blob/v13.0.2/API.md) to validate your env vars. 115 | 116 | ### Using it just for setting defaults 117 | 118 | Everything would be the same, but you can use the simplified `lookenv.config.js` (or `.lookenvrc`) json that matches every key with a default. 119 | 120 | ```json 121 | { 122 | "MY_ENV_VAR": "my-default", 123 | "MY_2ND_ENV_VAR": "other-default" 124 | } 125 | ``` 126 | 127 | You can also combine them! 128 | 129 | ```json 130 | { 131 | "MY_ENV_VAR": "my-default", 132 | "MY_2ND_ENV_VAR": { 133 | "required": true 134 | } 135 | } 136 | ``` 137 | 138 | ## API 139 | 140 | **`lookenv.config({ path })`** 141 | This method will only call the config and return the set of rules, it won't do any validation. 142 | 143 | **`lookenv.validate({ path, context })`** 144 | This method will get the config for the `lookenv.config.js` (or `.lookenvrc`) from the current working directory (using `process.cwd()`), unless you specify a `path` to the config file in question. 145 | 146 | After that, it will validate the `context` (that is `process.env` as default) and apply all the defaults. 147 | 148 | If there is a required variable that isn't present, it will throw an error specifying the missing variables. 149 | 150 | 151 | ## Programmatic use 152 | 153 | ```js 154 | const lookenv = require('lookenv') 155 | 156 | lookenv.validate() 157 | .then(() => { 158 | // ... your app goes here, basically... 159 | }) 160 | .catch(error => { 161 | console.error(error) 162 | process.exit(1) 163 | }) 164 | ``` 165 | 166 | _Remember that `lookenv.validate` is async._ 167 | 168 | ## Development setup 169 | 170 | This project use `ava` to run tests. Just [fork it](https://github.com/RodrigoEspinosa/lookenv/fork). 171 | 172 | ```sh 173 | npm test 174 | 175 | # Or with yarn 176 | yarn test 177 | ``` 178 | 179 | ## Release History 180 | 181 | See [`CHANGELOG.md`](https://github.com/RodrigoEspinosa/lookenv/blob/master/CHANGELOG.md) 182 | 183 | ## Meta 184 | 185 | REC – [@reciam](https://twitter.com/reciam) – yo@rec.cool 186 | 187 | Distributed under the MIT license. See ``LICENSE`` for more information. 188 | 189 | [https://github.com/RodrigoEspinosa/lookenv](https://github.com/RodrigoEspinosa/lookenv) 190 | 191 | **Credits of the logo goes to [@guillecura](http://guillecura.co/).** 192 | 193 | ## Contributing 194 | 195 | 1. Fork it () 196 | 2. Create your feature branch (`git checkout -b feature/foo-bar`) 197 | 3. Commit your changes (`git commit -am 'Add some foo and bar'`) 198 | 4. Push to the branch (`git push origin feature/foo-bar`) 199 | 5. Create a new Pull Request 200 | 201 | 202 | [npm-image]: https://img.shields.io/npm/v/lookenv.svg?style=flat-square 203 | [npm-url]: https://npmjs.org/package/lookenv 204 | [npm-downloads]: https://img.shields.io/npm/dm/lookenv.svg?style=flat-square 205 | [travis-image]: https://img.shields.io/travis/RodrigoEspinosa/lookenv/master.svg?style=flat-square 206 | [travis-url]: https://travis-ci.org/RodrigoEspinosa/lookenv 207 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ava/babel-plugin-throws-helper@^2.0.0": 6 | version "2.0.0" 7 | resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" 8 | 9 | "@ava/babel-preset-stage-4@^1.1.0": 10 | version "1.1.0" 11 | resolved "https://registry.yarnpkg.com/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz#ae60be881a0babf7d35f52aba770d1f6194f76bd" 12 | dependencies: 13 | babel-plugin-check-es2015-constants "^6.8.0" 14 | babel-plugin-syntax-trailing-function-commas "^6.20.0" 15 | babel-plugin-transform-async-to-generator "^6.16.0" 16 | babel-plugin-transform-es2015-destructuring "^6.19.0" 17 | babel-plugin-transform-es2015-function-name "^6.9.0" 18 | babel-plugin-transform-es2015-modules-commonjs "^6.18.0" 19 | babel-plugin-transform-es2015-parameters "^6.21.0" 20 | babel-plugin-transform-es2015-spread "^6.8.0" 21 | babel-plugin-transform-es2015-sticky-regex "^6.8.0" 22 | babel-plugin-transform-es2015-unicode-regex "^6.11.0" 23 | babel-plugin-transform-exponentiation-operator "^6.8.0" 24 | package-hash "^1.2.0" 25 | 26 | "@ava/babel-preset-transform-test-files@^3.0.0": 27 | version "3.0.0" 28 | resolved "https://registry.yarnpkg.com/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-3.0.0.tgz#cded1196a8d8d9381a509240ab92e91a5ec069f7" 29 | dependencies: 30 | "@ava/babel-plugin-throws-helper" "^2.0.0" 31 | babel-plugin-espower "^2.3.2" 32 | 33 | "@ava/write-file-atomic@^2.2.0": 34 | version "2.2.0" 35 | resolved "https://registry.yarnpkg.com/@ava/write-file-atomic/-/write-file-atomic-2.2.0.tgz#d625046f3495f1f5e372135f473909684b429247" 36 | dependencies: 37 | graceful-fs "^4.1.11" 38 | imurmurhash "^0.1.4" 39 | slide "^1.1.5" 40 | 41 | "@concordance/react@^1.0.0": 42 | version "1.0.0" 43 | resolved "https://registry.yarnpkg.com/@concordance/react/-/react-1.0.0.tgz#fcf3cad020e5121bfd1c61d05bc3516aac25f734" 44 | dependencies: 45 | arrify "^1.0.1" 46 | 47 | "@octokit/rest@15.2.6": 48 | version "15.2.6" 49 | resolved "http://registry.npmjs.org/@octokit/rest/-/rest-15.2.6.tgz#16226f58fbf0ba88f631848fb622dfe0ad410c0c" 50 | dependencies: 51 | before-after-hook "^1.1.0" 52 | btoa-lite "^1.0.0" 53 | debug "^3.1.0" 54 | http-proxy-agent "^2.1.0" 55 | https-proxy-agent "^2.2.0" 56 | lodash "^4.17.4" 57 | node-fetch "^2.1.1" 58 | url-template "^2.0.8" 59 | 60 | abbrev@1: 61 | version "1.1.1" 62 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 63 | 64 | after-all-results@^2.0.0: 65 | version "2.0.0" 66 | resolved "https://registry.yarnpkg.com/after-all-results/-/after-all-results-2.0.0.tgz#6ac2fc202b500f88da8f4f5530cfa100f4c6a2d0" 67 | 68 | agent-base@4, agent-base@^4.1.0: 69 | version "4.2.1" 70 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" 71 | dependencies: 72 | es6-promisify "^5.0.0" 73 | 74 | ajv@^4.9.1: 75 | version "4.11.8" 76 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 77 | dependencies: 78 | co "^4.6.0" 79 | json-stable-stringify "^1.0.1" 80 | 81 | ajv@^5.1.0: 82 | version "5.5.2" 83 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 84 | dependencies: 85 | co "^4.6.0" 86 | fast-deep-equal "^1.0.0" 87 | fast-json-stable-stringify "^2.0.0" 88 | json-schema-traverse "^0.3.0" 89 | 90 | ansi-align@^2.0.0: 91 | version "2.0.0" 92 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" 93 | dependencies: 94 | string-width "^2.0.0" 95 | 96 | ansi-escapes@^1.0.0: 97 | version "1.4.0" 98 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 99 | 100 | ansi-escapes@^2.0.0: 101 | version "2.0.0" 102 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" 103 | 104 | ansi-escapes@^3.0.0: 105 | version "3.1.0" 106 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" 107 | 108 | ansi-regex@^2.0.0: 109 | version "2.1.1" 110 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 111 | 112 | ansi-regex@^3.0.0: 113 | version "3.0.0" 114 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 115 | 116 | ansi-styles@^2.2.1: 117 | version "2.2.1" 118 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 119 | 120 | ansi-styles@^3.1.0: 121 | version "3.2.0" 122 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" 123 | dependencies: 124 | color-convert "^1.9.0" 125 | 126 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 127 | version "3.2.1" 128 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 129 | dependencies: 130 | color-convert "^1.9.0" 131 | 132 | ansi-styles@~1.0.0: 133 | version "1.0.0" 134 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" 135 | 136 | anymatch@^1.3.0: 137 | version "1.3.2" 138 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 139 | dependencies: 140 | micromatch "^2.1.5" 141 | normalize-path "^2.0.0" 142 | 143 | app-root-path@^2.0.0: 144 | version "2.0.1" 145 | resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" 146 | 147 | aproba@^1.0.3: 148 | version "1.2.0" 149 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 150 | 151 | are-we-there-yet@~1.1.2: 152 | version "1.1.4" 153 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 154 | dependencies: 155 | delegates "^1.0.0" 156 | readable-stream "^2.0.6" 157 | 158 | argparse@^1.0.7: 159 | version "1.0.9" 160 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 161 | dependencies: 162 | sprintf-js "~1.0.2" 163 | 164 | args@4.0.0: 165 | version "4.0.0" 166 | resolved "https://registry.yarnpkg.com/args/-/args-4.0.0.tgz#5ca24cdba43d4b17111c56616f5f2e9d91933954" 167 | dependencies: 168 | camelcase "5.0.0" 169 | chalk "2.3.2" 170 | leven "2.1.0" 171 | mri "1.1.0" 172 | 173 | arr-diff@^2.0.0: 174 | version "2.0.0" 175 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 176 | dependencies: 177 | arr-flatten "^1.0.1" 178 | 179 | arr-exclude@^1.0.0: 180 | version "1.0.0" 181 | resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" 182 | 183 | arr-flatten@^1.0.1: 184 | version "1.1.0" 185 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 186 | 187 | array-differ@^1.0.0: 188 | version "1.0.0" 189 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 190 | 191 | array-find-index@^1.0.1: 192 | version "1.0.2" 193 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 194 | 195 | array-union@^1.0.1: 196 | version "1.0.2" 197 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 198 | dependencies: 199 | array-uniq "^1.0.1" 200 | 201 | array-uniq@^1.0.1, array-uniq@^1.0.2: 202 | version "1.0.3" 203 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 204 | 205 | array-unique@^0.2.1: 206 | version "0.2.1" 207 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 208 | 209 | arrify@^1.0.0, arrify@^1.0.1: 210 | version "1.0.1" 211 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 212 | 213 | asn1@~0.2.3: 214 | version "0.2.3" 215 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 216 | 217 | assert-plus@1.0.0, assert-plus@^1.0.0: 218 | version "1.0.0" 219 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 220 | 221 | assert-plus@^0.2.0: 222 | version "0.2.0" 223 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 224 | 225 | async-each@^1.0.0: 226 | version "1.0.1" 227 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 228 | 229 | async-retry@1.2.1: 230 | version "1.2.1" 231 | resolved "http://registry.npmjs.org/async-retry/-/async-retry-1.2.1.tgz#308c6c4e1d91e63397a4676290334ae9bda7bcb1" 232 | dependencies: 233 | retry "0.10.1" 234 | 235 | asynckit@^0.4.0: 236 | version "0.4.0" 237 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 238 | 239 | auto-bind@^1.1.0: 240 | version "1.1.0" 241 | resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" 242 | 243 | ava-init@^0.2.0: 244 | version "0.2.1" 245 | resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.2.1.tgz#75ac4c8553326290d2866e63b62fa7035684bd58" 246 | dependencies: 247 | arr-exclude "^1.0.0" 248 | execa "^0.7.0" 249 | has-yarn "^1.0.0" 250 | read-pkg-up "^2.0.0" 251 | write-pkg "^3.1.0" 252 | 253 | ava@^0.22.0: 254 | version "0.22.0" 255 | resolved "https://registry.yarnpkg.com/ava/-/ava-0.22.0.tgz#4c28a1fdef7e749ba0c8131ac18a7ca489eef049" 256 | dependencies: 257 | "@ava/babel-preset-stage-4" "^1.1.0" 258 | "@ava/babel-preset-transform-test-files" "^3.0.0" 259 | "@ava/write-file-atomic" "^2.2.0" 260 | "@concordance/react" "^1.0.0" 261 | ansi-escapes "^2.0.0" 262 | ansi-styles "^3.1.0" 263 | arr-flatten "^1.0.1" 264 | array-union "^1.0.1" 265 | array-uniq "^1.0.2" 266 | arrify "^1.0.0" 267 | auto-bind "^1.1.0" 268 | ava-init "^0.2.0" 269 | babel-core "^6.17.0" 270 | bluebird "^3.0.0" 271 | caching-transform "^1.0.0" 272 | chalk "^2.0.1" 273 | chokidar "^1.4.2" 274 | clean-stack "^1.1.1" 275 | clean-yaml-object "^0.1.0" 276 | cli-cursor "^2.1.0" 277 | cli-spinners "^1.0.0" 278 | cli-truncate "^1.0.0" 279 | co-with-promise "^4.6.0" 280 | code-excerpt "^2.1.0" 281 | common-path-prefix "^1.0.0" 282 | concordance "^3.0.0" 283 | convert-source-map "^1.2.0" 284 | core-assert "^0.2.0" 285 | currently-unhandled "^0.4.1" 286 | debug "^2.2.0" 287 | dot-prop "^4.1.0" 288 | empower-core "^0.6.1" 289 | equal-length "^1.0.0" 290 | figures "^2.0.0" 291 | find-cache-dir "^1.0.0" 292 | fn-name "^2.0.0" 293 | get-port "^3.0.0" 294 | globby "^6.0.0" 295 | has-flag "^2.0.0" 296 | hullabaloo-config-manager "^1.1.0" 297 | ignore-by-default "^1.0.0" 298 | import-local "^0.1.1" 299 | indent-string "^3.0.0" 300 | is-ci "^1.0.7" 301 | is-generator-fn "^1.0.0" 302 | is-obj "^1.0.0" 303 | is-observable "^0.2.0" 304 | is-promise "^2.1.0" 305 | js-yaml "^3.8.2" 306 | last-line-stream "^1.0.0" 307 | lodash.clonedeepwith "^4.5.0" 308 | lodash.debounce "^4.0.3" 309 | lodash.difference "^4.3.0" 310 | lodash.flatten "^4.2.0" 311 | loud-rejection "^1.2.0" 312 | make-dir "^1.0.0" 313 | matcher "^1.0.0" 314 | md5-hex "^2.0.0" 315 | meow "^3.7.0" 316 | ms "^2.0.0" 317 | multimatch "^2.1.0" 318 | observable-to-promise "^0.5.0" 319 | option-chain "^1.0.0" 320 | package-hash "^2.0.0" 321 | pkg-conf "^2.0.0" 322 | plur "^2.0.0" 323 | pretty-ms "^2.0.0" 324 | require-precompiled "^0.1.0" 325 | resolve-cwd "^2.0.0" 326 | safe-buffer "^5.1.1" 327 | slash "^1.0.0" 328 | source-map-support "^0.4.0" 329 | stack-utils "^1.0.0" 330 | strip-ansi "^4.0.0" 331 | strip-bom-buf "^1.0.0" 332 | supports-color "^4.0.0" 333 | time-require "^0.1.2" 334 | trim-off-newlines "^1.0.1" 335 | unique-temp-dir "^1.0.0" 336 | update-notifier "^2.1.0" 337 | 338 | aws-sign2@~0.6.0: 339 | version "0.6.0" 340 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 341 | 342 | aws-sign2@~0.7.0: 343 | version "0.7.0" 344 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 345 | 346 | aws4@^1.2.1, aws4@^1.6.0: 347 | version "1.6.0" 348 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 349 | 350 | babel-code-frame@^6.26.0: 351 | version "6.26.0" 352 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 353 | dependencies: 354 | chalk "^1.1.3" 355 | esutils "^2.0.2" 356 | js-tokens "^3.0.2" 357 | 358 | babel-core@^6.17.0, babel-core@^6.26.0: 359 | version "6.26.0" 360 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" 361 | dependencies: 362 | babel-code-frame "^6.26.0" 363 | babel-generator "^6.26.0" 364 | babel-helpers "^6.24.1" 365 | babel-messages "^6.23.0" 366 | babel-register "^6.26.0" 367 | babel-runtime "^6.26.0" 368 | babel-template "^6.26.0" 369 | babel-traverse "^6.26.0" 370 | babel-types "^6.26.0" 371 | babylon "^6.18.0" 372 | convert-source-map "^1.5.0" 373 | debug "^2.6.8" 374 | json5 "^0.5.1" 375 | lodash "^4.17.4" 376 | minimatch "^3.0.4" 377 | path-is-absolute "^1.0.1" 378 | private "^0.1.7" 379 | slash "^1.0.0" 380 | source-map "^0.5.6" 381 | 382 | babel-generator@^6.1.0, babel-generator@^6.26.0: 383 | version "6.26.0" 384 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" 385 | dependencies: 386 | babel-messages "^6.23.0" 387 | babel-runtime "^6.26.0" 388 | babel-types "^6.26.0" 389 | detect-indent "^4.0.0" 390 | jsesc "^1.3.0" 391 | lodash "^4.17.4" 392 | source-map "^0.5.6" 393 | trim-right "^1.0.1" 394 | 395 | babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: 396 | version "6.24.1" 397 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" 398 | dependencies: 399 | babel-helper-explode-assignable-expression "^6.24.1" 400 | babel-runtime "^6.22.0" 401 | babel-types "^6.24.1" 402 | 403 | babel-helper-call-delegate@^6.24.1: 404 | version "6.24.1" 405 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" 406 | dependencies: 407 | babel-helper-hoist-variables "^6.24.1" 408 | babel-runtime "^6.22.0" 409 | babel-traverse "^6.24.1" 410 | babel-types "^6.24.1" 411 | 412 | babel-helper-explode-assignable-expression@^6.24.1: 413 | version "6.24.1" 414 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" 415 | dependencies: 416 | babel-runtime "^6.22.0" 417 | babel-traverse "^6.24.1" 418 | babel-types "^6.24.1" 419 | 420 | babel-helper-function-name@^6.24.1: 421 | version "6.24.1" 422 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" 423 | dependencies: 424 | babel-helper-get-function-arity "^6.24.1" 425 | babel-runtime "^6.22.0" 426 | babel-template "^6.24.1" 427 | babel-traverse "^6.24.1" 428 | babel-types "^6.24.1" 429 | 430 | babel-helper-get-function-arity@^6.24.1: 431 | version "6.24.1" 432 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" 433 | dependencies: 434 | babel-runtime "^6.22.0" 435 | babel-types "^6.24.1" 436 | 437 | babel-helper-hoist-variables@^6.24.1: 438 | version "6.24.1" 439 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" 440 | dependencies: 441 | babel-runtime "^6.22.0" 442 | babel-types "^6.24.1" 443 | 444 | babel-helper-regex@^6.24.1: 445 | version "6.26.0" 446 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" 447 | dependencies: 448 | babel-runtime "^6.26.0" 449 | babel-types "^6.26.0" 450 | lodash "^4.17.4" 451 | 452 | babel-helper-remap-async-to-generator@^6.24.1: 453 | version "6.24.1" 454 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" 455 | dependencies: 456 | babel-helper-function-name "^6.24.1" 457 | babel-runtime "^6.22.0" 458 | babel-template "^6.24.1" 459 | babel-traverse "^6.24.1" 460 | babel-types "^6.24.1" 461 | 462 | babel-helpers@^6.24.1: 463 | version "6.24.1" 464 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 465 | dependencies: 466 | babel-runtime "^6.22.0" 467 | babel-template "^6.24.1" 468 | 469 | babel-messages@^6.23.0: 470 | version "6.23.0" 471 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 472 | dependencies: 473 | babel-runtime "^6.22.0" 474 | 475 | babel-plugin-check-es2015-constants@^6.8.0: 476 | version "6.22.0" 477 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 478 | dependencies: 479 | babel-runtime "^6.22.0" 480 | 481 | babel-plugin-espower@^2.3.2: 482 | version "2.3.2" 483 | resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" 484 | dependencies: 485 | babel-generator "^6.1.0" 486 | babylon "^6.1.0" 487 | call-matcher "^1.0.0" 488 | core-js "^2.0.0" 489 | espower-location-detector "^1.0.0" 490 | espurify "^1.6.0" 491 | estraverse "^4.1.1" 492 | 493 | babel-plugin-syntax-async-functions@^6.8.0: 494 | version "6.13.0" 495 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 496 | 497 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 498 | version "6.13.0" 499 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 500 | 501 | babel-plugin-syntax-trailing-function-commas@^6.20.0: 502 | version "6.22.0" 503 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" 504 | 505 | babel-plugin-transform-async-to-generator@^6.16.0: 506 | version "6.24.1" 507 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" 508 | dependencies: 509 | babel-helper-remap-async-to-generator "^6.24.1" 510 | babel-plugin-syntax-async-functions "^6.8.0" 511 | babel-runtime "^6.22.0" 512 | 513 | babel-plugin-transform-es2015-destructuring@^6.19.0: 514 | version "6.23.0" 515 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 516 | dependencies: 517 | babel-runtime "^6.22.0" 518 | 519 | babel-plugin-transform-es2015-function-name@^6.9.0: 520 | version "6.24.1" 521 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" 522 | dependencies: 523 | babel-helper-function-name "^6.24.1" 524 | babel-runtime "^6.22.0" 525 | babel-types "^6.24.1" 526 | 527 | babel-plugin-transform-es2015-modules-commonjs@^6.18.0: 528 | version "6.26.0" 529 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" 530 | dependencies: 531 | babel-plugin-transform-strict-mode "^6.24.1" 532 | babel-runtime "^6.26.0" 533 | babel-template "^6.26.0" 534 | babel-types "^6.26.0" 535 | 536 | babel-plugin-transform-es2015-parameters@^6.21.0: 537 | version "6.24.1" 538 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" 539 | dependencies: 540 | babel-helper-call-delegate "^6.24.1" 541 | babel-helper-get-function-arity "^6.24.1" 542 | babel-runtime "^6.22.0" 543 | babel-template "^6.24.1" 544 | babel-traverse "^6.24.1" 545 | babel-types "^6.24.1" 546 | 547 | babel-plugin-transform-es2015-spread@^6.8.0: 548 | version "6.22.0" 549 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 550 | dependencies: 551 | babel-runtime "^6.22.0" 552 | 553 | babel-plugin-transform-es2015-sticky-regex@^6.8.0: 554 | version "6.24.1" 555 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" 556 | dependencies: 557 | babel-helper-regex "^6.24.1" 558 | babel-runtime "^6.22.0" 559 | babel-types "^6.24.1" 560 | 561 | babel-plugin-transform-es2015-unicode-regex@^6.11.0: 562 | version "6.24.1" 563 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" 564 | dependencies: 565 | babel-helper-regex "^6.24.1" 566 | babel-runtime "^6.22.0" 567 | regexpu-core "^2.0.0" 568 | 569 | babel-plugin-transform-exponentiation-operator@^6.8.0: 570 | version "6.24.1" 571 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" 572 | dependencies: 573 | babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" 574 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 575 | babel-runtime "^6.22.0" 576 | 577 | babel-plugin-transform-strict-mode@^6.24.1: 578 | version "6.24.1" 579 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" 580 | dependencies: 581 | babel-runtime "^6.22.0" 582 | babel-types "^6.24.1" 583 | 584 | babel-register@^6.26.0: 585 | version "6.26.0" 586 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" 587 | dependencies: 588 | babel-core "^6.26.0" 589 | babel-runtime "^6.26.0" 590 | core-js "^2.5.0" 591 | home-or-tmp "^2.0.0" 592 | lodash "^4.17.4" 593 | mkdirp "^0.5.1" 594 | source-map-support "^0.4.15" 595 | 596 | babel-runtime@^6.22.0, babel-runtime@^6.26.0: 597 | version "6.26.0" 598 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 599 | dependencies: 600 | core-js "^2.4.0" 601 | regenerator-runtime "^0.11.0" 602 | 603 | babel-template@^6.24.1, babel-template@^6.26.0: 604 | version "6.26.0" 605 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 606 | dependencies: 607 | babel-runtime "^6.26.0" 608 | babel-traverse "^6.26.0" 609 | babel-types "^6.26.0" 610 | babylon "^6.18.0" 611 | lodash "^4.17.4" 612 | 613 | babel-traverse@^6.24.1, babel-traverse@^6.26.0: 614 | version "6.26.0" 615 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 616 | dependencies: 617 | babel-code-frame "^6.26.0" 618 | babel-messages "^6.23.0" 619 | babel-runtime "^6.26.0" 620 | babel-types "^6.26.0" 621 | babylon "^6.18.0" 622 | debug "^2.6.8" 623 | globals "^9.18.0" 624 | invariant "^2.2.2" 625 | lodash "^4.17.4" 626 | 627 | babel-types@^6.24.1, babel-types@^6.26.0: 628 | version "6.26.0" 629 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 630 | dependencies: 631 | babel-runtime "^6.26.0" 632 | esutils "^2.0.2" 633 | lodash "^4.17.4" 634 | to-fast-properties "^1.0.3" 635 | 636 | babylon@^6.1.0, babylon@^6.18.0: 637 | version "6.18.0" 638 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 639 | 640 | balanced-match@^1.0.0: 641 | version "1.0.0" 642 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 643 | 644 | bcrypt-pbkdf@^1.0.0: 645 | version "1.0.1" 646 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 647 | dependencies: 648 | tweetnacl "^0.14.3" 649 | 650 | before-after-hook@^1.1.0: 651 | version "1.1.0" 652 | resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.1.0.tgz#83165e15a59460d13702cb8febd6a1807896db5a" 653 | 654 | binary-extensions@^1.0.0: 655 | version "1.11.0" 656 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 657 | 658 | block-stream@*: 659 | version "0.0.9" 660 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 661 | dependencies: 662 | inherits "~2.0.0" 663 | 664 | bluebird@^3.0.0: 665 | version "3.5.1" 666 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 667 | 668 | boom@2.x.x: 669 | version "2.10.1" 670 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 671 | dependencies: 672 | hoek "2.x.x" 673 | 674 | boom@4.x.x: 675 | version "4.3.1" 676 | resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" 677 | dependencies: 678 | hoek "4.x.x" 679 | 680 | boom@5.x.x: 681 | version "5.2.0" 682 | resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" 683 | dependencies: 684 | hoek "4.x.x" 685 | 686 | boxen@^1.2.1: 687 | version "1.2.2" 688 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.2.tgz#3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5" 689 | dependencies: 690 | ansi-align "^2.0.0" 691 | camelcase "^4.0.0" 692 | chalk "^2.0.1" 693 | cli-boxes "^1.0.0" 694 | string-width "^2.0.0" 695 | term-size "^1.2.0" 696 | widest-line "^1.0.0" 697 | 698 | brace-expansion@^1.1.7: 699 | version "1.1.8" 700 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 701 | dependencies: 702 | balanced-match "^1.0.0" 703 | concat-map "0.0.1" 704 | 705 | braces@^1.8.2: 706 | version "1.8.5" 707 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 708 | dependencies: 709 | expand-range "^1.8.1" 710 | preserve "^0.2.0" 711 | repeat-element "^1.1.2" 712 | 713 | btoa-lite@^1.0.0: 714 | version "1.0.0" 715 | resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" 716 | 717 | buf-compare@^1.0.0: 718 | version "1.0.1" 719 | resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" 720 | 721 | builtin-modules@^1.0.0: 722 | version "1.1.1" 723 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 724 | 725 | caching-transform@^1.0.0: 726 | version "1.0.1" 727 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" 728 | dependencies: 729 | md5-hex "^1.2.0" 730 | mkdirp "^0.5.1" 731 | write-file-atomic "^1.1.4" 732 | 733 | call-matcher@^1.0.0: 734 | version "1.0.1" 735 | resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" 736 | dependencies: 737 | core-js "^2.0.0" 738 | deep-equal "^1.0.0" 739 | espurify "^1.6.0" 740 | estraverse "^4.0.0" 741 | 742 | call-signature@0.0.2: 743 | version "0.0.2" 744 | resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" 745 | 746 | camelcase-keys@^2.0.0: 747 | version "2.1.0" 748 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 749 | dependencies: 750 | camelcase "^2.0.0" 751 | map-obj "^1.0.0" 752 | 753 | camelcase@5.0.0: 754 | version "5.0.0" 755 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" 756 | 757 | camelcase@^2.0.0: 758 | version "2.1.1" 759 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 760 | 761 | camelcase@^4.0.0: 762 | version "4.1.0" 763 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 764 | 765 | capitalize@1.0.0: 766 | version "1.0.0" 767 | resolved "http://registry.npmjs.org/capitalize/-/capitalize-1.0.0.tgz#dc802c580aee101929020d2ca14b4ca8a0ae44be" 768 | 769 | capture-stack-trace@^1.0.0: 770 | version "1.0.0" 771 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 772 | 773 | caseless@~0.12.0: 774 | version "0.12.0" 775 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 776 | 777 | chalk@2.3.2: 778 | version "2.3.2" 779 | resolved "http://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" 780 | dependencies: 781 | ansi-styles "^3.2.1" 782 | escape-string-regexp "^1.0.5" 783 | supports-color "^5.3.0" 784 | 785 | chalk@2.4.0, chalk@^2.0.0, chalk@^2.3.1: 786 | version "2.4.0" 787 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.0.tgz#a060a297a6b57e15b61ca63ce84995daa0fe6e52" 788 | dependencies: 789 | ansi-styles "^3.2.1" 790 | escape-string-regexp "^1.0.5" 791 | supports-color "^5.3.0" 792 | 793 | chalk@^0.4.0: 794 | version "0.4.0" 795 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" 796 | dependencies: 797 | ansi-styles "~1.0.0" 798 | has-color "~0.1.0" 799 | strip-ansi "~0.1.0" 800 | 801 | chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: 802 | version "1.1.3" 803 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 804 | dependencies: 805 | ansi-styles "^2.2.1" 806 | escape-string-regexp "^1.0.2" 807 | has-ansi "^2.0.0" 808 | strip-ansi "^3.0.0" 809 | supports-color "^2.0.0" 810 | 811 | chalk@^2.0.1, chalk@^2.1.0: 812 | version "2.3.0" 813 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" 814 | dependencies: 815 | ansi-styles "^3.1.0" 816 | escape-string-regexp "^1.0.5" 817 | supports-color "^4.0.0" 818 | 819 | chardet@^0.4.0: 820 | version "0.4.2" 821 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" 822 | 823 | child-process-promise@^2.1.3: 824 | version "2.2.1" 825 | resolved "https://registry.yarnpkg.com/child-process-promise/-/child-process-promise-2.2.1.tgz#4730a11ef610fad450b8f223c79d31d7bdad8074" 826 | dependencies: 827 | cross-spawn "^4.0.2" 828 | node-version "^1.0.0" 829 | promise-polyfill "^6.0.1" 830 | 831 | chokidar@^1.4.2: 832 | version "1.7.0" 833 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 834 | dependencies: 835 | anymatch "^1.3.0" 836 | async-each "^1.0.0" 837 | glob-parent "^2.0.0" 838 | inherits "^2.0.1" 839 | is-binary-path "^1.0.0" 840 | is-glob "^2.0.0" 841 | path-is-absolute "^1.0.0" 842 | readdirp "^2.0.0" 843 | optionalDependencies: 844 | fsevents "^1.0.0" 845 | 846 | ci-info@^1.0.0: 847 | version "1.1.2" 848 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" 849 | 850 | clean-stack@^1.1.1: 851 | version "1.3.0" 852 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" 853 | 854 | clean-yaml-object@^0.1.0: 855 | version "0.1.0" 856 | resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" 857 | 858 | cli-boxes@^1.0.0: 859 | version "1.0.0" 860 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 861 | 862 | cli-cursor@^1.0.2: 863 | version "1.0.2" 864 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 865 | dependencies: 866 | restore-cursor "^1.0.1" 867 | 868 | cli-cursor@^2.1.0: 869 | version "2.1.0" 870 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 871 | dependencies: 872 | restore-cursor "^2.0.0" 873 | 874 | cli-spinners@^0.1.2: 875 | version "0.1.2" 876 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" 877 | 878 | cli-spinners@^1.0.0, cli-spinners@^1.1.0: 879 | version "1.1.0" 880 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06" 881 | 882 | cli-truncate@^0.2.1: 883 | version "0.2.1" 884 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" 885 | dependencies: 886 | slice-ansi "0.0.4" 887 | string-width "^1.0.1" 888 | 889 | cli-truncate@^1.0.0: 890 | version "1.1.0" 891 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086" 892 | dependencies: 893 | slice-ansi "^1.0.0" 894 | string-width "^2.0.0" 895 | 896 | cli-width@^2.0.0: 897 | version "2.2.0" 898 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 899 | 900 | clone@^1.0.2: 901 | version "1.0.4" 902 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 903 | 904 | co-with-promise@^4.6.0: 905 | version "4.6.0" 906 | resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" 907 | dependencies: 908 | pinkie-promise "^1.0.0" 909 | 910 | co@^4.6.0: 911 | version "4.6.0" 912 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 913 | 914 | code-excerpt@^2.1.0: 915 | version "2.1.0" 916 | resolved "https://registry.yarnpkg.com/code-excerpt/-/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147" 917 | dependencies: 918 | convert-to-spaces "^1.0.1" 919 | 920 | code-point-at@^1.0.0: 921 | version "1.1.0" 922 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 923 | 924 | color-convert@^1.9.0: 925 | version "1.9.1" 926 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 927 | dependencies: 928 | color-name "^1.1.1" 929 | 930 | color-name@^1.1.1: 931 | version "1.1.3" 932 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 933 | 934 | combined-stream@^1.0.5, combined-stream@^1.0.6: 935 | version "1.0.7" 936 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" 937 | dependencies: 938 | delayed-stream "~1.0.0" 939 | 940 | combined-stream@~1.0.5: 941 | version "1.0.5" 942 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 943 | dependencies: 944 | delayed-stream "~1.0.0" 945 | 946 | commander@^2.11.0, commander@^2.9.0: 947 | version "2.12.1" 948 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.1.tgz#468635c4168d06145b9323356d1da84d14ac4a7a" 949 | 950 | common-path-prefix@^1.0.0: 951 | version "1.0.0" 952 | resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" 953 | 954 | commondir@^1.0.1: 955 | version "1.0.1" 956 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 957 | 958 | concat-map@0.0.1: 959 | version "0.0.1" 960 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 961 | 962 | concordance@^3.0.0: 963 | version "3.0.0" 964 | resolved "https://registry.yarnpkg.com/concordance/-/concordance-3.0.0.tgz#b2286af54405fc995fc7345b0b106d8dd073cb29" 965 | dependencies: 966 | date-time "^2.1.0" 967 | esutils "^2.0.2" 968 | fast-diff "^1.1.1" 969 | function-name-support "^0.2.0" 970 | js-string-escape "^1.0.1" 971 | lodash.clonedeep "^4.5.0" 972 | lodash.flattendeep "^4.4.0" 973 | lodash.merge "^4.6.0" 974 | md5-hex "^2.0.0" 975 | semver "^5.3.0" 976 | well-known-symbols "^1.0.0" 977 | 978 | configstore@3.1.2, configstore@^3.0.0: 979 | version "3.1.2" 980 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" 981 | dependencies: 982 | dot-prop "^4.1.0" 983 | graceful-fs "^4.1.2" 984 | make-dir "^1.0.0" 985 | unique-string "^1.0.0" 986 | write-file-atomic "^2.0.0" 987 | xdg-basedir "^3.0.0" 988 | 989 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 990 | version "1.1.0" 991 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 992 | 993 | convert-source-map@^1.2.0, convert-source-map@^1.5.0: 994 | version "1.5.1" 995 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 996 | 997 | convert-to-spaces@^1.0.1: 998 | version "1.0.2" 999 | resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" 1000 | 1001 | core-assert@^0.2.0: 1002 | version "0.2.1" 1003 | resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" 1004 | dependencies: 1005 | buf-compare "^1.0.0" 1006 | is-error "^2.2.0" 1007 | 1008 | core-js@^2.0.0, core-js@^2.4.0, core-js@^2.5.0: 1009 | version "2.5.1" 1010 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" 1011 | 1012 | core-util-is@1.0.2, core-util-is@~1.0.0: 1013 | version "1.0.2" 1014 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1015 | 1016 | cosmiconfig@^1.1.0: 1017 | version "1.1.0" 1018 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37" 1019 | dependencies: 1020 | graceful-fs "^4.1.2" 1021 | js-yaml "^3.4.3" 1022 | minimist "^1.2.0" 1023 | object-assign "^4.0.1" 1024 | os-homedir "^1.0.1" 1025 | parse-json "^2.2.0" 1026 | pinkie-promise "^2.0.0" 1027 | require-from-string "^1.1.0" 1028 | 1029 | cosmiconfig@^3.1.0: 1030 | version "3.1.0" 1031 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-3.1.0.tgz#640a94bf9847f321800403cd273af60665c73397" 1032 | dependencies: 1033 | is-directory "^0.3.1" 1034 | js-yaml "^3.9.0" 1035 | parse-json "^3.0.0" 1036 | require-from-string "^2.0.1" 1037 | 1038 | create-error-class@^3.0.0: 1039 | version "3.0.2" 1040 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 1041 | dependencies: 1042 | capture-stack-trace "^1.0.0" 1043 | 1044 | cross-spawn@^4.0.2: 1045 | version "4.0.2" 1046 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 1047 | dependencies: 1048 | lru-cache "^4.0.1" 1049 | which "^1.2.9" 1050 | 1051 | cross-spawn@^5.0.1: 1052 | version "5.1.0" 1053 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 1054 | dependencies: 1055 | lru-cache "^4.0.1" 1056 | shebang-command "^1.2.0" 1057 | which "^1.2.9" 1058 | 1059 | cryptiles@2.x.x: 1060 | version "2.0.5" 1061 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 1062 | dependencies: 1063 | boom "2.x.x" 1064 | 1065 | cryptiles@3.x.x: 1066 | version "3.1.2" 1067 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" 1068 | dependencies: 1069 | boom "5.x.x" 1070 | 1071 | crypto-random-string@^1.0.0: 1072 | version "1.0.0" 1073 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" 1074 | 1075 | currently-unhandled@^0.4.1: 1076 | version "0.4.1" 1077 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 1078 | dependencies: 1079 | array-find-index "^1.0.1" 1080 | 1081 | cwd@^0.9.1: 1082 | version "0.9.1" 1083 | resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.9.1.tgz#41e10a7e1ab833dc59c2eca83814c7de77b5a4fd" 1084 | dependencies: 1085 | find-pkg "^0.1.0" 1086 | 1087 | dashdash@^1.12.0: 1088 | version "1.14.1" 1089 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1090 | dependencies: 1091 | assert-plus "^1.0.0" 1092 | 1093 | date-fns@^1.27.2: 1094 | version "1.29.0" 1095 | resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" 1096 | 1097 | date-time@^0.1.1: 1098 | version "0.1.1" 1099 | resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" 1100 | 1101 | date-time@^2.1.0: 1102 | version "2.1.0" 1103 | resolved "https://registry.yarnpkg.com/date-time/-/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2" 1104 | dependencies: 1105 | time-zone "^1.0.0" 1106 | 1107 | debug@3.1.0: 1108 | version "3.1.0" 1109 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 1110 | dependencies: 1111 | ms "2.0.0" 1112 | 1113 | debug@^2.2.0, debug@^2.6.8: 1114 | version "2.6.9" 1115 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1116 | dependencies: 1117 | ms "2.0.0" 1118 | 1119 | debug@^3.1.0: 1120 | version "3.2.6" 1121 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 1122 | dependencies: 1123 | ms "^2.1.1" 1124 | 1125 | debug@~0.8.1: 1126 | version "0.8.1" 1127 | resolved "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz#20ff4d26f5e422cb68a1bacbbb61039ad8c1c130" 1128 | 1129 | decamelize@^1.1.2: 1130 | version "1.2.0" 1131 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1132 | 1133 | decompress-response@^3.2.0: 1134 | version "3.3.0" 1135 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 1136 | dependencies: 1137 | mimic-response "^1.0.0" 1138 | 1139 | deep-equal@^1.0.0: 1140 | version "1.0.1" 1141 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 1142 | 1143 | deep-extend@~0.4.0: 1144 | version "0.4.2" 1145 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 1146 | 1147 | defaults@^1.0.3: 1148 | version "1.0.3" 1149 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 1150 | dependencies: 1151 | clone "^1.0.2" 1152 | 1153 | delayed-stream@~1.0.0: 1154 | version "1.0.0" 1155 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1156 | 1157 | delegates@^1.0.0: 1158 | version "1.0.0" 1159 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1160 | 1161 | detect-indent@^4.0.0: 1162 | version "4.0.0" 1163 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 1164 | dependencies: 1165 | repeating "^2.0.0" 1166 | 1167 | detect-indent@^5.0.0: 1168 | version "5.0.0" 1169 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" 1170 | 1171 | detect-libc@^1.0.2: 1172 | version "1.0.3" 1173 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 1174 | 1175 | dot-prop@^4.1.0: 1176 | version "4.2.0" 1177 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" 1178 | dependencies: 1179 | is-obj "^1.0.0" 1180 | 1181 | dotenv@^4.0.0: 1182 | version "4.0.0" 1183 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" 1184 | 1185 | duplexer3@^0.1.4: 1186 | version "0.1.4" 1187 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 1188 | 1189 | ecc-jsbn@~0.1.1: 1190 | version "0.1.1" 1191 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 1192 | dependencies: 1193 | jsbn "~0.1.0" 1194 | 1195 | elegant-spinner@^1.0.1: 1196 | version "1.0.1" 1197 | resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" 1198 | 1199 | empower-core@^0.6.1: 1200 | version "0.6.2" 1201 | resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144" 1202 | dependencies: 1203 | call-signature "0.0.2" 1204 | core-js "^2.0.0" 1205 | 1206 | equal-length@^1.0.0: 1207 | version "1.0.1" 1208 | resolved "https://registry.yarnpkg.com/equal-length/-/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c" 1209 | 1210 | error-ex@^1.2.0, error-ex@^1.3.1: 1211 | version "1.3.1" 1212 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1213 | dependencies: 1214 | is-arrayish "^0.2.1" 1215 | 1216 | es6-error@^4.0.1, es6-error@^4.0.2: 1217 | version "4.0.2" 1218 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" 1219 | 1220 | es6-promise@^4.0.3: 1221 | version "4.2.5" 1222 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054" 1223 | 1224 | es6-promisify@^5.0.0: 1225 | version "5.0.0" 1226 | resolved "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 1227 | dependencies: 1228 | es6-promise "^4.0.3" 1229 | 1230 | escape-goat@1.3.0: 1231 | version "1.3.0" 1232 | resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-1.3.0.tgz#bf3ee8ad1e488fbba404b084b2e4a55e09231c64" 1233 | 1234 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: 1235 | version "1.0.5" 1236 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1237 | 1238 | espower-location-detector@^1.0.0: 1239 | version "1.0.0" 1240 | resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" 1241 | dependencies: 1242 | is-url "^1.2.1" 1243 | path-is-absolute "^1.0.0" 1244 | source-map "^0.5.0" 1245 | xtend "^4.0.0" 1246 | 1247 | esprima@^4.0.0: 1248 | version "4.0.0" 1249 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 1250 | 1251 | espurify@^1.6.0: 1252 | version "1.7.0" 1253 | resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" 1254 | dependencies: 1255 | core-js "^2.0.0" 1256 | 1257 | estraverse@^4.0.0, estraverse@^4.1.1: 1258 | version "4.2.0" 1259 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 1260 | 1261 | esutils@^2.0.2: 1262 | version "2.0.2" 1263 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1264 | 1265 | execa@^0.7.0: 1266 | version "0.7.0" 1267 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1268 | dependencies: 1269 | cross-spawn "^5.0.1" 1270 | get-stream "^3.0.0" 1271 | is-stream "^1.1.0" 1272 | npm-run-path "^2.0.0" 1273 | p-finally "^1.0.0" 1274 | signal-exit "^3.0.0" 1275 | strip-eof "^1.0.0" 1276 | 1277 | execa@^0.8.0: 1278 | version "0.8.0" 1279 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" 1280 | dependencies: 1281 | cross-spawn "^5.0.1" 1282 | get-stream "^3.0.0" 1283 | is-stream "^1.1.0" 1284 | npm-run-path "^2.0.0" 1285 | p-finally "^1.0.0" 1286 | signal-exit "^3.0.0" 1287 | strip-eof "^1.0.0" 1288 | 1289 | exit-hook@^1.0.0: 1290 | version "1.1.1" 1291 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 1292 | 1293 | expand-brackets@^0.1.4: 1294 | version "0.1.5" 1295 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 1296 | dependencies: 1297 | is-posix-bracket "^0.1.0" 1298 | 1299 | expand-range@^1.8.1: 1300 | version "1.8.2" 1301 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1302 | dependencies: 1303 | fill-range "^2.1.0" 1304 | 1305 | expand-tilde@^1.2.2: 1306 | version "1.2.2" 1307 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" 1308 | dependencies: 1309 | os-homedir "^1.0.1" 1310 | 1311 | extend-shallow@^2.0.1: 1312 | version "2.0.1" 1313 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1314 | dependencies: 1315 | is-extendable "^0.1.0" 1316 | 1317 | extend@~3.0.0, extend@~3.0.1: 1318 | version "3.0.1" 1319 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1320 | 1321 | external-editor@^2.1.0: 1322 | version "2.2.0" 1323 | resolved "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" 1324 | dependencies: 1325 | chardet "^0.4.0" 1326 | iconv-lite "^0.4.17" 1327 | tmp "^0.0.33" 1328 | 1329 | extglob@^0.3.1: 1330 | version "0.3.2" 1331 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1332 | dependencies: 1333 | is-extglob "^1.0.0" 1334 | 1335 | extsprintf@1.3.0, extsprintf@^1.2.0: 1336 | version "1.3.0" 1337 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1338 | 1339 | fast-deep-equal@^1.0.0: 1340 | version "1.1.0" 1341 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" 1342 | 1343 | fast-diff@^1.1.1: 1344 | version "1.1.2" 1345 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" 1346 | 1347 | fast-json-stable-stringify@^2.0.0: 1348 | version "2.0.0" 1349 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1350 | 1351 | figures@^1.7.0: 1352 | version "1.7.0" 1353 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 1354 | dependencies: 1355 | escape-string-regexp "^1.0.5" 1356 | object-assign "^4.1.0" 1357 | 1358 | figures@^2.0.0: 1359 | version "2.0.0" 1360 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 1361 | dependencies: 1362 | escape-string-regexp "^1.0.5" 1363 | 1364 | file-name@^0.1.0: 1365 | version "0.1.0" 1366 | resolved "https://registry.yarnpkg.com/file-name/-/file-name-0.1.0.tgz#12b122f120f9c34dbc176c1ab81a548aced6def7" 1367 | 1368 | filename-regex@^2.0.0: 1369 | version "2.0.1" 1370 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1371 | 1372 | fill-range@^2.1.0: 1373 | version "2.2.3" 1374 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1375 | dependencies: 1376 | is-number "^2.1.0" 1377 | isobject "^2.0.0" 1378 | randomatic "^1.1.3" 1379 | repeat-element "^1.1.2" 1380 | repeat-string "^1.5.2" 1381 | 1382 | find-cache-dir@^1.0.0: 1383 | version "1.0.0" 1384 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" 1385 | dependencies: 1386 | commondir "^1.0.1" 1387 | make-dir "^1.0.0" 1388 | pkg-dir "^2.0.0" 1389 | 1390 | find-file-up@^0.1.2: 1391 | version "0.1.3" 1392 | resolved "https://registry.yarnpkg.com/find-file-up/-/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" 1393 | dependencies: 1394 | fs-exists-sync "^0.1.0" 1395 | resolve-dir "^0.1.0" 1396 | 1397 | find-pkg@^0.1.0: 1398 | version "0.1.2" 1399 | resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" 1400 | dependencies: 1401 | find-file-up "^0.1.2" 1402 | 1403 | find-up@^1.0.0: 1404 | version "1.1.2" 1405 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1406 | dependencies: 1407 | path-exists "^2.0.0" 1408 | pinkie-promise "^2.0.0" 1409 | 1410 | find-up@^2.0.0, find-up@^2.1.0: 1411 | version "2.1.0" 1412 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1413 | dependencies: 1414 | locate-path "^2.0.0" 1415 | 1416 | fn-name@^2.0.0: 1417 | version "2.0.1" 1418 | resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" 1419 | 1420 | for-in@^1.0.1: 1421 | version "1.0.2" 1422 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1423 | 1424 | for-own@^0.1.4: 1425 | version "0.1.5" 1426 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1427 | dependencies: 1428 | for-in "^1.0.1" 1429 | 1430 | forever-agent@~0.6.1: 1431 | version "0.6.1" 1432 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1433 | 1434 | form-data@~2.1.1: 1435 | version "2.1.4" 1436 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1437 | dependencies: 1438 | asynckit "^0.4.0" 1439 | combined-stream "^1.0.5" 1440 | mime-types "^2.1.12" 1441 | 1442 | form-data@~2.3.1: 1443 | version "2.3.3" 1444 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1445 | dependencies: 1446 | asynckit "^0.4.0" 1447 | combined-stream "^1.0.6" 1448 | mime-types "^2.1.12" 1449 | 1450 | fs-exists-sync@^0.1.0: 1451 | version "0.1.0" 1452 | resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" 1453 | 1454 | fs-extra@5.0.0: 1455 | version "5.0.0" 1456 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" 1457 | dependencies: 1458 | graceful-fs "^4.1.2" 1459 | jsonfile "^4.0.0" 1460 | universalify "^0.1.0" 1461 | 1462 | fs.realpath@^1.0.0: 1463 | version "1.0.0" 1464 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1465 | 1466 | fsevents@^1.0.0: 1467 | version "1.1.3" 1468 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" 1469 | dependencies: 1470 | nan "^2.3.0" 1471 | node-pre-gyp "^0.6.39" 1472 | 1473 | fstream-ignore@^1.0.5: 1474 | version "1.0.5" 1475 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1476 | dependencies: 1477 | fstream "^1.0.0" 1478 | inherits "2" 1479 | minimatch "^3.0.0" 1480 | 1481 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 1482 | version "1.0.11" 1483 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 1484 | dependencies: 1485 | graceful-fs "^4.1.2" 1486 | inherits "~2.0.0" 1487 | mkdirp ">=0.5 0" 1488 | rimraf "2" 1489 | 1490 | function-name-support@^0.2.0: 1491 | version "0.2.0" 1492 | resolved "https://registry.yarnpkg.com/function-name-support/-/function-name-support-0.2.0.tgz#55d3bfaa6eafd505a50f9bc81fdf57564a0bb071" 1493 | 1494 | gauge@~2.7.3: 1495 | version "2.7.4" 1496 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1497 | dependencies: 1498 | aproba "^1.0.3" 1499 | console-control-strings "^1.0.0" 1500 | has-unicode "^2.0.0" 1501 | object-assign "^4.1.0" 1502 | signal-exit "^3.0.0" 1503 | string-width "^1.0.1" 1504 | strip-ansi "^3.0.1" 1505 | wide-align "^1.1.0" 1506 | 1507 | get-own-enumerable-property-symbols@^2.0.1: 1508 | version "2.0.1" 1509 | resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" 1510 | 1511 | get-port@^3.0.0: 1512 | version "3.2.0" 1513 | resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" 1514 | 1515 | get-stdin@^4.0.1: 1516 | version "4.0.1" 1517 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1518 | 1519 | get-stream@^3.0.0: 1520 | version "3.0.0" 1521 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1522 | 1523 | getpass@^0.1.1: 1524 | version "0.1.7" 1525 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1526 | dependencies: 1527 | assert-plus "^1.0.0" 1528 | 1529 | gh-got@^6.0.0: 1530 | version "6.0.0" 1531 | resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" 1532 | dependencies: 1533 | got "^7.0.0" 1534 | is-plain-obj "^1.1.0" 1535 | 1536 | git-config-path@^1.0.1: 1537 | version "1.0.1" 1538 | resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" 1539 | dependencies: 1540 | extend-shallow "^2.0.1" 1541 | fs-exists-sync "^0.1.0" 1542 | homedir-polyfill "^1.0.0" 1543 | 1544 | git-repo-name@0.6.0: 1545 | version "0.6.0" 1546 | resolved "https://registry.yarnpkg.com/git-repo-name/-/git-repo-name-0.6.0.tgz#af09884656aa537ec625c7087008175cd61228ff" 1547 | dependencies: 1548 | cwd "^0.9.1" 1549 | file-name "^0.1.0" 1550 | lazy-cache "^1.0.4" 1551 | remote-origin-url "^0.5.1" 1552 | 1553 | git-spawned-stream@1.0.0: 1554 | version "1.0.0" 1555 | resolved "https://registry.yarnpkg.com/git-spawned-stream/-/git-spawned-stream-1.0.0.tgz#abffaf1dab1bf2a612926d5fed1c9f35ef4e3111" 1556 | dependencies: 1557 | debug "~0.8.1" 1558 | spawn-to-readstream "~0.1.3" 1559 | 1560 | git-state@4.0.0: 1561 | version "4.0.0" 1562 | resolved "https://registry.yarnpkg.com/git-state/-/git-state-4.0.0.tgz#c6f55127e81a2d9feb405a6ad4f76f97fbb68104" 1563 | dependencies: 1564 | after-all-results "^2.0.0" 1565 | 1566 | git-username@1.0.0: 1567 | version "1.0.0" 1568 | resolved "https://registry.yarnpkg.com/git-username/-/git-username-1.0.0.tgz#5e31ef29efe15c184cfaa5ed23212c89b0fcf123" 1569 | dependencies: 1570 | parse-github-url "^1.0.2" 1571 | remote-origin-url "^1.0.0" 1572 | 1573 | github-username@4.1.0: 1574 | version "4.1.0" 1575 | resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" 1576 | dependencies: 1577 | gh-got "^6.0.0" 1578 | 1579 | glob-base@^0.3.0: 1580 | version "0.3.0" 1581 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1582 | dependencies: 1583 | glob-parent "^2.0.0" 1584 | is-glob "^2.0.0" 1585 | 1586 | glob-parent@^2.0.0: 1587 | version "2.0.0" 1588 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1589 | dependencies: 1590 | is-glob "^2.0.0" 1591 | 1592 | glob@^7.0.3, glob@^7.0.5: 1593 | version "7.1.2" 1594 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1595 | dependencies: 1596 | fs.realpath "^1.0.0" 1597 | inflight "^1.0.4" 1598 | inherits "2" 1599 | minimatch "^3.0.4" 1600 | once "^1.3.0" 1601 | path-is-absolute "^1.0.0" 1602 | 1603 | global-dirs@^0.1.0: 1604 | version "0.1.1" 1605 | resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" 1606 | dependencies: 1607 | ini "^1.3.4" 1608 | 1609 | global-modules@^0.2.3: 1610 | version "0.2.3" 1611 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" 1612 | dependencies: 1613 | global-prefix "^0.1.4" 1614 | is-windows "^0.2.0" 1615 | 1616 | global-prefix@^0.1.4: 1617 | version "0.1.5" 1618 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" 1619 | dependencies: 1620 | homedir-polyfill "^1.0.0" 1621 | ini "^1.3.4" 1622 | is-windows "^0.2.0" 1623 | which "^1.2.12" 1624 | 1625 | globals@^9.18.0: 1626 | version "9.18.0" 1627 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 1628 | 1629 | globby@^6.0.0: 1630 | version "6.1.0" 1631 | resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 1632 | dependencies: 1633 | array-union "^1.0.1" 1634 | glob "^7.0.3" 1635 | object-assign "^4.0.1" 1636 | pify "^2.0.0" 1637 | pinkie-promise "^2.0.0" 1638 | 1639 | got@^6.7.1: 1640 | version "6.7.1" 1641 | resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" 1642 | dependencies: 1643 | create-error-class "^3.0.0" 1644 | duplexer3 "^0.1.4" 1645 | get-stream "^3.0.0" 1646 | is-redirect "^1.0.0" 1647 | is-retry-allowed "^1.0.0" 1648 | is-stream "^1.0.0" 1649 | lowercase-keys "^1.0.0" 1650 | safe-buffer "^5.0.1" 1651 | timed-out "^4.0.0" 1652 | unzip-response "^2.0.1" 1653 | url-parse-lax "^1.0.0" 1654 | 1655 | got@^7.0.0: 1656 | version "7.1.0" 1657 | resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" 1658 | dependencies: 1659 | decompress-response "^3.2.0" 1660 | duplexer3 "^0.1.4" 1661 | get-stream "^3.0.0" 1662 | is-plain-obj "^1.1.0" 1663 | is-retry-allowed "^1.0.0" 1664 | is-stream "^1.0.0" 1665 | isurl "^1.0.0-alpha5" 1666 | lowercase-keys "^1.0.0" 1667 | p-cancelable "^0.3.0" 1668 | p-timeout "^1.1.1" 1669 | safe-buffer "^5.0.1" 1670 | timed-out "^4.0.0" 1671 | url-parse-lax "^1.0.0" 1672 | url-to-options "^1.0.1" 1673 | 1674 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: 1675 | version "4.1.11" 1676 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1677 | 1678 | har-schema@^1.0.5: 1679 | version "1.0.5" 1680 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1681 | 1682 | har-schema@^2.0.0: 1683 | version "2.0.0" 1684 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1685 | 1686 | har-validator@~4.2.1: 1687 | version "4.2.1" 1688 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1689 | dependencies: 1690 | ajv "^4.9.1" 1691 | har-schema "^1.0.5" 1692 | 1693 | har-validator@~5.0.3: 1694 | version "5.0.3" 1695 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" 1696 | dependencies: 1697 | ajv "^5.1.0" 1698 | har-schema "^2.0.0" 1699 | 1700 | has-ansi@^2.0.0: 1701 | version "2.0.0" 1702 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1703 | dependencies: 1704 | ansi-regex "^2.0.0" 1705 | 1706 | has-color@~0.1.0: 1707 | version "0.1.7" 1708 | resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" 1709 | 1710 | has-flag@^2.0.0: 1711 | version "2.0.0" 1712 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1713 | 1714 | has-flag@^3.0.0: 1715 | version "3.0.0" 1716 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1717 | 1718 | has-symbol-support-x@^1.4.1: 1719 | version "1.4.2" 1720 | resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" 1721 | 1722 | has-to-string-tag-x@^1.2.0: 1723 | version "1.4.1" 1724 | resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" 1725 | dependencies: 1726 | has-symbol-support-x "^1.4.1" 1727 | 1728 | has-unicode@^2.0.0: 1729 | version "2.0.1" 1730 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1731 | 1732 | has-yarn@^1.0.0: 1733 | version "1.0.0" 1734 | resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" 1735 | 1736 | hawk@3.1.3, hawk@~3.1.3: 1737 | version "3.1.3" 1738 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1739 | dependencies: 1740 | boom "2.x.x" 1741 | cryptiles "2.x.x" 1742 | hoek "2.x.x" 1743 | sntp "1.x.x" 1744 | 1745 | hawk@~6.0.2: 1746 | version "6.0.2" 1747 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" 1748 | dependencies: 1749 | boom "4.x.x" 1750 | cryptiles "3.x.x" 1751 | hoek "4.x.x" 1752 | sntp "2.x.x" 1753 | 1754 | hoek@2.x.x: 1755 | version "2.16.3" 1756 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1757 | 1758 | hoek@4.x.x: 1759 | version "4.2.1" 1760 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" 1761 | 1762 | hoek@5.x.x: 1763 | version "5.0.2" 1764 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.2.tgz#d2f2c95d36fe7189cf8aa8c237abc1950eca1378" 1765 | 1766 | home-or-tmp@^2.0.0: 1767 | version "2.0.0" 1768 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1769 | dependencies: 1770 | os-homedir "^1.0.0" 1771 | os-tmpdir "^1.0.1" 1772 | 1773 | homedir-polyfill@^1.0.0: 1774 | version "1.0.1" 1775 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" 1776 | dependencies: 1777 | parse-passwd "^1.0.0" 1778 | 1779 | hosted-git-info@^2.1.4: 1780 | version "2.5.0" 1781 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" 1782 | 1783 | http-proxy-agent@^2.1.0: 1784 | version "2.1.0" 1785 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" 1786 | dependencies: 1787 | agent-base "4" 1788 | debug "3.1.0" 1789 | 1790 | http-signature@~1.1.0: 1791 | version "1.1.1" 1792 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1793 | dependencies: 1794 | assert-plus "^0.2.0" 1795 | jsprim "^1.2.2" 1796 | sshpk "^1.7.0" 1797 | 1798 | http-signature@~1.2.0: 1799 | version "1.2.0" 1800 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1801 | dependencies: 1802 | assert-plus "^1.0.0" 1803 | jsprim "^1.2.2" 1804 | sshpk "^1.7.0" 1805 | 1806 | https-proxy-agent@^2.2.0: 1807 | version "2.2.1" 1808 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" 1809 | dependencies: 1810 | agent-base "^4.1.0" 1811 | debug "^3.1.0" 1812 | 1813 | hullabaloo-config-manager@^1.1.0: 1814 | version "1.1.1" 1815 | resolved "https://registry.yarnpkg.com/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz#1d9117813129ad035fd9e8477eaf066911269fe3" 1816 | dependencies: 1817 | dot-prop "^4.1.0" 1818 | es6-error "^4.0.2" 1819 | graceful-fs "^4.1.11" 1820 | indent-string "^3.1.0" 1821 | json5 "^0.5.1" 1822 | lodash.clonedeep "^4.5.0" 1823 | lodash.clonedeepwith "^4.5.0" 1824 | lodash.isequal "^4.5.0" 1825 | lodash.merge "^4.6.0" 1826 | md5-hex "^2.0.0" 1827 | package-hash "^2.0.0" 1828 | pkg-dir "^2.0.0" 1829 | resolve-from "^3.0.0" 1830 | safe-buffer "^5.0.1" 1831 | 1832 | husky@^0.14.3: 1833 | version "0.14.3" 1834 | resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" 1835 | dependencies: 1836 | is-ci "^1.0.10" 1837 | normalize-path "^1.0.0" 1838 | strip-indent "^2.0.0" 1839 | 1840 | iconv-lite@^0.4.17: 1841 | version "0.4.24" 1842 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1843 | dependencies: 1844 | safer-buffer ">= 2.1.2 < 3" 1845 | 1846 | ignore-by-default@^1.0.0: 1847 | version "1.0.1" 1848 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" 1849 | 1850 | import-lazy@^2.1.0: 1851 | version "2.1.0" 1852 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 1853 | 1854 | import-local@^0.1.1: 1855 | version "0.1.1" 1856 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" 1857 | dependencies: 1858 | pkg-dir "^2.0.0" 1859 | resolve-cwd "^2.0.0" 1860 | 1861 | imurmurhash@^0.1.4: 1862 | version "0.1.4" 1863 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1864 | 1865 | indent-string@^2.1.0: 1866 | version "2.1.0" 1867 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1868 | dependencies: 1869 | repeating "^2.0.0" 1870 | 1871 | indent-string@^3.0.0, indent-string@^3.1.0: 1872 | version "3.2.0" 1873 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" 1874 | 1875 | inflight@^1.0.4: 1876 | version "1.0.6" 1877 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1878 | dependencies: 1879 | once "^1.3.0" 1880 | wrappy "1" 1881 | 1882 | inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1883 | version "2.0.3" 1884 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1885 | 1886 | ini@^1.3.4, ini@~1.3.0: 1887 | version "1.3.5" 1888 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1889 | 1890 | inquirer@5.2.0: 1891 | version "5.2.0" 1892 | resolved "http://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" 1893 | dependencies: 1894 | ansi-escapes "^3.0.0" 1895 | chalk "^2.0.0" 1896 | cli-cursor "^2.1.0" 1897 | cli-width "^2.0.0" 1898 | external-editor "^2.1.0" 1899 | figures "^2.0.0" 1900 | lodash "^4.3.0" 1901 | mute-stream "0.0.7" 1902 | run-async "^2.2.0" 1903 | rxjs "^5.5.2" 1904 | string-width "^2.1.0" 1905 | strip-ansi "^4.0.0" 1906 | through "^2.3.6" 1907 | 1908 | invariant@^2.2.2: 1909 | version "2.2.2" 1910 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1911 | dependencies: 1912 | loose-envify "^1.0.0" 1913 | 1914 | irregular-plurals@^1.0.0: 1915 | version "1.4.0" 1916 | resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766" 1917 | 1918 | is-arrayish@^0.2.1: 1919 | version "0.2.1" 1920 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1921 | 1922 | is-binary-path@^1.0.0: 1923 | version "1.0.1" 1924 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1925 | dependencies: 1926 | binary-extensions "^1.0.0" 1927 | 1928 | is-buffer@^1.1.5: 1929 | version "1.1.6" 1930 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1931 | 1932 | is-builtin-module@^1.0.0: 1933 | version "1.0.0" 1934 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1935 | dependencies: 1936 | builtin-modules "^1.0.0" 1937 | 1938 | is-ci@^1.0.10, is-ci@^1.0.7: 1939 | version "1.0.10" 1940 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" 1941 | dependencies: 1942 | ci-info "^1.0.0" 1943 | 1944 | is-directory@^0.3.1: 1945 | version "0.3.1" 1946 | resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" 1947 | 1948 | is-dotfile@^1.0.0: 1949 | version "1.0.3" 1950 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1951 | 1952 | is-equal-shallow@^0.1.3: 1953 | version "0.1.3" 1954 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1955 | dependencies: 1956 | is-primitive "^2.0.0" 1957 | 1958 | is-error@^2.2.0: 1959 | version "2.2.1" 1960 | resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" 1961 | 1962 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1963 | version "0.1.1" 1964 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1965 | 1966 | is-extglob@^1.0.0: 1967 | version "1.0.0" 1968 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1969 | 1970 | is-extglob@^2.1.1: 1971 | version "2.1.1" 1972 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1973 | 1974 | is-finite@^1.0.0, is-finite@^1.0.1: 1975 | version "1.0.2" 1976 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1977 | dependencies: 1978 | number-is-nan "^1.0.0" 1979 | 1980 | is-fullwidth-code-point@^1.0.0: 1981 | version "1.0.0" 1982 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1983 | dependencies: 1984 | number-is-nan "^1.0.0" 1985 | 1986 | is-fullwidth-code-point@^2.0.0: 1987 | version "2.0.0" 1988 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1989 | 1990 | is-generator-fn@^1.0.0: 1991 | version "1.0.0" 1992 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" 1993 | 1994 | is-glob@^2.0.0, is-glob@^2.0.1: 1995 | version "2.0.1" 1996 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1997 | dependencies: 1998 | is-extglob "^1.0.0" 1999 | 2000 | is-glob@^4.0.0: 2001 | version "4.0.0" 2002 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 2003 | dependencies: 2004 | is-extglob "^2.1.1" 2005 | 2006 | is-installed-globally@^0.1.0: 2007 | version "0.1.0" 2008 | resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" 2009 | dependencies: 2010 | global-dirs "^0.1.0" 2011 | is-path-inside "^1.0.0" 2012 | 2013 | is-npm@^1.0.0: 2014 | version "1.0.0" 2015 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 2016 | 2017 | is-number@^2.1.0: 2018 | version "2.1.0" 2019 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 2020 | dependencies: 2021 | kind-of "^3.0.2" 2022 | 2023 | is-number@^3.0.0: 2024 | version "3.0.0" 2025 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 2026 | dependencies: 2027 | kind-of "^3.0.2" 2028 | 2029 | is-obj@^1.0.0, is-obj@^1.0.1: 2030 | version "1.0.1" 2031 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 2032 | 2033 | is-object@^1.0.1: 2034 | version "1.0.1" 2035 | resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" 2036 | 2037 | is-observable@^0.2.0: 2038 | version "0.2.0" 2039 | resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" 2040 | dependencies: 2041 | symbol-observable "^0.2.2" 2042 | 2043 | is-path-inside@^1.0.0: 2044 | version "1.0.0" 2045 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" 2046 | dependencies: 2047 | path-is-inside "^1.0.1" 2048 | 2049 | is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: 2050 | version "1.1.0" 2051 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 2052 | 2053 | is-posix-bracket@^0.1.0: 2054 | version "0.1.1" 2055 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 2056 | 2057 | is-primitive@^2.0.0: 2058 | version "2.0.0" 2059 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 2060 | 2061 | is-promise@^2.1.0: 2062 | version "2.1.0" 2063 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 2064 | 2065 | is-redirect@^1.0.0: 2066 | version "1.0.0" 2067 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 2068 | 2069 | is-regexp@^1.0.0: 2070 | version "1.0.0" 2071 | resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 2072 | 2073 | is-retry-allowed@^1.0.0: 2074 | version "1.1.0" 2075 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 2076 | 2077 | is-stream@^1.0.0, is-stream@^1.1.0: 2078 | version "1.1.0" 2079 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 2080 | 2081 | is-typedarray@~1.0.0: 2082 | version "1.0.0" 2083 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 2084 | 2085 | is-url@^1.2.1: 2086 | version "1.2.2" 2087 | resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" 2088 | 2089 | is-utf8@^0.2.0, is-utf8@^0.2.1: 2090 | version "0.2.1" 2091 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 2092 | 2093 | is-windows@^0.2.0: 2094 | version "0.2.0" 2095 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" 2096 | 2097 | isarray@0.0.1: 2098 | version "0.0.1" 2099 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 2100 | 2101 | isarray@1.0.0, isarray@~1.0.0: 2102 | version "1.0.0" 2103 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2104 | 2105 | isemail@3.x.x: 2106 | version "3.0.0" 2107 | resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.0.0.tgz#c89a46bb7a3361e1759f8028f9082488ecce3dff" 2108 | dependencies: 2109 | punycode "2.x.x" 2110 | 2111 | isexe@^2.0.0: 2112 | version "2.0.0" 2113 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2114 | 2115 | isobject@^2.0.0: 2116 | version "2.1.0" 2117 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 2118 | dependencies: 2119 | isarray "1.0.0" 2120 | 2121 | isstream@~0.1.2: 2122 | version "0.1.2" 2123 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 2124 | 2125 | isurl@^1.0.0-alpha5: 2126 | version "1.0.0" 2127 | resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" 2128 | dependencies: 2129 | has-to-string-tag-x "^1.2.0" 2130 | is-object "^1.0.1" 2131 | 2132 | jest-get-type@^21.2.0: 2133 | version "21.2.0" 2134 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23" 2135 | 2136 | jest-validate@^21.1.0: 2137 | version "21.2.1" 2138 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.2.1.tgz#cc0cbca653cd54937ba4f2a111796774530dd3c7" 2139 | dependencies: 2140 | chalk "^2.0.1" 2141 | jest-get-type "^21.2.0" 2142 | leven "^2.1.0" 2143 | pretty-format "^21.2.1" 2144 | 2145 | joi@^13.0.2: 2146 | version "13.0.2" 2147 | resolved "https://registry.yarnpkg.com/joi/-/joi-13.0.2.tgz#8cc57a573b7c0b64108fa6fd85061c20fcb0d6b0" 2148 | dependencies: 2149 | hoek "5.x.x" 2150 | isemail "3.x.x" 2151 | topo "3.x.x" 2152 | 2153 | js-string-escape@^1.0.1: 2154 | version "1.0.1" 2155 | resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" 2156 | 2157 | js-tokens@^3.0.0, js-tokens@^3.0.2: 2158 | version "3.0.2" 2159 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 2160 | 2161 | js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.9.0: 2162 | version "3.10.0" 2163 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" 2164 | dependencies: 2165 | argparse "^1.0.7" 2166 | esprima "^4.0.0" 2167 | 2168 | jsbn@~0.1.0: 2169 | version "0.1.1" 2170 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 2171 | 2172 | jsesc@^1.3.0: 2173 | version "1.3.0" 2174 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 2175 | 2176 | jsesc@~0.5.0: 2177 | version "0.5.0" 2178 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2179 | 2180 | json-schema-traverse@^0.3.0: 2181 | version "0.3.1" 2182 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 2183 | 2184 | json-schema@0.2.3: 2185 | version "0.2.3" 2186 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2187 | 2188 | json-stable-stringify@^1.0.1: 2189 | version "1.0.1" 2190 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 2191 | dependencies: 2192 | jsonify "~0.0.0" 2193 | 2194 | json-stringify-safe@~5.0.1: 2195 | version "5.0.1" 2196 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2197 | 2198 | json5@^0.5.1: 2199 | version "0.5.1" 2200 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 2201 | 2202 | jsonfile@^4.0.0: 2203 | version "4.0.0" 2204 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 2205 | optionalDependencies: 2206 | graceful-fs "^4.1.6" 2207 | 2208 | jsonify@~0.0.0: 2209 | version "0.0.0" 2210 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 2211 | 2212 | jsprim@^1.2.2: 2213 | version "1.4.1" 2214 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 2215 | dependencies: 2216 | assert-plus "1.0.0" 2217 | extsprintf "1.3.0" 2218 | json-schema "0.2.3" 2219 | verror "1.10.0" 2220 | 2221 | kind-of@^3.0.2: 2222 | version "3.2.2" 2223 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2224 | dependencies: 2225 | is-buffer "^1.1.5" 2226 | 2227 | kind-of@^4.0.0: 2228 | version "4.0.0" 2229 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2230 | dependencies: 2231 | is-buffer "^1.1.5" 2232 | 2233 | last-line-stream@^1.0.0: 2234 | version "1.0.0" 2235 | resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" 2236 | dependencies: 2237 | through2 "^2.0.0" 2238 | 2239 | latest-version@^3.0.0: 2240 | version "3.1.0" 2241 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" 2242 | dependencies: 2243 | package-json "^4.0.0" 2244 | 2245 | lazy-cache@^1.0.4: 2246 | version "1.0.4" 2247 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 2248 | 2249 | leven@2.1.0, leven@^2.1.0: 2250 | version "2.1.0" 2251 | resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" 2252 | 2253 | limit-spawn@0.0.3: 2254 | version "0.0.3" 2255 | resolved "https://registry.yarnpkg.com/limit-spawn/-/limit-spawn-0.0.3.tgz#cc09c24467a0f0a1ed10a5196dba597cad3f65dc" 2256 | 2257 | lint-staged@^4.3.0: 2258 | version "4.3.0" 2259 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.3.0.tgz#ed0779ad9a42c0dc62bb3244e522870b41125879" 2260 | dependencies: 2261 | app-root-path "^2.0.0" 2262 | chalk "^2.1.0" 2263 | commander "^2.11.0" 2264 | cosmiconfig "^1.1.0" 2265 | execa "^0.8.0" 2266 | is-glob "^4.0.0" 2267 | jest-validate "^21.1.0" 2268 | listr "^0.12.0" 2269 | lodash "^4.17.4" 2270 | log-symbols "^2.0.0" 2271 | minimatch "^3.0.0" 2272 | npm-which "^3.0.1" 2273 | p-map "^1.1.1" 2274 | staged-git-files "0.0.4" 2275 | stringify-object "^3.2.0" 2276 | 2277 | listr-silent-renderer@^1.1.1: 2278 | version "1.1.1" 2279 | resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" 2280 | 2281 | listr-update-renderer@^0.2.0: 2282 | version "0.2.0" 2283 | resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" 2284 | dependencies: 2285 | chalk "^1.1.3" 2286 | cli-truncate "^0.2.1" 2287 | elegant-spinner "^1.0.1" 2288 | figures "^1.7.0" 2289 | indent-string "^3.0.0" 2290 | log-symbols "^1.0.2" 2291 | log-update "^1.0.2" 2292 | strip-ansi "^3.0.1" 2293 | 2294 | listr-verbose-renderer@^0.4.0: 2295 | version "0.4.1" 2296 | resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" 2297 | dependencies: 2298 | chalk "^1.1.3" 2299 | cli-cursor "^1.0.2" 2300 | date-fns "^1.27.2" 2301 | figures "^1.7.0" 2302 | 2303 | listr@^0.12.0: 2304 | version "0.12.0" 2305 | resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" 2306 | dependencies: 2307 | chalk "^1.1.3" 2308 | cli-truncate "^0.2.1" 2309 | figures "^1.7.0" 2310 | indent-string "^2.1.0" 2311 | is-promise "^2.1.0" 2312 | is-stream "^1.1.0" 2313 | listr-silent-renderer "^1.1.1" 2314 | listr-update-renderer "^0.2.0" 2315 | listr-verbose-renderer "^0.4.0" 2316 | log-symbols "^1.0.2" 2317 | log-update "^1.0.2" 2318 | ora "^0.2.3" 2319 | p-map "^1.1.1" 2320 | rxjs "^5.0.0-beta.11" 2321 | stream-to-observable "^0.1.0" 2322 | strip-ansi "^3.0.1" 2323 | 2324 | load-json-file@^1.0.0: 2325 | version "1.1.0" 2326 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 2327 | dependencies: 2328 | graceful-fs "^4.1.2" 2329 | parse-json "^2.2.0" 2330 | pify "^2.0.0" 2331 | pinkie-promise "^2.0.0" 2332 | strip-bom "^2.0.0" 2333 | 2334 | load-json-file@^2.0.0: 2335 | version "2.0.0" 2336 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 2337 | dependencies: 2338 | graceful-fs "^4.1.2" 2339 | parse-json "^2.2.0" 2340 | pify "^2.0.0" 2341 | strip-bom "^3.0.0" 2342 | 2343 | locate-path@^2.0.0: 2344 | version "2.0.0" 2345 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2346 | dependencies: 2347 | p-locate "^2.0.0" 2348 | path-exists "^3.0.0" 2349 | 2350 | lodash.clonedeep@^4.5.0: 2351 | version "4.5.0" 2352 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 2353 | 2354 | lodash.clonedeepwith@^4.5.0: 2355 | version "4.5.0" 2356 | resolved "https://registry.yarnpkg.com/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" 2357 | 2358 | lodash.debounce@^4.0.3: 2359 | version "4.0.8" 2360 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" 2361 | 2362 | lodash.difference@^4.3.0: 2363 | version "4.5.0" 2364 | resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" 2365 | 2366 | lodash.flatten@^4.2.0: 2367 | version "4.4.0" 2368 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" 2369 | 2370 | lodash.flattendeep@^4.4.0: 2371 | version "4.4.0" 2372 | resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" 2373 | 2374 | lodash.isequal@^4.5.0: 2375 | version "4.5.0" 2376 | resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" 2377 | 2378 | lodash.merge@^4.6.0: 2379 | version "4.6.0" 2380 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" 2381 | 2382 | lodash@^4.13.1, lodash@^4.17.4, lodash@^4.3.0: 2383 | version "4.17.4" 2384 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 2385 | 2386 | log-symbols@^1.0.2: 2387 | version "1.0.2" 2388 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" 2389 | dependencies: 2390 | chalk "^1.0.0" 2391 | 2392 | log-symbols@^2.0.0: 2393 | version "2.1.0" 2394 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.1.0.tgz#f35fa60e278832b538dc4dddcbb478a45d3e3be6" 2395 | dependencies: 2396 | chalk "^2.0.1" 2397 | 2398 | log-symbols@^2.2.0: 2399 | version "2.2.0" 2400 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" 2401 | dependencies: 2402 | chalk "^2.0.1" 2403 | 2404 | log-update@^1.0.2: 2405 | version "1.0.2" 2406 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" 2407 | dependencies: 2408 | ansi-escapes "^1.0.0" 2409 | cli-cursor "^1.0.2" 2410 | 2411 | loose-envify@^1.0.0: 2412 | version "1.3.1" 2413 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 2414 | dependencies: 2415 | js-tokens "^3.0.0" 2416 | 2417 | loud-rejection@^1.0.0, loud-rejection@^1.2.0: 2418 | version "1.6.0" 2419 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 2420 | dependencies: 2421 | currently-unhandled "^0.4.1" 2422 | signal-exit "^3.0.0" 2423 | 2424 | lowercase-keys@^1.0.0: 2425 | version "1.0.0" 2426 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 2427 | 2428 | lru-cache@^4.0.1: 2429 | version "4.1.1" 2430 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 2431 | dependencies: 2432 | pseudomap "^1.0.2" 2433 | yallist "^2.1.2" 2434 | 2435 | make-dir@^1.0.0: 2436 | version "1.1.0" 2437 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" 2438 | dependencies: 2439 | pify "^3.0.0" 2440 | 2441 | map-obj@^1.0.0, map-obj@^1.0.1: 2442 | version "1.0.1" 2443 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 2444 | 2445 | matcher@^1.0.0: 2446 | version "1.0.0" 2447 | resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.0.0.tgz#aaf0c4816eb69b92094674175625f3466b0e3e19" 2448 | dependencies: 2449 | escape-string-regexp "^1.0.4" 2450 | 2451 | md5-hex@^1.2.0, md5-hex@^1.3.0: 2452 | version "1.3.0" 2453 | resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" 2454 | dependencies: 2455 | md5-o-matic "^0.1.1" 2456 | 2457 | md5-hex@^2.0.0: 2458 | version "2.0.0" 2459 | resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" 2460 | dependencies: 2461 | md5-o-matic "^0.1.1" 2462 | 2463 | md5-o-matic@^0.1.1: 2464 | version "0.1.1" 2465 | resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" 2466 | 2467 | meow@^3.7.0: 2468 | version "3.7.0" 2469 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 2470 | dependencies: 2471 | camelcase-keys "^2.0.0" 2472 | decamelize "^1.1.2" 2473 | loud-rejection "^1.0.0" 2474 | map-obj "^1.0.1" 2475 | minimist "^1.1.3" 2476 | normalize-package-data "^2.3.4" 2477 | object-assign "^4.0.1" 2478 | read-pkg-up "^1.0.1" 2479 | redent "^1.0.0" 2480 | trim-newlines "^1.0.0" 2481 | 2482 | micromatch@^2.1.5: 2483 | version "2.3.11" 2484 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 2485 | dependencies: 2486 | arr-diff "^2.0.0" 2487 | array-unique "^0.2.1" 2488 | braces "^1.8.2" 2489 | expand-brackets "^0.1.4" 2490 | extglob "^0.3.1" 2491 | filename-regex "^2.0.0" 2492 | is-extglob "^1.0.0" 2493 | is-glob "^2.0.1" 2494 | kind-of "^3.0.2" 2495 | normalize-path "^2.0.1" 2496 | object.omit "^2.0.0" 2497 | parse-glob "^3.0.4" 2498 | regex-cache "^0.4.2" 2499 | 2500 | mime-db@~1.30.0: 2501 | version "1.30.0" 2502 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 2503 | 2504 | mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: 2505 | version "2.1.17" 2506 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 2507 | dependencies: 2508 | mime-db "~1.30.0" 2509 | 2510 | mimic-fn@^1.0.0: 2511 | version "1.1.0" 2512 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 2513 | 2514 | mimic-response@^1.0.0: 2515 | version "1.0.1" 2516 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 2517 | 2518 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 2519 | version "3.0.4" 2520 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2521 | dependencies: 2522 | brace-expansion "^1.1.7" 2523 | 2524 | minimist@0.0.8: 2525 | version "0.0.8" 2526 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2527 | 2528 | minimist@^1.1.3, minimist@^1.2.0: 2529 | version "1.2.0" 2530 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2531 | 2532 | "mkdirp@>=0.5 0", mkdirp@^0.5.1: 2533 | version "0.5.1" 2534 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2535 | dependencies: 2536 | minimist "0.0.8" 2537 | 2538 | mri@1.1.0: 2539 | version "1.1.0" 2540 | resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.0.tgz#5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a" 2541 | 2542 | ms@2.0.0, ms@^2.0.0: 2543 | version "2.0.0" 2544 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2545 | 2546 | ms@^2.1.1: 2547 | version "2.1.1" 2548 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 2549 | 2550 | multimatch@^2.1.0: 2551 | version "2.1.0" 2552 | resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" 2553 | dependencies: 2554 | array-differ "^1.0.0" 2555 | array-union "^1.0.1" 2556 | arrify "^1.0.0" 2557 | minimatch "^3.0.0" 2558 | 2559 | mute-stream@0.0.7: 2560 | version "0.0.7" 2561 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 2562 | 2563 | nan@^2.3.0: 2564 | version "2.8.0" 2565 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" 2566 | 2567 | native-or-bluebird@^1.2.0: 2568 | version "1.2.0" 2569 | resolved "https://registry.yarnpkg.com/native-or-bluebird/-/native-or-bluebird-1.2.0.tgz#39c47bfd7825d1fb9ffad32210ae25daadf101c9" 2570 | 2571 | node-fetch@^2.1.1: 2572 | version "2.2.0" 2573 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.2.0.tgz#4ee79bde909262f9775f731e3656d0db55ced5b5" 2574 | 2575 | node-pre-gyp@^0.6.39: 2576 | version "0.6.39" 2577 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 2578 | dependencies: 2579 | detect-libc "^1.0.2" 2580 | hawk "3.1.3" 2581 | mkdirp "^0.5.1" 2582 | nopt "^4.0.1" 2583 | npmlog "^4.0.2" 2584 | rc "^1.1.7" 2585 | request "2.81.0" 2586 | rimraf "^2.6.1" 2587 | semver "^5.3.0" 2588 | tar "^2.2.1" 2589 | tar-pack "^3.4.0" 2590 | 2591 | node-version@1.1.3, node-version@^1.0.0: 2592 | version "1.1.3" 2593 | resolved "https://registry.yarnpkg.com/node-version/-/node-version-1.1.3.tgz#1081c87cce6d2dbbd61d0e51e28c287782678496" 2594 | 2595 | nopt@^4.0.1: 2596 | version "4.0.1" 2597 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2598 | dependencies: 2599 | abbrev "1" 2600 | osenv "^0.1.4" 2601 | 2602 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 2603 | version "2.4.0" 2604 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2605 | dependencies: 2606 | hosted-git-info "^2.1.4" 2607 | is-builtin-module "^1.0.0" 2608 | semver "2 || 3 || 4 || 5" 2609 | validate-npm-package-license "^3.0.1" 2610 | 2611 | normalize-path@^1.0.0: 2612 | version "1.0.0" 2613 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" 2614 | 2615 | normalize-path@^2.0.0, normalize-path@^2.0.1: 2616 | version "2.1.1" 2617 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2618 | dependencies: 2619 | remove-trailing-separator "^1.0.1" 2620 | 2621 | npm-path@^2.0.2: 2622 | version "2.0.3" 2623 | resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe" 2624 | dependencies: 2625 | which "^1.2.10" 2626 | 2627 | npm-run-path@^2.0.0: 2628 | version "2.0.2" 2629 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2630 | dependencies: 2631 | path-key "^2.0.0" 2632 | 2633 | npm-which@^3.0.1: 2634 | version "3.0.1" 2635 | resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" 2636 | dependencies: 2637 | commander "^2.9.0" 2638 | npm-path "^2.0.2" 2639 | which "^1.2.10" 2640 | 2641 | npmlog@^4.0.2: 2642 | version "4.1.2" 2643 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2644 | dependencies: 2645 | are-we-there-yet "~1.1.2" 2646 | console-control-strings "~1.1.0" 2647 | gauge "~2.7.3" 2648 | set-blocking "~2.0.0" 2649 | 2650 | number-is-nan@^1.0.0: 2651 | version "1.0.1" 2652 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2653 | 2654 | oauth-sign@~0.8.1, oauth-sign@~0.8.2: 2655 | version "0.8.2" 2656 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2657 | 2658 | object-assign@^4.0.1, object-assign@^4.1.0: 2659 | version "4.1.1" 2660 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2661 | 2662 | object-keys@~0.4.0: 2663 | version "0.4.0" 2664 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" 2665 | 2666 | object.omit@^2.0.0: 2667 | version "2.0.1" 2668 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2669 | dependencies: 2670 | for-own "^0.1.4" 2671 | is-extendable "^0.1.1" 2672 | 2673 | observable-to-promise@^0.5.0: 2674 | version "0.5.0" 2675 | resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" 2676 | dependencies: 2677 | is-observable "^0.2.0" 2678 | symbol-observable "^1.0.4" 2679 | 2680 | once@^1.3.0, once@^1.3.3: 2681 | version "1.4.0" 2682 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2683 | dependencies: 2684 | wrappy "1" 2685 | 2686 | onetime@^1.0.0: 2687 | version "1.1.0" 2688 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 2689 | 2690 | onetime@^2.0.0: 2691 | version "2.0.1" 2692 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 2693 | dependencies: 2694 | mimic-fn "^1.0.0" 2695 | 2696 | open@0.0.5: 2697 | version "0.0.5" 2698 | resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" 2699 | 2700 | option-chain@^1.0.0: 2701 | version "1.0.0" 2702 | resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-1.0.0.tgz#938d73bd4e1783f948d34023644ada23669e30f2" 2703 | 2704 | ora@2.0.0: 2705 | version "2.0.0" 2706 | resolved "http://registry.npmjs.org/ora/-/ora-2.0.0.tgz#8ec3a37fa7bffb54a3a0c188a1f6798e7e1827cd" 2707 | dependencies: 2708 | chalk "^2.3.1" 2709 | cli-cursor "^2.1.0" 2710 | cli-spinners "^1.1.0" 2711 | log-symbols "^2.2.0" 2712 | strip-ansi "^4.0.0" 2713 | wcwidth "^1.0.1" 2714 | 2715 | ora@^0.2.3: 2716 | version "0.2.3" 2717 | resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" 2718 | dependencies: 2719 | chalk "^1.1.1" 2720 | cli-cursor "^1.0.2" 2721 | cli-spinners "^0.1.2" 2722 | object-assign "^4.0.1" 2723 | 2724 | os-homedir@^1.0.0, os-homedir@^1.0.1: 2725 | version "1.0.2" 2726 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2727 | 2728 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: 2729 | version "1.0.2" 2730 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2731 | 2732 | osenv@^0.1.4: 2733 | version "0.1.4" 2734 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 2735 | dependencies: 2736 | os-homedir "^1.0.0" 2737 | os-tmpdir "^1.0.0" 2738 | 2739 | p-cancelable@^0.3.0: 2740 | version "0.3.0" 2741 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" 2742 | 2743 | p-finally@^1.0.0: 2744 | version "1.0.0" 2745 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2746 | 2747 | p-limit@^1.1.0: 2748 | version "1.1.0" 2749 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 2750 | 2751 | p-locate@^2.0.0: 2752 | version "2.0.0" 2753 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2754 | dependencies: 2755 | p-limit "^1.1.0" 2756 | 2757 | p-map@^1.1.1: 2758 | version "1.2.0" 2759 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" 2760 | 2761 | p-timeout@^1.1.1: 2762 | version "1.2.1" 2763 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" 2764 | dependencies: 2765 | p-finally "^1.0.0" 2766 | 2767 | package-hash@^1.2.0: 2768 | version "1.2.0" 2769 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" 2770 | dependencies: 2771 | md5-hex "^1.3.0" 2772 | 2773 | package-hash@^2.0.0: 2774 | version "2.0.0" 2775 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" 2776 | dependencies: 2777 | graceful-fs "^4.1.11" 2778 | lodash.flattendeep "^4.4.0" 2779 | md5-hex "^2.0.0" 2780 | release-zalgo "^1.0.0" 2781 | 2782 | package-json@^4.0.0: 2783 | version "4.0.1" 2784 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" 2785 | dependencies: 2786 | got "^6.7.1" 2787 | registry-auth-token "^3.0.1" 2788 | registry-url "^3.0.3" 2789 | semver "^5.1.0" 2790 | 2791 | parse-git-config@^1.1.1: 2792 | version "1.1.1" 2793 | resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c" 2794 | dependencies: 2795 | extend-shallow "^2.0.1" 2796 | fs-exists-sync "^0.1.0" 2797 | git-config-path "^1.0.1" 2798 | ini "^1.3.4" 2799 | 2800 | parse-github-url@^1.0.2: 2801 | version "1.0.2" 2802 | resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" 2803 | 2804 | parse-glob@^3.0.4: 2805 | version "3.0.4" 2806 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2807 | dependencies: 2808 | glob-base "^0.3.0" 2809 | is-dotfile "^1.0.0" 2810 | is-extglob "^1.0.0" 2811 | is-glob "^2.0.0" 2812 | 2813 | parse-json@^2.2.0: 2814 | version "2.2.0" 2815 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2816 | dependencies: 2817 | error-ex "^1.2.0" 2818 | 2819 | parse-json@^3.0.0: 2820 | version "3.0.0" 2821 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-3.0.0.tgz#fa6f47b18e23826ead32f263e744d0e1e847fb13" 2822 | dependencies: 2823 | error-ex "^1.3.1" 2824 | 2825 | parse-ms@^0.1.0: 2826 | version "0.1.2" 2827 | resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" 2828 | 2829 | parse-ms@^1.0.0: 2830 | version "1.0.1" 2831 | resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" 2832 | 2833 | parse-passwd@^1.0.0: 2834 | version "1.0.0" 2835 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 2836 | 2837 | path-exists@^2.0.0: 2838 | version "2.1.0" 2839 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2840 | dependencies: 2841 | pinkie-promise "^2.0.0" 2842 | 2843 | path-exists@^3.0.0: 2844 | version "3.0.0" 2845 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2846 | 2847 | path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: 2848 | version "1.0.1" 2849 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2850 | 2851 | path-is-inside@^1.0.1: 2852 | version "1.0.2" 2853 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2854 | 2855 | path-key@^2.0.0: 2856 | version "2.0.1" 2857 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2858 | 2859 | path-type@^1.0.0: 2860 | version "1.1.0" 2861 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2862 | dependencies: 2863 | graceful-fs "^4.1.2" 2864 | pify "^2.0.0" 2865 | pinkie-promise "^2.0.0" 2866 | 2867 | path-type@^2.0.0: 2868 | version "2.0.0" 2869 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2870 | dependencies: 2871 | pify "^2.0.0" 2872 | 2873 | performance-now@^0.2.0: 2874 | version "0.2.0" 2875 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 2876 | 2877 | performance-now@^2.1.0: 2878 | version "2.1.0" 2879 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 2880 | 2881 | pify@^2.0.0: 2882 | version "2.3.0" 2883 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2884 | 2885 | pify@^3.0.0: 2886 | version "3.0.0" 2887 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2888 | 2889 | pinkie-promise@^1.0.0: 2890 | version "1.0.0" 2891 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" 2892 | dependencies: 2893 | pinkie "^1.0.0" 2894 | 2895 | pinkie-promise@^2.0.0: 2896 | version "2.0.1" 2897 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2898 | dependencies: 2899 | pinkie "^2.0.0" 2900 | 2901 | pinkie@^1.0.0: 2902 | version "1.0.0" 2903 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" 2904 | 2905 | pinkie@^2.0.0: 2906 | version "2.0.4" 2907 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2908 | 2909 | pkg-conf@^2.0.0: 2910 | version "2.0.0" 2911 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" 2912 | dependencies: 2913 | find-up "^2.0.0" 2914 | load-json-file "^2.0.0" 2915 | 2916 | pkg-dir@^2.0.0: 2917 | version "2.0.0" 2918 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2919 | dependencies: 2920 | find-up "^2.1.0" 2921 | 2922 | plur@^1.0.0: 2923 | version "1.0.0" 2924 | resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" 2925 | 2926 | plur@^2.0.0: 2927 | version "2.1.2" 2928 | resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" 2929 | dependencies: 2930 | irregular-plurals "^1.0.0" 2931 | 2932 | prepend-http@^1.0.1: 2933 | version "1.0.4" 2934 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 2935 | 2936 | preserve@^0.2.0: 2937 | version "0.2.0" 2938 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2939 | 2940 | prettier@^1.8.2: 2941 | version "1.8.2" 2942 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8" 2943 | 2944 | pretty-format@^21.2.1: 2945 | version "21.2.1" 2946 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.2.1.tgz#ae5407f3cf21066cd011aa1ba5fce7b6a2eddb36" 2947 | dependencies: 2948 | ansi-regex "^3.0.0" 2949 | ansi-styles "^3.2.0" 2950 | 2951 | pretty-ms@^0.2.1: 2952 | version "0.2.2" 2953 | resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" 2954 | dependencies: 2955 | parse-ms "^0.1.0" 2956 | 2957 | pretty-ms@^2.0.0: 2958 | version "2.1.0" 2959 | resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" 2960 | dependencies: 2961 | is-finite "^1.0.1" 2962 | parse-ms "^1.0.0" 2963 | plur "^1.0.0" 2964 | 2965 | private@^0.1.7: 2966 | version "0.1.8" 2967 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 2968 | 2969 | process-nextick-args@~1.0.6: 2970 | version "1.0.7" 2971 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2972 | 2973 | promise-polyfill@^6.0.1: 2974 | version "6.1.0" 2975 | resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.1.0.tgz#dfa96943ea9c121fca4de9b5868cb39d3472e057" 2976 | 2977 | pseudomap@^1.0.2: 2978 | version "1.0.2" 2979 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2980 | 2981 | punycode@2.x.x: 2982 | version "2.1.0" 2983 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" 2984 | 2985 | punycode@^1.4.1: 2986 | version "1.4.1" 2987 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2988 | 2989 | qs@~6.4.0: 2990 | version "6.4.0" 2991 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 2992 | 2993 | qs@~6.5.1: 2994 | version "6.5.2" 2995 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 2996 | 2997 | random-string@0.2.0: 2998 | version "0.2.0" 2999 | resolved "https://registry.yarnpkg.com/random-string/-/random-string-0.2.0.tgz#a46e4375352beda9a0d7b0d19ed6d321ecd1d82d" 3000 | 3001 | randomatic@^1.1.3: 3002 | version "1.1.7" 3003 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 3004 | dependencies: 3005 | is-number "^3.0.0" 3006 | kind-of "^4.0.0" 3007 | 3008 | rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: 3009 | version "1.2.2" 3010 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" 3011 | dependencies: 3012 | deep-extend "~0.4.0" 3013 | ini "~1.3.0" 3014 | minimist "^1.2.0" 3015 | strip-json-comments "~2.0.1" 3016 | 3017 | read-pkg-up@^1.0.1: 3018 | version "1.0.1" 3019 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 3020 | dependencies: 3021 | find-up "^1.0.0" 3022 | read-pkg "^1.0.0" 3023 | 3024 | read-pkg-up@^2.0.0: 3025 | version "2.0.0" 3026 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 3027 | dependencies: 3028 | find-up "^2.0.0" 3029 | read-pkg "^2.0.0" 3030 | 3031 | read-pkg@^1.0.0: 3032 | version "1.1.0" 3033 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 3034 | dependencies: 3035 | load-json-file "^1.0.0" 3036 | normalize-package-data "^2.3.2" 3037 | path-type "^1.0.0" 3038 | 3039 | read-pkg@^2.0.0: 3040 | version "2.0.0" 3041 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 3042 | dependencies: 3043 | load-json-file "^2.0.0" 3044 | normalize-package-data "^2.3.2" 3045 | path-type "^2.0.0" 3046 | 3047 | readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5: 3048 | version "2.3.3" 3049 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 3050 | dependencies: 3051 | core-util-is "~1.0.0" 3052 | inherits "~2.0.3" 3053 | isarray "~1.0.0" 3054 | process-nextick-args "~1.0.6" 3055 | safe-buffer "~5.1.1" 3056 | string_decoder "~1.0.3" 3057 | util-deprecate "~1.0.1" 3058 | 3059 | readable-stream@~1.0.17: 3060 | version "1.0.34" 3061 | resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 3062 | dependencies: 3063 | core-util-is "~1.0.0" 3064 | inherits "~2.0.1" 3065 | isarray "0.0.1" 3066 | string_decoder "~0.10.x" 3067 | 3068 | readdirp@^2.0.0: 3069 | version "2.1.0" 3070 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 3071 | dependencies: 3072 | graceful-fs "^4.1.2" 3073 | minimatch "^3.0.2" 3074 | readable-stream "^2.0.2" 3075 | set-immediate-shim "^1.0.1" 3076 | 3077 | redent@^1.0.0: 3078 | version "1.0.0" 3079 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 3080 | dependencies: 3081 | indent-string "^2.1.0" 3082 | strip-indent "^1.0.1" 3083 | 3084 | regenerate@^1.2.1: 3085 | version "1.3.3" 3086 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" 3087 | 3088 | regenerator-runtime@^0.11.0: 3089 | version "0.11.0" 3090 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" 3091 | 3092 | regex-cache@^0.4.2: 3093 | version "0.4.4" 3094 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 3095 | dependencies: 3096 | is-equal-shallow "^0.1.3" 3097 | 3098 | regexpu-core@^2.0.0: 3099 | version "2.0.0" 3100 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 3101 | dependencies: 3102 | regenerate "^1.2.1" 3103 | regjsgen "^0.2.0" 3104 | regjsparser "^0.1.4" 3105 | 3106 | registry-auth-token@3.3.2, registry-auth-token@^3.0.1: 3107 | version "3.3.2" 3108 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" 3109 | dependencies: 3110 | rc "^1.1.6" 3111 | safe-buffer "^5.0.1" 3112 | 3113 | registry-url@3.1.0, registry-url@^3.0.3: 3114 | version "3.1.0" 3115 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 3116 | dependencies: 3117 | rc "^1.0.1" 3118 | 3119 | regjsgen@^0.2.0: 3120 | version "0.2.0" 3121 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 3122 | 3123 | regjsparser@^0.1.4: 3124 | version "0.1.5" 3125 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 3126 | dependencies: 3127 | jsesc "~0.5.0" 3128 | 3129 | release-zalgo@^1.0.0: 3130 | version "1.0.0" 3131 | resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" 3132 | dependencies: 3133 | es6-error "^4.0.1" 3134 | 3135 | release@^4.0.2: 3136 | version "4.0.2" 3137 | resolved "https://registry.yarnpkg.com/release/-/release-4.0.2.tgz#b68e0a6d9efcb24ac0379b98bb4f455b16e62576" 3138 | dependencies: 3139 | "@octokit/rest" "15.2.6" 3140 | args "4.0.0" 3141 | async-retry "1.2.1" 3142 | capitalize "1.0.0" 3143 | chalk "2.4.0" 3144 | configstore "3.1.2" 3145 | escape-goat "1.3.0" 3146 | fs-extra "5.0.0" 3147 | git-repo-name "0.6.0" 3148 | git-spawned-stream "1.0.0" 3149 | git-state "4.0.0" 3150 | git-username "1.0.0" 3151 | github-username "4.1.0" 3152 | inquirer "5.2.0" 3153 | node-version "1.1.3" 3154 | open "0.0.5" 3155 | ora "2.0.0" 3156 | random-string "0.2.0" 3157 | request "2.85.0" 3158 | request-promise-native "1.0.5" 3159 | semver "5.5.0" 3160 | tagged-versions "1.3.0" 3161 | then-sleep "1.0.1" 3162 | update-check "1.3.2" 3163 | 3164 | remote-origin-url@^0.5.1: 3165 | version "0.5.3" 3166 | resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.5.3.tgz#b9fc6ced2c826690d0b07218b2b8c17fcec88e87" 3167 | dependencies: 3168 | parse-git-config "^1.1.1" 3169 | 3170 | remote-origin-url@^1.0.0: 3171 | version "1.0.0" 3172 | resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-1.0.0.tgz#add020aa5f1a0b37372858e02b323dc28d4cd030" 3173 | dependencies: 3174 | parse-git-config "^1.1.1" 3175 | 3176 | remove-trailing-separator@^1.0.1: 3177 | version "1.1.0" 3178 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3179 | 3180 | repeat-element@^1.1.2: 3181 | version "1.1.2" 3182 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 3183 | 3184 | repeat-string@^1.5.2: 3185 | version "1.6.1" 3186 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3187 | 3188 | repeating@^2.0.0: 3189 | version "2.0.1" 3190 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 3191 | dependencies: 3192 | is-finite "^1.0.0" 3193 | 3194 | request-promise-core@1.1.1: 3195 | version "1.1.1" 3196 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" 3197 | dependencies: 3198 | lodash "^4.13.1" 3199 | 3200 | request-promise-native@1.0.5: 3201 | version "1.0.5" 3202 | resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" 3203 | dependencies: 3204 | request-promise-core "1.1.1" 3205 | stealthy-require "^1.1.0" 3206 | tough-cookie ">=2.3.3" 3207 | 3208 | request@2.81.0: 3209 | version "2.81.0" 3210 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 3211 | dependencies: 3212 | aws-sign2 "~0.6.0" 3213 | aws4 "^1.2.1" 3214 | caseless "~0.12.0" 3215 | combined-stream "~1.0.5" 3216 | extend "~3.0.0" 3217 | forever-agent "~0.6.1" 3218 | form-data "~2.1.1" 3219 | har-validator "~4.2.1" 3220 | hawk "~3.1.3" 3221 | http-signature "~1.1.0" 3222 | is-typedarray "~1.0.0" 3223 | isstream "~0.1.2" 3224 | json-stringify-safe "~5.0.1" 3225 | mime-types "~2.1.7" 3226 | oauth-sign "~0.8.1" 3227 | performance-now "^0.2.0" 3228 | qs "~6.4.0" 3229 | safe-buffer "^5.0.1" 3230 | stringstream "~0.0.4" 3231 | tough-cookie "~2.3.0" 3232 | tunnel-agent "^0.6.0" 3233 | uuid "^3.0.0" 3234 | 3235 | request@2.85.0: 3236 | version "2.85.0" 3237 | resolved "http://registry.npmjs.org/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" 3238 | dependencies: 3239 | aws-sign2 "~0.7.0" 3240 | aws4 "^1.6.0" 3241 | caseless "~0.12.0" 3242 | combined-stream "~1.0.5" 3243 | extend "~3.0.1" 3244 | forever-agent "~0.6.1" 3245 | form-data "~2.3.1" 3246 | har-validator "~5.0.3" 3247 | hawk "~6.0.2" 3248 | http-signature "~1.2.0" 3249 | is-typedarray "~1.0.0" 3250 | isstream "~0.1.2" 3251 | json-stringify-safe "~5.0.1" 3252 | mime-types "~2.1.17" 3253 | oauth-sign "~0.8.2" 3254 | performance-now "^2.1.0" 3255 | qs "~6.5.1" 3256 | safe-buffer "^5.1.1" 3257 | stringstream "~0.0.5" 3258 | tough-cookie "~2.3.3" 3259 | tunnel-agent "^0.6.0" 3260 | uuid "^3.1.0" 3261 | 3262 | require-from-string@^1.1.0: 3263 | version "1.2.1" 3264 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" 3265 | 3266 | require-from-string@^2.0.1: 3267 | version "2.0.1" 3268 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.1.tgz#c545233e9d7da6616e9d59adfb39fc9f588676ff" 3269 | 3270 | require-precompiled@^0.1.0: 3271 | version "0.1.0" 3272 | resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" 3273 | 3274 | resolve-cwd@^2.0.0: 3275 | version "2.0.0" 3276 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" 3277 | dependencies: 3278 | resolve-from "^3.0.0" 3279 | 3280 | resolve-dir@^0.1.0: 3281 | version "0.1.1" 3282 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" 3283 | dependencies: 3284 | expand-tilde "^1.2.2" 3285 | global-modules "^0.2.3" 3286 | 3287 | resolve-from@^3.0.0: 3288 | version "3.0.0" 3289 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 3290 | 3291 | restore-cursor@^1.0.1: 3292 | version "1.0.1" 3293 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 3294 | dependencies: 3295 | exit-hook "^1.0.0" 3296 | onetime "^1.0.0" 3297 | 3298 | restore-cursor@^2.0.0: 3299 | version "2.0.0" 3300 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 3301 | dependencies: 3302 | onetime "^2.0.0" 3303 | signal-exit "^3.0.2" 3304 | 3305 | retry@0.10.1: 3306 | version "0.10.1" 3307 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" 3308 | 3309 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 3310 | version "2.6.2" 3311 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 3312 | dependencies: 3313 | glob "^7.0.5" 3314 | 3315 | run-async@^2.2.0: 3316 | version "2.3.0" 3317 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 3318 | dependencies: 3319 | is-promise "^2.1.0" 3320 | 3321 | rxjs@^5.0.0-beta.11, rxjs@^5.5.2: 3322 | version "5.5.2" 3323 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.2.tgz#28d403f0071121967f18ad665563255d54236ac3" 3324 | dependencies: 3325 | symbol-observable "^1.0.1" 3326 | 3327 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3328 | version "5.1.1" 3329 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 3330 | 3331 | "safer-buffer@>= 2.1.2 < 3": 3332 | version "2.1.2" 3333 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3334 | 3335 | semver-diff@^2.0.0: 3336 | version "2.1.0" 3337 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 3338 | dependencies: 3339 | semver "^5.0.3" 3340 | 3341 | "semver@2 || 3 || 4 || 5", semver@5.5.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: 3342 | version "5.5.0" 3343 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 3344 | 3345 | set-blocking@~2.0.0: 3346 | version "2.0.0" 3347 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3348 | 3349 | set-immediate-shim@^1.0.1: 3350 | version "1.0.1" 3351 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 3352 | 3353 | shebang-command@^1.2.0: 3354 | version "1.2.0" 3355 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3356 | dependencies: 3357 | shebang-regex "^1.0.0" 3358 | 3359 | shebang-regex@^1.0.0: 3360 | version "1.0.0" 3361 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3362 | 3363 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3364 | version "3.0.2" 3365 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3366 | 3367 | slash@^1.0.0: 3368 | version "1.0.0" 3369 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 3370 | 3371 | slice-ansi@0.0.4: 3372 | version "0.0.4" 3373 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 3374 | 3375 | slice-ansi@^1.0.0: 3376 | version "1.0.0" 3377 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" 3378 | dependencies: 3379 | is-fullwidth-code-point "^2.0.0" 3380 | 3381 | slide@^1.1.5: 3382 | version "1.1.6" 3383 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 3384 | 3385 | sntp@1.x.x: 3386 | version "1.0.9" 3387 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 3388 | dependencies: 3389 | hoek "2.x.x" 3390 | 3391 | sntp@2.x.x: 3392 | version "2.1.0" 3393 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" 3394 | dependencies: 3395 | hoek "4.x.x" 3396 | 3397 | sort-keys@^2.0.0: 3398 | version "2.0.0" 3399 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" 3400 | dependencies: 3401 | is-plain-obj "^1.0.0" 3402 | 3403 | source-map-support@^0.4.0, source-map-support@^0.4.15: 3404 | version "0.4.18" 3405 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 3406 | dependencies: 3407 | source-map "^0.5.6" 3408 | 3409 | source-map@^0.5.0, source-map@^0.5.6: 3410 | version "0.5.7" 3411 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3412 | 3413 | spawn-to-readstream@~0.1.3: 3414 | version "0.1.3" 3415 | resolved "https://registry.yarnpkg.com/spawn-to-readstream/-/spawn-to-readstream-0.1.3.tgz#96768b72739ac64ffa77c8ce2cbf98c2d21d8dbf" 3416 | dependencies: 3417 | limit-spawn "0.0.3" 3418 | through2 "~0.4.1" 3419 | 3420 | spdx-correct@~1.0.0: 3421 | version "1.0.2" 3422 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 3423 | dependencies: 3424 | spdx-license-ids "^1.0.2" 3425 | 3426 | spdx-expression-parse@~1.0.0: 3427 | version "1.0.4" 3428 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 3429 | 3430 | spdx-license-ids@^1.0.2: 3431 | version "1.2.2" 3432 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 3433 | 3434 | sprintf-js@~1.0.2: 3435 | version "1.0.3" 3436 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3437 | 3438 | sshpk@^1.7.0: 3439 | version "1.13.1" 3440 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 3441 | dependencies: 3442 | asn1 "~0.2.3" 3443 | assert-plus "^1.0.0" 3444 | dashdash "^1.12.0" 3445 | getpass "^0.1.1" 3446 | optionalDependencies: 3447 | bcrypt-pbkdf "^1.0.0" 3448 | ecc-jsbn "~0.1.1" 3449 | jsbn "~0.1.0" 3450 | tweetnacl "~0.14.0" 3451 | 3452 | stack-utils@^1.0.0: 3453 | version "1.0.1" 3454 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" 3455 | 3456 | staged-git-files@0.0.4: 3457 | version "0.0.4" 3458 | resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" 3459 | 3460 | stealthy-require@^1.1.0: 3461 | version "1.1.1" 3462 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 3463 | 3464 | stream-to-observable@^0.1.0: 3465 | version "0.1.0" 3466 | resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" 3467 | 3468 | string-width@^1.0.1, string-width@^1.0.2: 3469 | version "1.0.2" 3470 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3471 | dependencies: 3472 | code-point-at "^1.0.0" 3473 | is-fullwidth-code-point "^1.0.0" 3474 | strip-ansi "^3.0.0" 3475 | 3476 | string-width@^2.0.0, string-width@^2.1.0: 3477 | version "2.1.1" 3478 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3479 | dependencies: 3480 | is-fullwidth-code-point "^2.0.0" 3481 | strip-ansi "^4.0.0" 3482 | 3483 | string_decoder@~0.10.x: 3484 | version "0.10.31" 3485 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 3486 | 3487 | string_decoder@~1.0.3: 3488 | version "1.0.3" 3489 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 3490 | dependencies: 3491 | safe-buffer "~5.1.0" 3492 | 3493 | stringify-object@^3.2.0: 3494 | version "3.2.1" 3495 | resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.1.tgz#2720c2eff940854c819f6ee252aaeb581f30624d" 3496 | dependencies: 3497 | get-own-enumerable-property-symbols "^2.0.1" 3498 | is-obj "^1.0.1" 3499 | is-regexp "^1.0.0" 3500 | 3501 | stringstream@~0.0.4, stringstream@~0.0.5: 3502 | version "0.0.5" 3503 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 3504 | 3505 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3506 | version "3.0.1" 3507 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3508 | dependencies: 3509 | ansi-regex "^2.0.0" 3510 | 3511 | strip-ansi@^4.0.0: 3512 | version "4.0.0" 3513 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3514 | dependencies: 3515 | ansi-regex "^3.0.0" 3516 | 3517 | strip-ansi@~0.1.0: 3518 | version "0.1.1" 3519 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" 3520 | 3521 | strip-bom-buf@^1.0.0: 3522 | version "1.0.0" 3523 | resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" 3524 | dependencies: 3525 | is-utf8 "^0.2.1" 3526 | 3527 | strip-bom@^2.0.0: 3528 | version "2.0.0" 3529 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 3530 | dependencies: 3531 | is-utf8 "^0.2.0" 3532 | 3533 | strip-bom@^3.0.0: 3534 | version "3.0.0" 3535 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3536 | 3537 | strip-eof@^1.0.0: 3538 | version "1.0.0" 3539 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3540 | 3541 | strip-indent@^1.0.1: 3542 | version "1.0.1" 3543 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 3544 | dependencies: 3545 | get-stdin "^4.0.1" 3546 | 3547 | strip-indent@^2.0.0: 3548 | version "2.0.0" 3549 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" 3550 | 3551 | strip-json-comments@~2.0.1: 3552 | version "2.0.1" 3553 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3554 | 3555 | supports-color@^2.0.0: 3556 | version "2.0.0" 3557 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3558 | 3559 | supports-color@^4.0.0: 3560 | version "4.5.0" 3561 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" 3562 | dependencies: 3563 | has-flag "^2.0.0" 3564 | 3565 | supports-color@^5.3.0: 3566 | version "5.5.0" 3567 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3568 | dependencies: 3569 | has-flag "^3.0.0" 3570 | 3571 | symbol-observable@^0.2.2: 3572 | version "0.2.4" 3573 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" 3574 | 3575 | symbol-observable@^1.0.1, symbol-observable@^1.0.4: 3576 | version "1.0.4" 3577 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 3578 | 3579 | tagged-versions@1.3.0: 3580 | version "1.3.0" 3581 | resolved "https://registry.yarnpkg.com/tagged-versions/-/tagged-versions-1.3.0.tgz#fd3cca176859817b95b1f5d311a12c9c08c8bdc4" 3582 | dependencies: 3583 | child-process-promise "^2.1.3" 3584 | semver "^5.3.0" 3585 | 3586 | tar-pack@^3.4.0: 3587 | version "3.4.1" 3588 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 3589 | dependencies: 3590 | debug "^2.2.0" 3591 | fstream "^1.0.10" 3592 | fstream-ignore "^1.0.5" 3593 | once "^1.3.3" 3594 | readable-stream "^2.1.4" 3595 | rimraf "^2.5.1" 3596 | tar "^2.2.1" 3597 | uid-number "^0.0.6" 3598 | 3599 | tar@^2.2.1: 3600 | version "2.2.1" 3601 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 3602 | dependencies: 3603 | block-stream "*" 3604 | fstream "^1.0.2" 3605 | inherits "2" 3606 | 3607 | term-size@^1.2.0: 3608 | version "1.2.0" 3609 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" 3610 | dependencies: 3611 | execa "^0.7.0" 3612 | 3613 | text-table@^0.2.0: 3614 | version "0.2.0" 3615 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3616 | 3617 | then-sleep@1.0.1: 3618 | version "1.0.1" 3619 | resolved "https://registry.yarnpkg.com/then-sleep/-/then-sleep-1.0.1.tgz#759823bdc4de56ba2a20812868eb872a803ed1f9" 3620 | dependencies: 3621 | native-or-bluebird "^1.2.0" 3622 | 3623 | through2@^2.0.0: 3624 | version "2.0.3" 3625 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 3626 | dependencies: 3627 | readable-stream "^2.1.5" 3628 | xtend "~4.0.1" 3629 | 3630 | through2@~0.4.1: 3631 | version "0.4.2" 3632 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" 3633 | dependencies: 3634 | readable-stream "~1.0.17" 3635 | xtend "~2.1.1" 3636 | 3637 | through@^2.3.6: 3638 | version "2.3.8" 3639 | resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3640 | 3641 | time-require@^0.1.2: 3642 | version "0.1.2" 3643 | resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" 3644 | dependencies: 3645 | chalk "^0.4.0" 3646 | date-time "^0.1.1" 3647 | pretty-ms "^0.2.1" 3648 | text-table "^0.2.0" 3649 | 3650 | time-zone@^1.0.0: 3651 | version "1.0.0" 3652 | resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" 3653 | 3654 | timed-out@^4.0.0: 3655 | version "4.0.1" 3656 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 3657 | 3658 | tmp@^0.0.33: 3659 | version "0.0.33" 3660 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 3661 | dependencies: 3662 | os-tmpdir "~1.0.2" 3663 | 3664 | to-fast-properties@^1.0.3: 3665 | version "1.0.3" 3666 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 3667 | 3668 | topo@3.x.x: 3669 | version "3.0.0" 3670 | resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.0.tgz#37e48c330efeac784538e0acd3e62ca5e231fe7a" 3671 | dependencies: 3672 | hoek "5.x.x" 3673 | 3674 | tough-cookie@>=2.3.3, tough-cookie@~2.3.0, tough-cookie@~2.3.3: 3675 | version "2.3.3" 3676 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 3677 | dependencies: 3678 | punycode "^1.4.1" 3679 | 3680 | trim-newlines@^1.0.0: 3681 | version "1.0.0" 3682 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 3683 | 3684 | trim-off-newlines@^1.0.1: 3685 | version "1.0.1" 3686 | resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" 3687 | 3688 | trim-right@^1.0.1: 3689 | version "1.0.1" 3690 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3691 | 3692 | tunnel-agent@^0.6.0: 3693 | version "0.6.0" 3694 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3695 | dependencies: 3696 | safe-buffer "^5.0.1" 3697 | 3698 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3699 | version "0.14.5" 3700 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3701 | 3702 | uid-number@^0.0.6: 3703 | version "0.0.6" 3704 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 3705 | 3706 | uid2@0.0.3: 3707 | version "0.0.3" 3708 | resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" 3709 | 3710 | unique-string@^1.0.0: 3711 | version "1.0.0" 3712 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" 3713 | dependencies: 3714 | crypto-random-string "^1.0.0" 3715 | 3716 | unique-temp-dir@^1.0.0: 3717 | version "1.0.0" 3718 | resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" 3719 | dependencies: 3720 | mkdirp "^0.5.1" 3721 | os-tmpdir "^1.0.1" 3722 | uid2 "0.0.3" 3723 | 3724 | universalify@^0.1.0: 3725 | version "0.1.2" 3726 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 3727 | 3728 | unzip-response@^2.0.1: 3729 | version "2.0.1" 3730 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" 3731 | 3732 | update-check@1.3.2: 3733 | version "1.3.2" 3734 | resolved "https://registry.yarnpkg.com/update-check/-/update-check-1.3.2.tgz#460f9e9ab24820367f3edbeb4d4142d9936ff171" 3735 | dependencies: 3736 | registry-auth-token "3.3.2" 3737 | registry-url "3.1.0" 3738 | 3739 | update-notifier@^2.1.0: 3740 | version "2.3.0" 3741 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" 3742 | dependencies: 3743 | boxen "^1.2.1" 3744 | chalk "^2.0.1" 3745 | configstore "^3.0.0" 3746 | import-lazy "^2.1.0" 3747 | is-installed-globally "^0.1.0" 3748 | is-npm "^1.0.0" 3749 | latest-version "^3.0.0" 3750 | semver-diff "^2.0.0" 3751 | xdg-basedir "^3.0.0" 3752 | 3753 | url-parse-lax@^1.0.0: 3754 | version "1.0.0" 3755 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 3756 | dependencies: 3757 | prepend-http "^1.0.1" 3758 | 3759 | url-template@^2.0.8: 3760 | version "2.0.8" 3761 | resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" 3762 | 3763 | url-to-options@^1.0.1: 3764 | version "1.0.1" 3765 | resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" 3766 | 3767 | util-deprecate@~1.0.1: 3768 | version "1.0.2" 3769 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3770 | 3771 | uuid@^3.0.0, uuid@^3.1.0: 3772 | version "3.1.0" 3773 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 3774 | 3775 | validate-npm-package-license@^3.0.1: 3776 | version "3.0.1" 3777 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 3778 | dependencies: 3779 | spdx-correct "~1.0.0" 3780 | spdx-expression-parse "~1.0.0" 3781 | 3782 | verror@1.10.0: 3783 | version "1.10.0" 3784 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 3785 | dependencies: 3786 | assert-plus "^1.0.0" 3787 | core-util-is "1.0.2" 3788 | extsprintf "^1.2.0" 3789 | 3790 | wcwidth@^1.0.1: 3791 | version "1.0.1" 3792 | resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 3793 | dependencies: 3794 | defaults "^1.0.3" 3795 | 3796 | well-known-symbols@^1.0.0: 3797 | version "1.0.0" 3798 | resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-1.0.0.tgz#73c78ae81a7726a8fa598e2880801c8b16225518" 3799 | 3800 | which@^1.2.10, which@^1.2.12, which@^1.2.9: 3801 | version "1.3.0" 3802 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 3803 | dependencies: 3804 | isexe "^2.0.0" 3805 | 3806 | wide-align@^1.1.0: 3807 | version "1.1.2" 3808 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 3809 | dependencies: 3810 | string-width "^1.0.2" 3811 | 3812 | widest-line@^1.0.0: 3813 | version "1.0.0" 3814 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" 3815 | dependencies: 3816 | string-width "^1.0.1" 3817 | 3818 | wrappy@1: 3819 | version "1.0.2" 3820 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3821 | 3822 | write-file-atomic@^1.1.4: 3823 | version "1.3.4" 3824 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" 3825 | dependencies: 3826 | graceful-fs "^4.1.11" 3827 | imurmurhash "^0.1.4" 3828 | slide "^1.1.5" 3829 | 3830 | write-file-atomic@^2.0.0: 3831 | version "2.3.0" 3832 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" 3833 | dependencies: 3834 | graceful-fs "^4.1.11" 3835 | imurmurhash "^0.1.4" 3836 | signal-exit "^3.0.2" 3837 | 3838 | write-json-file@^2.2.0: 3839 | version "2.3.0" 3840 | resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" 3841 | dependencies: 3842 | detect-indent "^5.0.0" 3843 | graceful-fs "^4.1.2" 3844 | make-dir "^1.0.0" 3845 | pify "^3.0.0" 3846 | sort-keys "^2.0.0" 3847 | write-file-atomic "^2.0.0" 3848 | 3849 | write-pkg@^3.1.0: 3850 | version "3.1.0" 3851 | resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.1.0.tgz#030a9994cc9993d25b4e75a9f1a1923607291ce9" 3852 | dependencies: 3853 | sort-keys "^2.0.0" 3854 | write-json-file "^2.2.0" 3855 | 3856 | xdg-basedir@^3.0.0: 3857 | version "3.0.0" 3858 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" 3859 | 3860 | xtend@^4.0.0, xtend@~4.0.1: 3861 | version "4.0.1" 3862 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3863 | 3864 | xtend@~2.1.1: 3865 | version "2.1.2" 3866 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" 3867 | dependencies: 3868 | object-keys "~0.4.0" 3869 | 3870 | yallist@^2.1.2: 3871 | version "2.1.2" 3872 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3873 | --------------------------------------------------------------------------------