├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── LICENSE.md ├── README.md ├── bin └── ember-cli-create.js ├── demo.gif ├── jsconfig.json ├── package.json ├── src ├── commands │ └── create.js ├── contents │ ├── addons.js │ ├── experiments.js │ ├── features.js │ └── presets.js ├── presets │ ├── addon.js │ ├── app.js │ ├── beginner.js │ ├── glimmer-wc.js │ ├── glimmer.js │ ├── manual.js │ ├── octane-ts.js │ └── octane.js ├── prompts │ └── create-wizard.js ├── tasks │ ├── config.js │ ├── generators.js │ ├── init.js │ └── install.js └── utils │ ├── exec.js │ ├── sort-map.js │ └── workspace.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | 8 | [*] 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = true 12 | insert_final_newline = true 13 | indent_style = tab 14 | indent_size = 4 15 | 16 | [*.hbs] 17 | insert_final_newline = false 18 | 19 | [*.{diff,md}] 20 | trim_trailing_whitespace = false 21 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parserOptions: { 4 | ecmaVersion: 2017, 5 | sourceType: 'module' 6 | }, 7 | plugins: [ 8 | 'ember' 9 | ], 10 | extends: [ 11 | 'eslint:recommended', 12 | ], 13 | env: { 14 | browser: true 15 | }, 16 | rules: { 17 | }, 18 | overrides: [ 19 | // node files 20 | { 21 | files: [ 22 | 'ember-cli-build.js', 23 | 'index.js', 24 | 'testem.js', 25 | 'blueprints/*/index.js', 26 | 'config/**/*.js', 27 | 'tests/dummy/config/**/*.js' 28 | ], 29 | excludedFiles: [ 30 | 'addon/**', 31 | 'addon-test-support/**', 32 | 'app/**', 33 | 'tests/dummy/app/**' 34 | ], 35 | parserOptions: { 36 | sourceType: 'script', 37 | ecmaVersion: 2015 38 | }, 39 | env: { 40 | browser: false, 41 | node: true 42 | }, 43 | plugins: ['node'], 44 | rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, { 45 | // add your custom rules and overrides for node files here 46 | }) 47 | } 48 | ] 49 | }; 50 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules/ 5 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ember-cli-create 2 | 3 | CLI wizard to create a new ember project. 4 | 5 | ![Demo](demo.gif) 6 | 7 | ## Installation 8 | 9 | ``` 10 | yarn global add ember-cli-create 11 | ``` 12 | 13 | ## Usage 14 | 15 | ``` 16 | Usage: ember-cli-create [options] [name] 17 | 18 | Options: 19 | 20 | -V, --version output the version number 21 | -p, --preset Select a preset 22 | -dir, --directory Where to place the files 23 | --npm Use npm as package manager (instead of yarn) 24 | --welcome To install the {{ember-welcome-page}} 25 | -h, --help output usage information 26 | ``` 27 | 28 | 29 | ## Notes 30 | 31 | The addon list is based on a rough selection I did. Though I expect this high subject of change. Open an issue to discuss how this can be populated in a nice way. 32 | 33 | Some of my ideas with this: Support presets and blueprints. 34 | 35 | 36 | ## License 37 | 38 | This project is licensed under the [MIT License](LICENSE.md). 39 | -------------------------------------------------------------------------------- /bin/ember-cli-create.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | 4 | const programm = require('commander'); 5 | const pkg = require('../package'); 6 | const CreateCommand = require('../src/commands/create'); 7 | 8 | programm 9 | .version(pkg.version) 10 | .arguments('[name]') 11 | .option('-p, --preset ', 'Select a preset') 12 | .option('-dir, --directory ', 'Where to place the files') 13 | .option('--npm', 'Use npm as package manager (instead of yarn)') 14 | .option('--welcome', 'To install the {{ember-welcome-page}}') 15 | .action(function (name, options) { 16 | const cmd = new CreateCommand({ name }, options); 17 | cmd.run(); 18 | }); 19 | 20 | programm.parse(process.argv); 21 | -------------------------------------------------------------------------------- /demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gossi/ember-cli-create/b1f7c18de66299fc170d51c03082dbae978caef2/demo.gif -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | {"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]} -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ember-cli-create", 3 | "version": "0.0.6", 4 | "description": "CLI wizard to create a new ember project", 5 | "keywords": [ 6 | "ember.js", 7 | "ember-cli" 8 | ], 9 | "bin": { 10 | "ember-cli-create": "bin/ember-cli-create.js" 11 | }, 12 | "repository": "https://github.com/gossi/ember-cli-create", 13 | "homepage": "https://github.com/gossi/ember-cli-create", 14 | "license": "MIT", 15 | "author": "Thomas Gossmann", 16 | "scripts": {}, 17 | "dependencies": { 18 | "@ember/optional-features": "^0.7.0", 19 | "chalk": "^2.4.1", 20 | "cliui": "^4.1.0", 21 | "commander": "^2.17.0", 22 | "ember-source-channel-url": "^1.1.0", 23 | "execa": "^0.10.0", 24 | "inquirer": "^6.0.0", 25 | "latest-version": "^4.0.0", 26 | "listr": "^0.14.1", 27 | "split": "^1.0.1", 28 | "yargs": "^12.0.0", 29 | "zen-observable": "^0.8.9" 30 | }, 31 | "devDependencies": { 32 | "eslint": "^5.0.1", 33 | "eslint-plugin-node": "^6.0.1" 34 | }, 35 | "engines": { 36 | "node": "6.* || 8.* || >= 10.*" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/commands/create.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | const Listr = require('listr'); 3 | const FEATURES = require('@ember/optional-features/features'); 4 | const compileQuestions = require('../prompts/create-wizard'); 5 | const path = require('path'); 6 | const chalk = require('chalk'); 7 | const ui = require('cliui')(); 8 | 9 | module.exports = class CreateCommand { 10 | 11 | constructor(args, options) { 12 | this.args = args; 13 | this.options = options; 14 | this.workingDirectory = process.cwd(); 15 | } 16 | 17 | async run() { 18 | const config = await this.interact(); 19 | await this.execute(config); 20 | } 21 | 22 | async interact() { 23 | const answers = await new inquirer.prompt(compileQuestions(this.args, this.options)); 24 | if (!answers.preset && this.options.preset) { 25 | answers.preset = this.options.preset; 26 | } 27 | 28 | if (!answers.name && this.args.name) { 29 | answers.name = this.args.name; 30 | } 31 | 32 | return this.compileConfig(answers); 33 | } 34 | 35 | async execute(config) { 36 | const tasks = new Listr([ 37 | { 38 | title: 'Init Project', 39 | task: require('../tasks/init') 40 | }, 41 | { 42 | title: 'Configure Project', 43 | task: require('../tasks/config') 44 | }, 45 | { 46 | title: 'Install Project', 47 | task: require('../tasks/install') 48 | }, 49 | { 50 | title: 'Run Generators', 51 | task: require('../tasks/generators') 52 | } 53 | ]); 54 | 55 | try { 56 | await tasks.run({ config }); 57 | 58 | ui.div({ 59 | text: 60 | `🐹 Your ember project setup is finished.\n` + 61 | `🚀 Change to your project directory and enjoy developing:`, 62 | padding: [1, 0, 0, 1] 63 | }); 64 | 65 | ui.div({ 66 | text: chalk.yellow('cd ' + path.relative(this.workingDirectory, config.directory) + '/'), 67 | padding: [1, 0, 0, 4] 68 | }); 69 | 70 | ui.div({ 71 | text: 72 | 'Commands to get started:\n' + 73 | '------------------------', 74 | padding: [1, 0, 0, 1] 75 | }) 76 | 77 | ui.div({ 78 | text: 79 | `Serve: \t${chalk.yellow('ember serve')}\n` + 80 | `Build: \t${chalk.yellow('ember build')}\n` + 81 | `Generate: \t${chalk.yellow('ember generate') + chalk.yellow.dim(' ')}\n` + 82 | `Test: \t${chalk.yellow('ember test')}\n` + 83 | `Test Server: \t${chalk.yellow('ember serve -e test')}`, 84 | padding: [0, 0, 1, 1] 85 | }); 86 | 87 | console.log(ui.toString()); 88 | } catch (err) { 89 | ui.div({ 90 | text: '⚠️ ' + chalk.red(`Could not setup your project: ${err.message}`), 91 | padding: [1, 0, 1, 1] 92 | }); 93 | console.error(ui.toString()); 94 | } 95 | } 96 | 97 | loadPreset(preset) { 98 | try { 99 | // no slash means built-in preset 100 | if (!preset.includes('/')) { 101 | return require(`../presets/${preset}`); 102 | } 103 | } catch (e) { 104 | return require(`../presets/manual`); 105 | } 106 | } 107 | 108 | compileConfig(answers) { 109 | const config = { 110 | packageManager: this.options.npm ? 'npm' : 'yarn', 111 | type: 'app', 112 | addons: [], 113 | features: [], 114 | experiments: [], 115 | welcome: !!this.options.welcome 116 | }; 117 | 118 | const preset = this.loadPreset(answers.preset); 119 | Object.assign(config, preset, answers); 120 | 121 | config.cmd = config.type === 'addon' || config.type === 'engine' ? 'addon' : 'new'; 122 | 123 | // features 124 | const feats = {}; 125 | for (let feat of Object.keys(FEATURES)) { 126 | feats[feat] = config.features.includes(feat); 127 | } 128 | config.features = feats; 129 | 130 | // experiments 131 | 132 | // enable broccoli2 when system_temp is enabled 133 | if (config.experiments.includes('SYSTEM_TEMP') && !config.experiments.includes('BROCCOLI_2')) { 134 | config.experiments.push('BROCCOLI_2'); 135 | } 136 | 137 | return config; 138 | } 139 | 140 | }; 141 | -------------------------------------------------------------------------------- /src/contents/addons.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | const chalk = require('chalk'); 3 | 4 | const STRUCTURE = ['ember-decorators', 'ember-cli-typescript', 'sparkles-component', 'sparkles-decorators', 'ember-css-modules', 'ember-auto-import', 'ember-bind-helper']; 5 | const STYLERS = ['ember-cli-sass', 'ember-cli-less']; 6 | const HELPERS = ['ember-composable-helpers', 'ember-truth-helpers', 'ember-math-helpers']; 7 | const UIFRAMEWORKS = ['ember-cli-tailwind', 'ember-bootstrap', 'ember-paper']; 8 | const TESTING = ['qunit-dom', 'ember-cli-mirage', 'ember-mocha']; 9 | const POPULAR = ['ember-concurrency', 'ember-simple-auth', 'ember-intl', 'ember-power-select']; 10 | 11 | const section = (title) => { 12 | return new inquirer.Separator(chalk.reset.green.underline(title)); 13 | }; 14 | 15 | module.exports = [].concat( 16 | section('Language Features & Structure'), STRUCTURE, 17 | section('CSS Preprocessors'), STYLERS, 18 | section('Helpers'), HELPERS, 19 | section('UI Frameworks'), UIFRAMEWORKS, 20 | section('Testing'), TESTING, 21 | section('Popular'), POPULAR 22 | ); 23 | -------------------------------------------------------------------------------- /src/contents/experiments.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: 'Packager', 4 | value: 'PACKAGER' 5 | }, { 6 | name: 'Module Unification (MU)', 7 | value: 'MODULE_UNIFICATION' 8 | }, { 9 | name: 'Broccoli 2', 10 | value: 'BROCCOLI_2' 11 | }, { 12 | name: 'System Temp Directory (will enable Broccoli 2)', 13 | value: 'SYSTEM_TEMP' 14 | }, { 15 | name: 'Delayed Transpilation', 16 | value: 'DELAYED_TRANSPILATION' 17 | } 18 | ]; 19 | -------------------------------------------------------------------------------- /src/contents/features.js: -------------------------------------------------------------------------------- 1 | const features = require('@ember/optional-features/features'); 2 | const enabledFeatures = ['template-only-glimmer-components']; 3 | 4 | module.exports = Object.keys(features).map(feature => { 5 | return { 6 | name: feature, 7 | value: feature, 8 | checked: enabledFeatures.includes(feature) 9 | }; 10 | }); 11 | -------------------------------------------------------------------------------- /src/contents/presets.js: -------------------------------------------------------------------------------- 1 | const chalk = require('chalk'); 2 | 3 | module.exports = [ 4 | { 5 | name: `Beginner\n ${chalk.dim('-> If you are new to ember, use this!')}`, 6 | value: 'beginner' 7 | }, { 8 | name: `Ember App\n ${chalk.dim('-> Regular ember app wo/ welcome page')}`, 9 | value: 'app' 10 | }, { 11 | name: `Ember Addon\n ${chalk.dim('-> Regular ember addon')}`, 12 | value: 'addon' 13 | }, { 14 | name: `Octane\n ${chalk.dim('-> MU, Decorators, Sparkles, ...')}`, 15 | value: 'octane' 16 | }, { 17 | name: `Octane + TS\n ${chalk.dim('-> Fuel up your Octane with Type-Power!')}`, 18 | value: 'octane-ts' 19 | }, { 20 | name: `Glimmer\n ${chalk.dim('-> Create a glimmer project')}`, 21 | value: 'glimmer' 22 | }, { 23 | name: `Glimmer WebComponent\n ${chalk.dim('-> Create a web component with glimmer')}`, 24 | value: 'glimmer-wc' 25 | }, { 26 | name: `Manual... \n ${chalk.dim('-> Run this wizard on your own, select your needs')}`, 27 | value: 'manual' 28 | } 29 | ]; 30 | -------------------------------------------------------------------------------- /src/presets/addon.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | type: 'addon', 3 | addons: {}, 4 | experiments: [], 5 | features: [] 6 | }; 7 | -------------------------------------------------------------------------------- /src/presets/app.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | type: 'app', 3 | addons: {}, 4 | experiments: [], 5 | features: [], 6 | welcome: false 7 | }; 8 | -------------------------------------------------------------------------------- /src/presets/beginner.js: -------------------------------------------------------------------------------- 1 | const app = require('./app'); 2 | 3 | app.welcome = true; 4 | 5 | module.exports = app; 6 | -------------------------------------------------------------------------------- /src/presets/glimmer-wc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./glimmer'); 2 | -------------------------------------------------------------------------------- /src/presets/glimmer.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | blueprint: '@glimmer/blueprint', 3 | welcome: false 4 | }; 5 | -------------------------------------------------------------------------------- /src/presets/manual.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | }; 3 | -------------------------------------------------------------------------------- /src/presets/octane-ts.js: -------------------------------------------------------------------------------- 1 | const octane = require('./octane'); 2 | 3 | octane.addons['ember-cli-typescript'] = { 4 | version: 'next' 5 | }; 6 | 7 | module.exports = octane; 8 | -------------------------------------------------------------------------------- /src/presets/octane.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | type: 'app', 3 | addons: { 4 | 'ember-decorators': {}, 5 | 'sparkles-component': {}, 6 | 'sparkles-decorators': {}, 7 | 'ember-auto-import': {}, 8 | "ember-bind-helper": {}, 9 | "ember-cli-babel": { 10 | version: '^7.1.0' 11 | } 12 | }, 13 | experiments: ['MODULE_UNIFICATION', 'BROCCOLI_2', 'SYSTEM_TEMP'], 14 | features: ['template-only-glimmer-components'], 15 | welcome: false 16 | }; 17 | -------------------------------------------------------------------------------- /src/prompts/create-wizard.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | const path = require('path'); 3 | 4 | const EXPERIMENTS = require('../contents/experiments'); 5 | const ADDONS = require('../contents/addons'); 6 | const FEATURES = require('../contents/features'); 7 | const PRESETS = require('../contents/presets'); 8 | const TYPES = ['app', 'addon', new inquirer.Separator('engine (One day... One day!)')]; 9 | 10 | 11 | function dasherize(str) { 12 | return str.replace(/[A-Z]/g, function(char, index) { 13 | return (index !== 0 ? '-' : '') + char.toLowerCase(); 14 | }); 15 | } 16 | 17 | module.exports = function (args, options) { 18 | // put options into local variables (so they are overridable with answers) 19 | let preset = options.preset; 20 | let name = args.name; 21 | 22 | return [ 23 | { 24 | type: 'list', 25 | name: 'preset', 26 | message: 'What kind of ember project you want to create?', 27 | choices: PRESETS, 28 | pageSize: PRESETS.length * 2, 29 | when: () => { 30 | return !preset; 31 | }, 32 | filter: (input) => { 33 | preset = input; 34 | return input; 35 | } 36 | }, 37 | { 38 | type: 'list', 39 | name: 'type', 40 | message: 'Which type of project are you generating?', 41 | choices: TYPES, 42 | pageSize: TYPES.length, 43 | when: () => { 44 | return preset === 'manual'; 45 | } 46 | }, { 47 | type: 'input', 48 | name: 'name', 49 | message: 'What is the name of your project', 50 | suffix: ':', 51 | when: () => { 52 | return !name; 53 | }, 54 | validate(input) { 55 | if (input !== '') { 56 | name = input; 57 | return true; 58 | } 59 | 60 | return 'Please enter a name for your project'; 61 | } 62 | }, { 63 | type: 'input', 64 | name: 'directory', 65 | message: 'Where to create your project?', 66 | suffix: ':', 67 | default() { 68 | return './' + name; 69 | }, 70 | validate(input) { 71 | return input !== ''; 72 | }, 73 | filter(input) { 74 | if (!path.isAbsolute(input)) { 75 | input = path.join(process.cwd(), input); 76 | } 77 | return input; 78 | }, 79 | when: () => { 80 | return !options.directory || options.directory !== ''; 81 | } 82 | }, { 83 | type: 'input', 84 | name: 'web-component', 85 | message: 'What is your web component tag name?', 86 | suffix: ':', 87 | default() { 88 | return dasherize(name); 89 | }, 90 | validate(input) { 91 | if (input !== '') { 92 | if (!input.includes('-')) { 93 | return 'Your component must contain a hyphen (-)'; 94 | } 95 | 96 | return true; 97 | } 98 | return 'Please give your component a tag name'; 99 | }, 100 | when: () => { 101 | return preset === 'glimmer-wc'; 102 | } 103 | }, { 104 | type: 'checkbox', 105 | name: 'addons', 106 | message: 'Which addons do you want?', 107 | choices: ADDONS, 108 | pageSize: ADDONS.length, 109 | filter(input) { 110 | let map = {}; 111 | for (const key of input) { 112 | map[key] = {}; 113 | } 114 | return map; 115 | }, 116 | when: () => { 117 | return preset === 'manual'; 118 | } 119 | }, { 120 | type: 'checkbox', 121 | name: 'experiments', 122 | message: 'Experiments for ember-cli (This will install canary versions of ember and ember-cli)', 123 | choices: EXPERIMENTS, 124 | pageSize: EXPERIMENTS.length, 125 | when: () => { 126 | return preset === 'manual'; 127 | } 128 | }, { 129 | type: 'checkbox', 130 | name: 'features', 131 | message: 'Enable/Disable features (@ember/optional-features)', 132 | choices: FEATURES, 133 | pageSize: FEATURES.length, 134 | when: () => { 135 | return preset === 'manual'; 136 | } 137 | } 138 | ]; 139 | } 140 | -------------------------------------------------------------------------------- /src/tasks/config.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const getEmberSourceUrl = require('ember-source-channel-url'); 4 | const Observable = require('zen-observable'); 5 | const latestVersion = require('latest-version'); 6 | const sortMap = require('../utils/sort-map'); 7 | 8 | function readPackage(config) { 9 | return require(path.join(config.directory, 'package.json')); 10 | } 11 | 12 | function writePackage(config, contents) { 13 | fs.writeFileSync(path.join(config.directory, 'package.json'), JSON.stringify(contents, null, ' '), 'utf-8'); 14 | } 15 | 16 | async function configureExperiments(config, observer) { 17 | if (config.experiments.length > 0) { 18 | // 1) install canary versions 19 | observer.next('Require canary version because of experiments'); 20 | const pkg = readPackage(config); 21 | pkg.devDependencies['ember-source'] = await getEmberSourceUrl('canary'); 22 | pkg.devDependencies['ember-cli'] = 'github:ember-cli/ember-cli'; 23 | 24 | writePackage(config, pkg); 25 | 26 | // 2) adjust .ember-cli.js to include environment variables 27 | observer.next('Update .ember-cli.js to include environment variables'); 28 | 29 | let script = `'use strict';\n\n`; 30 | 31 | for (let experiment of config.experiments) { 32 | script += `process.env.EMBER_CLI_${experiment} = true;\n`; 33 | } 34 | 35 | const emberCliPath = path.join(config.directory, '.ember-cli'); 36 | if (fs.existsSync(emberCliPath)) { 37 | const content = fs.readFileSync(emberCliPath); 38 | script += `\nmodule.exports = ${content}`; 39 | fs.writeFileSync(emberCliPath + '.js', script); 40 | fs.unlinkSync(emberCliPath); 41 | } 42 | } 43 | } 44 | 45 | async function configureFeatures(config, observer) { 46 | // 1) write config/optional-features.json 47 | observer.next('Write config/optional-features.json') 48 | fs.writeFileSync(path.join(config.directory, 'config/optional-features.json'), JSON.stringify(config.features, null, ' '), 'utf-8'); 49 | 50 | // 2) remove @ember/jquery (if opted out) 51 | const pkg = readPackage(config); 52 | 53 | if (config.features['jquery-integration'] === false && '@ember/jquery' in pkg.devDependencies) { 54 | observer.next('Remove @ember/jquery'); 55 | 56 | delete pkg.devDependencies['@ember/jquery']; 57 | } 58 | } 59 | 60 | async function configureAddons(config, observer) { 61 | if (Object.keys(config.addons).length) { 62 | const pkg = readPackage(config); 63 | try { 64 | for (let [addon, options] of Object.entries(config.addons)) { 65 | let version; 66 | if (options.version) { 67 | version = options.version; 68 | } else { 69 | version = '^' + await latestVersion(addon); 70 | } 71 | pkg.devDependencies[addon] = version; 72 | } 73 | } catch (e) { 74 | observer.error(e); 75 | } 76 | 77 | // sort packages 78 | pkg.devDependencies = sortMap(pkg.devDependencies); 79 | 80 | writePackage(config, pkg); 81 | } 82 | } 83 | 84 | module.exports = (context) => { 85 | const { config } = context; 86 | 87 | return new Observable(async observer => { 88 | 89 | // test if project folder exists 90 | if (!fs.existsSync(config.directory)) { 91 | observer.error(new Error('Project creation failed during initiation.')); 92 | return; 93 | } 94 | 95 | process.chdir(config.directory); 96 | 97 | observer.next('Configure Experiments'); 98 | await configureExperiments(config, observer); 99 | 100 | observer.next('Configure Features'); 101 | await configureFeatures(config, observer); 102 | 103 | observer.next('Configure Addons'); 104 | await configureAddons(config, observer); 105 | 106 | observer.complete(); 107 | }); 108 | }; 109 | -------------------------------------------------------------------------------- /src/tasks/generators.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const Observable = require('zen-observable'); 4 | const exec = require('../utils/exec'); 5 | const execa = require('execa'); 6 | const workspace = require('../utils/workspace'); 7 | 8 | const ADDON_WHITELIST = ['ember-cli-typescript']; 9 | 10 | module.exports = (context) => { 11 | const { config } = context; 12 | 13 | return new Observable(async observer => { 14 | const generators = []; 15 | if (Object.keys(config.addons).length) { 16 | 17 | const dirs = [config.directory]; 18 | const workspaceDir = workspace.getWorkspaceDir(config.directory); 19 | if (workspaceDir) { 20 | dirs.push(workspaceDir); 21 | } 22 | 23 | // let's collect generators first 24 | for (const addon of Object.keys(config.addons)) { 25 | for (const dir of dirs) { 26 | // check if whitelisted 27 | if (ADDON_WHITELIST.includes(addon)) { 28 | generators.push(addon); 29 | continue; 30 | } 31 | 32 | // check if defaultBlueprint is present in package.json 33 | const addonPackageFile = path.join(dir, 'node_modules', addon, 'package.json'); 34 | if (fs.existsSync(addonPackageFile)) { 35 | const addonPackage = require(addonPackageFile); 36 | if (addonPackage['ember-addon'] && addonPackage['ember-addon'].defaultBlueprint) { 37 | generators.push(addonPackage['ember-addon'].defaultBlueprint); 38 | continue; 39 | } 40 | } 41 | 42 | // check for file-match of addon and blueprint name 43 | if (fs.existsSync(path.join(dir, 'node_modules', addon, 'blueprints', addon))) { 44 | generators.push(addon); 45 | } 46 | } 47 | } 48 | 49 | if (generators.length) { 50 | const options = { env: {} }; 51 | 52 | for (let experiment of config.experiments) { 53 | options.env[`EMBER_CLI_${experiment}`] = true; 54 | } 55 | 56 | for (const generator of generators) { 57 | observer.next(`generate ${generator}`); 58 | try { 59 | await execa('ember', ['generate', generator], options); 60 | } catch (error) { 61 | observer.error(error); 62 | } 63 | } 64 | } 65 | } 66 | 67 | observer.complete(); 68 | }); 69 | }; 70 | -------------------------------------------------------------------------------- /src/tasks/init.js: -------------------------------------------------------------------------------- 1 | const exec = require('../utils/exec'); 2 | const workspace = require('../utils/workspace'); 3 | 4 | module.exports = async (context) => { 5 | const { config } = context; 6 | const args = [config.cmd, config.name, '--directory', config.directory, '--skip-npm']; 7 | const options = { env: {}}; 8 | 9 | if (config.packageManager === 'yarn') { 10 | args.push('--yarn'); 11 | } 12 | 13 | args.push(config.welcome ? '--welcome' : '--no-welcome'); 14 | 15 | if (config['web-component']) { 16 | args.push(`--web-component=${config['web-component']}`); 17 | } 18 | 19 | if (config.blueprint) { 20 | args.push('-b', config.blueprint); 21 | } 22 | 23 | for (const experiment of config.experiments) { 24 | options.env[`EMBER_CLI_${experiment}`] = true; 25 | } 26 | 27 | // add --skip-git when we are in a workspace 28 | const inWorkspace = await workspace.projectInWorkspace(config.directory); 29 | if (inWorkspace) { 30 | args.push('--skip-git'); 31 | } 32 | 33 | return exec('ember', args, options); 34 | }; 35 | -------------------------------------------------------------------------------- /src/tasks/install.js: -------------------------------------------------------------------------------- 1 | const Observable = require('zen-observable'); 2 | const exec = require('../utils/exec'); 3 | 4 | module.exports = (context) => { 5 | const { config } = context; 6 | 7 | return exec(config.packageManager, ['install']); 8 | }; 9 | -------------------------------------------------------------------------------- /src/utils/exec.js: -------------------------------------------------------------------------------- 1 | const execa = require('execa'); 2 | const split = require('split'); 3 | 4 | module.exports = (program, args = [], options = {}) => { 5 | return execa(program, args, options).stdout.pipe(split(/\r?\n/, null, { trailing: false })); 6 | }; 7 | -------------------------------------------------------------------------------- /src/utils/sort-map.js: -------------------------------------------------------------------------------- 1 | module.exports = (map) => { 2 | const collection = {}; 3 | for (let key of Object.keys(map).sort()) { 4 | collection[key] = map[key]; 5 | } 6 | 7 | return collection; 8 | } 9 | -------------------------------------------------------------------------------- /src/utils/workspace.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const fs = require('fs'); 3 | 4 | function workspaceContains(pkgJsonFile, projectFolder) { 5 | const pkg = require(pkgJsonFile); 6 | const base = path.dirname(pkgJsonFile); 7 | if (pkg.workspaces) { 8 | for (let workspace of pkg.workspaces) { 9 | workspace = workspace.includes('*') ? workspace.replace('*', '') : workspace; 10 | let dir = path.join(base, workspace); 11 | if (projectFolder.startsWith(dir)) { 12 | return true; 13 | } 14 | } 15 | } 16 | return false; 17 | } 18 | 19 | function isRoot(dir) { 20 | return path.parse(dir).root === dir; 21 | } 22 | 23 | function getWorkspaceDir(projectFolder) { 24 | let found = ''; 25 | let dir = path.dirname(projectFolder); 26 | 27 | do { 28 | const pkgJsonFile = path.join(dir, 'package.json'); 29 | if (fs.existsSync(pkgJsonFile)) { 30 | if (workspaceContains(pkgJsonFile, projectFolder)) { 31 | found = dir; 32 | } 33 | } 34 | dir = path.dirname(dir); 35 | } while (found === '' && !isRoot(dir)); 36 | 37 | return found; 38 | } 39 | 40 | function projectInWorkspace(projectFolder) { 41 | return getWorkspaceDir(projectFolder) !== ''; 42 | } 43 | 44 | module.exports = { 45 | projectInWorkspace, 46 | workspaceContains, 47 | getWorkspaceDir 48 | } 49 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ember/optional-features@^0.7.0": 6 | version "0.7.0" 7 | resolved "https://registry.yarnpkg.com/@ember/optional-features/-/optional-features-0.7.0.tgz#f65a858007020ddfb8342f586112750c32abd2d9" 8 | integrity sha512-qLXvL/Kq/COb43oQmCrKx7Fy8k1XJDI2RlgbCnZHH26AGVgJT/sZugx1A2AIxKdamtl/Mi+rQSjGIuscSjqjDw== 9 | dependencies: 10 | chalk "^2.3.0" 11 | co "^4.6.0" 12 | ember-cli-version-checker "^2.1.0" 13 | glob "^7.1.2" 14 | inquirer "^3.3.0" 15 | mkdirp "^0.5.1" 16 | silent-error "^1.1.0" 17 | util.promisify "^1.0.0" 18 | 19 | "@samverschueren/stream-to-observable@^0.3.0": 20 | version "0.3.0" 21 | resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" 22 | integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg== 23 | dependencies: 24 | any-observable "^0.3.0" 25 | 26 | "@sindresorhus/is@^0.7.0": 27 | version "0.7.0" 28 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" 29 | integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== 30 | 31 | acorn-jsx@^4.1.1: 32 | version "4.1.1" 33 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" 34 | integrity sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw== 35 | dependencies: 36 | acorn "^5.0.3" 37 | 38 | acorn@^5.0.3, acorn@^5.6.0: 39 | version "5.7.1" 40 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" 41 | integrity sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ== 42 | 43 | ajv-keywords@^3.0.0: 44 | version "3.2.0" 45 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" 46 | integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo= 47 | 48 | ajv@^6.0.1, ajv@^6.5.0: 49 | version "6.5.2" 50 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360" 51 | integrity sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA== 52 | dependencies: 53 | fast-deep-equal "^2.0.1" 54 | fast-json-stable-stringify "^2.0.0" 55 | json-schema-traverse "^0.4.1" 56 | uri-js "^4.2.1" 57 | 58 | ansi-escapes@^1.0.0: 59 | version "1.4.0" 60 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 61 | integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= 62 | 63 | ansi-escapes@^3.0.0: 64 | version "3.1.0" 65 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" 66 | integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== 67 | 68 | ansi-regex@^2.0.0: 69 | version "2.1.1" 70 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 71 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 72 | 73 | ansi-regex@^3.0.0: 74 | version "3.0.0" 75 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 76 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 77 | 78 | ansi-styles@^2.2.1: 79 | version "2.2.1" 80 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 81 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 82 | 83 | ansi-styles@^3.2.1: 84 | version "3.2.1" 85 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 86 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 87 | dependencies: 88 | color-convert "^1.9.0" 89 | 90 | any-observable@^0.3.0: 91 | version "0.3.0" 92 | resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" 93 | integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== 94 | 95 | argparse@^1.0.7: 96 | version "1.0.10" 97 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 98 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 99 | dependencies: 100 | sprintf-js "~1.0.2" 101 | 102 | array-union@^1.0.1: 103 | version "1.0.2" 104 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 105 | integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= 106 | dependencies: 107 | array-uniq "^1.0.1" 108 | 109 | array-uniq@^1.0.1: 110 | version "1.0.3" 111 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 112 | integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= 113 | 114 | arrify@^1.0.0: 115 | version "1.0.1" 116 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 117 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 118 | 119 | babel-code-frame@^6.26.0: 120 | version "6.26.0" 121 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 122 | integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= 123 | dependencies: 124 | chalk "^1.1.3" 125 | esutils "^2.0.2" 126 | js-tokens "^3.0.2" 127 | 128 | balanced-match@^1.0.0: 129 | version "1.0.0" 130 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 131 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 132 | 133 | brace-expansion@^1.1.7: 134 | version "1.1.11" 135 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 136 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 137 | dependencies: 138 | balanced-match "^1.0.0" 139 | concat-map "0.0.1" 140 | 141 | cacheable-request@^2.1.1: 142 | version "2.1.4" 143 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" 144 | integrity sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0= 145 | dependencies: 146 | clone-response "1.0.2" 147 | get-stream "3.0.0" 148 | http-cache-semantics "3.8.1" 149 | keyv "3.0.0" 150 | lowercase-keys "1.0.0" 151 | normalize-url "2.0.1" 152 | responselike "1.0.2" 153 | 154 | caller-path@^0.1.0: 155 | version "0.1.0" 156 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 157 | integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= 158 | dependencies: 159 | callsites "^0.2.0" 160 | 161 | callsites@^0.2.0: 162 | version "0.2.0" 163 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 164 | integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= 165 | 166 | camelcase@^4.1.0: 167 | version "4.1.0" 168 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 169 | integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 170 | 171 | chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: 172 | version "1.1.3" 173 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 174 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 175 | dependencies: 176 | ansi-styles "^2.2.1" 177 | escape-string-regexp "^1.0.2" 178 | has-ansi "^2.0.0" 179 | strip-ansi "^3.0.0" 180 | supports-color "^2.0.0" 181 | 182 | chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1: 183 | version "2.4.1" 184 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 185 | integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== 186 | dependencies: 187 | ansi-styles "^3.2.1" 188 | escape-string-regexp "^1.0.5" 189 | supports-color "^5.3.0" 190 | 191 | chardet@^0.4.0: 192 | version "0.4.2" 193 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" 194 | integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= 195 | 196 | chardet@^0.5.0: 197 | version "0.5.0" 198 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029" 199 | integrity sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g== 200 | 201 | circular-json@^0.3.1: 202 | version "0.3.3" 203 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 204 | integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== 205 | 206 | cli-cursor@^1.0.2: 207 | version "1.0.2" 208 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 209 | integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= 210 | dependencies: 211 | restore-cursor "^1.0.1" 212 | 213 | cli-cursor@^2.1.0: 214 | version "2.1.0" 215 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 216 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 217 | dependencies: 218 | restore-cursor "^2.0.0" 219 | 220 | cli-spinners@^0.1.2: 221 | version "0.1.2" 222 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" 223 | integrity sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw= 224 | 225 | cli-truncate@^0.2.1: 226 | version "0.2.1" 227 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" 228 | integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= 229 | dependencies: 230 | slice-ansi "0.0.4" 231 | string-width "^1.0.1" 232 | 233 | cli-width@^2.0.0: 234 | version "2.2.0" 235 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 236 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 237 | 238 | cliui@^4.0.0, cliui@^4.1.0: 239 | version "4.1.0" 240 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 241 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 242 | dependencies: 243 | string-width "^2.1.1" 244 | strip-ansi "^4.0.0" 245 | wrap-ansi "^2.0.0" 246 | 247 | clone-response@1.0.2: 248 | version "1.0.2" 249 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 250 | integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= 251 | dependencies: 252 | mimic-response "^1.0.0" 253 | 254 | co@^4.6.0: 255 | version "4.6.0" 256 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 257 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 258 | 259 | code-point-at@^1.0.0: 260 | version "1.1.0" 261 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 262 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 263 | 264 | color-convert@^1.9.0: 265 | version "1.9.2" 266 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" 267 | integrity sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg== 268 | dependencies: 269 | color-name "1.1.1" 270 | 271 | color-name@1.1.1: 272 | version "1.1.1" 273 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" 274 | integrity sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok= 275 | 276 | commander@^2.17.0: 277 | version "2.17.0" 278 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.0.tgz#9d07b25e2a6f198b76d8b756a0e8a9604a6a1a60" 279 | integrity sha512-477o1hdVORiFlZxw8wgsXYCef3lh0zl/OV0FTftqiDxJSWw6dPQ2ipS4k20J2qBcsmsmLKSyr2iFrf9e3JGi4w== 280 | 281 | concat-map@0.0.1: 282 | version "0.0.1" 283 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 284 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 285 | 286 | core-util-is@~1.0.0: 287 | version "1.0.2" 288 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 289 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 290 | 291 | cross-spawn@^5.0.1: 292 | version "5.1.0" 293 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 294 | integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= 295 | dependencies: 296 | lru-cache "^4.0.1" 297 | shebang-command "^1.2.0" 298 | which "^1.2.9" 299 | 300 | cross-spawn@^6.0.0, cross-spawn@^6.0.5: 301 | version "6.0.5" 302 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 303 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 304 | dependencies: 305 | nice-try "^1.0.4" 306 | path-key "^2.0.1" 307 | semver "^5.5.0" 308 | shebang-command "^1.2.0" 309 | which "^1.2.9" 310 | 311 | date-fns@^1.27.2: 312 | version "1.29.0" 313 | resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" 314 | integrity sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw== 315 | 316 | debug@^2.2.0: 317 | version "2.6.9" 318 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 319 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 320 | dependencies: 321 | ms "2.0.0" 322 | 323 | debug@^3.1.0: 324 | version "3.1.0" 325 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 326 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 327 | dependencies: 328 | ms "2.0.0" 329 | 330 | decamelize@^2.0.0: 331 | version "2.0.0" 332 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" 333 | integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== 334 | dependencies: 335 | xregexp "4.0.0" 336 | 337 | decode-uri-component@^0.2.0: 338 | version "0.2.0" 339 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 340 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 341 | 342 | decompress-response@^3.3.0: 343 | version "3.3.0" 344 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 345 | integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= 346 | dependencies: 347 | mimic-response "^1.0.0" 348 | 349 | deep-extend@^0.6.0: 350 | version "0.6.0" 351 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 352 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 353 | 354 | deep-is@~0.1.3: 355 | version "0.1.3" 356 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 357 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 358 | 359 | define-properties@^1.1.2: 360 | version "1.1.2" 361 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 362 | integrity sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ= 363 | dependencies: 364 | foreach "^2.0.5" 365 | object-keys "^1.0.8" 366 | 367 | del@^2.0.2: 368 | version "2.2.2" 369 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" 370 | integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= 371 | dependencies: 372 | globby "^5.0.0" 373 | is-path-cwd "^1.0.0" 374 | is-path-in-cwd "^1.0.0" 375 | object-assign "^4.0.1" 376 | pify "^2.0.0" 377 | pinkie-promise "^2.0.0" 378 | rimraf "^2.2.8" 379 | 380 | doctrine@^2.1.0: 381 | version "2.1.0" 382 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 383 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 384 | dependencies: 385 | esutils "^2.0.2" 386 | 387 | duplexer3@^0.1.4: 388 | version "0.1.4" 389 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 390 | integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= 391 | 392 | elegant-spinner@^1.0.1: 393 | version "1.0.1" 394 | resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" 395 | integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= 396 | 397 | ember-cli-version-checker@^2.1.0: 398 | version "2.1.2" 399 | resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz#305ce102390c66e4e0f1432dea9dc5c7c19fed98" 400 | integrity sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw== 401 | dependencies: 402 | resolve "^1.3.3" 403 | semver "^5.3.0" 404 | 405 | ember-source-channel-url@^1.1.0: 406 | version "1.1.0" 407 | resolved "https://registry.yarnpkg.com/ember-source-channel-url/-/ember-source-channel-url-1.1.0.tgz#73de5cc6ebc25b2120e932ec1d8f82677bfaf6ef" 408 | integrity sha512-y1RVXmyqrdX6zq9ZejpPt7ohKNGuLMBEKaOUyxFWcYAM5gvLuo6xFerwNmXEBbu4e3//GaoasjodXi6Cl+ddUQ== 409 | dependencies: 410 | got "^8.0.1" 411 | 412 | es-abstract@^1.10.0, es-abstract@^1.5.1: 413 | version "1.12.0" 414 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" 415 | integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== 416 | dependencies: 417 | es-to-primitive "^1.1.1" 418 | function-bind "^1.1.1" 419 | has "^1.0.1" 420 | is-callable "^1.1.3" 421 | is-regex "^1.0.4" 422 | 423 | es-to-primitive@^1.1.1: 424 | version "1.1.1" 425 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 426 | integrity sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0= 427 | dependencies: 428 | is-callable "^1.1.1" 429 | is-date-object "^1.0.1" 430 | is-symbol "^1.0.1" 431 | 432 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 433 | version "1.0.5" 434 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 435 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 436 | 437 | eslint-plugin-node@^6.0.1: 438 | version "6.0.1" 439 | resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz#bf19642298064379315d7a4b2a75937376fa05e4" 440 | integrity sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw== 441 | dependencies: 442 | ignore "^3.3.6" 443 | minimatch "^3.0.4" 444 | resolve "^1.3.3" 445 | semver "^5.4.1" 446 | 447 | eslint-scope@^4.0.0: 448 | version "4.0.0" 449 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" 450 | integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== 451 | dependencies: 452 | esrecurse "^4.1.0" 453 | estraverse "^4.1.1" 454 | 455 | eslint-visitor-keys@^1.0.0: 456 | version "1.0.0" 457 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 458 | integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== 459 | 460 | eslint@^5.0.1: 461 | version "5.0.1" 462 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.0.1.tgz#109b90ab7f7a736f54e0f341c8bb9d09777494c3" 463 | integrity sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ== 464 | dependencies: 465 | ajv "^6.5.0" 466 | babel-code-frame "^6.26.0" 467 | chalk "^2.1.0" 468 | cross-spawn "^6.0.5" 469 | debug "^3.1.0" 470 | doctrine "^2.1.0" 471 | eslint-scope "^4.0.0" 472 | eslint-visitor-keys "^1.0.0" 473 | espree "^4.0.0" 474 | esquery "^1.0.1" 475 | esutils "^2.0.2" 476 | file-entry-cache "^2.0.0" 477 | functional-red-black-tree "^1.0.1" 478 | glob "^7.1.2" 479 | globals "^11.5.0" 480 | ignore "^3.3.3" 481 | imurmurhash "^0.1.4" 482 | inquirer "^5.2.0" 483 | is-resolvable "^1.1.0" 484 | js-yaml "^3.11.0" 485 | json-stable-stringify-without-jsonify "^1.0.1" 486 | levn "^0.3.0" 487 | lodash "^4.17.5" 488 | minimatch "^3.0.4" 489 | mkdirp "^0.5.1" 490 | natural-compare "^1.4.0" 491 | optionator "^0.8.2" 492 | path-is-inside "^1.0.2" 493 | pluralize "^7.0.0" 494 | progress "^2.0.0" 495 | regexpp "^1.1.0" 496 | require-uncached "^1.0.3" 497 | semver "^5.5.0" 498 | string.prototype.matchall "^2.0.0" 499 | strip-ansi "^4.0.0" 500 | strip-json-comments "^2.0.1" 501 | table "^4.0.3" 502 | text-table "^0.2.0" 503 | 504 | espree@^4.0.0: 505 | version "4.0.0" 506 | resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634" 507 | integrity sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg== 508 | dependencies: 509 | acorn "^5.6.0" 510 | acorn-jsx "^4.1.1" 511 | 512 | esprima@^4.0.0: 513 | version "4.0.0" 514 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 515 | integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== 516 | 517 | esquery@^1.0.1: 518 | version "1.0.1" 519 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 520 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 521 | dependencies: 522 | estraverse "^4.0.0" 523 | 524 | esrecurse@^4.1.0: 525 | version "4.2.1" 526 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 527 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 528 | dependencies: 529 | estraverse "^4.1.0" 530 | 531 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 532 | version "4.2.0" 533 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 534 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 535 | 536 | esutils@^2.0.2: 537 | version "2.0.2" 538 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 539 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 540 | 541 | execa@^0.10.0: 542 | version "0.10.0" 543 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" 544 | integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== 545 | dependencies: 546 | cross-spawn "^6.0.0" 547 | get-stream "^3.0.0" 548 | is-stream "^1.1.0" 549 | npm-run-path "^2.0.0" 550 | p-finally "^1.0.0" 551 | signal-exit "^3.0.0" 552 | strip-eof "^1.0.0" 553 | 554 | execa@^0.7.0: 555 | version "0.7.0" 556 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 557 | integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= 558 | dependencies: 559 | cross-spawn "^5.0.1" 560 | get-stream "^3.0.0" 561 | is-stream "^1.1.0" 562 | npm-run-path "^2.0.0" 563 | p-finally "^1.0.0" 564 | signal-exit "^3.0.0" 565 | strip-eof "^1.0.0" 566 | 567 | exit-hook@^1.0.0: 568 | version "1.1.1" 569 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 570 | integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= 571 | 572 | external-editor@^2.0.4, external-editor@^2.1.0: 573 | version "2.2.0" 574 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" 575 | integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== 576 | dependencies: 577 | chardet "^0.4.0" 578 | iconv-lite "^0.4.17" 579 | tmp "^0.0.33" 580 | 581 | external-editor@^3.0.0: 582 | version "3.0.0" 583 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.0.tgz#dc35c48c6f98a30ca27a20e9687d7f3c77704bb6" 584 | integrity sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ== 585 | dependencies: 586 | chardet "^0.5.0" 587 | iconv-lite "^0.4.22" 588 | tmp "^0.0.33" 589 | 590 | fast-deep-equal@^2.0.1: 591 | version "2.0.1" 592 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 593 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 594 | 595 | fast-json-stable-stringify@^2.0.0: 596 | version "2.0.0" 597 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 598 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 599 | 600 | fast-levenshtein@~2.0.4: 601 | version "2.0.6" 602 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 603 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 604 | 605 | figures@^1.7.0: 606 | version "1.7.0" 607 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 608 | integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= 609 | dependencies: 610 | escape-string-regexp "^1.0.5" 611 | object-assign "^4.1.0" 612 | 613 | figures@^2.0.0: 614 | version "2.0.0" 615 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 616 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 617 | dependencies: 618 | escape-string-regexp "^1.0.5" 619 | 620 | file-entry-cache@^2.0.0: 621 | version "2.0.0" 622 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 623 | integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= 624 | dependencies: 625 | flat-cache "^1.2.1" 626 | object-assign "^4.0.1" 627 | 628 | find-up@^3.0.0: 629 | version "3.0.0" 630 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 631 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 632 | dependencies: 633 | locate-path "^3.0.0" 634 | 635 | flat-cache@^1.2.1: 636 | version "1.3.0" 637 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" 638 | integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE= 639 | dependencies: 640 | circular-json "^0.3.1" 641 | del "^2.0.2" 642 | graceful-fs "^4.1.2" 643 | write "^0.2.1" 644 | 645 | foreach@^2.0.5: 646 | version "2.0.5" 647 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 648 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 649 | 650 | from2@^2.1.1: 651 | version "2.3.0" 652 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 653 | integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= 654 | dependencies: 655 | inherits "^2.0.1" 656 | readable-stream "^2.0.0" 657 | 658 | fs.realpath@^1.0.0: 659 | version "1.0.0" 660 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 661 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 662 | 663 | function-bind@^1.1.1: 664 | version "1.1.1" 665 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 666 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 667 | 668 | functional-red-black-tree@^1.0.1: 669 | version "1.0.1" 670 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 671 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 672 | 673 | get-caller-file@^1.0.1: 674 | version "1.0.3" 675 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" 676 | integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== 677 | 678 | get-stream@3.0.0, get-stream@^3.0.0: 679 | version "3.0.0" 680 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 681 | integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= 682 | 683 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: 684 | version "7.1.2" 685 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 686 | integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== 687 | dependencies: 688 | fs.realpath "^1.0.0" 689 | inflight "^1.0.4" 690 | inherits "2" 691 | minimatch "^3.0.4" 692 | once "^1.3.0" 693 | path-is-absolute "^1.0.0" 694 | 695 | globals@^11.5.0: 696 | version "11.7.0" 697 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" 698 | integrity sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg== 699 | 700 | globby@^5.0.0: 701 | version "5.0.0" 702 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" 703 | integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= 704 | dependencies: 705 | array-union "^1.0.1" 706 | arrify "^1.0.0" 707 | glob "^7.0.3" 708 | object-assign "^4.0.1" 709 | pify "^2.0.0" 710 | pinkie-promise "^2.0.0" 711 | 712 | got@^8.0.1, got@^8.3.1: 713 | version "8.3.2" 714 | resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" 715 | integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== 716 | dependencies: 717 | "@sindresorhus/is" "^0.7.0" 718 | cacheable-request "^2.1.1" 719 | decompress-response "^3.3.0" 720 | duplexer3 "^0.1.4" 721 | get-stream "^3.0.0" 722 | into-stream "^3.1.0" 723 | is-retry-allowed "^1.1.0" 724 | isurl "^1.0.0-alpha5" 725 | lowercase-keys "^1.0.0" 726 | mimic-response "^1.0.0" 727 | p-cancelable "^0.4.0" 728 | p-timeout "^2.0.1" 729 | pify "^3.0.0" 730 | safe-buffer "^5.1.1" 731 | timed-out "^4.0.1" 732 | url-parse-lax "^3.0.0" 733 | url-to-options "^1.0.1" 734 | 735 | graceful-fs@^4.1.2: 736 | version "4.1.11" 737 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 738 | integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= 739 | 740 | has-ansi@^2.0.0: 741 | version "2.0.0" 742 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 743 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 744 | dependencies: 745 | ansi-regex "^2.0.0" 746 | 747 | has-flag@^3.0.0: 748 | version "3.0.0" 749 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 750 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 751 | 752 | has-symbol-support-x@^1.4.1: 753 | version "1.4.2" 754 | resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" 755 | integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== 756 | 757 | has-symbols@^1.0.0: 758 | version "1.0.0" 759 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 760 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 761 | 762 | has-to-string-tag-x@^1.2.0: 763 | version "1.4.1" 764 | resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" 765 | integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== 766 | dependencies: 767 | has-symbol-support-x "^1.4.1" 768 | 769 | has@^1.0.1: 770 | version "1.0.3" 771 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 772 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 773 | dependencies: 774 | function-bind "^1.1.1" 775 | 776 | http-cache-semantics@3.8.1: 777 | version "3.8.1" 778 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" 779 | integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== 780 | 781 | iconv-lite@^0.4.17, iconv-lite@^0.4.22: 782 | version "0.4.23" 783 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" 784 | integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== 785 | dependencies: 786 | safer-buffer ">= 2.1.2 < 3" 787 | 788 | ignore@^3.3.3, ignore@^3.3.6: 789 | version "3.3.10" 790 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" 791 | integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== 792 | 793 | imurmurhash@^0.1.4: 794 | version "0.1.4" 795 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 796 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 797 | 798 | indent-string@^2.1.0: 799 | version "2.1.0" 800 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 801 | integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= 802 | dependencies: 803 | repeating "^2.0.0" 804 | 805 | indent-string@^3.0.0: 806 | version "3.2.0" 807 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" 808 | integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= 809 | 810 | inflight@^1.0.4: 811 | version "1.0.6" 812 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 813 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 814 | dependencies: 815 | once "^1.3.0" 816 | wrappy "1" 817 | 818 | inherits@2, inherits@^2.0.1, inherits@~2.0.3: 819 | version "2.0.3" 820 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 821 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 822 | 823 | ini@~1.3.0: 824 | version "1.3.5" 825 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 826 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 827 | 828 | inquirer@^3.3.0: 829 | version "3.3.0" 830 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" 831 | integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== 832 | dependencies: 833 | ansi-escapes "^3.0.0" 834 | chalk "^2.0.0" 835 | cli-cursor "^2.1.0" 836 | cli-width "^2.0.0" 837 | external-editor "^2.0.4" 838 | figures "^2.0.0" 839 | lodash "^4.3.0" 840 | mute-stream "0.0.7" 841 | run-async "^2.2.0" 842 | rx-lite "^4.0.8" 843 | rx-lite-aggregates "^4.0.8" 844 | string-width "^2.1.0" 845 | strip-ansi "^4.0.0" 846 | through "^2.3.6" 847 | 848 | inquirer@^5.2.0: 849 | version "5.2.0" 850 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" 851 | integrity sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ== 852 | dependencies: 853 | ansi-escapes "^3.0.0" 854 | chalk "^2.0.0" 855 | cli-cursor "^2.1.0" 856 | cli-width "^2.0.0" 857 | external-editor "^2.1.0" 858 | figures "^2.0.0" 859 | lodash "^4.3.0" 860 | mute-stream "0.0.7" 861 | run-async "^2.2.0" 862 | rxjs "^5.5.2" 863 | string-width "^2.1.0" 864 | strip-ansi "^4.0.0" 865 | through "^2.3.6" 866 | 867 | inquirer@^6.0.0: 868 | version "6.0.0" 869 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.0.0.tgz#e8c20303ddc15bbfc2c12a6213710ccd9e1413d8" 870 | integrity sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg== 871 | dependencies: 872 | ansi-escapes "^3.0.0" 873 | chalk "^2.0.0" 874 | cli-cursor "^2.1.0" 875 | cli-width "^2.0.0" 876 | external-editor "^3.0.0" 877 | figures "^2.0.0" 878 | lodash "^4.3.0" 879 | mute-stream "0.0.7" 880 | run-async "^2.2.0" 881 | rxjs "^6.1.0" 882 | string-width "^2.1.0" 883 | strip-ansi "^4.0.0" 884 | through "^2.3.6" 885 | 886 | into-stream@^3.1.0: 887 | version "3.1.0" 888 | resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" 889 | integrity sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY= 890 | dependencies: 891 | from2 "^2.1.1" 892 | p-is-promise "^1.1.0" 893 | 894 | invert-kv@^1.0.0: 895 | version "1.0.0" 896 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 897 | integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= 898 | 899 | is-callable@^1.1.1, is-callable@^1.1.3: 900 | version "1.1.4" 901 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 902 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 903 | 904 | is-date-object@^1.0.1: 905 | version "1.0.1" 906 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 907 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 908 | 909 | is-finite@^1.0.0: 910 | version "1.0.2" 911 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 912 | integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= 913 | dependencies: 914 | number-is-nan "^1.0.0" 915 | 916 | is-fullwidth-code-point@^1.0.0: 917 | version "1.0.0" 918 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 919 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 920 | dependencies: 921 | number-is-nan "^1.0.0" 922 | 923 | is-fullwidth-code-point@^2.0.0: 924 | version "2.0.0" 925 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 926 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 927 | 928 | is-object@^1.0.1: 929 | version "1.0.1" 930 | resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" 931 | integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= 932 | 933 | is-observable@^1.1.0: 934 | version "1.1.0" 935 | resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" 936 | integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== 937 | dependencies: 938 | symbol-observable "^1.1.0" 939 | 940 | is-path-cwd@^1.0.0: 941 | version "1.0.0" 942 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 943 | integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= 944 | 945 | is-path-in-cwd@^1.0.0: 946 | version "1.0.1" 947 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" 948 | integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== 949 | dependencies: 950 | is-path-inside "^1.0.0" 951 | 952 | is-path-inside@^1.0.0: 953 | version "1.0.1" 954 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 955 | integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= 956 | dependencies: 957 | path-is-inside "^1.0.1" 958 | 959 | is-plain-obj@^1.0.0: 960 | version "1.1.0" 961 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 962 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 963 | 964 | is-promise@^2.1.0: 965 | version "2.1.0" 966 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 967 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 968 | 969 | is-regex@^1.0.4: 970 | version "1.0.4" 971 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 972 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 973 | dependencies: 974 | has "^1.0.1" 975 | 976 | is-resolvable@^1.1.0: 977 | version "1.1.0" 978 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" 979 | integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== 980 | 981 | is-retry-allowed@^1.1.0: 982 | version "1.1.0" 983 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 984 | integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= 985 | 986 | is-stream@^1.1.0: 987 | version "1.1.0" 988 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 989 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 990 | 991 | is-symbol@^1.0.1: 992 | version "1.0.1" 993 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 994 | integrity sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI= 995 | 996 | isarray@~1.0.0: 997 | version "1.0.0" 998 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 999 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1000 | 1001 | isexe@^2.0.0: 1002 | version "2.0.0" 1003 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1004 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1005 | 1006 | isurl@^1.0.0-alpha5: 1007 | version "1.0.0" 1008 | resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" 1009 | integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== 1010 | dependencies: 1011 | has-to-string-tag-x "^1.2.0" 1012 | is-object "^1.0.1" 1013 | 1014 | js-tokens@^3.0.2: 1015 | version "3.0.2" 1016 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 1017 | integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= 1018 | 1019 | js-yaml@^3.11.0: 1020 | version "3.12.0" 1021 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" 1022 | integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== 1023 | dependencies: 1024 | argparse "^1.0.7" 1025 | esprima "^4.0.0" 1026 | 1027 | json-buffer@3.0.0: 1028 | version "3.0.0" 1029 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 1030 | integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= 1031 | 1032 | json-schema-traverse@^0.4.1: 1033 | version "0.4.1" 1034 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1035 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1036 | 1037 | json-stable-stringify-without-jsonify@^1.0.1: 1038 | version "1.0.1" 1039 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1040 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1041 | 1042 | keyv@3.0.0: 1043 | version "3.0.0" 1044 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" 1045 | integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== 1046 | dependencies: 1047 | json-buffer "3.0.0" 1048 | 1049 | latest-version@^4.0.0: 1050 | version "4.0.0" 1051 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-4.0.0.tgz#9542393ac55a585861a4c4ebc02389a0b4a9c332" 1052 | integrity sha512-b4Myk7aQiQJvgssw2O8yITjELdqKRX4JQJUF1IUplgLaA8unv7s+UsAOwH6Q0/a09czSvlxEm306it2LBXrCzg== 1053 | dependencies: 1054 | package-json "^5.0.0" 1055 | 1056 | lcid@^1.0.0: 1057 | version "1.0.0" 1058 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1059 | integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= 1060 | dependencies: 1061 | invert-kv "^1.0.0" 1062 | 1063 | levn@^0.3.0, levn@~0.3.0: 1064 | version "0.3.0" 1065 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1066 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 1067 | dependencies: 1068 | prelude-ls "~1.1.2" 1069 | type-check "~0.3.2" 1070 | 1071 | listr-silent-renderer@^1.1.1: 1072 | version "1.1.1" 1073 | resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" 1074 | integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= 1075 | 1076 | listr-update-renderer@^0.4.0: 1077 | version "0.4.0" 1078 | resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" 1079 | integrity sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc= 1080 | dependencies: 1081 | chalk "^1.1.3" 1082 | cli-truncate "^0.2.1" 1083 | elegant-spinner "^1.0.1" 1084 | figures "^1.7.0" 1085 | indent-string "^3.0.0" 1086 | log-symbols "^1.0.2" 1087 | log-update "^1.0.2" 1088 | strip-ansi "^3.0.1" 1089 | 1090 | listr-verbose-renderer@^0.4.0: 1091 | version "0.4.1" 1092 | resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" 1093 | integrity sha1-ggb0z21S3cWCfl/RSYng6WWTOjU= 1094 | dependencies: 1095 | chalk "^1.1.3" 1096 | cli-cursor "^1.0.2" 1097 | date-fns "^1.27.2" 1098 | figures "^1.7.0" 1099 | 1100 | listr@^0.14.1: 1101 | version "0.14.1" 1102 | resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.1.tgz#8a7afa4a7135cee4c921d128e0b7dfc6e522d43d" 1103 | integrity sha512-MSMUUVN1f8aRnPi4034RkOqdiUlpYW+FqwFE3aL0uYNPRavkt2S2SsSpDDofn8BDpqv2RNnsdOcCHWsChcq77A== 1104 | dependencies: 1105 | "@samverschueren/stream-to-observable" "^0.3.0" 1106 | cli-truncate "^0.2.1" 1107 | figures "^1.7.0" 1108 | indent-string "^2.1.0" 1109 | is-observable "^1.1.0" 1110 | is-promise "^2.1.0" 1111 | is-stream "^1.1.0" 1112 | listr-silent-renderer "^1.1.1" 1113 | listr-update-renderer "^0.4.0" 1114 | listr-verbose-renderer "^0.4.0" 1115 | log-symbols "^1.0.2" 1116 | log-update "^1.0.2" 1117 | ora "^0.2.3" 1118 | p-map "^1.1.1" 1119 | rxjs "^6.1.0" 1120 | strip-ansi "^3.0.1" 1121 | 1122 | locate-path@^3.0.0: 1123 | version "3.0.0" 1124 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1125 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 1126 | dependencies: 1127 | p-locate "^3.0.0" 1128 | path-exists "^3.0.0" 1129 | 1130 | lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0: 1131 | version "4.17.10" 1132 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 1133 | integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg== 1134 | 1135 | log-symbols@^1.0.2: 1136 | version "1.0.2" 1137 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" 1138 | integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= 1139 | dependencies: 1140 | chalk "^1.0.0" 1141 | 1142 | log-update@^1.0.2: 1143 | version "1.0.2" 1144 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" 1145 | integrity sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE= 1146 | dependencies: 1147 | ansi-escapes "^1.0.0" 1148 | cli-cursor "^1.0.2" 1149 | 1150 | lowercase-keys@1.0.0: 1151 | version "1.0.0" 1152 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 1153 | integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= 1154 | 1155 | lowercase-keys@^1.0.0: 1156 | version "1.0.1" 1157 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 1158 | integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== 1159 | 1160 | lru-cache@^4.0.1: 1161 | version "4.1.3" 1162 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" 1163 | integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== 1164 | dependencies: 1165 | pseudomap "^1.0.2" 1166 | yallist "^2.1.2" 1167 | 1168 | mem@^1.1.0: 1169 | version "1.1.0" 1170 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 1171 | integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= 1172 | dependencies: 1173 | mimic-fn "^1.0.0" 1174 | 1175 | mimic-fn@^1.0.0: 1176 | version "1.2.0" 1177 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 1178 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 1179 | 1180 | mimic-response@^1.0.0: 1181 | version "1.0.1" 1182 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 1183 | integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== 1184 | 1185 | minimatch@^3.0.4: 1186 | version "3.0.4" 1187 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1188 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1189 | dependencies: 1190 | brace-expansion "^1.1.7" 1191 | 1192 | minimist@0.0.8: 1193 | version "0.0.8" 1194 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1195 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 1196 | 1197 | minimist@^1.2.0: 1198 | version "1.2.0" 1199 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1200 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 1201 | 1202 | mkdirp@^0.5.1: 1203 | version "0.5.1" 1204 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1205 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 1206 | dependencies: 1207 | minimist "0.0.8" 1208 | 1209 | ms@2.0.0: 1210 | version "2.0.0" 1211 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1212 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1213 | 1214 | mute-stream@0.0.7: 1215 | version "0.0.7" 1216 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 1217 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 1218 | 1219 | natural-compare@^1.4.0: 1220 | version "1.4.0" 1221 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1222 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1223 | 1224 | nice-try@^1.0.4: 1225 | version "1.0.4" 1226 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" 1227 | integrity sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA== 1228 | 1229 | normalize-url@2.0.1: 1230 | version "2.0.1" 1231 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" 1232 | integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== 1233 | dependencies: 1234 | prepend-http "^2.0.0" 1235 | query-string "^5.0.1" 1236 | sort-keys "^2.0.0" 1237 | 1238 | npm-run-path@^2.0.0: 1239 | version "2.0.2" 1240 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 1241 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 1242 | dependencies: 1243 | path-key "^2.0.0" 1244 | 1245 | number-is-nan@^1.0.0: 1246 | version "1.0.1" 1247 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1248 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 1249 | 1250 | object-assign@^4.0.1, object-assign@^4.1.0: 1251 | version "4.1.1" 1252 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1253 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1254 | 1255 | object-keys@^1.0.8: 1256 | version "1.0.12" 1257 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" 1258 | integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== 1259 | 1260 | object.getownpropertydescriptors@^2.0.3: 1261 | version "2.0.3" 1262 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 1263 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= 1264 | dependencies: 1265 | define-properties "^1.1.2" 1266 | es-abstract "^1.5.1" 1267 | 1268 | once@^1.3.0: 1269 | version "1.4.0" 1270 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1271 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1272 | dependencies: 1273 | wrappy "1" 1274 | 1275 | onetime@^1.0.0: 1276 | version "1.1.0" 1277 | resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 1278 | integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= 1279 | 1280 | onetime@^2.0.0: 1281 | version "2.0.1" 1282 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 1283 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 1284 | dependencies: 1285 | mimic-fn "^1.0.0" 1286 | 1287 | optionator@^0.8.2: 1288 | version "0.8.2" 1289 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 1290 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 1291 | dependencies: 1292 | deep-is "~0.1.3" 1293 | fast-levenshtein "~2.0.4" 1294 | levn "~0.3.0" 1295 | prelude-ls "~1.1.2" 1296 | type-check "~0.3.2" 1297 | wordwrap "~1.0.0" 1298 | 1299 | ora@^0.2.3: 1300 | version "0.2.3" 1301 | resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" 1302 | integrity sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q= 1303 | dependencies: 1304 | chalk "^1.1.1" 1305 | cli-cursor "^1.0.2" 1306 | cli-spinners "^0.1.2" 1307 | object-assign "^4.0.1" 1308 | 1309 | os-locale@^2.0.0: 1310 | version "2.1.0" 1311 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 1312 | integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== 1313 | dependencies: 1314 | execa "^0.7.0" 1315 | lcid "^1.0.0" 1316 | mem "^1.1.0" 1317 | 1318 | os-tmpdir@~1.0.2: 1319 | version "1.0.2" 1320 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1321 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 1322 | 1323 | p-cancelable@^0.4.0: 1324 | version "0.4.1" 1325 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" 1326 | integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== 1327 | 1328 | p-finally@^1.0.0: 1329 | version "1.0.0" 1330 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1331 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 1332 | 1333 | p-is-promise@^1.1.0: 1334 | version "1.1.0" 1335 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" 1336 | integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= 1337 | 1338 | p-limit@^2.0.0: 1339 | version "2.0.0" 1340 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" 1341 | integrity sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A== 1342 | dependencies: 1343 | p-try "^2.0.0" 1344 | 1345 | p-locate@^3.0.0: 1346 | version "3.0.0" 1347 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 1348 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 1349 | dependencies: 1350 | p-limit "^2.0.0" 1351 | 1352 | p-map@^1.1.1: 1353 | version "1.2.0" 1354 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" 1355 | integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== 1356 | 1357 | p-timeout@^2.0.1: 1358 | version "2.0.1" 1359 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" 1360 | integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== 1361 | dependencies: 1362 | p-finally "^1.0.0" 1363 | 1364 | p-try@^2.0.0: 1365 | version "2.0.0" 1366 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" 1367 | integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== 1368 | 1369 | package-json@^5.0.0: 1370 | version "5.0.0" 1371 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-5.0.0.tgz#a7dbe2725edcc7dc9bcee627672275e323882433" 1372 | integrity sha512-EeHQFFTlEmLrkIQoxbE9w0FuAWHoc1XpthDqnZ/i9keOt701cteyXwAxQFLpVqVjj3feh2TodkihjLaRUtIgLg== 1373 | dependencies: 1374 | got "^8.3.1" 1375 | registry-auth-token "^3.3.2" 1376 | registry-url "^3.1.0" 1377 | semver "^5.5.0" 1378 | 1379 | path-exists@^3.0.0: 1380 | version "3.0.0" 1381 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1382 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1383 | 1384 | path-is-absolute@^1.0.0: 1385 | version "1.0.1" 1386 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1387 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1388 | 1389 | path-is-inside@^1.0.1, path-is-inside@^1.0.2: 1390 | version "1.0.2" 1391 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 1392 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 1393 | 1394 | path-key@^2.0.0, path-key@^2.0.1: 1395 | version "2.0.1" 1396 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1397 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 1398 | 1399 | path-parse@^1.0.5: 1400 | version "1.0.5" 1401 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 1402 | integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME= 1403 | 1404 | pify@^2.0.0: 1405 | version "2.3.0" 1406 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1407 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 1408 | 1409 | pify@^3.0.0: 1410 | version "3.0.0" 1411 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 1412 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 1413 | 1414 | pinkie-promise@^2.0.0: 1415 | version "2.0.1" 1416 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1417 | integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= 1418 | dependencies: 1419 | pinkie "^2.0.0" 1420 | 1421 | pinkie@^2.0.0: 1422 | version "2.0.4" 1423 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1424 | integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= 1425 | 1426 | pluralize@^7.0.0: 1427 | version "7.0.0" 1428 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" 1429 | integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== 1430 | 1431 | prelude-ls@~1.1.2: 1432 | version "1.1.2" 1433 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1434 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1435 | 1436 | prepend-http@^2.0.0: 1437 | version "2.0.0" 1438 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 1439 | integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= 1440 | 1441 | process-nextick-args@~2.0.0: 1442 | version "2.0.0" 1443 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 1444 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 1445 | 1446 | progress@^2.0.0: 1447 | version "2.0.0" 1448 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" 1449 | integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= 1450 | 1451 | pseudomap@^1.0.2: 1452 | version "1.0.2" 1453 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1454 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 1455 | 1456 | punycode@^2.1.0: 1457 | version "2.1.1" 1458 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1459 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1460 | 1461 | query-string@^5.0.1: 1462 | version "5.1.1" 1463 | resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" 1464 | integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== 1465 | dependencies: 1466 | decode-uri-component "^0.2.0" 1467 | object-assign "^4.1.0" 1468 | strict-uri-encode "^1.0.0" 1469 | 1470 | rc@^1.0.1, rc@^1.1.6: 1471 | version "1.2.8" 1472 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 1473 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 1474 | dependencies: 1475 | deep-extend "^0.6.0" 1476 | ini "~1.3.0" 1477 | minimist "^1.2.0" 1478 | strip-json-comments "~2.0.1" 1479 | 1480 | readable-stream@^2.0.0: 1481 | version "2.3.6" 1482 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1483 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 1484 | dependencies: 1485 | core-util-is "~1.0.0" 1486 | inherits "~2.0.3" 1487 | isarray "~1.0.0" 1488 | process-nextick-args "~2.0.0" 1489 | safe-buffer "~5.1.1" 1490 | string_decoder "~1.1.1" 1491 | util-deprecate "~1.0.1" 1492 | 1493 | regexp.prototype.flags@^1.2.0: 1494 | version "1.2.0" 1495 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" 1496 | integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== 1497 | dependencies: 1498 | define-properties "^1.1.2" 1499 | 1500 | regexpp@^1.1.0: 1501 | version "1.1.0" 1502 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" 1503 | integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw== 1504 | 1505 | registry-auth-token@^3.3.2: 1506 | version "3.3.2" 1507 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" 1508 | integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== 1509 | dependencies: 1510 | rc "^1.1.6" 1511 | safe-buffer "^5.0.1" 1512 | 1513 | registry-url@^3.1.0: 1514 | version "3.1.0" 1515 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 1516 | integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= 1517 | dependencies: 1518 | rc "^1.0.1" 1519 | 1520 | repeating@^2.0.0: 1521 | version "2.0.1" 1522 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1523 | integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= 1524 | dependencies: 1525 | is-finite "^1.0.0" 1526 | 1527 | require-directory@^2.1.1: 1528 | version "2.1.1" 1529 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1530 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1531 | 1532 | require-main-filename@^1.0.1: 1533 | version "1.0.1" 1534 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 1535 | integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 1536 | 1537 | require-uncached@^1.0.3: 1538 | version "1.0.3" 1539 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" 1540 | integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= 1541 | dependencies: 1542 | caller-path "^0.1.0" 1543 | resolve-from "^1.0.0" 1544 | 1545 | resolve-from@^1.0.0: 1546 | version "1.0.1" 1547 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 1548 | integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= 1549 | 1550 | resolve@^1.3.3: 1551 | version "1.8.1" 1552 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 1553 | integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== 1554 | dependencies: 1555 | path-parse "^1.0.5" 1556 | 1557 | responselike@1.0.2: 1558 | version "1.0.2" 1559 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 1560 | integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= 1561 | dependencies: 1562 | lowercase-keys "^1.0.0" 1563 | 1564 | restore-cursor@^1.0.1: 1565 | version "1.0.1" 1566 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 1567 | integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= 1568 | dependencies: 1569 | exit-hook "^1.0.0" 1570 | onetime "^1.0.0" 1571 | 1572 | restore-cursor@^2.0.0: 1573 | version "2.0.0" 1574 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 1575 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 1576 | dependencies: 1577 | onetime "^2.0.0" 1578 | signal-exit "^3.0.2" 1579 | 1580 | rimraf@^2.2.8: 1581 | version "2.6.2" 1582 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 1583 | integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== 1584 | dependencies: 1585 | glob "^7.0.5" 1586 | 1587 | run-async@^2.2.0: 1588 | version "2.3.0" 1589 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 1590 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 1591 | dependencies: 1592 | is-promise "^2.1.0" 1593 | 1594 | rx-lite-aggregates@^4.0.8: 1595 | version "4.0.8" 1596 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" 1597 | integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= 1598 | dependencies: 1599 | rx-lite "*" 1600 | 1601 | rx-lite@*, rx-lite@^4.0.8: 1602 | version "4.0.8" 1603 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" 1604 | integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= 1605 | 1606 | rxjs@^5.5.2: 1607 | version "5.5.11" 1608 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.11.tgz#f733027ca43e3bec6b994473be4ab98ad43ced87" 1609 | integrity sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA== 1610 | dependencies: 1611 | symbol-observable "1.0.1" 1612 | 1613 | rxjs@^6.1.0: 1614 | version "6.2.2" 1615 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.2.tgz#eb75fa3c186ff5289907d06483a77884586e1cf9" 1616 | integrity sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ== 1617 | dependencies: 1618 | tslib "^1.9.0" 1619 | 1620 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1621 | version "5.1.2" 1622 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1623 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1624 | 1625 | "safer-buffer@>= 2.1.2 < 3": 1626 | version "2.1.2" 1627 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1628 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1629 | 1630 | semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: 1631 | version "5.5.0" 1632 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 1633 | integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== 1634 | 1635 | set-blocking@^2.0.0: 1636 | version "2.0.0" 1637 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1638 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 1639 | 1640 | shebang-command@^1.2.0: 1641 | version "1.2.0" 1642 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1643 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 1644 | dependencies: 1645 | shebang-regex "^1.0.0" 1646 | 1647 | shebang-regex@^1.0.0: 1648 | version "1.0.0" 1649 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1650 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1651 | 1652 | signal-exit@^3.0.0, signal-exit@^3.0.2: 1653 | version "3.0.2" 1654 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1655 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 1656 | 1657 | silent-error@^1.1.0: 1658 | version "1.1.0" 1659 | resolved "https://registry.yarnpkg.com/silent-error/-/silent-error-1.1.0.tgz#2209706f1c850a9f1d10d0d840918b46f26e1bc9" 1660 | integrity sha1-IglwbxyFCp8dENDYQJGLRvJuG8k= 1661 | dependencies: 1662 | debug "^2.2.0" 1663 | 1664 | slice-ansi@0.0.4: 1665 | version "0.0.4" 1666 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 1667 | integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= 1668 | 1669 | slice-ansi@1.0.0: 1670 | version "1.0.0" 1671 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" 1672 | integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== 1673 | dependencies: 1674 | is-fullwidth-code-point "^2.0.0" 1675 | 1676 | sort-keys@^2.0.0: 1677 | version "2.0.0" 1678 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" 1679 | integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= 1680 | dependencies: 1681 | is-plain-obj "^1.0.0" 1682 | 1683 | split@^1.0.1: 1684 | version "1.0.1" 1685 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" 1686 | integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== 1687 | dependencies: 1688 | through "2" 1689 | 1690 | sprintf-js@~1.0.2: 1691 | version "1.0.3" 1692 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1693 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1694 | 1695 | strict-uri-encode@^1.0.0: 1696 | version "1.1.0" 1697 | resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" 1698 | integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= 1699 | 1700 | string-width@^1.0.1: 1701 | version "1.0.2" 1702 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1703 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 1704 | dependencies: 1705 | code-point-at "^1.0.0" 1706 | is-fullwidth-code-point "^1.0.0" 1707 | strip-ansi "^3.0.0" 1708 | 1709 | string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: 1710 | version "2.1.1" 1711 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1712 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1713 | dependencies: 1714 | is-fullwidth-code-point "^2.0.0" 1715 | strip-ansi "^4.0.0" 1716 | 1717 | string.prototype.matchall@^2.0.0: 1718 | version "2.0.0" 1719 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz#2af8fe3d2d6dc53ca2a59bd376b089c3c152b3c8" 1720 | integrity sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q== 1721 | dependencies: 1722 | define-properties "^1.1.2" 1723 | es-abstract "^1.10.0" 1724 | function-bind "^1.1.1" 1725 | has-symbols "^1.0.0" 1726 | regexp.prototype.flags "^1.2.0" 1727 | 1728 | string_decoder@~1.1.1: 1729 | version "1.1.1" 1730 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1731 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1732 | dependencies: 1733 | safe-buffer "~5.1.0" 1734 | 1735 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1736 | version "3.0.1" 1737 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1738 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1739 | dependencies: 1740 | ansi-regex "^2.0.0" 1741 | 1742 | strip-ansi@^4.0.0: 1743 | version "4.0.0" 1744 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1745 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1746 | dependencies: 1747 | ansi-regex "^3.0.0" 1748 | 1749 | strip-eof@^1.0.0: 1750 | version "1.0.0" 1751 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 1752 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 1753 | 1754 | strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: 1755 | version "2.0.1" 1756 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1757 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1758 | 1759 | supports-color@^2.0.0: 1760 | version "2.0.0" 1761 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1762 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 1763 | 1764 | supports-color@^5.3.0: 1765 | version "5.4.0" 1766 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 1767 | integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== 1768 | dependencies: 1769 | has-flag "^3.0.0" 1770 | 1771 | symbol-observable@1.0.1: 1772 | version "1.0.1" 1773 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" 1774 | integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= 1775 | 1776 | symbol-observable@^1.1.0: 1777 | version "1.2.0" 1778 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 1779 | integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== 1780 | 1781 | table@^4.0.3: 1782 | version "4.0.3" 1783 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" 1784 | integrity sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg== 1785 | dependencies: 1786 | ajv "^6.0.1" 1787 | ajv-keywords "^3.0.0" 1788 | chalk "^2.1.0" 1789 | lodash "^4.17.4" 1790 | slice-ansi "1.0.0" 1791 | string-width "^2.1.1" 1792 | 1793 | text-table@^0.2.0: 1794 | version "0.2.0" 1795 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1796 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1797 | 1798 | through@2, through@^2.3.6: 1799 | version "2.3.8" 1800 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1801 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1802 | 1803 | timed-out@^4.0.1: 1804 | version "4.0.1" 1805 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 1806 | integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= 1807 | 1808 | tmp@^0.0.33: 1809 | version "0.0.33" 1810 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 1811 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 1812 | dependencies: 1813 | os-tmpdir "~1.0.2" 1814 | 1815 | tslib@^1.9.0: 1816 | version "1.9.3" 1817 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 1818 | integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== 1819 | 1820 | type-check@~0.3.2: 1821 | version "0.3.2" 1822 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1823 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1824 | dependencies: 1825 | prelude-ls "~1.1.2" 1826 | 1827 | uri-js@^4.2.1: 1828 | version "4.2.2" 1829 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1830 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 1831 | dependencies: 1832 | punycode "^2.1.0" 1833 | 1834 | url-parse-lax@^3.0.0: 1835 | version "3.0.0" 1836 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 1837 | integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= 1838 | dependencies: 1839 | prepend-http "^2.0.0" 1840 | 1841 | url-to-options@^1.0.1: 1842 | version "1.0.1" 1843 | resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" 1844 | integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= 1845 | 1846 | util-deprecate@~1.0.1: 1847 | version "1.0.2" 1848 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1849 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1850 | 1851 | util.promisify@^1.0.0: 1852 | version "1.0.0" 1853 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" 1854 | integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== 1855 | dependencies: 1856 | define-properties "^1.1.2" 1857 | object.getownpropertydescriptors "^2.0.3" 1858 | 1859 | which-module@^2.0.0: 1860 | version "2.0.0" 1861 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 1862 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 1863 | 1864 | which@^1.2.9: 1865 | version "1.3.1" 1866 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1867 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1868 | dependencies: 1869 | isexe "^2.0.0" 1870 | 1871 | wordwrap@~1.0.0: 1872 | version "1.0.0" 1873 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1874 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1875 | 1876 | wrap-ansi@^2.0.0: 1877 | version "2.1.0" 1878 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 1879 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 1880 | dependencies: 1881 | string-width "^1.0.1" 1882 | strip-ansi "^3.0.1" 1883 | 1884 | wrappy@1: 1885 | version "1.0.2" 1886 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1887 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1888 | 1889 | write@^0.2.1: 1890 | version "0.2.1" 1891 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 1892 | integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= 1893 | dependencies: 1894 | mkdirp "^0.5.1" 1895 | 1896 | xregexp@4.0.0: 1897 | version "4.0.0" 1898 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" 1899 | integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== 1900 | 1901 | "y18n@^3.2.1 || ^4.0.0": 1902 | version "4.0.0" 1903 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 1904 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 1905 | 1906 | yallist@^2.1.2: 1907 | version "2.1.2" 1908 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 1909 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 1910 | 1911 | yargs-parser@^10.1.0: 1912 | version "10.1.0" 1913 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" 1914 | integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== 1915 | dependencies: 1916 | camelcase "^4.1.0" 1917 | 1918 | yargs@^12.0.0: 1919 | version "12.0.1" 1920 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" 1921 | integrity sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ== 1922 | dependencies: 1923 | cliui "^4.0.0" 1924 | decamelize "^2.0.0" 1925 | find-up "^3.0.0" 1926 | get-caller-file "^1.0.1" 1927 | os-locale "^2.0.0" 1928 | require-directory "^2.1.1" 1929 | require-main-filename "^1.0.1" 1930 | set-blocking "^2.0.0" 1931 | string-width "^2.0.0" 1932 | which-module "^2.0.0" 1933 | y18n "^3.2.1 || ^4.0.0" 1934 | yargs-parser "^10.1.0" 1935 | 1936 | zen-observable@^0.8.9: 1937 | version "0.8.9" 1938 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.9.tgz#0475c760ff0eda046bbdfa4dc3f95d392807ac53" 1939 | integrity sha512-Y9kPzjGvIZ5jchSlqlCpBW3I82zBBL4z+ulXDRVA1NwsKzjt5kwAi+gOYIy0htNkfuehGZZtP5mRXHRV6TjDWw== 1940 | --------------------------------------------------------------------------------