diff --git a/.circleci/config.yml b/.circleci/config.yml index 24dbcb36..49023dd1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: circleci/node:7.10 + - image: circleci/node:8.10 working_directory: ~/repo diff --git a/.eslintrc b/.eslintrc index e42a4de9..b1951627 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,9 +1,11 @@ { "root": true, - "plugins": [ - "vue" - ], "extends": [ - "plugin:vue-libs/recommended", - ] -} \ No newline at end of file + "standard", + "prettier", + "prettier/standard" + ], + "rules": { + "no-new": 0 + } +} diff --git a/README.md b/README.md index 8a4b2854..eb880d5b 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,7 @@ A full config will look like this. ```json { "jest": { - "moduleFileExtensions": [ - "js", - "json", - "vue" - ], + "moduleFileExtensions": ["js", "json", "vue"], "transform": { "^.+\\.js$": "babel-jest", "^.+\\.vue$": "vue-jest" @@ -63,7 +59,7 @@ vue-jest compiles the script and template of SFCs into a JavaScript file that Je You can change the behavior of `vue-jest` by using `jest.globals`. -> *Tip:* Need programmatic configuration? Use the [--config](https://jestjs.io/docs/en/cli.html#config-path) option in Jest CLI, and export a `.js` file +> _Tip:_ Need programmatic configuration? Use the [--config](https://jestjs.io/docs/en/cli.html#config-path) option in Jest CLI, and export a `.js` file #### babelConfig @@ -112,14 +108,10 @@ Provide inline [Babel options](https://babeljs.io/docs/en/options): } ] ], - "plugins": [ - "syntax-dynamic-import" - ], + "plugins": ["syntax-dynamic-import"], "env": { "test": { - "plugins": [ - "dynamic-import-node" - ] + "plugins": ["dynamic-import-node"] } } } @@ -132,8 +124,9 @@ Provide inline [Babel options](https://babeljs.io/docs/en/options): ##### String If a string is provided, it will be an assumed path to a babel configuration file (e.g. `.babelrc`, `.babelrc.js`). + - Config file should export a Babel configuration object. -- Should *not* point to a [project-wide configuration file (babel.config.js)](https://babeljs.io/docs/en/config-files#project-wide-configuration), which exports a function. +- Should _not_ point to a [project-wide configuration file (babel.config.js)](https://babeljs.io/docs/en/config-files#project-wide-configuration), which exports a function. ```json { @@ -216,21 +209,22 @@ If a string is provided, it will be an assumed path to a TypeScript configuratio ### Supported template languages - **pug** (`lang="pug"`) + - To give options for the Pug compiler, enter them into the Jest configuration. - The options will be passed to pug.compile(). + The options will be passed to pug.compile(). ```json - { - "jest": { - "globals": { - "vue-jest": { - "pug": { - "basedir": "mybasedir" - } + { + "jest": { + "globals": { + "vue-jest": { + "pug": { + "basedir": "mybasedir" } } } } + } ``` - **jade** (`lang="jade"`) @@ -242,6 +236,7 @@ If a string is provided, it will be an assumed path to a TypeScript configuratio - **sass** (`lang="sass"`) - The SASS compiler supports jest's [moduleNameMapper](https://facebook.github.io/jest/docs/en/configuration.html#modulenamemapper-object-string-string) which is the suggested way of dealing with Webpack aliases. - **scss** (`lang="scss"`) + - The SCSS compiler supports jest's [moduleNameMapper](https://facebook.github.io/jest/docs/en/configuration.html#modulenamemapper-object-string-string) which is the suggested way of dealing with Webpack aliases. - To import globally included files (ie. variables, mixins, etc.), include them in the Jest configuration at `jest.globals['vue-jest'].resources.scss`: @@ -268,15 +263,15 @@ If a string is provided, it will be an assumed path to a TypeScript configuratio `hideStyleWarn`: `Boolean` Default false. Hide warnings about CSS compilation `resources`: - ```json - { - "jest": { - "globals": { - "vue-jest": { - "hideStyleWarn": true, - "experimentalCSSCompile": true - } +```json +{ + "jest": { + "globals": { + "vue-jest": { + "hideStyleWarn": true, + "experimentalCSSCompile": true } } } - ``` +} +``` diff --git a/build/gen-release-note.js b/build/gen-release-note.js index 4845c310..289200be 100644 --- a/build/gen-release-note.js +++ b/build/gen-release-note.js @@ -6,11 +6,13 @@ const fileStream = require('fs').createWriteStream(file) cc({ preset: 'angular', pkg: { - transform (pkg) { + transform(pkg) { pkg.version = `v${version}` return pkg } } -}).pipe(fileStream).on('close', () => { - console.log(`Generated release note at ${file}`) }) + .pipe(fileStream) + .on('close', () => { + console.log(`Generated release note at ${file}`) + }) diff --git a/lib/add-template-mapping.js b/lib/add-template-mapping.js index 1ce17126..2965921e 100644 --- a/lib/add-template-mapping.js +++ b/lib/add-template-mapping.js @@ -1,8 +1,15 @@ const splitRE = /\r?\n/g -module.exports = function addTemplateMapping (content, parts, output, map, beforeLines) { +module.exports = function addTemplateMapping( + content, + parts, + output, + map, + beforeLines +) { var afterLines = output.split(splitRE).length - var templateLine = content.slice(0, parts.template.start).split(splitRE).length + var templateLine = content.slice(0, parts.template.start).split(splitRE) + .length for (; beforeLines < afterLines; beforeLines++) { map.addMapping({ source: map._hashedFilename, diff --git a/lib/compilers/coffee-compiler.js b/lib/compilers/coffee-compiler.js index be33377c..089ea0b0 100644 --- a/lib/compilers/coffee-compiler.js +++ b/lib/compilers/coffee-compiler.js @@ -2,7 +2,7 @@ const ensureRequire = require('../ensure-require.js') const throwError = require('../throw-error') const loadBabelConfig = require('../load-babel-config.js') -module.exports = function (raw, config, filePath) { +module.exports = function(raw, config, filePath) { ensureRequire('coffee', ['coffeescript']) var coffee = require('coffeescript') var compiled diff --git a/lib/compilers/haml-compiler.js b/lib/compilers/haml-compiler.js index 94091c82..7248941a 100644 --- a/lib/compilers/haml-compiler.js +++ b/lib/compilers/haml-compiler.js @@ -1,7 +1,7 @@ var ensureRequire = require('../ensure-require.js') const throwError = require('../throw-error') -module.exports = function (raw) { +module.exports = function(raw) { var html ensureRequire('hamljs', 'hamljs') var haml = require('hamljs') diff --git a/lib/compilers/helpers/local-resolve-helper.js b/lib/compilers/helpers/local-resolve-helper.js index c4f07f77..6ef8cc40 100644 --- a/lib/compilers/helpers/local-resolve-helper.js +++ b/lib/compilers/helpers/local-resolve-helper.js @@ -7,10 +7,9 @@ const path = require('path') * @param {String} localPath - the local path * @returns {String} path - path to the file to import */ -module.exports = function localResolve (to, localPath) { +module.exports = function localResolve(to, localPath) { if (localPath.startsWith('/')) { return localPath } return path.join(path.dirname(to), localPath) } - diff --git a/lib/compilers/helpers/module-name-mapper-helper.js b/lib/compilers/helpers/module-name-mapper-helper.js index b2401fca..b406daa4 100644 --- a/lib/compilers/helpers/module-name-mapper-helper.js +++ b/lib/compilers/helpers/module-name-mapper-helper.js @@ -8,29 +8,30 @@ const localResolve = require('./local-resolve-helper') * @param {Object} jestConfig - the jestConfig holding the moduleNameMapper settings * @returns {String} path - the final path to import (including replacements via moduleNameMapper) */ -module.exports = function applyModuleNameMapper (source, filePath, jestConfig = {}) { +module.exports = function applyModuleNameMapper( + source, + filePath, + jestConfig = {} +) { if (!jestConfig.moduleNameMapper) return source // Extract the moduleNameMapper settings from the jest config. TODO: In case of development via babel@7, somehow the jestConfig.moduleNameMapper might end up being an Array. After a proper upgrade to babel@7 we should probably fix this. - const module = Array.isArray(jestConfig.moduleNameMapper) ? jestConfig.moduleNameMapper : Object.entries(jestConfig.moduleNameMapper) + const module = Array.isArray(jestConfig.moduleNameMapper) + ? jestConfig.moduleNameMapper + : Object.entries(jestConfig.moduleNameMapper) - const importPath = module - .reduce((acc, [regex, replacement]) => { - const matches = acc.match(regex) + const importPath = module.reduce((acc, [regex, replacement]) => { + const matches = acc.match(regex) - if (matches === null) { - return acc - } + if (matches === null) { + return acc + } - return replacement.replace( - /\$([0-9]+)/g, - (_, index) => matches[parseInt(index, 10)] - ) - }, source) + return replacement.replace( + /\$([0-9]+)/g, + (_, index) => matches[parseInt(index, 10)] + ) + }, source) - return localResolve( - filePath, - importPath - ) + return localResolve(filePath, importPath) } - diff --git a/lib/compilers/jade-compiler.js b/lib/compilers/jade-compiler.js index eafe0318..f0a8d882 100644 --- a/lib/compilers/jade-compiler.js +++ b/lib/compilers/jade-compiler.js @@ -1,7 +1,7 @@ var ensureRequire = require('../ensure-require.js') const throwError = require('../throw-error') -module.exports = function (raw) { +module.exports = function(raw) { var html ensureRequire('jade', 'jade') var jade = require('jade') diff --git a/lib/compilers/pug-compiler.js b/lib/compilers/pug-compiler.js index adacc935..4a3c8b39 100644 --- a/lib/compilers/pug-compiler.js +++ b/lib/compilers/pug-compiler.js @@ -1,7 +1,7 @@ var ensureRequire = require('../ensure-require.js') const throwError = require('../throw-error') -module.exports = function (templatePart, config) { +module.exports = function(templatePart, config) { const options = (config && config['pug']) || {} if (templatePart.filename) { options.filename = templatePart.filename diff --git a/lib/compilers/sass-compiler.js b/lib/compilers/sass-compiler.js index cd84d887..26b1f277 100644 --- a/lib/compilers/sass-compiler.js +++ b/lib/compilers/sass-compiler.js @@ -19,15 +19,25 @@ module.exports = (content, filePath, jestConfig = {}) => { const sass = require('node-sass') try { - return sass.renderSync({ - data: content, - outputStyle: 'compressed', - indentedSyntax: true, - importer: (url, prev, done) => ({ file: applyModuleNameMapper(url, prev === 'stdin' ? filePath : prev, jestConfig) }) - }).css.toString() + return sass + .renderSync({ + data: content, + outputStyle: 'compressed', + indentedSyntax: true, + importer: (url, prev, done) => ({ + file: applyModuleNameMapper( + url, + prev === 'stdin' ? filePath : prev, + jestConfig + ) + }) + }) + .css.toString() } catch (err) { if (!vueJestConfig.hideStyleWarn) { - logger.warn(`There was an error rendering the SASS in ${filePath}. SASS is fully supported by vue-jest. Still some features might throw errors. Webpack aliases are a common cause of errors. If you use Webpack aliases, please use jest's suggested way via moduleNameMapper which is supported.`) + logger.warn( + `There was an error rendering the SASS in ${filePath}. SASS is fully supported by vue-jest. Still some features might throw errors. Webpack aliases are a common cause of errors. If you use Webpack aliases, please use jest's suggested way via moduleNameMapper which is supported.` + ) logger.warn(`Error while compiling styles: ${err}`) } } diff --git a/lib/compilers/scss-compiler.js b/lib/compilers/scss-compiler.js index e1e03f0f..9b1db1a2 100644 --- a/lib/compilers/scss-compiler.js +++ b/lib/compilers/scss-compiler.js @@ -30,14 +30,24 @@ module.exports = (content, filePath, jestConfig = {}) => { } try { - return sass.renderSync({ - data: scssResources + content, - outputStyle: 'compressed', - importer: (url, prev, done) => ({ file: applyModuleNameMapper(url, prev === 'stdin' ? filePath : prev, jestConfig) }) - }).css.toString() + return sass + .renderSync({ + data: scssResources + content, + outputStyle: 'compressed', + importer: (url, prev, done) => ({ + file: applyModuleNameMapper( + url, + prev === 'stdin' ? filePath : prev, + jestConfig + ) + }) + }) + .css.toString() } catch (err) { if (!vueJestConfig.hideStyleWarn) { - logger.warn(`There was an error rendering the SCSS in ${filePath}. SCSS is fully supported by vue-jest. Still some features might throw errors. Webpack aliases are a common cause of errors. If you use Webpack aliases, please use jest's suggested way via moduleNameMapper which is supported.`) + logger.warn( + `There was an error rendering the SCSS in ${filePath}. SCSS is fully supported by vue-jest. Still some features might throw errors. Webpack aliases are a common cause of errors. If you use Webpack aliases, please use jest's suggested way via moduleNameMapper which is supported.` + ) logger.warn(`Error while compiling styles: ${err}`) } } diff --git a/lib/compilers/stylus-compiler.js b/lib/compilers/stylus-compiler.js index fa0305af..95b278cd 100644 --- a/lib/compilers/stylus-compiler.js +++ b/lib/compilers/stylus-compiler.js @@ -1,8 +1,7 @@ const stylus = require('stylus') const path = require('path') -module.exports = (content, filePath, jestConfig) => stylus.render( - content, { +module.exports = (content, filePath, jestConfig) => + stylus.render(content, { paths: [path.dirname(filePath), process.cwd()] - } -) + }) diff --git a/lib/compilers/typescript-compiler.js b/lib/compilers/typescript-compiler.js index b6231b9e..876a5ac7 100644 --- a/lib/compilers/typescript-compiler.js +++ b/lib/compilers/typescript-compiler.js @@ -4,32 +4,31 @@ const { loadTypescriptConfig } = require('../load-typescript-config') const babelJest = require('babel-jest') const getVueJestConfig = require('../get-vue-jest-config') -module.exports = function compileTypescript (scriptContent, filePath, config) { +module.exports = function compileTypescript(scriptContent, filePath, config) { ensureRequire('typescript', ['typescript']) const vueJestConfig = getVueJestConfig(config) const typescript = require('typescript') const tsConfig = loadTypescriptConfig(vueJestConfig) const res = typescript.transpileModule(scriptContent, tsConfig) - const inputSourceMap = (res.sourceMapText !== undefined) - ? JSON.parse(res.sourceMapText) - : '' + const inputSourceMap = + res.sourceMapText !== undefined ? JSON.parse(res.sourceMapText) : '' // handle ES modules in TS source code in case user uses non commonjs module // output and there is no .babelrc. let inlineBabelConfig = {} - if (tsConfig.compilerOptions.module !== 'commonjs' && !loadBabelConfig(vueJestConfig)) { + if ( + tsConfig.compilerOptions.module !== 'commonjs' && + !loadBabelConfig(vueJestConfig) + ) { inlineBabelConfig = { - plugins: [ - require('babel-plugin-transform-es2015-modules-commonjs') - ] + plugins: [require('babel-plugin-transform-es2015-modules-commonjs')] } } - const transformer = babelJest.createTransformer(Object.assign( - inlineBabelConfig, - { + const transformer = babelJest.createTransformer( + Object.assign(inlineBabelConfig, { inputSourceMap - } - )) + }) + ) return transformer.process(res.outputText, filePath, config) } diff --git a/lib/deprecate.js b/lib/deprecate.js index 1df16988..52c4a1ab 100644 --- a/lib/deprecate.js +++ b/lib/deprecate.js @@ -3,8 +3,20 @@ const logger = require('./logger') const replace = (oldThing, newThing) => { logger.warn(chalk.bold.yellow('Deprecation Warning:'), '\n') - logger.warn(chalk.yellow(`Option ${chalk.bold(`"${oldThing}"`)} has been removed, and replaced by ${chalk.bold(`"${newThing}"`)}`), '\n') - logger.warn(chalk.yellow('This option will be removed in the next major version of `vue-jest`. Please update your configuration.'), '\n') + logger.warn( + chalk.yellow( + `Option ${chalk.bold( + `"${oldThing}"` + )} has been removed, and replaced by ${chalk.bold(`"${newThing}"`)}` + ), + '\n' + ) + logger.warn( + chalk.yellow( + 'This option will be removed in the next major version of `vue-jest`. Please update your configuration.' + ), + '\n' + ) logger.warn(chalk.bold.yellow('Configuration Documentation:')) logger.warn(chalk.yellow('https://github.com/vuejs/vue-jest')) } diff --git a/lib/ensure-require.js b/lib/ensure-require.js index 6365062c..e004bdec 100644 --- a/lib/ensure-require.js +++ b/lib/ensure-require.js @@ -1,6 +1,6 @@ const throwError = require('./throw-error') -module.exports = function (name, deps) { +module.exports = function(name, deps) { var i, len var missing = [] if (typeof deps === 'string') { diff --git a/lib/generate-source-map.js b/lib/generate-source-map.js index d01b63cb..a264a4b7 100644 --- a/lib/generate-source-map.js +++ b/lib/generate-source-map.js @@ -2,14 +2,20 @@ const path = require('path') const sourceMap = require('source-map') const splitRE = /\r?\n/g -module.exports = function generateSourceMap (script, output, filePath, content, inputMap) { +module.exports = function generateSourceMap( + script, + output, + filePath, + content, + inputMap +) { var hashedFilename = path.basename(filePath) var map = new sourceMap.SourceMapGenerator() map.setSourceContent(hashedFilename, content) // check input source map from babel/coffee etc var inputMapConsumer = inputMap && new sourceMap.SourceMapConsumer(inputMap) var generatedOffset = (output ? output.split(splitRE).length : 0) + 1 - script.split(splitRE).forEach(function (line, index) { + script.split(splitRE).forEach(function(line, index) { var ln = index + 1 var originalLine = inputMapConsumer ? inputMapConsumer.originalPositionFor({ line: ln, column: 0 }).line diff --git a/lib/get-vue-jest-config.js b/lib/get-vue-jest-config.js index 61612a07..d65947a4 100644 --- a/lib/get-vue-jest-config.js +++ b/lib/get-vue-jest-config.js @@ -4,6 +4,8 @@ * @param {Object} jestConfig - a complete jest config object * @returns {Object} vueJestConfig - an object holding vue-jest specific configuration */ -module.exports = function getVueJestConfig (jestConfig) { - return (jestConfig && jestConfig.globals && jestConfig.globals['vue-jest']) || {} +module.exports = function getVueJestConfig(jestConfig) { + return ( + (jestConfig && jestConfig.globals && jestConfig.globals['vue-jest']) || {} + ) } diff --git a/lib/get_cache_key.js b/lib/get_cache_key.js index c379057b..6d09375d 100644 --- a/lib/get_cache_key.js +++ b/lib/get_cache_key.js @@ -1,7 +1,8 @@ var crypto = require('crypto') -module.exports = function getCacheKey (fileData, filename, configString) { - return crypto.createHash('md5') +module.exports = function getCacheKey(fileData, filename, configString) { + return crypto + .createHash('md5') .update(fileData + filename + configString, 'utf8') .digest('hex') } diff --git a/lib/load-babel-config.js b/lib/load-babel-config.js index 1420fec0..b038767b 100644 --- a/lib/load-babel-config.js +++ b/lib/load-babel-config.js @@ -6,7 +6,7 @@ const path = require('path') const { readFileSync, existsSync } = require('fs') const getVueJestConfig = require('./get-vue-jest-config') -module.exports = function getBabelConfig (config, filePath) { +module.exports = function getBabelConfig(config, filePath) { const vueJestConfig = getVueJestConfig(config) const find = () => { @@ -24,7 +24,6 @@ module.exports = function getBabelConfig (config, filePath) { if (cachedConfig) { return cachedConfig } else if (cachedConfig === false) { - return } else { let babelConfig diff --git a/lib/load-typescript-config.js b/lib/load-typescript-config.js index 589ab453..e3b603fe 100644 --- a/lib/load-typescript-config.js +++ b/lib/load-typescript-config.js @@ -4,37 +4,36 @@ const logger = require('./logger') const getVueJestConfig = require('./get-vue-jest-config') const defaultTypescriptConfig = { - 'compilerOptions': { - 'target': 'es5', - 'lib': [ - 'dom', - 'es6' - ], - 'module': 'es2015', - 'moduleResolution': 'node', - 'types': ['vue-typescript-import-dts', 'jest', 'node'], - 'isolatedModules': false, - 'experimentalDecorators': true, - 'noImplicitAny': true, - 'noImplicitThis': true, - 'strictNullChecks': true, - 'removeComments': true, - 'emitDecoratorMetadata': true, - 'suppressImplicitAnyIndexErrors': true, - 'allowSyntheticDefaultImports': true, - 'sourceMap': true, - 'allowJs': true + compilerOptions: { + target: 'es5', + lib: ['dom', 'es6'], + module: 'es2015', + moduleResolution: 'node', + types: ['vue-typescript-import-dts', 'jest', 'node'], + isolatedModules: false, + experimentalDecorators: true, + noImplicitAny: true, + noImplicitThis: true, + strictNullChecks: true, + removeComments: true, + emitDecoratorMetadata: true, + suppressImplicitAnyIndexErrors: true, + allowSyntheticDefaultImports: true, + sourceMap: true, + allowJs: true } } -module.exports.loadTypescriptConfig = function loadTypescriptConfig (config) { +module.exports.loadTypescriptConfig = function loadTypescriptConfig(config) { const vueJestConfig = getVueJestConfig(config) const find = () => { const { path, config } = tsconfig.loadSync(process.cwd()) if (!path) { - logger.info('no tsconfig.json found, defaulting to default typescript options') + logger.info( + 'no tsconfig.json found, defaulting to default typescript options' + ) } return path ? config : defaultTypescriptConfig diff --git a/lib/logger.js b/lib/logger.js index cfbf9f67..b6d9e9fa 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -1,9 +1,9 @@ -module.exports.info = function info (msg) { - console.info('\n[vue-jest]: ' + (msg) + '\n') +module.exports.info = function info(msg) { + console.info('\n[vue-jest]: ' + msg + '\n') } -module.exports.warn = function warn (msg) { - console.warn('\n[vue-jest]: ' + (msg) + '\n') +module.exports.warn = function warn(msg) { + console.warn('\n[vue-jest]: ' + msg + '\n') } module.exports.shouldLogStyleWarn = true diff --git a/lib/process-style.js b/lib/process-style.js index 3b3fe0dc..4e1c2830 100644 --- a/lib/process-style.js +++ b/lib/process-style.js @@ -1,14 +1,19 @@ const getVueJestConfig = require('./get-vue-jest-config') const cssExtract = require('extract-from-css') -module.exports = function processStyle (stylePart, filePath, jestConfig = {}) { +module.exports = function processStyle(stylePart, filePath, jestConfig = {}) { const vueJestConfig = getVueJestConfig(jestConfig) if (!stylePart || vueJestConfig.experimentalCSSCompile === false) { return {} } - const processStyleByLang = lang => require('./compilers/' + lang + '-compiler')(stylePart.content, filePath, jestConfig) + const processStyleByLang = lang => + require('./compilers/' + lang + '-compiler')( + stylePart.content, + filePath, + jestConfig + ) let cssCode = stylePart.content switch (stylePart.lang) { diff --git a/lib/process.js b/lib/process.js index 05de7a70..0443b526 100644 --- a/lib/process.js +++ b/lib/process.js @@ -13,7 +13,7 @@ const logger = require('./logger') const splitRE = /\r?\n/g const babelJest = require('babel-jest') -function processScript (scriptPart, filePath, config) { +function processScript(scriptPart, filePath, config) { if (!scriptPart) { return { code: '' } } @@ -29,12 +29,15 @@ function processScript (scriptPart, filePath, config) { return babelJest.process(scriptPart.content, filePath, config) } -module.exports = function (src, filePath, config) { +module.exports = function(src, filePath, config) { const vueJestConfig = getVueJestConfig(config) var parts = vueCompiler.parseComponent(src, { pad: true }) if (parts.script && parts.script.src) { - parts.script.content = fs.readFileSync(join(filePath, '..', parts.script.src), 'utf8') + parts.script.content = fs.readFileSync( + join(filePath, '..', parts.script.src), + 'utf8' + ) } const result = processScript(parts.script, filePath, config) @@ -48,7 +51,10 @@ module.exports = function (src, filePath, config) { const map = generateSourceMap(script, '', filePath, scriptSrc, inputMap) - let output = ';(function(){\n' + script + '\n})()\n' + + let output = + ';(function(){\n' + + script + + '\n})()\n' + 'var defaultExport = (module.exports.__esModule) ? module.exports.default : module.exports;' + 'var __vue__options__ = (typeof defaultExport === "function"' + '? defaultExport.options' + @@ -63,8 +69,13 @@ module.exports = function (src, filePath, config) { const renderFunctions = compileTemplate(parts.template, vueJestConfig) - output += '__vue__options__.render = ' + renderFunctions.render + '\n' + - '__vue__options__.staticRenderFns = ' + renderFunctions.staticRenderFns + '\n' + output += + '__vue__options__.render = ' + + renderFunctions.render + + '\n' + + '__vue__options__.staticRenderFns = ' + + renderFunctions.staticRenderFns + + '\n' if (parts.template.attrs.functional) { output += '__vue__options__.functional = true\n' @@ -78,15 +89,19 @@ module.exports = function (src, filePath, config) { } if (Array.isArray(parts.styles) && parts.styles.length > 0) { - if ((parts.styles.some(ast => /^less|pcss|postcss/.test(ast.lang))) && logger.shouldLogStyleWarn) { - !vueJestConfig.hideStyleWarn && logger.warn('Less and PostCSS are not currently compiled by vue-jest') + if ( + parts.styles.some(ast => /^less|pcss|postcss/.test(ast.lang)) && + logger.shouldLogStyleWarn + ) { + !vueJestConfig.hideStyleWarn && + logger.warn('Less and PostCSS are not currently compiled by vue-jest') logger.shouldLogStyleWarn = false } const styleStr = parts.styles .filter(ast => ast.module) .map(ast => { - const styleObj = (/^less|pcss|postcss/.test(ast.lang)) + const styleObj = /^less|pcss|postcss/.test(ast.lang) ? {} : processStyle(ast, filePath, config) @@ -96,7 +111,9 @@ module.exports = function (src, filePath, config) { if(!this['${moduleName}']) { this['${moduleName}'] = {}; } - this['${moduleName}'] = Object.assign(this['${moduleName}'], ${JSON.stringify(styleObj)}); + this['${moduleName}'] = Object.assign(this['${moduleName}'], ${JSON.stringify( + styleObj + )}); ` }) .filter(_ => _) diff --git a/lib/template-compiler.js b/lib/template-compiler.js index f659c345..1fc6f81a 100644 --- a/lib/template-compiler.js +++ b/lib/template-compiler.js @@ -6,7 +6,7 @@ var compileJade = require('./compilers/jade-compiler') var compileHaml = require('./compilers/haml-compiler') const throwError = require('./throw-error') -function getTemplateContent (templatePart, config) { +function getTemplateContent(templatePart, config) { if (templatePart.lang === 'pug') { return compilePug(templatePart, config) } @@ -19,11 +19,11 @@ function getTemplateContent (templatePart, config) { return templatePart.content } -module.exports = function compileTemplate (templatePart, config) { +module.exports = function compileTemplate(templatePart, config) { var templateContent = getTemplateContent(templatePart, config) var compiled = vueCompiler.compile(templateContent) if (compiled.errors.length) { - compiled.errors.forEach(function (msg) { + compiled.errors.forEach(function(msg) { console.error('\n' + chalk.red(msg) + '\n') }) throwError('Vue template compilation failed') @@ -32,8 +32,8 @@ module.exports = function compileTemplate (templatePart, config) { } } -function compile (compiled, isFunctional) { - function toFunction (code) { +function compile(compiled, isFunctional) { + function toFunction(code) { var renderArgs = isFunctional ? '_h, _vm' : '' return transpile('function render (' + renderArgs + ') {' + code + '}', { transforms: { stripWithFunctional: isFunctional } @@ -42,6 +42,7 @@ function compile (compiled, isFunctional) { return { render: toFunction(compiled.render), - staticRenderFns: '[' + compiled.staticRenderFns.map(toFunction).join(',') + ']' + staticRenderFns: + '[' + compiled.staticRenderFns.map(toFunction).join(',') + ']' } } diff --git a/lib/throw-error.js b/lib/throw-error.js index 39a17223..dcd3a0cf 100644 --- a/lib/throw-error.js +++ b/lib/throw-error.js @@ -1,3 +1,3 @@ -module.exports = function error (msg) { - throw new Error('\n[vue-jest] Error: ' + (msg) + '\n') +module.exports = function error(msg) { + throw new Error('\n[vue-jest] Error: ' + msg + '\n') } diff --git a/package.json b/package.json index 31f701e0..ef9101b2 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "vue jest preprocessor" ], "scripts": { - "lint": "eslint lib vue-jest.js test", + "format": "prettier --no-semi --single-quote --write '{,!(node_modules)/**/}*.{js,json,md}'", + "lint": "eslint '{,!(node_modules)/**/}*.js'", "lint:fix": "npm run lint -- --fix", "release": "build/release.sh", "release:note": "node build/gen-release-note.js", @@ -38,14 +39,20 @@ "clear-module": "^2.1.0", "coffeescript": "^2.0.3", "conventional-changelog": "^1.1.5", - "eslint": "^4.3.0", - "eslint-plugin-html": "^3.1.1", - "eslint-plugin-vue": "^2.1.0", - "eslint-plugin-vue-libs": "^1.2.0", + "eslint": "^5.9.0", + "eslint-config-prettier": "^3.3.0", + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-node": "^8.0.0", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0", "hamljs": "^0.6.2", + "husky": "^1.1.4", "jade": "^1.11.0", "jest": "^23.6.0", + "lint-staged": "^8.0.5", "node-sass": "^4.7.2", + "prettier": "^1.15.2", "pug": "^2.0.0-rc.3", "stylus": "^0.54.5", "typescript": "^2.5.2", @@ -95,5 +102,16 @@ "repository": { "type": "git", "url": "git+https://github.com/vuejs/vue-jest.git" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,json,css,md,vue}": [ + "npm run format", + "git add" + ] } } diff --git a/test/FunctionalSFC.spec.js b/test/FunctionalSFC.spec.js index 3631ceed..dbab1f82 100644 --- a/test/FunctionalSFC.spec.js +++ b/test/FunctionalSFC.spec.js @@ -28,7 +28,7 @@ describe('Processes .vue file with functional template', () => { it('handles slot', () => { wrapper = shallowMount(FunctionalSFC, { context: { - props: { msg: { id: 1, title: '' }}, + props: { msg: { id: 1, title: '' } }, children: ['this is a slot'] } }) diff --git a/test/coffee.spec.js b/test/coffee.spec.js index f4db05f2..19e8dc68 100644 --- a/test/coffee.spec.js +++ b/test/coffee.spec.js @@ -5,11 +5,7 @@ import CoffeeES6 from './resources/CoffeeES6.vue' import CoffeeScriptES6 from './resources/CoffeeScriptES6.vue' import jestVue from '../vue-jest' import { resolve } from 'path' -import { - readFileSync, - writeFileSync, - renameSync -} from 'fs' +import { readFileSync, writeFileSync, renameSync } from 'fs' import clearModule from 'clear-module' import cache from '../lib/cache' @@ -60,7 +56,10 @@ describe('Test CoffeeScript - coffee.spec.js', () => { const tempPath = resolve(__dirname, '../.renamed') const packagePath = resolve(__dirname, '../package.json') const packageOriginal = readFileSync(packagePath, { encoding: 'utf8' }) - writeFileSync(packagePath, '{ "babel": {"presets": ["env"],"plugins": ["istanbul"]}}') + writeFileSync( + packagePath, + '{ "babel": {"presets": ["env"],"plugins": ["istanbul"]}}' + ) renameSync(babelRcPath, tempPath) const filePath = resolve(__dirname, './resources/CoffeeScriptES6.vue') const fileString = readFileSync(filePath, { encoding: 'utf8' }) diff --git a/test/deprecate.spec.js b/test/deprecate.spec.js index 410f8bb3..75d2fc23 100644 --- a/test/deprecate.spec.js +++ b/test/deprecate.spec.js @@ -6,8 +6,18 @@ describe('display deprecation messaging', () => { it('should format the warning with the correct information', () => { logger.warn = jest.fn() replace('foo', 'bar') - expect(logger.warn).toHaveBeenCalledWith(chalk.bold.yellow('Deprecation Warning:'), '\n') - expect(logger.warn).toHaveBeenCalledWith(chalk.yellow(`Option ${chalk.bold('"foo"')} has been removed, and replaced by ${chalk.bold('"bar"')}`), '\n') + expect(logger.warn).toHaveBeenCalledWith( + chalk.bold.yellow('Deprecation Warning:'), + '\n' + ) + expect(logger.warn).toHaveBeenCalledWith( + chalk.yellow( + `Option ${chalk.bold( + '"foo"' + )} has been removed, and replaced by ${chalk.bold('"bar"')}` + ), + '\n' + ) logger.warn.mockRestore() }) }) diff --git a/test/load-babel-config.spec.js b/test/load-babel-config.spec.js index 984da7b6..ca59536d 100644 --- a/test/load-babel-config.spec.js +++ b/test/load-babel-config.spec.js @@ -43,7 +43,9 @@ describe('load-babel-config.js', () => { const babelRcPath = resolve(__dirname, '../.babelrc') const babelRcCopiedPath = resolve(__dirname, '../.babelrc_cp') createReadStream(babelRcPath).pipe(createWriteStream(babelRcCopiedPath)) - const babelRcOriginal = JSON.parse(readFileSync(babelRcPath, { encoding: 'utf8' })) + const babelRcOriginal = JSON.parse( + readFileSync(babelRcPath, { encoding: 'utf8' }) + ) const babelConfig = loadBabelConfig({}) expect(babelConfig).toEqual(babelRcOriginal) const tempPath = resolve(__dirname, '../.renamed') @@ -60,7 +62,9 @@ describe('load-babel-config.js', () => { it('reads .babelrc if it is below the current working directory', () => { const babelRcPath = resolve(__dirname, '../.babelrc') - const babelRcContent = JSON.parse(readFileSync(babelRcPath, { encoding: 'utf8' })) + const babelRcContent = JSON.parse( + readFileSync(babelRcPath, { encoding: 'utf8' }) + ) process.chdir('test') const babelConfig = loadBabelConfig({}) expect(babelConfig).toEqual(babelRcContent) @@ -69,7 +73,9 @@ describe('load-babel-config.js', () => { it('reads .babelrc from the current working directory', () => { const babelRcPath = resolve(__dirname, '../.babelrc') - const babelRcContent = JSON.parse(readFileSync(babelRcPath, { encoding: 'utf8' })) + const babelRcContent = JSON.parse( + readFileSync(babelRcPath, { encoding: 'utf8' }) + ) const newBabelRcPath = resolve(__dirname, '../test/.babelrc') const newBabelRcContent = '{"env":{}}' process.chdir('test') @@ -98,7 +104,10 @@ describe('load-babel-config.js', () => { const config = { plugins: ['foo'] } - writeFileSync(babelConfigPath, `module.exports = ${JSON.stringify(config)}`) + writeFileSync( + babelConfigPath, + `module.exports = ${JSON.stringify(config)}` + ) const babelConfig = loadBabelConfig({ globals: { 'vue-jest': { diff --git a/test/load-typescript-config.spec.js b/test/load-typescript-config.spec.js index 388dadbe..bb5be3c7 100644 --- a/test/load-typescript-config.spec.js +++ b/test/load-typescript-config.spec.js @@ -1,4 +1,3 @@ -const tsc = require('tsconfig') import { defaultConfig, loadTypescriptConfig @@ -13,6 +12,7 @@ import { } from 'fs' import clearModule from 'clear-module' import cache from '../lib/cache' +const tsc = require('tsconfig') describe('load-typescript-config.js', () => { beforeEach(() => { diff --git a/test/resources/BasicSrc.js b/test/resources/BasicSrc.js index c5da7ffc..3aeef17c 100644 --- a/test/resources/BasicSrc.js +++ b/test/resources/BasicSrc.js @@ -1,7 +1,7 @@ export default { name: 'basic', computed: { - headingClasses: function headingClasses () { + headingClasses: function headingClasses() { return { red: this.isCrazy, blue: !this.isCrazy, @@ -9,14 +9,14 @@ export default { } } }, - data: function data () { + data: function data() { return { msg: 'Welcome to Your Vue.js App', isCrazy: false } }, methods: { - toggleClass: function toggleClass () { + toggleClass: function toggleClass() { this.isCrazy = !this.isCrazy } } diff --git a/test/sass.spec.js b/test/sass.spec.js index 52073039..04512e54 100644 --- a/test/sass.spec.js +++ b/test/sass.spec.js @@ -50,19 +50,31 @@ describe('processes .vue files which combine sass and modules', () => { }) it('does inject classes from directly imported files via moduleNameMapper', () => { expect(wrapper.vm.$style.directImportModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.directImportModuleNameMapperClass).toEqual('directImportModuleNameMapperClass') + expect(wrapper.vm.$style.directImportModuleNameMapperClass).toEqual( + 'directImportModuleNameMapperClass' + ) }) it('does inject classes from directly imported files via moduleNameMapper for more than one rule', () => { - expect(wrapper.vm.$style.directImportMultipleModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.directImportMultipleModuleNameMapperClass).toEqual('directImportMultipleModuleNameMapperClass') + expect( + wrapper.vm.$style.directImportMultipleModuleNameMapperClass + ).toBeDefined() + expect( + wrapper.vm.$style.directImportMultipleModuleNameMapperClass + ).toEqual('directImportMultipleModuleNameMapperClass') }) it('does inject classes from files imported recursively by relative path', () => { expect(wrapper.vm.$style.globalClassesRelativeDirect).toBeDefined() - expect(wrapper.vm.$style.globalClassesRelativeDirect).toEqual('globalClassesRelativeDirect') + expect(wrapper.vm.$style.globalClassesRelativeDirect).toEqual( + 'globalClassesRelativeDirect' + ) }) it('does inject classes from files imported recursively via moduleNameMapper', () => { - expect(wrapper.vm.$style.globalClassesModuleNameMapperDirect).toBeDefined() - expect(wrapper.vm.$style.globalClassesModuleNameMapperDirect).toEqual('globalClassesModuleNameMapperDirect') + expect( + wrapper.vm.$style.globalClassesModuleNameMapperDirect + ).toBeDefined() + expect(wrapper.vm.$style.globalClassesModuleNameMapperDirect).toEqual( + 'globalClassesModuleNameMapperDirect' + ) }) }) @@ -77,19 +89,29 @@ describe('processes .vue files which combine sass and modules', () => { }) it('does inject classes from imports within sass files via moduleNameMapper', () => { expect(wrapper.vm.$style.sassImportModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.sassImportModuleNameMapperClass).toEqual('sassImportModuleNameMapperClass') + expect(wrapper.vm.$style.sassImportModuleNameMapperClass).toEqual( + 'sassImportModuleNameMapperClass' + ) }) it('does inject classes from imports within sass files via moduleNameMapper for more than one rule', () => { - expect(wrapper.vm.$style.sassImportMultipleModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.sassImportMultipleModuleNameMapperClass).toEqual('sassImportMultipleModuleNameMapperClass') + expect( + wrapper.vm.$style.sassImportMultipleModuleNameMapperClass + ).toBeDefined() + expect(wrapper.vm.$style.sassImportMultipleModuleNameMapperClass).toEqual( + 'sassImportMultipleModuleNameMapperClass' + ) }) it('does inject classes from imports within sass files imported recursively by relative path', () => { expect(wrapper.vm.$style.globalClassesRelative).toBeDefined() - expect(wrapper.vm.$style.globalClassesRelative).toEqual('globalClassesRelative') + expect(wrapper.vm.$style.globalClassesRelative).toEqual( + 'globalClassesRelative' + ) }) it('does inject classes from imports within sass files imported recursively via moduleNameMapper', () => { expect(wrapper.vm.$style.globalClassesModuleNameMapper).toBeDefined() - expect(wrapper.vm.$style.globalClassesModuleNameMapper).toEqual('globalClassesModuleNameMapper') + expect(wrapper.vm.$style.globalClassesModuleNameMapper).toEqual( + 'globalClassesModuleNameMapper' + ) }) }) @@ -100,7 +122,9 @@ describe('processes .vue files which combine sass and modules', () => { }) it('does inject classes from sass if multiple modules are present', () => { expect(wrapper.vm.$style.directImportSecondClass).toBeDefined() - expect(wrapper.vm.$style.directImportSecondClass).toEqual('directImportSecondClass') + expect(wrapper.vm.$style.directImportSecondClass).toEqual( + 'directImportSecondClass' + ) }) }) }) diff --git a/test/scss.spec.js b/test/scss.spec.js index f477c5a3..9bab413a 100644 --- a/test/scss.spec.js +++ b/test/scss.spec.js @@ -50,19 +50,31 @@ describe('processes .vue files which combine scss and modules', () => { }) it('does inject classes from directly imported files via moduleNameMapper', () => { expect(wrapper.vm.$style.directImportModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.directImportModuleNameMapperClass).toEqual('directImportModuleNameMapperClass') + expect(wrapper.vm.$style.directImportModuleNameMapperClass).toEqual( + 'directImportModuleNameMapperClass' + ) }) it('does inject classes from directly imported files via moduleNameMapper for more than one rule', () => { - expect(wrapper.vm.$style.directImportMultipleModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.directImportMultipleModuleNameMapperClass).toEqual('directImportMultipleModuleNameMapperClass') + expect( + wrapper.vm.$style.directImportMultipleModuleNameMapperClass + ).toBeDefined() + expect( + wrapper.vm.$style.directImportMultipleModuleNameMapperClass + ).toEqual('directImportMultipleModuleNameMapperClass') }) it('does inject classes from files imported recursively by relative path', () => { expect(wrapper.vm.$style.globalClassesRelativeDirect).toBeDefined() - expect(wrapper.vm.$style.globalClassesRelativeDirect).toEqual('globalClassesRelativeDirect') + expect(wrapper.vm.$style.globalClassesRelativeDirect).toEqual( + 'globalClassesRelativeDirect' + ) }) it('does inject classes from files imported recursively via moduleNameMapper', () => { - expect(wrapper.vm.$style.globalClassesModuleNameMapperDirect).toBeDefined() - expect(wrapper.vm.$style.globalClassesModuleNameMapperDirect).toEqual('globalClassesModuleNameMapperDirect') + expect( + wrapper.vm.$style.globalClassesModuleNameMapperDirect + ).toBeDefined() + expect(wrapper.vm.$style.globalClassesModuleNameMapperDirect).toEqual( + 'globalClassesModuleNameMapperDirect' + ) }) }) @@ -77,19 +89,29 @@ describe('processes .vue files which combine scss and modules', () => { }) it('does inject classes from imports within scss files via moduleNameMapper', () => { expect(wrapper.vm.$style.scssImportModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.scssImportModuleNameMapperClass).toEqual('scssImportModuleNameMapperClass') + expect(wrapper.vm.$style.scssImportModuleNameMapperClass).toEqual( + 'scssImportModuleNameMapperClass' + ) }) it('does inject classes from imports within scss files via moduleNameMapper for more than one rule', () => { - expect(wrapper.vm.$style.scssImportMultipleModuleNameMapperClass).toBeDefined() - expect(wrapper.vm.$style.scssImportMultipleModuleNameMapperClass).toEqual('scssImportMultipleModuleNameMapperClass') + expect( + wrapper.vm.$style.scssImportMultipleModuleNameMapperClass + ).toBeDefined() + expect(wrapper.vm.$style.scssImportMultipleModuleNameMapperClass).toEqual( + 'scssImportMultipleModuleNameMapperClass' + ) }) it('does inject classes from imports within scss files imported recursively by relative path', () => { expect(wrapper.vm.$style.globalClassesRelative).toBeDefined() - expect(wrapper.vm.$style.globalClassesRelative).toEqual('globalClassesRelative') + expect(wrapper.vm.$style.globalClassesRelative).toEqual( + 'globalClassesRelative' + ) }) it('does inject classes from imports within scss files imported recursively via moduleNameMapper', () => { expect(wrapper.vm.$style.globalClassesModuleNameMapper).toBeDefined() - expect(wrapper.vm.$style.globalClassesModuleNameMapper).toEqual('globalClassesModuleNameMapper') + expect(wrapper.vm.$style.globalClassesModuleNameMapper).toEqual( + 'globalClassesModuleNameMapper' + ) }) }) @@ -100,7 +122,9 @@ describe('processes .vue files which combine scss and modules', () => { }) it('does inject classes from scss if multiple modules are present', () => { expect(wrapper.vm.$style.directImportSecondClass).toBeDefined() - expect(wrapper.vm.$style.directImportSecondClass).toEqual('directImportSecondClass') + expect(wrapper.vm.$style.directImportSecondClass).toEqual( + 'directImportSecondClass' + ) }) }) }) diff --git a/test/stylus.spec.js b/test/stylus.spec.js index 35cc2105..0e2af87b 100644 --- a/test/stylus.spec.js +++ b/test/stylus.spec.js @@ -39,10 +39,7 @@ describe('processes .vue file with Stylus style', () => { globals: { 'vue-jest': { experimentalCSSCompile: false } }, - moduleFileExtensions: [ - 'js', - 'vue' - ] + moduleFileExtensions: ['js', 'vue'] }) }) }) diff --git a/tsconfig.json b/tsconfig.json index 61d974a5..17e77c44 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,10 +1,7 @@ { "compilerOptions": { "target": "es5", - "lib": [ - "dom", - "es6" - ], + "lib": ["dom", "es6"], "module": "es2015", "moduleResolution": "node", "types": ["vue-typescript-import-dts", "jest", "node"], diff --git a/yarn.lock b/yarn.lock index c0e838ba..dd9953f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0-beta.35": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" dependencies: @@ -16,6 +16,25 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@iamstarkov/listr-update-renderer@0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz#d7c48092a2dcf90fd672b6c8b458649cb350c77e" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" + dependencies: + any-observable "^0.3.0" + "@types/strip-bom@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" @@ -70,6 +89,10 @@ acorn-jsx@^3.0.0: dependencies: acorn "^3.0.4" +acorn-jsx@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.0.tgz#958584ddb60990c02c97c1bd9d521fce433bb101" + acorn-walk@^6.0.1: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" @@ -98,15 +121,11 @@ acorn@^5.5.3: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" -acorn@^6.0.1: +acorn@^6.0.1, acorn@^6.0.2: version "6.0.4" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.1.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -115,7 +134,7 @@ ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.5.5: +ajv@^6.5.3, ajv@^6.5.5: version "6.5.5" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" dependencies: @@ -136,6 +155,10 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" +ansi-escapes@^1.0.0: + version "1.4.0" + resolved "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + ansi-escapes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" @@ -164,6 +187,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -224,13 +251,6 @@ array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -327,7 +347,7 @@ aws4@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -1023,7 +1043,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1041,7 +1061,7 @@ chalk@^2.0.0, chalk@^2.1.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chalk@^2.0.1: +chalk@^2.0.1, chalk@^2.3.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -1059,9 +1079,9 @@ character-parser@^2.1.1: dependencies: is-regex "^1.0.3" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" chownr@^1.1.1: version "1.1.1" @@ -1071,6 +1091,10 @@ ci-info@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + circular-json@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" @@ -1098,12 +1122,25 @@ clear-module@^2.1.0: caller-path "^2.0.0" resolve-from "^3.0.0" -cli-cursor@^2.1.0: +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -1183,6 +1220,10 @@ commander@2.8.x: dependencies: graceful-readlink ">= 1.0.0" +commander@^2.14.1: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + commander@^2.9.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -1206,14 +1247,6 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - config-chain@~1.1.5: version "1.1.11" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" @@ -1238,6 +1271,10 @@ constantinople@~3.0.1: dependencies: acorn "^2.1.0" +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + conventional-changelog-angular@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.0.tgz#0a26a071f2c9fcfcf2b86ba0cfbf6e6301b75bfa" @@ -1369,10 +1406,6 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - core-js@^2.4.0, core-js@^2.5.0: version "2.5.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" @@ -1381,6 +1414,15 @@ core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +cosmiconfig@^5.0.2, cosmiconfig@^5.0.6: + version "5.0.7" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.9.0" + parse-json "^4.0.0" + cross-spawn@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" @@ -1388,7 +1430,7 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -1396,6 +1438,16 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1472,6 +1524,10 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +date-fns@^1.27.2: + version "1.29.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" + dateformat@^1.0.11, dateformat@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" @@ -1489,12 +1545,18 @@ debug@*, debug@^3.1.0: dependencies: ms "2.0.0" -debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: ms "2.0.0" +debug@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" + dependencies: + ms "^2.1.1" + decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1503,6 +1565,10 @@ decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -1555,6 +1621,17 @@ del@^2.0.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1581,7 +1658,14 @@ diff@^3.2.0: version "3.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" -doctrine@^2.0.0, doctrine@^2.0.2: +doctrine@1.5.0: + version "1.5.0" + resolved "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" dependencies: @@ -1657,11 +1741,15 @@ electron-to-chromium@^1.3.30: dependencies: electron-releases "^2.1.0" -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + +end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" dependencies: - iconv-lite "~0.4.13" + once "^1.4.0" entities@^1.1.1, entities@~1.1.1: version "1.1.1" @@ -1673,6 +1761,12 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + dependencies: + is-arrayish "^0.2.1" + es-abstract@^1.5.1: version "1.12.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" @@ -1683,16 +1777,6 @@ es-abstract@^1.5.1: is-callable "^1.1.3" is-regex "^1.0.4" -es-abstract@^1.7.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - es-to-primitive@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" @@ -1701,7 +1785,7 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1716,27 +1800,83 @@ escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" +eslint-config-prettier@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d" + dependencies: + get-stdin "^6.0.0" + +eslint-config-standard@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9" + +eslint-import-resolver-node@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + dependencies: + debug "^2.6.9" + resolve "^1.5.0" + +eslint-module-utils@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" + dependencies: + debug "^2.6.8" + pkg-dir "^1.0.0" + +eslint-plugin-es@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.3.2.tgz#6d2e94ed40db3b3d92a0eb55c7c06e3a7adbb3db" + dependencies: + eslint-utils "^1.3.0" + regexpp "^2.0.1" + eslint-plugin-html@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897" dependencies: htmlparser2 "^3.8.2" -eslint-plugin-html@^3.0.0, eslint-plugin-html@^3.1.1: +eslint-plugin-html@^3.1.1: version "3.2.2" resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-3.2.2.tgz#ef7093621d3a93de3206fd1f92f347ea9a1a4dfa" dependencies: htmlparser2 "^3.8.2" semver "^5.4.1" -eslint-plugin-react@^7.0.0: - version "7.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz#52e56e8d80c810de158859ef07b880d2f56ee30b" +eslint-plugin-import@^2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" dependencies: - doctrine "^2.0.0" + contains-path "^0.1.0" + debug "^2.6.8" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.1" + eslint-module-utils "^2.2.0" has "^1.0.1" - jsx-ast-utils "^2.0.0" - prop-types "^15.6.0" + lodash "^4.17.4" + minimatch "^3.0.3" + read-pkg-up "^2.0.0" + resolve "^1.6.0" + +eslint-plugin-node@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-8.0.0.tgz#fb9e8911f4543514f154bb6a5924b599aa645568" + dependencies: + eslint-plugin-es "^1.3.1" + eslint-utils "^1.3.1" + ignore "^5.0.2" + minimatch "^3.0.4" + resolve "^1.8.1" + semver "^5.5.0" + +eslint-plugin-promise@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz#2d074b653f35a23d1ba89d8e976a985117d1c6a2" + +eslint-plugin-standard@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz#f845b45109c99cd90e77796940a344546c8f6b5c" eslint-plugin-vue-libs@^1.2.0: version "1.2.1" @@ -1744,12 +1884,11 @@ eslint-plugin-vue-libs@^1.2.0: dependencies: eslint-plugin-html "^2.0.0" -eslint-plugin-vue@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-2.1.0.tgz#50ed0b7e9a2389d90e689743a3cc26b502441b69" +eslint-plugin-vue@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz#c829b9fc62582c1897b5a0b94afd44ecca511e63" dependencies: - eslint-plugin-html "^3.0.0" - eslint-plugin-react "^7.0.0" + vue-eslint-parser "^2.0.3" eslint-scope@^3.7.1: version "3.7.1" @@ -1758,51 +1897,63 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.3.0, eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" -eslint@^4.3.0: - version "4.15.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.15.0.tgz#89ab38c12713eec3d13afac14e4a89e75ef08145" +eslint@^5.9.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz#b234b6d15ef84b5849c6de2af43195a2d59d408e" dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" + ajv "^6.5.3" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.0.2" - eslint-scope "^3.7.1" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^2.1.0" + eslint-scope "^4.0.0" + eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^3.5.2" - esquery "^1.0.0" + espree "^4.0.0" + esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^2.0.0" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + globals "^11.7.0" + ignore "^4.0.6" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^6.1.0" + is-resolvable "^1.1.0" + js-yaml "^3.12.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.5" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" path-is-inside "^1.0.2" pluralize "^7.0.0" progress "^2.0.0" + regexpp "^2.0.1" require-uncached "^1.0.3" - semver "^5.3.0" + semver "^5.5.1" strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" + strip-json-comments "^2.0.1" + table "^5.0.2" + text-table "^0.2.0" espree@^3.5.2: version "3.5.2" @@ -1811,6 +1962,14 @@ espree@^3.5.2: acorn "^5.2.1" acorn-jsx "^3.0.0" +espree@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" + dependencies: + acorn "^6.0.2" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" + esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" @@ -1825,6 +1984,12 @@ esquery@^1.0.0: dependencies: estraverse "^4.0.0" +esquery@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + dependencies: + estraverse "^4.0.0" + esrecurse@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" @@ -1858,6 +2023,22 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -1918,12 +2099,12 @@ extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" -external-editor@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" +external-editor@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^0.3.1: @@ -1981,17 +2162,12 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.16: - version "0.8.16" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" + escape-string-regexp "^1.0.5" object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.9" figures@^2.0.0: version "2.0.0" @@ -2043,6 +2219,10 @@ find-babel-config@^1.1.0: json5 "^0.5.1" path-exists "^3.0.0" +find-parent-dir@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -2050,12 +2230,18 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.1.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: locate-path "^2.0.0" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + dependencies: + locate-path "^3.0.0" + flat-cache@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" @@ -2147,6 +2333,14 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" +g-status@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz#270fd32119e8fc9496f066fe5fe88e0a6bc78b97" + dependencies: + arrify "^1.0.1" + matcher "^1.0.0" + simple-git "^1.85.0" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2180,6 +2374,10 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" + get-pkg-repo@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" @@ -2194,10 +2392,20 @@ get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + get-stream@^3.0.0: version "3.0.0" resolved "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -2283,9 +2491,9 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.0.1: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.1.0.tgz#632644457f5f0e3ae711807183700ebf2e4633e4" +globals@^11.7.0: + version "11.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" globals@^9.18.0: version "9.18.0" @@ -2302,6 +2510,16 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globby@^6.1.0: + version "6.1.0" + resolved "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + globule@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" @@ -2492,11 +2710,26 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: +husky@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-1.1.4.tgz#92f61383527d2571e9586234e5864356bfaceaa9" + dependencies: + cosmiconfig "^5.0.6" + execa "^1.0.0" + find-up "^3.0.0" + get-stdin "^6.0.0" + is-ci "^1.2.1" + pkg-dir "^3.0.0" + please-upgrade-node "^3.1.1" + read-pkg "^4.0.1" + run-node "^1.0.0" + slash "^2.0.0" + +iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -iconv-lite@0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" dependencies: @@ -2508,9 +2741,20 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + +ignore@^5.0.2: + version "5.0.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.0.4.tgz#33168af4a21e99b00c5d41cbadb6a6cb49903a45" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" import-local@^1.0.0: version "1.0.0" @@ -2533,6 +2777,10 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2540,7 +2788,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2548,21 +2796,20 @@ ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" +inquirer@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" + external-editor "^3.0.0" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.10" mute-stream "0.0.7" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" + rxjs "^6.1.0" string-width "^2.1.0" strip-ansi "^4.0.0" through "^2.3.6" @@ -2619,6 +2866,12 @@ is-ci@^1.0.10: dependencies: ci-info "^1.0.0" +is-ci@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + dependencies: + ci-info "^1.5.0" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -2651,6 +2904,10 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -2689,6 +2946,10 @@ is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" @@ -2715,6 +2976,12 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + is-my-ip-valid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" @@ -2741,10 +3008,16 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" -is-obj@^1.0.0: +is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + dependencies: + symbol-observable "^1.1.0" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -2793,11 +3066,15 @@ is-regex@^1.0.3, is-regex@^1.0.4: dependencies: has "^1.0.1" -is-resolvable@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4" +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + +is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -2827,7 +3104,7 @@ is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" -isarray@1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -2845,13 +3122,6 @@ isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -3210,7 +3480,7 @@ jest-util@^23.4.0: slash "^1.0.0" source-map "^0.6.0" -jest-validate@^23.6.0: +jest-validate@^23.5.0, jest-validate@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474" dependencies: @@ -3265,7 +3535,14 @@ js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" -js-yaml@^3.7.0, js-yaml@^3.9.1: +js-yaml@^3.12.0, js-yaml@^3.9.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.7.0: version "3.10.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" dependencies: @@ -3315,6 +3592,10 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" @@ -3370,12 +3651,6 @@ jstransformer@1.0.0: is-promise "^2.0.0" promise "^7.0.1" -jsx-ast-utils@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - dependencies: - array-includes "^3.0.3" - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -3425,6 +3700,76 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lint-staged@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.0.5.tgz#8eeca1a213eaded09c4e217da455b6f432046034" + dependencies: + "@iamstarkov/listr-update-renderer" "0.4.1" + chalk "^2.3.1" + commander "^2.14.1" + cosmiconfig "^5.0.2" + debug "^3.1.0" + dedent "^0.7.0" + del "^3.0.0" + execa "^1.0.0" + find-parent-dir "^0.3.0" + g-status "^2.0.2" + is-glob "^4.0.0" + is-windows "^1.0.2" + jest-validate "^23.5.0" + listr "^0.14.2" + lodash "^4.17.5" + log-symbols "^2.2.0" + micromatch "^3.1.8" + npm-which "^3.0.1" + p-map "^1.1.1" + path-is-inside "^1.0.2" + pify "^3.0.0" + please-upgrade-node "^3.0.2" + staged-git-files "1.1.2" + string-argv "^0.0.2" + stringify-object "^3.2.2" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + +listr-update-renderer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +listr@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.2.tgz#cbe44b021100a15376addfc2d79349ee430bfe14" + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.4.0" + listr-verbose-renderer "^0.4.0" + p-map "^1.1.1" + rxjs "^6.1.0" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -3435,6 +3780,15 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^2.0.0: + version "2.0.0" + resolved "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -3442,6 +3796,13 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -3475,11 +3836,11 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "~3.0.0" -lodash@4.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: +lodash@4.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -lodash@^4.13.1: +lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.5: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" @@ -3487,11 +3848,38 @@ lodash@~4.17.4: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + dependencies: + chalk "^2.0.1" + +log-update@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -loose-envify@^1.0.0, loose-envify@^1.3.1: +loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: @@ -3537,6 +3925,12 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +matcher@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2" + dependencies: + escape-string-regexp "^1.0.4" + mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -3586,7 +3980,7 @@ micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.4: +micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: @@ -3690,6 +4084,10 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -3730,6 +4128,10 @@ needle@^2.2.1: iconv-lite "^0.4.4" sax "^1.2.4" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + node-cache@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-4.1.1.tgz#08524645ee4039dedc3dcc1dd7c6b979e0619e44" @@ -3737,13 +4139,6 @@ node-cache@^4.1.1: clone "2.x" lodash "4.x" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-gyp@^3.3.1: version "3.6.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" @@ -3853,12 +4248,26 @@ npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" +npm-path@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" + dependencies: + which "^1.2.10" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: path-key "^2.0.0" +npm-which@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" + dependencies: + commander "^2.9.0" + npm-path "^2.0.2" + which "^1.2.10" + "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" @@ -3926,12 +4335,16 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -once@^1.3.0, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" +onetime@^1.0.0: + version "1.1.0" + resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -4001,16 +4414,36 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" +p-limit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" + dependencies: + p-try "^2.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" dependencies: p-limit "^1.1.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + dependencies: + p-limit "^2.0.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + parse-github-repo-url@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" @@ -4030,6 +4463,13 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -4056,7 +4496,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-key@^2.0.0: +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -4072,6 +4512,12 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -4080,6 +4526,10 @@ pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -4090,12 +4540,30 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" dependencies: find-up "^2.1.0" +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + dependencies: + find-up "^3.0.0" + +please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" + dependencies: + semver-compare "^1.0.0" + pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" @@ -4116,6 +4584,10 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +prettier@^1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.2.tgz#d31abe22afa4351efa14c7f8b94b58bb7452205e" + pretty-format@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" @@ -4145,7 +4617,7 @@ promise@^6.0.1: dependencies: asap "~1.0.0" -promise@^7.0.1, promise@^7.1.1: +promise@^7.0.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" dependencies: @@ -4164,14 +4636,6 @@ prompts@^0.1.9: kleur "^2.0.1" sisteransi "^0.1.1" -prop-types@^15.6.0: - version "15.6.0" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.3.1" - object-assign "^4.1.1" - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -4277,6 +4741,13 @@ pug@^2.0.0-rc.3: pug-runtime "^2.0.3" pug-strip-comments "^1.0.2" +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -4324,6 +4795,13 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4332,6 +4810,22 @@ read-pkg@^1.0.0, read-pkg@^1.1.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + dependencies: + normalize-package-data "^2.3.2" + parse-json "^4.0.0" + pify "^3.0.0" + readable-stream@^2.0.1, readable-stream@^2.0.6: version "2.3.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" @@ -4344,7 +4838,7 @@ readable-stream@^2.0.1, readable-stream@^2.0.6: string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2: +readable-stream@^2.0.2, readable-stream@^2.1.5: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -4398,6 +4892,10 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -4568,6 +5066,19 @@ resolve@^1.1.6: dependencies: path-parse "^1.0.5" +resolve@^1.5.0, resolve@^1.6.0, resolve@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -4601,15 +5112,15 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" +run-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" +rxjs@^6.1.0: + version "6.3.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" + dependencies: + tslib "^1.9.0" safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" @@ -4668,11 +5179,15 @@ scss-tokenizer@^0.2.3: js-base64 "^2.1.8" source-map "^0.4.2" +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" -semver@^5.5.0: +semver@^5.5.0, semver@^5.5.1: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" @@ -4702,10 +5217,6 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -4728,6 +5239,12 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +simple-git@^1.85.0: + version "1.107.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.107.0.tgz#12cffaf261c14d6f450f7fdb86c21ccee968b383" + dependencies: + debug "^4.0.1" + sisteransi@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" @@ -4736,6 +5253,14 @@ slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "http://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + slice-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" @@ -4895,6 +5420,10 @@ stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" +staged-git-files@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -4912,6 +5441,10 @@ stealthy-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" +string-argv@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" + string-length@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" @@ -4940,6 +5473,14 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" +stringify-object@^3.2.2: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -4976,7 +5517,7 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: +strip-json-comments@^2.0.0, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -5013,18 +5554,20 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" +table@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" + ajv "^6.5.3" + lodash "^4.17.10" slice-ansi "1.0.0" string-width "^2.1.1" @@ -5072,7 +5615,7 @@ text-extensions@^1.0.0: version "1.7.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -5191,6 +5734,10 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -5211,18 +5758,10 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - typescript@^2.5.2: version "2.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" -ua-parser-js@^0.7.9: - version "0.7.17" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" - uglify-js@^2.4.19, uglify-js@^2.6, uglify-js@^2.6.1: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" @@ -5315,6 +5854,17 @@ void-elements@^2.0.1, void-elements@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" +vue-eslint-parser@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1" + dependencies: + debug "^3.1.0" + eslint-scope "^3.7.1" + eslint-visitor-keys "^1.0.0" + espree "^3.5.2" + esquery "^1.0.0" + lodash "^4.17.4" + vue-template-compiler@^2.4.2: version "2.5.13" resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.13.tgz#12a2aa0ecd6158ac5e5f14d294b0993f399c3d38" @@ -5365,10 +5915,6 @@ whatwg-encoding@^1.0.3: dependencies: iconv-lite "0.4.24" -whatwg-fetch@>=0.10.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" - whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz#a3d58ef10b76009b042d03e25591ece89b88d171" @@ -5403,6 +5949,12 @@ which@1, which@^1.2.12, which@^1.2.9, which@^1.3.0: dependencies: isexe "^2.0.0" +which@^1.2.10: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" @@ -5446,6 +5998,13 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"