From 7ae5e58628b36550b3583dab5fd46755c6c42756 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Thu, 31 Jan 2019 22:39:11 +0200 Subject: [PATCH 01/14] major: start next major --- cli.js | 4 +- package.json | 22 +- src/cli.js | 85 ++--- src/index.js | 15 +- src/plugins.js | 60 ++++ yarn.lock | 960 +++++++++++++++++++++++++++++-------------------- 6 files changed, 694 insertions(+), 452 deletions(-) create mode 100644 src/plugins.js diff --git a/cli.js b/cli.js index 0722d56..db741e4 100644 --- a/cli.js +++ b/cli.js @@ -7,8 +7,6 @@ const proc = require('process'); const parser = require('mri'); const esmLoader = require('esm'); -const pkg = require('./package'); - const esmRequire = esmLoader(module); function interop(x) { @@ -28,4 +26,4 @@ const argv = parser(proc.argv.slice(2), { }, }); -cli(pkg, argv).catch(console.error); +cli(argv, proc.env).catch(console.error); diff --git a/package.json b/package.json index 3697555..cae46f5 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "license": "Apache-2.0", "licenseStart": "2018", "scripts": { + "standard-release": "node cli.js", "docs": "docks --outfile .verb.md && verb", "lint": "eslint '**/*.js' --cache --fix --quiet --format codeframe", "test-only": "asia -r esm --reporter codeframe", @@ -11,22 +12,26 @@ "precommit": "yarn run lint && yarn run test-only", "commit": "yarn dry", "dry": "git add -A && git status --porcelain && gitcommit", - "release": "node cli.js" + "release": "yarn standard-release" }, "engines": { "node": "^8.10.0 || >=10.13.0" }, + "resolutions": { + "esm": "^3.2.0" + }, "dependencies": { - "@tunnckocore/execa": "^2.1.2", + "@tunnckocore/execa": "^2.2.1", "dedent": "^0.7.0", - "detect-next-version": "^3.1.0", - "esm": "^3.0.84", - "git-commits-since": "^2.0.0", - "is-ci": "^1.2.1", - "mri": "^1.1.1" + "detect-next-version": "^4.0.0", + "esm": "^3.2.0", + "git-commits-since": "^2.0.4", + "is-ci": "^2.0.0", + "mri": "^1.1.4", + "registry-url": "^4.0.0" }, "devDependencies": { - "@tunnckocore/config": "^1.0.2", + "@tunnckocore/config": "^1.0.3", "asia": "^0.19.7", "fs-extra": "^7.0.1", "simple-git": "^1.107.0" @@ -39,6 +44,7 @@ "bin": { "standard-release": "cli.js" }, + "main": "index.js", "module": "src/index.js", "typings": "src/index.d.ts", "version": "0.0.0", diff --git a/src/cli.js b/src/cli.js index e9fa201..0ab67a5 100644 --- a/src/cli.js +++ b/src/cli.js @@ -1,16 +1,13 @@ -import fs from 'fs'; -import util from 'util'; -import path from 'path'; import proc from 'process'; -import { exec } from '@tunnckocore/execa'; +import path from 'path'; import isCI from 'is-ci'; -import ded from 'dedent'; +import { npm } from './plugins'; import release from './index'; -export default function releaseCli(pkg, argv) { - return release(argv) - .then(async (result) => { +export default function releaseCli(argv, env) { + return release(argv, env) + .then(async (results) => { if (argv.ci && !isCI) { console.error('Publishing is only allowed on CI services!'); console.error( @@ -18,54 +15,30 @@ export default function releaseCli(pkg, argv) { ); proc.exit(1); } - if (argv.dry) { - console.log(JSON.stringify(result, null, 2)); - console.log(argv); - return null; - } - if (!result.increment && !result.nextVersion) { - console.log('Skipping `npm publish` stage...'); - return null; + if (argv.verbose) { + console.log('Meta info:', serialize(results)); + console.log('Flags / Options:', argv); } - const token = argv.token || proc.env.NPM_TOKEN; - if (!token) { - throw new Error( - 'Expect --token to be passed or NPM_TOKEN environment variable to be set.', - ); + // should be path to file + if (argv.plugin) { + // with `export default () => {}` or + // named exports `export async function fooPlugin(argv, env, results) {}` + const plugins = await import(path.resolve(argv.cwd, argv.plugin)); + + await Object.keys(plugins) + .filter( + (exportName) => + exportName.endsWith('Plugin') || exportName === 'default', + ) + .map(async (name) => { + const plugin = plugins[name]; + await plugin(argv, env, results); + }); + } else { + await npm(argv, env, results); } - console.log( - 'Meta Info:', - JSON.stringify( - result, - (x, v) => (typeof v === 'function' ? '[Function]' : v), - 2, - ), - ); - - const defaultRegistry = 'https://registry.npmjs.org/'; - const registry = - argv.registry || proc.env.NPM_REGISTRY || defaultRegistry; - const content = ded`//registry.npmjs.org/:_authToken=${token} - sign-git-tag=false - git-tag-version=false - allow-same-version=false - `; - - const opts = { - cwd: argv.cwd, - stdio: 'inherit', - }; - - await util.promisify(fs.writeFile)( - path.join(argv.cwd, '.npmrc'), - content, - ); - await exec(`npm version ${result.nextVersion}`, opts); - await exec(`npm publish --registry ${registry}`, opts); - - console.log('Successfully published.'); return true; }) .catch((err) => { @@ -73,3 +46,11 @@ export default function releaseCli(pkg, argv) { proc.exit(1); }); } + +function serialize(val) { + return JSON.stringify( + val, + (x, v) => (typeof v === 'function' ? '[Function]' : v), + 2, + ); +} diff --git a/src/index.js b/src/index.js index 2f7acab..b0fbfec 100644 --- a/src/index.js +++ b/src/index.js @@ -5,8 +5,19 @@ import detector from 'detect-next-version'; export default async function release(options) { const opts = Object.assign({ cwd: proc.cwd() }, options); + + // TODO: in next minor + if (opts.monorepo) { + return {}; + } + const { default: pkg } = await import(path.join(opts.cwd, 'package.json')); - const { rawCommits } = await gitCommitsSince(opts); + const { plugin, ...opt } = opts; + const { rawCommits } = await gitCommitsSince(opt); + + if (rawCommits.length === 0) { + throw new Error('No commits since last tag.'); + } - return detector(pkg.name, rawCommits); + return detector(rawCommits, Object.assign({}, opt, { name: pkg.name })); } diff --git a/src/plugins.js b/src/plugins.js new file mode 100644 index 0000000..b1f4c38 --- /dev/null +++ b/src/plugins.js @@ -0,0 +1,60 @@ +import fs from 'fs'; +import util from 'util'; +import path from 'path'; +import dedent from 'dedent'; +import { exec } from '@tunnckocore/execa'; +import registryUrl from 'registry-url'; + +/* eslint-disable import/prefer-default-export */ + +export async function npm(options, env, results) { + const opts = Object.assign( + { 'sign-git-tag': false, 'git-tag-version': false }, + options, + ); + const token = opts.token || env.NPM_TOKEN; + if (!token) { + throw new Error( + 'Expect --token to be passed or NPM_TOKEN environment variable to be set.', + ); + } + + const registry = opts.registry || env.NPM_REGISTRY || registryUrl(); + let reg = registry.replace(/https?:\/\//, ''); + reg = reg.endsWith('/') ? reg.slice(0, -1) : reg; + + const content = dedent`//${reg}/:_authToken=${token} + sign-git-tag=${opts['sign-git-tag']} + git-tag-version=${opts['git-tag-version']} + allow-same-version=false + `; + + await util.promisify(fs.writeFile)(path.join(opts.cwd, '.npmrc'), content); + + await results.map(async (result) => { + if (!result.increment && !result.nextVersion) { + console.log('Skipping `publish` stage for', result.name); + return; + } + + const pkgFolder = path.join(result.cwd, result.path); + const execOpts = { cwd: pkgFolder, stdio: 'inherit' }; + + if (opts.verbose) { + console.log('Package Info:', result); + } + if (opts.dry) { + console.log(result.name, result.lastVersion, '==>', result.nextVersion); + return; + } + + await exec(`npm version ${result.nextVersion}`, execOpts); + await exec(`npm publish`, execOpts); + }); + + if (opts.dry) { + console.log('Possible publish for', results.length, 'packages.'); + return; + } + console.log('Successfully published', results.length, 'packages.'); +} diff --git a/yarn.lock b/yarn.lock index 5640678..68b03bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,12 +9,12 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/generator@^7.1.5": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.5.tgz#615f064d13d95f8f9157c7261f68eddf32ec15b3" - integrity sha512-IO31r62xfMI+wBJVmgx0JR9ZOHty8HkoYpQAjRWUGG9vykBTlGHdArZ8zoFtpUu2gs17K7qTl/TtPpiSi6t+MA== +"@babel/generator@^7.2.2": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" + integrity sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg== dependencies: - "@babel/types" "^7.1.5" + "@babel/types" "^7.3.0" jsesc "^2.5.1" lodash "^4.17.10" source-map "^0.5.0" @@ -52,39 +52,39 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.2", "@babel/parser@^7.1.3", "@babel/parser@^7.1.5": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.5.tgz#20b7d5e7e1811ba996f8a868962ea7dd2bfcd2fc" - integrity sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.3", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.1.tgz#8f4ffd45f779e6132780835ffa7a215fa0b2d181" + integrity sha512-ATz6yX/L8LEnC3dtLQnIx4ydcPxhLcoy9Vl6re00zb2w5lG6itY6Vhnr1KFRPq/FHNsgl/gh2mjNN20f9iJTTA== "@babel/template@^7.1.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644" - integrity sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag== + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" + integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.1.2" - "@babel/types" "^7.1.2" + "@babel/parser" "^7.2.2" + "@babel/types" "^7.2.2" "@babel/traverse@^7.0.0": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.5.tgz#5aafca2039aa058c104cf2bfeb9fc4a857ccbca9" - integrity sha512-eU6XokWypl0MVJo+MTSPUtlfPePkrqsF26O+l1qFGlCKWwmiYAYy2Sy44Qw8m2u/LbPCsxYt90rghmqhYMGpPA== + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" + integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.1.5" + "@babel/generator" "^7.2.2" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.1.5" - "@babel/types" "^7.1.5" - debug "^3.1.0" + "@babel/parser" "^7.2.3" + "@babel/types" "^7.2.2" + debug "^4.1.0" globals "^11.1.0" lodash "^4.17.10" -"@babel/types@^7.0.0", "@babel/types@^7.1.2", "@babel/types@^7.1.5": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.5.tgz#12fe64e91a431234b7017b4227a78cc0eec4e081" - integrity sha512-sJeqa/d9eM/bax8Ivg+fXF7FpN3E/ZmTrWbkk6r+g7biVYfALMnLin4dKijsaqEhpd2xvOGfQTkQkD31YCVV4A== +"@babel/types@^7.0.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.0.tgz#61dc0b336a93badc02bf5f69c4cd8e1353f2ffc0" + integrity sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw== dependencies: esutils "^2.0.2" lodash "^4.17.10" @@ -103,10 +103,10 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@tunnckocore/config@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tunnckocore/config/-/config-1.0.2.tgz#b6d2e8a54a4540c210bc30c0f1ce1a21a6174eed" - integrity sha512-jMdPcfQScIHkTV2A548OkQ2ec09kKloNi9MbO54hA4LHiwvqeWd+jRSzvCpDxJmYF2B1OUWfPQo5JRMhDdZvsw== +"@tunnckocore/config@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tunnckocore/config/-/config-1.0.3.tgz#5ae49c210c5b1d5d2d1cc92e9f5bfd86c930895d" + integrity sha512-MJSRRmtIwG5E01dBKa1ngaTHGS2JF/yrtsY6Lz8h2QDHg5ih6x3BtKvMrI7kfkg1JUqfy8IhiWS9OnhU5xX8/Q== dependencies: babel-eslint "^10.0.0" docks "^0.6.0" @@ -120,22 +120,22 @@ eslint-plugin-prettier "^3.0.0" eslint-plugin-promise "^4.0.0" eslint-plugin-react "^7.10.0" - eslint-plugin-unicorn "^6.0.0" + eslint-plugin-unicorn "^7.0.0" esm "^3.0.84" gitcommit "^1.0.13" prettier "^1.14.0" -"@tunnckocore/execa@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@tunnckocore/execa/-/execa-2.1.2.tgz#c60dcc49ffbe8edb06211db966dda05eb2318186" - integrity sha512-uV3ocBiZurQajYx8mIqlg8mTDaoOH2Wp2HDqUUHMLEn2AArXK99BF1Cac6FYpj7m7IVXOP94mOWvjK5c8Aa+Bg== +"@tunnckocore/execa@^2.1.2", "@tunnckocore/execa@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@tunnckocore/execa/-/execa-2.2.1.tgz#34557ab1a44af060edd9938b41d9508fffb3c399" + integrity sha512-YkRe0ny24JKuoxo/uIx7TzbunGnsfsQZ7neuIGPRnh1ykHG50FijGH9tUaTZfqzyrvMJF31Uh2QVmgEBjnFuXg== dependencies: esm "^3.0.84" execa "^1.0.0" p-map-series "^1.0.0" split-cmd "^1.0.0" -"@tunnckocore/git-semver-tags@^0.2.0": +"@tunnckocore/git-semver-tags@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@tunnckocore/git-semver-tags/-/git-semver-tags-0.2.0.tgz#e43a9e5d4e295559d107e9d5cee6767ba1280fcf" integrity sha512-2akwb2w3vzIZTdTAi/UcFTYyUqFP0M62aEtUobwCxqjsbruFUTEvPLN6wkoExcZhIxvvj2SN0jMAsOmoydVFQA== @@ -144,29 +144,29 @@ esm "^3.0.84" semver "^5.6.0" -"@tunnckocore/package-json@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@tunnckocore/package-json/-/package-json-1.0.1.tgz#dd9fe7ad302c84a9352682b03e583613348097ab" - integrity sha512-d7I5NEQCng56CliAxbaUB4CLOuixb7XZII+tn7IRXl5N3bAoFucoOUqaPKCiB1ErlHij57oodBIJqtstdTd68A== +"@tunnckocore/package-json@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tunnckocore/package-json/-/package-json-1.0.3.tgz#93fccf6d504f38d5c0db581607a0402de06c5d41" + integrity sha512-BSpZbuoHtnpuBhZV1cWZSD6G7BKc6l3ogw1mJTyviOsck5iGxbDtplmV6OA3vwpYJcJ5tOOWARiy7A+4aW88LA== dependencies: axios "^0.18.0" esm "^3.0.84" parse-package-name "^0.1.0" acorn-jsx@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.0.tgz#958584ddb60990c02c97c1bd9d521fce433bb101" - integrity sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg== + version "5.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== acorn@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" - integrity sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg== + version "6.0.6" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.6.tgz#cd75181670d5b99bdb1b1c993941d3a239ab1f56" + integrity sha512-5M3G/A4uBSMIlfJ+h9W125vJvPFH/zirISsW5qfxF5YzEvXJCtolLoQvM5yZft0DvMcUrPGKPOlgEu55I6iUtA== -ajv@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" - integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== +ajv@^6.5.3, ajv@^6.6.1: + version "6.7.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96" + integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -178,17 +178,27 @@ ansi-colors@^2.0.2: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-2.0.5.tgz#5da37825fef3e75f3bda47f760d64bfd10e15e10" integrity sha512-yAdfUZ+c2wetVNIFsNRn44THW+Lty6S5TwMpUfLA/UaGhiXbBv/F8E60/1hMLd0cnF/CDoWH8vzVaI5bAcHCjw== -ansi-escapes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" - integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-styles@^3.2.1: +ansi-regex@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" + integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -238,18 +248,6 @@ array-includes@^3.0.3: 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" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -299,6 +297,11 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7: resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -312,7 +315,7 @@ axios@^0.18.0: follow-redirects "^1.3.0" is-buffer "^1.1.5" -axobject-query@^2.0.1: +axobject-query@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== @@ -398,17 +401,10 @@ call-me-maybe@^1.0.1: resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= +callsites@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" + integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== camelcase-keys@^4.0.0: version "4.2.0" @@ -424,10 +420,10 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -chalk@^2.0.0, chalk@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -443,6 +439,11 @@ ci-info@^1.5.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + circular-json@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" @@ -479,11 +480,35 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-table3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + collect-mentions@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/collect-mentions/-/collect-mentions-1.0.2.tgz#30734fcb33cbf8999cf7fd6d9c3133045f0b4dcc" @@ -511,6 +536,11 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +colors@^1.1.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" + integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== + commander@^2.11.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -541,6 +571,15 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + 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" @@ -585,17 +624,10 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" - integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== +debug@^4.0.1, debug@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" @@ -607,7 +639,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0: +decamelize@^1.1.0, decamelize@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -622,12 +654,17 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -656,35 +693,23 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - 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" - -detect-next-version@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-next-version/-/detect-next-version-3.1.0.tgz#c627d4d9778ddbbfeecb5a936ae9f9ec54d4208c" - integrity sha512-82FS+fjQySn86R+kY5bZzz8dnsfWPj71Xg3/gib0FX8rhpOMtOpnelr6gCgfDoqUUi0kymytgJ0StvIGpdYWZQ== +detect-next-version@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-next-version/-/detect-next-version-4.0.0.tgz#00480a892700b8df0a494c2d8ba847887404d8a4" + integrity sha512-x0v72Kd8ggNlGDazKZI4sVrDwBn0zWdIpx7sVNjb2YcDKN+3WT6c2if8VzV7bOZwy+9g6sbnM3woPYL4EIIQOg== dependencies: - "@tunnckocore/package-json" "^1.0.1" - esm "^3.0.84" - recommended-bump "^1.3.0" + "@tunnckocore/package-json" "1.0.3" + esm "^3.2.0" + recommended-bump "1.3.1" docks@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/docks/-/docks-0.6.1.tgz#38416fd96d5d18ae4ca181190819218d7dad7771" - integrity sha512-wkzUtH6H7ctEDLS9v1Kc/0a6HXe76elL9WKtleI0jRwxd1Sh4EnAwlb49wmvVhuKNheWih0LVqh8g4/nMmWScA== + version "0.6.3" + resolved "https://registry.yarnpkg.com/docks/-/docks-0.6.3.tgz#03f4559bdac22ddf06ece400bcaa28af1b11aa43" + integrity sha512-O1KJ6+FAVJ+U3DRwUB0zs2KxhT6J39UTWHjj6AYZtMUFtdJI7A6jLOwSf3QKk7qTo6I3dhL+YyiTqIPkr7v0pA== dependencies: "@babel/parser" "^7.1.3" doctrine "^3.0.0" - esm "^3.0.84" + esm "^3.2.0" fast-glob "^2.2.2" mkdirp "^0.5.1" mri "^1.1.1" @@ -711,10 +736,10 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -emoji-regex@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" - integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ== +emoji-regex@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== end-of-stream@^1.1.0: version "1.4.1" @@ -730,18 +755,19 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.6.1, es-abstract@^1.7.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" - integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== +es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.7.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== dependencies: - es-to-primitive "^1.1.1" + es-to-primitive "^1.2.0" function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" + has "^1.0.3" + is-callable "^1.1.4" is-regex "^1.0.4" + object-keys "^1.0.12" -es-to-primitive@^1.1.1: +es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== @@ -782,13 +808,13 @@ eslint-config-airbnb@^17.0.0: object.entries "^1.0.4" eslint-config-prettier@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d" - integrity sha512-Bc3bh5bAcKNvs3HOpSi6EfGA2IIp7EzWcg2tS4vP7stnXu/J1opihHDM7jI9JCIckyIDTgZLSWn7J3HY0j2JfA== + version "3.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz#8ca3ffac4bd6eeef623a0651f9d754900e3ec217" + integrity sha512-ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ== dependencies: get-stdin "^6.0.0" -eslint-import-resolver-node@^0.3.1: +eslint-import-resolver-node@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== @@ -796,63 +822,63 @@ eslint-import-resolver-node@^0.3.1: 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" - integrity sha1-snA2LNiLGkitMIl2zn+lTphBF0Y= +eslint-module-utils@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" + integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== dependencies: debug "^2.6.8" - pkg-dir "^1.0.0" + pkg-dir "^2.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" - integrity sha512-xrdbConViY20DhGrt9FwjhDo4fr/9Yus2pYf0xJsdJaCcUzMq7+pAoNH7kSXF6V08bRHMpgDWclYbcr/Sn3hNg== + version "1.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz#475f65bb20c993fc10e8c8fe77d1d60068072da6" + integrity sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw== dependencies: eslint-utils "^1.3.0" regexpp "^2.0.1" eslint-plugin-flowtype@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.2.0.tgz#824364ed5940a404b91326fdb5a313a2a74760df" - integrity sha512-baJmzngM6UKbEkJ5OY3aGw2zjXBt5L2QKZvTsOlXX7yHKIjNRrlJx2ods8Rng6EdqPR9rVNIQNYHpTs0qfn2qA== + version "3.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.2.1.tgz#45e032aee54e695dfc41a891e92b7afedfc62c77" + integrity sha512-1lymqM8Cawxu5xsS8TaCrLWJYUmUdoG4hCfa7yWOhCf0qZn/CvI8FxqkhdOP6bAosBn5zeYxKe3Q/4rfKN8a+A== dependencies: lodash "^4.17.10" eslint-plugin-import@^2.13.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" - integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g== + version "2.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" + integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== dependencies: contains-path "^0.1.0" - debug "^2.6.8" + debug "^2.6.9" doctrine "1.5.0" - eslint-import-resolver-node "^0.3.1" - eslint-module-utils "^2.2.0" - has "^1.0.1" - lodash "^4.17.4" - minimatch "^3.0.3" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.3.0" + has "^1.0.3" + lodash "^4.17.11" + minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.6.0" + resolve "^1.9.0" eslint-plugin-jsx-a11y@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz#69bca4890b36dcf0fe16dd2129d2d88b98f33f88" - integrity sha512-7gSSmwb3A+fQwtw0arguwMdOdzmKUgnUcbSNlo+GjKLAQFuC2EZxWqG9XHRI8VscBJD5a8raz3RuxQNFW+XJbw== + version "6.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.0.tgz#0db5a0efad21b815849c7783abe8379eb8fa1ca6" + integrity sha512-KpibpIdKT0nbDG7G/ILWoZoN5G9cj3h1IHARxzvHk5Nt2LQ7oPUutbO9QbT1FKNHLPZB6BaoA1ASSLOiJZVEUQ== dependencies: aria-query "^3.0.0" array-includes "^3.0.3" ast-types-flow "^0.0.7" - axobject-query "^2.0.1" + axobject-query "^2.0.2" damerau-levenshtein "^1.0.4" - emoji-regex "^6.5.1" + emoji-regex "^7.0.2" has "^1.0.3" jsx-ast-utils "^2.0.1" 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" - integrity sha512-Y+ln8iQ52scz9+rSPnSWRaAxeWaoJZ4wIveDR0vLHkuSZGe44Vk1J4HX7WvEP5Cm+iXPE8ixo7OM7gAO3/OKpQ== + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz#55ae3560022863d141fa7a11799532340a685964" + integrity sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w== dependencies: eslint-plugin-es "^1.3.1" eslint-utils "^1.3.1" @@ -862,9 +888,9 @@ eslint-plugin-node@^8.0.0: semver "^5.5.0" eslint-plugin-prettier@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.0.tgz#f6b823e065f8c36529918cdb766d7a0e975ec30c" - integrity sha512-4g11opzhqq/8+AMmo5Vc2Gn7z9alZ4JqrbZ+D4i8KlSyxeQhZHlmIrY8U9Akf514MoEhogPa87Jgkq87aZ2Ohw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz#19d521e3981f69dd6d14f64aec8c6a6ac6eb0b0d" + integrity sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ== dependencies: prettier-linter-helpers "^1.0.0" @@ -874,20 +900,22 @@ eslint-plugin-promise@^4.0.0: integrity sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg== eslint-plugin-react@^7.10.0: - version "7.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz#c01a7af6f17519457d6116aa94fc6d2ccad5443c" - integrity sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw== + version "7.12.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" + integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.0.1" + object.fromentries "^2.0.0" prop-types "^15.6.2" + resolve "^1.9.0" -eslint-plugin-unicorn@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz#4a97f0bc9449e20b82848dad12094ee2ba72347e" - integrity sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q== +eslint-plugin-unicorn@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-7.1.0.tgz#9efef5c68fde0ebefb0241fbcfa274f1b959c04e" + integrity sha512-lW/ZwGR638V0XuZgR160qVQvPtw8tw3laKT5LjJPt+W+tN7kVf2S2V7x+ZrEEwSjEb3OiEzb3cppzaKuYtgYeg== dependencies: clean-regexp "^1.0.0" eslint-ast-utils "^1.0.0" @@ -896,7 +924,7 @@ eslint-plugin-unicorn@^6.0.0: lodash.kebabcase "^4.0.1" lodash.snakecase "^4.0.1" lodash.upperfirst "^4.2.0" - safe-regex "^1.1.0" + safe-regex "^2.0.1" eslint-restricted-globals@^0.1.1: version "0.1.1" @@ -930,9 +958,9 @@ eslint-visitor-keys@^1.0.0: integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== eslint@^5.8.0: - version "5.9.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz#b234b6d15ef84b5849c6de2af43195a2d59d408e" - integrity sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w== + version "5.12.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.12.1.tgz#5ca9931fb9029d04e7be92b03ce3b58edfac7e3b" + integrity sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.5.3" @@ -943,7 +971,7 @@ eslint@^5.8.0: eslint-scope "^4.0.0" eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^4.0.0" + espree "^5.0.0" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^2.0.0" @@ -951,9 +979,9 @@ eslint@^5.8.0: glob "^7.1.2" globals "^11.7.0" ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" 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" @@ -966,22 +994,21 @@ eslint@^5.8.0: pluralize "^7.0.0" progress "^2.0.0" regexpp "^2.0.1" - require-uncached "^1.0.3" semver "^5.5.1" strip-ansi "^4.0.0" strip-json-comments "^2.0.1" table "^5.0.2" text-table "^0.2.0" -esm@^3.0.84: - version "3.0.84" - resolved "https://registry.yarnpkg.com/esm/-/esm-3.0.84.tgz#bb108989f4673b32d4f62406869c28eed3815a63" - integrity sha512-SzSGoZc17S7P+12R9cg21Bdb7eybX25RnIeRZ80xZs+VZ3kdQKzqTp2k4hZJjR7p9l0186TTXSgrxzlMDBktlw== +esm@^3.0.84, esm@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.0.tgz#089011156cf817ccdae38c877cbe03301df04136" + integrity sha512-yK4IiHmmInOk9q4xbJXdUfPV0ju7GbRCbhtpe5/gH7nRiD6RAb12Ix7zfsqQkDL5WERwzFlq/eT6zTXDWwIk+w== -espree@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" - integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== +espree@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c" + integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA== dependencies: acorn "^6.0.2" acorn-jsx "^5.0.0" @@ -1016,6 +1043,19 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.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" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -1057,7 +1097,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -external-editor@^3.0.0: +external-editor@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== @@ -1091,9 +1131,9 @@ fast-diff@^1.1.2: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.4.tgz#e54f4b66d378040e0e4d6a68ec36bbc5b04363c0" - integrity sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g== + version "2.2.6" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" + integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -1137,15 +1177,7 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.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" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -1153,19 +1185,19 @@ find-up@^2.0.0: locate-path "^2.0.0" flat-cache@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.2.tgz#7f852d70be573dac874a4c4129d340a34fba7e65" - integrity sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A== + version "1.3.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" + integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== dependencies: circular-json "^0.3.1" - del "^3.0.0" graceful-fs "^4.1.2" + rimraf "~2.6.2" write "^0.2.1" follow-redirects@^1.3.0: - version "1.5.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.9.tgz#c9ed9d748b814a39535716e531b9196a845d89c6" - integrity sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w== + version "1.6.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.6.1.tgz#514973c44b5757368bad8bddfe52f81f015c94cb" + integrity sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ== dependencies: debug "=3.1.0" @@ -1195,7 +1227,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -function-bind@^1.1.0, function-bind@^1.1.1: +function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -1205,11 +1237,21 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -1222,16 +1264,16 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -git-commits-since@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/git-commits-since/-/git-commits-since-2.0.2.tgz#dfbd912f76c4f0460a3a1f6af6956ffce68a5b82" - integrity sha512-yjdo5JNfQ/tFJewhR4HsMcMP2EACt6qjbMOue0qcO6N8R+d+cdk0SNvD56BVzDhkrcEycq42zg+celJli6RYKQ== +git-commits-since@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/git-commits-since/-/git-commits-since-2.0.4.tgz#4670baeda7c07b258ca582b0c108ffcebd83093a" + integrity sha512-CcXBP4QZ7TOulmRSM8MQwkijFUT+efH2CVhm+14gRHbPLadgZSAKTasFnOtalaDHmJudhxpqNr6HwloN9o+mUQ== dependencies: - "@tunnckocore/git-semver-tags" "^0.2.0" - esm "^3.0.84" - git-raw-commits "^2.0.0" + "@tunnckocore/git-semver-tags" "0.2.0" + esm "^3.2.0" + git-raw-commits "2.0.0" -git-raw-commits@^2.0.0: +git-raw-commits@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg== @@ -1243,13 +1285,13 @@ git-raw-commits@^2.0.0: through2 "^2.0.0" gitcommit@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/gitcommit/-/gitcommit-1.0.13.tgz#e98ccb3f7de452804db3bd5b41a4e66ee941dd3e" - integrity sha512-SPb78ZLk3NRG5PCkg0gKGz0SAs3/J0C6wF3OTd9PHF9Y5PIx0g6AsUyylXZWk9KXyVAs+PVWsSBa8+ayzAxecA== + version "1.0.14" + resolved "https://registry.yarnpkg.com/gitcommit/-/gitcommit-1.0.14.tgz#45026e8585e608b3ff684a2d4f5edf54b46f1902" + integrity sha512-Ulg86Ooi3Sb39wDWFCC4sIa27nJTlE5QNo+DugmLYoBQX09EA5BgqONjHrg94tgz+KCZ4NuhHULbcFulAZsvlw== dependencies: execa "^1.0.0" mri "^1.1.0" - prompts "^1.0.0" + prompts "^2.0.0" glob-parent@^3.1.0: version "3.1.0" @@ -1264,7 +1306,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: +glob@^7.1.2, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== @@ -1277,25 +1319,14 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: path-is-absolute "^1.0.0" globals@^11.1.0, globals@^11.7.0: - version "11.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.8.0.tgz#c1ef45ee9bed6badf0663c5cb90e8d1adec1321d" - integrity sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA== - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" + version "11.10.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" + integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== globrex@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.1.tgz#cfe565cfa910707d0ef98eb0b9d78c3c055ca2ef" - integrity sha512-bqKcPhb+ZtrISivpu6oLmwIyINlPlzueO/BDCdfnzUeu7SYxnHTXmWP7uQI5PnQXc5yGXOscGBEGagloA2hcSw== + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.15" @@ -1368,9 +1399,17 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.0.4.tgz#33168af4a21e99b00c5d41cbadb6a6cb49903a45" - integrity sha512-WLsTMEhsQuXpCiG173+f3aymI43SXa+fB1rSfbzyP4GkPP+ZFVuO0/3sFUGNBtifisPeDcl/uD/Y2NxZ7xFq4g== + version "5.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.0.5.tgz#c663c548d6ce186fb33616a8ccb5d46e56bdbbf9" + integrity sha512-kOC8IUb8HSDMVcYrDVezCxpJkzSQWTAzf3olpKM6o9rM5zpojx23O0Fl8Wr4+qJ6ZbPEHqf1fdwev/DS7v7pmA== + +import-fresh@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" + integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" import-modules@^1.1.0: version "1.1.0" @@ -1400,25 +1439,35 @@ inherits@2, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + inquirer@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" - integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== + version "6.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" + integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^3.0.0" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.17.10" + lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" - rxjs "^6.1.0" + rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.0.0" through "^2.3.6" +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1450,18 +1499,25 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-callable@^1.1.3, is-callable@^1.1.4: +is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-ci@^1.1.0, is-ci@^1.2.1: +is-ci@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== dependencies: ci-info "^1.5.0" +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.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" @@ -1516,6 +1572,13 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -1556,25 +1619,6 @@ is-observable@^1.1.0: 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" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -1599,11 +1643,6 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-resolvable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -1649,9 +1688,9 @@ isobject@^3.0.0, isobject@^3.0.1: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" - integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== + version "3.12.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" + integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -1714,10 +1753,17 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== -kleur@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" - integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ== +kleur@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.1.tgz#4f5b313f5fa315432a400f19a24db78d451ede62" + integrity sha512-P3kRv+B+Ra070ng2VKQqW4qW7gd/v3iD8sy/zOdcYRsfiD+QBokQNOps/AfP6Hr48cBhIIBFWckB9aO+IZhrWg== + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" levn@^0.3.0, levn@~0.3.0: version "0.3.0" @@ -1805,7 +1851,7 @@ lodash.zip@^4.2.0: resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= -lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.5: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -1825,6 +1871,14 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -1847,6 +1901,13 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + mentions-regex@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/mentions-regex/-/mentions-regex-2.0.3.tgz#442717a0048e53c2d2e2ae5e63a4e54a55ca9603" @@ -1896,7 +1957,7 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -1916,7 +1977,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.3: +minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -1941,10 +2002,10 @@ mkdirp@^0.5.1: dependencies: minimist "0.0.8" -mri@^1.1.0, mri@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.1.tgz#85aa26d3daeeeedf80dc5984af95cc5ca5cad9f1" - integrity sha1-haom09ru7t+A3FmEr5XMXKXK2fE= +mri@^1.1.0, mri@^1.1.1, mri@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" + integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== ms@2.0.0: version "2.0.0" @@ -1989,9 +2050,9 @@ nice-try@^1.0.4: integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + version "2.4.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.2.tgz#6b2abd85774e51f7936f1395e45acb905dc849b2" + integrity sha512-YcMnjqeoUckXTPKZSAsPjUPLxH85XotbpqK3w4RyCwdFQSU5FxxBys8buehkSfg0j9fKvV1hn7O0+8reEgkAiw== dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -2010,7 +2071,7 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -object-assign@^4.0.1, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -2047,13 +2108,23 @@ object.assign@^4.1.0: object-keys "^1.0.11" object.entries@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" - integrity sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8= + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" + integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + +object.fromentries@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" + integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== dependencies: define-properties "^1.1.2" - es-abstract "^1.6.1" - function-bind "^1.1.0" + es-abstract "^1.11.0" + function-bind "^1.1.1" has "^1.0.1" object.pick@^1.3.0: @@ -2097,6 +2168,15 @@ optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -2128,7 +2208,7 @@ p-map-series@^1.0.0: dependencies: p-reduce "^1.0.0" -p-map@^1.1.1, p-map@^1.2.0: +p-map@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== @@ -2148,10 +2228,17 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= +parent-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" + integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== + dependencies: + callsites "^3.0.0" + parse-commit-message@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/parse-commit-message/-/parse-commit-message-3.2.0.tgz#8065d006e9e4b273889130067ae435b8986508a6" - integrity sha512-LzkHT+I2cG+3v0iGnMNPda4qdZoTjiz40rOEdo7pd7gpE4YHXFDvF4dj2LuoMQX7Ykb3WlKZBfwLSKFHASvjGw== + version "3.2.3" + resolved "https://registry.yarnpkg.com/parse-commit-message/-/parse-commit-message-3.2.3.tgz#96a0b2e3fb295aece355d3a8bd326b6a6f555372" + integrity sha512-JujCvCYUrjhmaRHb2AuzR9mAos9JE/5+ZftAaFoGtPhoJ9KNQcgx6JtrWGmGFkVjfky5qTBRjzJeFZla1Po0/A== dependencies: collect-mentions "^1.0.2" dedent "^0.7.0" @@ -2193,13 +2280,6 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -2210,7 +2290,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +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" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= @@ -2220,7 +2300,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-parse@^1.0.5: +path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== @@ -2249,24 +2329,12 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: - find-up "^1.0.0" + find-up "^2.1.0" pluralize@^7.0.0: version "7.0.0" @@ -2291,9 +2359,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^1.14.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.2.tgz#d31abe22afa4351efa14c7f8b94b58bb7452205e" - integrity sha512-YgPLFFA0CdKL4Eg2IHtUSjzj/BWgszDHiNQAe0VAIBse34148whfdzLagRL+QiKS+YfK5ftB6X4v/MBw8yCoug== + version "1.16.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d" + integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw== pretty-ms@^3.2.0: version "3.2.0" @@ -2308,16 +2376,16 @@ process-nextick-args@~2.0.0: integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== progress@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" - integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -prompts@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-1.2.0.tgz#598f7722032fb6c399beb24533129d00604c7007" - integrity sha512-g+I6Cer6EefDTawQhGHpdX98nhD7KQrRqyRgKCb+Sc+GG4P64EWRe5DZE402ZNkwrItf97Asf0L1z0g3waOgAA== +prompts@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.1.tgz#201b3718b4276fb407f037db48c0029d6465245c" + integrity sha512-8lnEOSIGQbgbnO47+13S+H204L8ISogGulyi0/NNEFAQ9D1VMNTrJ9SBX2Ra03V4iPn/zt36HQMndRYkaPoWiQ== dependencies: - kleur "^2.0.1" + kleur "^3.0.0" sisteransi "^1.0.0" prop-types@^15.6.2: @@ -2328,6 +2396,11 @@ prop-types@^15.6.2: loose-envify "^1.3.1" object-assign "^4.1.1" +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -2346,6 +2419,16 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + 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" @@ -2393,10 +2476,10 @@ readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -recommended-bump@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/recommended-bump/-/recommended-bump-1.3.0.tgz#8ae5d71a4d847dbe5ed98d50a0bf672c18df3e74" - integrity sha512-KfQ3jCQBepTtExke8neXEdIo7VqzFmJtkjdEgNgHnKZT/q1FEC+zzTIfVCVqmIO1/k5jxlsLMVqgUQAL6WLliQ== +recommended-bump@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/recommended-bump/-/recommended-bump-1.3.1.tgz#6d543d8c0b31f9ecadaf6c8c3b75eee97df26d60" + integrity sha512-ZorBGI8pgDODaRyIuBAPABsUZI7A5mSZ0w0F+VOXaAabSkT9JFPBmFL1Jb74+Km6PtQD3/oHlVD7f/Riwv/T2A== dependencies: esm "^3.0.84" parse-commit-message "^3.2.0" @@ -2417,11 +2500,27 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp-tree@~0.0.85: + version "0.0.86" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.0.86.tgz#ea4e26220eebad25313d6f4f19c23535cec86745" + integrity sha512-xjTX9GmRw7Nn2wxinLoqQXv9Dt5yerP7CJIsYe/5z5gFs0Ltu20wRuZophafi9sf0JpsdVtki5EuICRYpgB1AQ== + dependencies: + cli-table3 "^0.5.0" + colors "^1.1.2" + yargs "^10.0.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +registry-url@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-4.0.0.tgz#7dc344ef0f1496fc95a6ad04ccb9a491df11c025" + integrity sha512-WAfGLywivb8s2+Cfblq1UV+kOyzURHzWSJmciDvrmstr4bv/0lnVSB9jfoOfkxx5xNJ1OGlSFmZh9WYBLFJOPg== + dependencies: + rc "^1.2.7" + repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" @@ -2432,30 +2531,32 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -resolve-from@^1.0.0: +require-main-filename@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -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" - integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== +resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" + integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== dependencies: - path-parse "^1.0.5" + path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" @@ -2470,12 +2571,12 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rimraf@^2.2.8, rimraf@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== +rimraf@^2.6.2, rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: - glob "^7.0.5" + glob "^7.1.3" run-async@^2.2.0: version "2.3.0" @@ -2484,10 +2585,10 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rxjs@^6.1.0: - version "6.3.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" - integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== +rxjs@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" + integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== dependencies: tslib "^1.9.0" @@ -2503,6 +2604,13 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +safe-regex@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.0.1.tgz#676c791d97f31fadb8958d64300f7760606fa0a1" + integrity sha512-4tbOl0xq/cxbhEhdvxKaCZgzwOKeqt2tnHc2OPBkMsVdZ0s0C5oJwI6voRI9XzPSzeN35PECDNDK946x4d/0eA== + dependencies: + regexp-tree "~0.0.85" + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -2518,6 +2626,11 @@ serialize-error@^2.1.0: resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + set-value@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" @@ -2567,11 +2680,13 @@ sisteransi@^1.0.0: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== +slice-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" snapdragon-node@^2.0.1: @@ -2626,9 +2741,9 @@ source-map@^0.5.0, source-map@^0.5.6: integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= spdx-correct@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e" - integrity sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -2647,9 +2762,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz#a59efc09784c2a5bada13cfeaf5c75dd214044d2" - integrity sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" + integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== split-cmd@^1.0.0: version "1.0.0" @@ -2688,7 +2803,16 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -string-width@^2.1.0, string-width@^2.1.1: +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -2703,6 +2827,13 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" @@ -2710,6 +2841,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" + integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== + dependencies: + ansi-regex "^4.0.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -2725,7 +2863,7 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@^2.0.1: +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" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= @@ -2748,13 +2886,13 @@ symbol-observable@^1.0.4, symbol-observable@^1.1.0: integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== table@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" - integrity sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg== + version "5.2.2" + resolved "https://registry.yarnpkg.com/table/-/table-5.2.2.tgz#61d474c9e4d8f4f7062c98c7504acb3c08aa738f" + integrity sha512-f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ== dependencies: - ajv "^6.5.3" - lodash "^4.17.10" - slice-ansi "1.0.0" + ajv "^6.6.1" + lodash "^4.17.11" + slice-ansi "^2.0.0" string-width "^2.1.1" text-table@^0.2.0: @@ -2887,6 +3025,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -2899,6 +3042,14 @@ wordwrap@~1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -2915,3 +3066,38 @@ xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yargs-parser@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" + integrity sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ== + dependencies: + camelcase "^4.1.0" + +yargs@^10.0.3: + version "10.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" + integrity sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig== + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.1.0" From 1602200490e9163eed776977ca241fab8f788633 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 01:22:31 +0200 Subject: [PATCH 02/14] feat: improve the npm plugin --- cli.js | 7 ++++ package.json | 5 +-- src/cli.js | 1 + src/index.js | 2 +- src/plugins.js | 109 ++++++++++++++++++++++++++++++++++++------------- yarn.lock | 14 +++---- 6 files changed, 97 insertions(+), 41 deletions(-) diff --git a/cli.js b/cli.js index db741e4..36228a3 100644 --- a/cli.js +++ b/cli.js @@ -23,6 +23,13 @@ const argv = parser(proc.argv.slice(2), { default: { cwd: proc.cwd(), ci: true, + 'sign-git-tag': false, + 'git-tag-version': false, + }, + alias: { + 'dry-run': ['dryRun', 'dry'], + 'sign-git-tag': ['signGitTag'], + 'git-tag-version': ['gitTagVersion'], }, }); diff --git a/package.json b/package.json index cae46f5..fb82f69 100644 --- a/package.json +++ b/package.json @@ -22,13 +22,12 @@ }, "dependencies": { "@tunnckocore/execa": "^2.2.1", - "dedent": "^0.7.0", "detect-next-version": "^4.0.0", "esm": "^3.2.0", "git-commits-since": "^2.0.4", "is-ci": "^2.0.0", "mri": "^1.1.4", - "registry-url": "^4.0.0" + "rc": "^1.2.8" }, "devDependencies": { "@tunnckocore/config": "^1.0.3", @@ -47,7 +46,7 @@ "main": "index.js", "module": "src/index.js", "typings": "src/index.d.ts", - "version": "0.0.0", + "version": "3.0.0", "repository": "standard-release/cli", "homepage": "https://github.com/standard-release/cli", "author": "Charlike Mike Reagent (https://tunnckocore.com)", diff --git a/src/cli.js b/src/cli.js index 0ab67a5..9c3fc03 100644 --- a/src/cli.js +++ b/src/cli.js @@ -14,6 +14,7 @@ export default function releaseCli(argv, env) { 'Try passing --no-ci flag to bypass this, if you are sure.', ); proc.exit(1); + return null; } if (argv.verbose) { console.log('Meta info:', serialize(results)); diff --git a/src/index.js b/src/index.js index b0fbfec..ab53de2 100644 --- a/src/index.js +++ b/src/index.js @@ -8,7 +8,7 @@ export default async function release(options) { // TODO: in next minor if (opts.monorepo) { - return {}; + return []; } const { default: pkg } = await import(path.join(opts.cwd, 'package.json')); diff --git a/src/plugins.js b/src/plugins.js index b1f4c38..a1db56f 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -1,35 +1,13 @@ import fs from 'fs'; import util from 'util'; import path from 'path'; -import dedent from 'dedent'; import { exec } from '@tunnckocore/execa'; -import registryUrl from 'registry-url'; +import rc from 'rc'; /* eslint-disable import/prefer-default-export */ export async function npm(options, env, results) { - const opts = Object.assign( - { 'sign-git-tag': false, 'git-tag-version': false }, - options, - ); - const token = opts.token || env.NPM_TOKEN; - if (!token) { - throw new Error( - 'Expect --token to be passed or NPM_TOKEN environment variable to be set.', - ); - } - - const registry = opts.registry || env.NPM_REGISTRY || registryUrl(); - let reg = registry.replace(/https?:\/\//, ''); - reg = reg.endsWith('/') ? reg.slice(0, -1) : reg; - - const content = dedent`//${reg}/:_authToken=${token} - sign-git-tag=${opts['sign-git-tag']} - git-tag-version=${opts['git-tag-version']} - allow-same-version=false - `; - - await util.promisify(fs.writeFile)(path.join(opts.cwd, '.npmrc'), content); + const opts = Object.assign({}, options); await results.map(async (result) => { if (!result.increment && !result.nextVersion) { @@ -37,24 +15,97 @@ export async function npm(options, env, results) { return; } - const pkgFolder = path.join(result.cwd, result.path); + const pkgFolder = opts.monorepo + ? path.join(opts.cwd, result.path) + : opts.cwd; + + const localPkg = await import(path.join(pkgFolder, 'package.json')); + const cfg = normalizeConfig(options, env, localPkg.publishConfig); + + if (!cfg.token) { + throw new Error( + 'Expect --token, NPM_TOKEN or _authToken in local/global .npmrc', + ); + } + + await util.promisify(fs.writeFile)( + path.join(opts.cwd, '.npmrc'), + `${cfg.reg}:_authToken=${cfg.token}\nsign-git-tag=${ + opts.signGitTag + }\ngit-tag-version=${opts.gitTagVersion}\n`, + ); + const execOpts = { cwd: pkgFolder, stdio: 'inherit' }; if (opts.verbose) { console.log('Package Info:', result); + console.log('Package Folder', pkgFolder); } - if (opts.dry) { + + if (opts.dryRun) { console.log(result.name, result.lastVersion, '==>', result.nextVersion); + } else { + await exec(`npm version ${result.nextVersion}`, execOpts); + } + + if (opts.dryRun) { return; } - await exec(`npm version ${result.nextVersion}`, execOpts); - await exec(`npm publish`, execOpts); + const publishCmd = [ + 'npm publish', + result.nextVersion, + '--tag', + cfg.tag, + '--access', + cfg.access, + ]; + + await exec(publishCmd.join(' '), execOpts); }); - if (opts.dry) { + if (opts.dryRun) { console.log('Possible publish for', results.length, 'packages.'); return; } console.log('Successfully published', results.length, 'packages.'); } + +/** + * Normalize and synchronize the config from several places. + * Respect order: 1) options/flags, 2) env vars, 3) pkg.publishConfig, + * 4) local .npmrc, 5) global .npmrc + * + * Returns merged config. + * + * @param {*} options + * @param {*} env + * @param {*} publishConfig + */ +function normalizeConfig(options, env, publishConfig) { + const opts = Object.assign({}, options); + const envs = Object.assign({}, env); + const cfg = Object.assign({}, publishConfig); + + const npmrc = rc('npm', cfg); + + let registry = + opts.registry || envs.NPM_REGISTRY || cfg.registry || npmrc.config_registry; + + registry = registry.includes('registry.yarnpkg.com') + ? 'registry.npmjs.org' + : registry; + + let regClean = registry.replace(/https?:\/\//, ''); + regClean = regClean.endsWith('/') ? regClean.slice(0, -1) : regClean; + + const rcToken = npmrc[`//${regClean}/:_authToken`]; + + return { + reg: `//${regClean}/`, + registry, + tag: cfg.tag || npmrc.tag, + access: opts.access || cfg.access || npmrc.access, + token: opts.token || envs.NPM_TOKEN || cfg.token || rcToken, + }; +} diff --git a/yarn.lock b/yarn.lock index 68b03bc..792b4be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -420,6 +420,11 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= +camelcase@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2419,7 +2424,7 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= -rc@^1.2.7: +rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -2514,13 +2519,6 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -registry-url@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-4.0.0.tgz#7dc344ef0f1496fc95a6ad04ccb9a491df11c025" - integrity sha512-WAfGLywivb8s2+Cfblq1UV+kOyzURHzWSJmciDvrmstr4bv/0lnVSB9jfoOfkxx5xNJ1OGlSFmZh9WYBLFJOPg== - dependencies: - rc "^1.2.7" - repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" From 34f365ff755c0e36ed242455baf2d3434d92abb3 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 01:25:17 +0200 Subject: [PATCH 03/14] fix: always show log --- src/plugins.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins.js b/src/plugins.js index a1db56f..995bb90 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -42,9 +42,9 @@ export async function npm(options, env, results) { console.log('Package Folder', pkgFolder); } - if (opts.dryRun) { - console.log(result.name, result.lastVersion, '==>', result.nextVersion); - } else { + console.log(result.name, result.lastVersion, '==>', result.nextVersion); + + if (!opts.dryRun) { await exec(`npm version ${result.nextVersion}`, execOpts); } From 9da3ab3481a492b68f8a38bbf27a0968b5dc5b78 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 01:26:01 +0200 Subject: [PATCH 04/14] chore: tweaks --- src/plugins.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/plugins.js b/src/plugins.js index 995bb90..23062d5 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -44,14 +44,12 @@ export async function npm(options, env, results) { console.log(result.name, result.lastVersion, '==>', result.nextVersion); - if (!opts.dryRun) { - await exec(`npm version ${result.nextVersion}`, execOpts); - } - if (opts.dryRun) { return; } + await exec(`npm version ${result.nextVersion}`, execOpts); + const publishCmd = [ 'npm publish', result.nextVersion, From 2f7543cf5716ca35107c49b8168154445087f2a6 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 01:27:26 +0200 Subject: [PATCH 05/14] chore: small tweaks --- package.json | 2 +- src/plugins.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index fb82f69..9c3e3f6 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "main": "index.js", "module": "src/index.js", "typings": "src/index.d.ts", - "version": "3.0.0", + "version": "0.0.0-semantically-released", "repository": "standard-release/cli", "homepage": "https://github.com/standard-release/cli", "author": "Charlike Mike Reagent (https://tunnckocore.com)", diff --git a/src/plugins.js b/src/plugins.js index 23062d5..ea21698 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -90,6 +90,7 @@ function normalizeConfig(options, env, publishConfig) { let registry = opts.registry || envs.NPM_REGISTRY || cfg.registry || npmrc.config_registry; + // always use the npm registry if not other given registry = registry.includes('registry.yarnpkg.com') ? 'registry.npmjs.org' : registry; From 0d25108b0d174e595a89c31db9db6b92b2bdc944 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:36:19 +0200 Subject: [PATCH 06/14] feat: start tests, support config files --- cli.js | 9 +- package.json | 2 + src/index.js | 3 + src/plugins.js | 9 +- test/index.js | 134 ++++++++++++++++++++++++----- test/snapshots/index.snapshot.json | 2 +- yarn.lock | 27 ++++-- 7 files changed, 153 insertions(+), 33 deletions(-) diff --git a/cli.js b/cli.js index 36228a3..670a87a 100644 --- a/cli.js +++ b/cli.js @@ -6,6 +6,7 @@ const path = require('path'); const proc = require('process'); const parser = require('mri'); const esmLoader = require('esm'); +const prettyConfig = require('@tunnckocore/pretty-config'); const esmRequire = esmLoader(module); @@ -33,4 +34,10 @@ const argv = parser(proc.argv.slice(2), { }, }); -cli(argv, proc.env).catch(console.error); +prettyConfig('standard-release', { cwd: argv.cwd }) + .then((cfg) => { + const opts = Object.assign({}, argv, cfg); + + return cli(opts, proc.env); + }) + .catch(console.error); diff --git a/package.json b/package.json index 9c3e3f6..78a1887 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ }, "dependencies": { "@tunnckocore/execa": "^2.2.1", + "@tunnckocore/pretty-config": "^0.5.1", "detect-next-version": "^4.0.0", "esm": "^3.2.0", "git-commits-since": "^2.0.4", @@ -32,6 +33,7 @@ "devDependencies": { "@tunnckocore/config": "^1.0.3", "asia": "^0.19.7", + "dedent": "^0.7.0", "fs-extra": "^7.0.1", "simple-git": "^1.107.0" }, diff --git a/src/index.js b/src/index.js index ab53de2..b08b66c 100644 --- a/src/index.js +++ b/src/index.js @@ -12,7 +12,10 @@ export default async function release(options) { } const { default: pkg } = await import(path.join(opts.cwd, 'package.json')); + + // ? intentionally remove the `opts.plugin` from options passed to `git-commits-since` const { plugin, ...opt } = opts; + const { rawCommits } = await gitCommitsSince(opt); if (rawCommits.length === 0) { diff --git a/src/plugins.js b/src/plugins.js index ea21698..eceb56d 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -28,11 +28,14 @@ export async function npm(options, env, results) { ); } + // Never allow npm using git, we have an app for this. + // Replace the `false` with `opts.signGitTag` and `opts.gitTagVersion` + // if you reconsider that, so the CLI won't need to be used with the APP. await util.promisify(fs.writeFile)( path.join(opts.cwd, '.npmrc'), - `${cfg.reg}:_authToken=${cfg.token}\nsign-git-tag=${ - opts.signGitTag - }\ngit-tag-version=${opts.gitTagVersion}\n`, + `${cfg.reg}:_authToken=${ + cfg.token + }\nsign-git-tag=false\ngit-tag-version=false\n`, ); const execOpts = { cwd: pkgFolder, stdio: 'inherit' }; diff --git a/test/index.js b/test/index.js index a2a3c06..893b15f 100644 --- a/test/index.js +++ b/test/index.js @@ -7,6 +7,32 @@ import simpleGit from 'simple-git/promise'; import release from '../src'; import { __dirname } from './cjs-globals'; +async function gitSetup(dir, initial) { + const git = simpleGit(dir); + await git.init(); + + const localGitConfig = dedent`[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [user] + name = Foo Bar Baz + email = foobar@example.com + [commit] + gpgsign = false`; + + await fs.outputFile(path.join(dir, '.git', 'config'), localGitConfig); + await fs.outputFile(path.join(dir, 'readme.md'), '# monorepo root'); + + if (initial) { + await git.add('./*'); + await git.commit('chore: initial commit'); + } + + return git; +} + test('basic', async (t) => { t.strictEqual(typeof release, 'function'); @@ -21,37 +47,22 @@ test('should detect new commits', async (t) => { const fakePkg = path.join(__dirname, 'fakepkg'); await fs.remove(fakePkg); - await fs.mkdirp(fakePkg); - await fs.writeFile( - path.join(fakePkg, 'package.json'), - JSON.stringify({ name: '@tunnckocore/kokoko3' }, null, 2), - ); - - const git = simpleGit(fakePkg); - await git.init(); - - const localGitConfig = dedent`[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - [user] - name = Foo Bar Baz - email = foobar@example.com - [commit] - gpgsign = false`; + await fs.ensureDir(fakePkg); + await fs.outputJson(path.join(fakePkg, 'package.json'), { + name: '@tunnckocore/kokoko3', + }); - await fs.writeFile(path.join(fakePkg, '.git', 'config'), localGitConfig); + const git = await gitSetup(fakePkg); await git.add('./*'); await git.commit('feat: initial blank release'); await git.addTag('v1.1.0'); - await fs.writeFile(path.join(fakePkg, 'foo.txt'), 'bar'); + await fs.outputFile(path.join(fakePkg, 'foo.txt'), 'bar'); await git.add('./*'); await git.commit('major(release): qxu quack'); - await fs.writeFile(path.join(fakePkg, 'fix2.txt'), '222xasas'); + await fs.outputFile(path.join(fakePkg, 'fix2.txt'), '222xasas'); await git.add('./*'); await git.commit('fix: fo222222o bar baz'); @@ -62,3 +73,82 @@ test('should detect new commits', async (t) => { t.strictEqual(result.nextVersion, '2.0.0'); fs.remove(fakePkg); }); + +/* eslint-disable max-statements */ +test('should work for monorepo setups', async () => { + const fakeMonorepo = path.join(__dirname, 'fake-monorepo'); + + // the `foo-bar-baz-qux` package + const fakePkgOne = path.join(fakeMonorepo, 'packages', 'foo-bar-baz-qux'); + + // the `@tunnckocore/qq5` package + const fakePkgTwo = path.join(fakeMonorepo, '@tunnckocore', 'qq5'); + + // the `@tunnckocore/kokoko3` package + const fakePkgTree = path.join(fakeMonorepo, '@tunnckocore', 'kokoko3'); + + async function createFile(pkg, filename, content) { + const rand = Math.floor(Math.random()); + await fs.outputJson(path.join(pkg, filename || rand), content || { rand }); + } + + await fs.ensureDir(fakeMonorepo); + const git = await gitSetup(fakeMonorepo, true); + + await createFile(fakeMonorepo, 'package.json', { + private: true, + name: 'some-monorepo-root', + }); + + /** + * add `foo-bar-baz-qux` + */ + let name = 'foo-bar-baz-qux'; + await createFile(fakePkgOne, 'package.json', { name }); + + await git.add('./*'); + await git.commit(`chore: add \`${name}\` package`); + await git.addTag(`${name}@1.0.4`); + + /** + * add `@tunnckocore/qq5` + */ + name = '@tunnckocore/qq5'; + await createFile(fakePkgTwo, 'package.json', { name }); + + await git.add('./*'); + await git.commit(`chore: add \`${name}\` package`); + await git.addTag(`${name}@0.1.0`); + + /** + * add `@tunnckocore/kokoko3` + */ + name = '@tunnckocore/kokoko3'; + await createFile(fakePkgTree, 'package.json', { name }); + + await git.add('./*'); + await git.commit(`chore: add \`${name}\` package`); + await git.addTag(`${name}@1.1.0`); + + /** + * Change only inside `@tunnckocore/qq5` and `foo-bar-baz-qux` + * + * TODO: when implemented + */ + + // await createFile(fakePkgOne, 'some-new-file'); + // await createFile(fakePkgTwo, 'yeah-new-new'); + + /** + * Get the results + * + * TODO: when implemented + */ + const results = await release({ cwd: fakeMonorepo, monorepo: true }); + console.log(results); + + /** + * Cleanup the whole monorepo + */ + fs.remove(fakeMonorepo); +}); diff --git a/test/snapshots/index.snapshot.json b/test/snapshots/index.snapshot.json index b8d4ccf..d32f916 100644 --- a/test/snapshots/index.snapshot.json +++ b/test/snapshots/index.snapshot.json @@ -1 +1 @@ -{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n const fakePkg = path.join(__dirname, 'fakepkg');\n\n await fs.remove(fakePkg);\n await fs.mkdirp(fakePkg);\n await fs.writeFile(\n path.join(fakePkg, 'package.json'),\n JSON.stringify({ name: '@tunnckocore/kokoko3' }, null, 2),\n );\n\n const git = simpleGit(fakePkg);\n await git.init();\n\n const localGitConfig = dedent`[core]\n repositoryformatversion = 0\n filemode = true\n bare = false\n logallrefupdates = true\n [user]\n name = Foo Bar Baz\n email = foobar@example.com\n [commit]\n gpgsign = false`;\n\n await fs.writeFile(path.join(fakePkg, '.git', 'config'), localGitConfig);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await fs.writeFile(path.join(fakePkg, 'foo.txt'), 'bar');\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await fs.writeFile(path.join(fakePkg, 'fix2.txt'), '222xasas');\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const result = await release({ cwd: fakePkg });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(fakePkg);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file +{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n const fakePkg = path.join(__dirname, 'fakepkg');\n\n await fs.remove(fakePkg);\n await fs.ensureDir(fakePkg);\n await fs.outputJson(path.join(fakePkg, 'package.json'), {\n name: '@tunnckocore/kokoko3',\n });\n\n const git = await gitSetup(fakePkg);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await fs.outputFile(path.join(fakePkg, 'foo.txt'), 'bar');\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await fs.outputFile(path.join(fakePkg, 'fix2.txt'), '222xasas');\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const result = await release({ cwd: fakePkg });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(fakePkg);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 792b4be..b57f07e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -103,6 +103,11 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@std/esm@^0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@std/esm/-/esm-0.20.0.tgz#658cb32e3b163f20b7d9f29a78987041068b1182" + integrity sha512-05cQYa1T/6XxKhhnyIKQC8kSBHYkXWueZ0XFLABLlghoymwgyp4XT9ivjDrHb7EbSWbQoHSRk34zhIuPeShJow== + "@tunnckocore/config@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@tunnckocore/config/-/config-1.0.3.tgz#5ae49c210c5b1d5d2d1cc92e9f5bfd86c930895d" @@ -153,6 +158,16 @@ esm "^3.0.84" parse-package-name "^0.1.0" +"@tunnckocore/pretty-config@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@tunnckocore/pretty-config/-/pretty-config-0.5.1.tgz#e8cc45cf28ec5c74245f857ae317955d483a2879" + integrity sha512-6jo7FUloetOMvCVZiIlEWdidDMP3aC84w90f3MmH/CVp9ep96SXOsLsPQOzrE9S+V8Mmdg3rmXv1fOyLD9DT4w== + dependencies: + "@std/esm" "^0.20.0" + js-yaml "^3.10.0" + json-6 "^0.1.128" + pify "^3.0.0" + acorn-jsx@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" @@ -420,11 +435,6 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1692,7 +1702,7 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.12.0: +js-yaml@^3.10.0, js-yaml@^3.12.0: version "3.12.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== @@ -1705,6 +1715,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +json-6@^0.1.128: + version "0.1.128" + resolved "https://registry.yarnpkg.com/json-6/-/json-6-0.1.128.tgz#0c52ddf38af9bd2d8ca5fdb402fc0e70776ccbf2" + integrity sha512-drsXxm2Z5DnjgtH80fy6qMfNPQMpaK4blHBcWlHFLiaz/NKfRFSuvhLoJGzZuo64B/t8Nx1stNzCTUzrmKz+dw== + 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" From 2c3b5faf05974205dfe8d56de8d9735209c00abb Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:41:39 +0200 Subject: [PATCH 07/14] chore: add log in tests, to see wazzup on CI --- test/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/index.js b/test/index.js index 893b15f..f361b9d 100644 --- a/test/index.js +++ b/test/index.js @@ -67,7 +67,7 @@ test('should detect new commits', async (t) => { await git.commit('fix: fo222222o bar baz'); const result = await release({ cwd: fakePkg }); - + console.log(result); t.strictEqual(result.increment, 'major'); t.strictEqual(result.lastVersion, '1.1.0'); t.strictEqual(result.nextVersion, '2.0.0'); From 9cbba4f1275b45ecb0952757ebcc1c3471815558 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:46:33 +0200 Subject: [PATCH 08/14] fix: fix previous test --- test/index.js | 20 ++++++++++---------- test/snapshots/index.snapshot.json | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/test/index.js b/test/index.js index f361b9d..6b27ad2 100644 --- a/test/index.js +++ b/test/index.js @@ -33,6 +33,11 @@ async function gitSetup(dir, initial) { return git; } +async function createFile(pkg, filename, content) { + const rand = Math.floor(Math.random()); + await fs.outputJson(path.join(pkg, filename || rand), content || { rand }); +} + test('basic', async (t) => { t.strictEqual(typeof release, 'function'); @@ -48,7 +53,7 @@ test('should detect new commits', async (t) => { await fs.remove(fakePkg); await fs.ensureDir(fakePkg); - await fs.outputJson(path.join(fakePkg, 'package.json'), { + await fs.createFile(fakePkg, 'package.json', { name: '@tunnckocore/kokoko3', }); @@ -58,16 +63,16 @@ test('should detect new commits', async (t) => { await git.commit('feat: initial blank release'); await git.addTag('v1.1.0'); - await fs.outputFile(path.join(fakePkg, 'foo.txt'), 'bar'); + await createFile(fakePkg); await git.add('./*'); await git.commit('major(release): qxu quack'); - await fs.outputFile(path.join(fakePkg, 'fix2.txt'), '222xasas'); + await createFile(fakePkg); await git.add('./*'); await git.commit('fix: fo222222o bar baz'); - const result = await release({ cwd: fakePkg }); - console.log(result); + const [result] = await release({ cwd: fakePkg }); + t.strictEqual(result.increment, 'major'); t.strictEqual(result.lastVersion, '1.1.0'); t.strictEqual(result.nextVersion, '2.0.0'); @@ -87,11 +92,6 @@ test('should work for monorepo setups', async () => { // the `@tunnckocore/kokoko3` package const fakePkgTree = path.join(fakeMonorepo, '@tunnckocore', 'kokoko3'); - async function createFile(pkg, filename, content) { - const rand = Math.floor(Math.random()); - await fs.outputJson(path.join(pkg, filename || rand), content || { rand }); - } - await fs.ensureDir(fakeMonorepo); const git = await gitSetup(fakeMonorepo, true); diff --git a/test/snapshots/index.snapshot.json b/test/snapshots/index.snapshot.json index d32f916..f07df98 100644 --- a/test/snapshots/index.snapshot.json +++ b/test/snapshots/index.snapshot.json @@ -1 +1 @@ -{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n const fakePkg = path.join(__dirname, 'fakepkg');\n\n await fs.remove(fakePkg);\n await fs.ensureDir(fakePkg);\n await fs.outputJson(path.join(fakePkg, 'package.json'), {\n name: '@tunnckocore/kokoko3',\n });\n\n const git = await gitSetup(fakePkg);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await fs.outputFile(path.join(fakePkg, 'foo.txt'), 'bar');\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await fs.outputFile(path.join(fakePkg, 'fix2.txt'), '222xasas');\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const result = await release({ cwd: fakePkg });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(fakePkg);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file +{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n const fakePkg = path.join(__dirname, 'fakepkg');\n\n await fs.remove(fakePkg);\n await fs.ensureDir(fakePkg);\n await fs.createFile(fakePkg, 'package.json', {\n name: '@tunnckocore/kokoko3',\n });\n\n const git = await gitSetup(fakePkg);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await createFile(fakePkg);\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await createFile(fakePkg);\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const [result] = await release({ cwd: fakePkg });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(fakePkg);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file From 1bfc6d04fe443bc0e6d28701a14729f11b934740 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:48:36 +0200 Subject: [PATCH 09/14] chore: cleanup before and after test start --- test/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/index.js b/test/index.js index 6b27ad2..91e16e6 100644 --- a/test/index.js +++ b/test/index.js @@ -53,6 +53,7 @@ test('should detect new commits', async (t) => { await fs.remove(fakePkg); await fs.ensureDir(fakePkg); + await fs.createFile(fakePkg, 'package.json', { name: '@tunnckocore/kokoko3', }); @@ -92,7 +93,9 @@ test('should work for monorepo setups', async () => { // the `@tunnckocore/kokoko3` package const fakePkgTree = path.join(fakeMonorepo, '@tunnckocore', 'kokoko3'); + await fs.remove(fakeMonorepo); await fs.ensureDir(fakeMonorepo); + const git = await gitSetup(fakeMonorepo, true); await createFile(fakeMonorepo, 'package.json', { From ff8db1577354c2736434bee5ca413c37605395d6 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:49:51 +0200 Subject: [PATCH 10/14] fix: force new cache ci --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 465f2f3..b36e707 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,9 +26,9 @@ node10linux: &node10linux restore_modules_cache: &restore_modules_cache restore_cache: keys: - - release-cli-{{ checksum "yarn.lock" }} + - release-cli-v2-{{ checksum "yarn.lock" }} # fallback to using the latest cache if no exact match is found - - release-cli- + - release-cli-v2 # jobinstall: &jobinstall # steps: From 83566fda8e4a8876a1d031656ef421133fbfe8a8 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:54:43 +0200 Subject: [PATCH 11/14] fix: loud renames --- test/index.js | 49 +++++++++++++++--------------- test/snapshots/index.snapshot.json | 2 +- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/test/index.js b/test/index.js index 91e16e6..d12b2f9 100644 --- a/test/index.js +++ b/test/index.js @@ -7,6 +7,9 @@ import simpleGit from 'simple-git/promise'; import release from '../src'; import { __dirname } from './cjs-globals'; +const FAKE_MONO = path.join(__dirname, 'some-monorepo'); +const FAKE_PKG = path.join(__dirname, 'kokoko3'); + async function gitSetup(dir, initial) { const git = simpleGit(dir); await git.init(); @@ -49,56 +52,52 @@ test('basic', async (t) => { }); test('should detect new commits', async (t) => { - const fakePkg = path.join(__dirname, 'fakepkg'); - - await fs.remove(fakePkg); - await fs.ensureDir(fakePkg); + await fs.remove(FAKE_PKG); + await fs.ensureDir(FAKE_PKG); - await fs.createFile(fakePkg, 'package.json', { + await fs.createFile(FAKE_PKG, 'package.json', { name: '@tunnckocore/kokoko3', }); - const git = await gitSetup(fakePkg); + const git = await gitSetup(FAKE_PKG); await git.add('./*'); await git.commit('feat: initial blank release'); await git.addTag('v1.1.0'); - await createFile(fakePkg); + await createFile(FAKE_PKG); await git.add('./*'); await git.commit('major(release): qxu quack'); - await createFile(fakePkg); + await createFile(FAKE_PKG); await git.add('./*'); await git.commit('fix: fo222222o bar baz'); - const [result] = await release({ cwd: fakePkg }); + const [result] = await release({ cwd: FAKE_PKG }); t.strictEqual(result.increment, 'major'); t.strictEqual(result.lastVersion, '1.1.0'); t.strictEqual(result.nextVersion, '2.0.0'); - fs.remove(fakePkg); + fs.remove(FAKE_PKG); }); /* eslint-disable max-statements */ test('should work for monorepo setups', async () => { - const fakeMonorepo = path.join(__dirname, 'fake-monorepo'); - // the `foo-bar-baz-qux` package - const fakePkgOne = path.join(fakeMonorepo, 'packages', 'foo-bar-baz-qux'); + const FAKE_1 = path.join(FAKE_MONO, 'packages', 'foo-bar-baz-qux'); // the `@tunnckocore/qq5` package - const fakePkgTwo = path.join(fakeMonorepo, '@tunnckocore', 'qq5'); + const FAKE_2 = path.join(FAKE_MONO, '@tunnckocore', 'qq5'); // the `@tunnckocore/kokoko3` package - const fakePkgTree = path.join(fakeMonorepo, '@tunnckocore', 'kokoko3'); + const FAKE_3 = path.join(FAKE_MONO, '@tunnckocore', 'kokoko3'); - await fs.remove(fakeMonorepo); - await fs.ensureDir(fakeMonorepo); + await fs.remove(FAKE_MONO); + await fs.ensureDir(FAKE_MONO); - const git = await gitSetup(fakeMonorepo, true); + const git = await gitSetup(FAKE_MONO, true); - await createFile(fakeMonorepo, 'package.json', { + await createFile(FAKE_MONO, 'package.json', { private: true, name: 'some-monorepo-root', }); @@ -107,7 +106,7 @@ test('should work for monorepo setups', async () => { * add `foo-bar-baz-qux` */ let name = 'foo-bar-baz-qux'; - await createFile(fakePkgOne, 'package.json', { name }); + await createFile(FAKE_1, 'package.json', { name }); await git.add('./*'); await git.commit(`chore: add \`${name}\` package`); @@ -117,7 +116,7 @@ test('should work for monorepo setups', async () => { * add `@tunnckocore/qq5` */ name = '@tunnckocore/qq5'; - await createFile(fakePkgTwo, 'package.json', { name }); + await createFile(FAKE_2, 'package.json', { name }); await git.add('./*'); await git.commit(`chore: add \`${name}\` package`); @@ -127,7 +126,7 @@ test('should work for monorepo setups', async () => { * add `@tunnckocore/kokoko3` */ name = '@tunnckocore/kokoko3'; - await createFile(fakePkgTree, 'package.json', { name }); + await createFile(FAKE_3, 'package.json', { name }); await git.add('./*'); await git.commit(`chore: add \`${name}\` package`); @@ -139,7 +138,7 @@ test('should work for monorepo setups', async () => { * TODO: when implemented */ - // await createFile(fakePkgOne, 'some-new-file'); + // await createFile(FAKE_1, 'some-new-file'); // await createFile(fakePkgTwo, 'yeah-new-new'); /** @@ -147,11 +146,11 @@ test('should work for monorepo setups', async () => { * * TODO: when implemented */ - const results = await release({ cwd: fakeMonorepo, monorepo: true }); + const results = await release({ cwd: FAKE_MONO, monorepo: true }); console.log(results); /** * Cleanup the whole monorepo */ - fs.remove(fakeMonorepo); + fs.remove(FAKE_MONO); }); diff --git a/test/snapshots/index.snapshot.json b/test/snapshots/index.snapshot.json index f07df98..96f7d2c 100644 --- a/test/snapshots/index.snapshot.json +++ b/test/snapshots/index.snapshot.json @@ -1 +1 @@ -{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n const fakePkg = path.join(__dirname, 'fakepkg');\n\n await fs.remove(fakePkg);\n await fs.ensureDir(fakePkg);\n await fs.createFile(fakePkg, 'package.json', {\n name: '@tunnckocore/kokoko3',\n });\n\n const git = await gitSetup(fakePkg);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await createFile(fakePkg);\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await createFile(fakePkg);\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const [result] = await release({ cwd: fakePkg });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(fakePkg);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file +{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n await fs.remove(FAKE_PKG);\n await fs.ensureDir(FAKE_PKG);\n\n await fs.createFile(FAKE_PKG, 'package.json', {\n name: '@tunnckocore/kokoko3',\n });\n\n const git = await gitSetup(FAKE_PKG);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await createFile(FAKE_PKG);\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await createFile(FAKE_PKG);\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const [result] = await release({ cwd: FAKE_PKG });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(FAKE_PKG);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file From f8eb83bdcf80d59e392ef34dde482f65914cbe95 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 02:59:32 +0200 Subject: [PATCH 12/14] chore: rename test dir, due CI problems --- .nycrc.json | 10 +++++++++- {test => tests}/cjs-globals.js | 0 {test => tests}/index.js | 9 ++++++--- {test => tests}/snapshots/index.snapshot.json | 0 4 files changed, 15 insertions(+), 4 deletions(-) rename {test => tests}/cjs-globals.js (100%) rename {test => tests}/index.js (93%) rename {test => tests}/snapshots/index.snapshot.json (100%) diff --git a/.nycrc.json b/.nycrc.json index c0168b2..5fbee52 100644 --- a/.nycrc.json +++ b/.nycrc.json @@ -1,3 +1,11 @@ { - "extends": "./node_modules/@tunnckocore/config/nyc.json" + "statements": 0, + "branches": 0, + "functions": 0, + "lines": 0, + "cache": true, + "check-coverage": true, + "reporter": ["lcov", "text"], + "include": ["src/**/*.js"], + "exclude": ["tests"] } diff --git a/test/cjs-globals.js b/tests/cjs-globals.js similarity index 100% rename from test/cjs-globals.js rename to tests/cjs-globals.js diff --git a/test/index.js b/tests/index.js similarity index 93% rename from test/index.js rename to tests/index.js index d12b2f9..753886d 100644 --- a/test/index.js +++ b/tests/index.js @@ -7,8 +7,11 @@ import simpleGit from 'simple-git/promise'; import release from '../src'; import { __dirname } from './cjs-globals'; -const FAKE_MONO = path.join(__dirname, 'some-monorepo'); -const FAKE_PKG = path.join(__dirname, 'kokoko3'); +const FAKE_MONO = path.join(__dirname, 'some-mono-repo'); +const FAKE_PKG = path.join(__dirname, 'kokokokokokokok'); + +fs.removeSync(FAKE_MONO); +fs.removeSync(FAKE_PKG); async function gitSetup(dir, initial) { const git = simpleGit(dir); @@ -26,7 +29,7 @@ async function gitSetup(dir, initial) { gpgsign = false`; await fs.outputFile(path.join(dir, '.git', 'config'), localGitConfig); - await fs.outputFile(path.join(dir, 'readme.md'), '# monorepo root'); + await fs.outputFile(path.join(dir, 'readme.md'), '# pkg readme'); if (initial) { await git.add('./*'); diff --git a/test/snapshots/index.snapshot.json b/tests/snapshots/index.snapshot.json similarity index 100% rename from test/snapshots/index.snapshot.json rename to tests/snapshots/index.snapshot.json From 899742b7444cb3bb219d26a799d185b2509a2fbd Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 03:13:19 +0200 Subject: [PATCH 13/14] fix: typo --- .nycrc.json | 1 - package.json | 6 +- tests/index.js | 21 +++-- tests/snapshots/index.snapshot.json | 1 - yarn.lock | 131 ++-------------------------- 5 files changed, 22 insertions(+), 138 deletions(-) delete mode 100644 tests/snapshots/index.snapshot.json diff --git a/.nycrc.json b/.nycrc.json index 5fbee52..a979acd 100644 --- a/.nycrc.json +++ b/.nycrc.json @@ -6,6 +6,5 @@ "cache": true, "check-coverage": true, "reporter": ["lcov", "text"], - "include": ["src/**/*.js"], "exclude": ["tests"] } diff --git a/package.json b/package.json index 78a1887..6c4a1ef 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "standard-release": "node cli.js", "docs": "docks --outfile .verb.md && verb", "lint": "eslint '**/*.js' --cache --fix --quiet --format codeframe", - "test-only": "asia -r esm --reporter codeframe", - "test": "nyc asia", + "test-only": "node -r esm tests/index.js", + "test": "nyc --require esm node tests/index.js", "precommit": "yarn run lint && yarn run test-only", "commit": "yarn dry", "dry": "git add -A && git status --porcelain && gitcommit", @@ -32,7 +32,7 @@ }, "devDependencies": { "@tunnckocore/config": "^1.0.3", - "asia": "^0.19.7", + "asia": "^1.0.0-rc.31", "dedent": "^0.7.0", "fs-extra": "^7.0.1", "simple-git": "^1.107.0" diff --git a/tests/index.js b/tests/index.js index 753886d..fa54b34 100644 --- a/tests/index.js +++ b/tests/index.js @@ -1,4 +1,5 @@ import path from 'path'; +import assert from 'assert'; import test from 'asia'; import fs from 'fs-extra'; import dedent from 'dedent'; @@ -41,24 +42,26 @@ async function gitSetup(dir, initial) { async function createFile(pkg, filename, content) { const rand = Math.floor(Math.random()); - await fs.outputJson(path.join(pkg, filename || rand), content || { rand }); + const filepath = path.join(pkg, filename || String(rand)); + + await fs.outputJson(filepath, content || { rand }); } -test('basic', async (t) => { - t.strictEqual(typeof release, 'function'); +test('basic', async () => { + assert.strictEqual(typeof release, 'function'); try { await release({ cwd: 'foo' }); } catch (err) { - t.ok(/Cannot find module/.test(err.message)); + assert.ok(/Cannot find module/.test(err.message)); } }); -test('should detect new commits', async (t) => { +test('should detect new commits', async () => { await fs.remove(FAKE_PKG); await fs.ensureDir(FAKE_PKG); - await fs.createFile(FAKE_PKG, 'package.json', { + await createFile(FAKE_PKG, 'package.json', { name: '@tunnckocore/kokoko3', }); @@ -78,9 +81,9 @@ test('should detect new commits', async (t) => { const [result] = await release({ cwd: FAKE_PKG }); - t.strictEqual(result.increment, 'major'); - t.strictEqual(result.lastVersion, '1.1.0'); - t.strictEqual(result.nextVersion, '2.0.0'); + assert.strictEqual(result.increment, 'major'); + assert.strictEqual(result.lastVersion, '1.1.0'); + assert.strictEqual(result.nextVersion, '2.0.0'); fs.remove(FAKE_PKG); }); diff --git a/tests/snapshots/index.snapshot.json b/tests/snapshots/index.snapshot.json deleted file mode 100644 index 96f7d2c..0000000 --- a/tests/snapshots/index.snapshot.json +++ /dev/null @@ -1 +0,0 @@ -{"basic":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n t.strictEqual(typeof release, 'function');\n\n try {\n await release({ cwd: 'foo' });\n } catch (err) {\n t.ok(/Cannot find module/.test(err.message));\n }\n}","title":"basic"},"should detect new commits":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":2,"str":"async (t) => {\n await fs.remove(FAKE_PKG);\n await fs.ensureDir(FAKE_PKG);\n\n await fs.createFile(FAKE_PKG, 'package.json', {\n name: '@tunnckocore/kokoko3',\n });\n\n const git = await gitSetup(FAKE_PKG);\n\n await git.add('./*');\n await git.commit('feat: initial blank release');\n await git.addTag('v1.1.0');\n\n await createFile(FAKE_PKG);\n await git.add('./*');\n await git.commit('major(release): qxu quack');\n\n await createFile(FAKE_PKG);\n await git.add('./*');\n await git.commit('fix: fo222222o bar baz');\n\n const [result] = await release({ cwd: FAKE_PKG });\n\n t.strictEqual(result.increment, 'major');\n t.strictEqual(result.lastVersion, '1.1.0');\n t.strictEqual(result.nextVersion, '2.0.0');\n fs.remove(FAKE_PKG);\n}","title":"should detect new commits"},"exists":true} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b57f07e..43c36c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.52": +"@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== @@ -188,11 +188,6 @@ ajv@^6.5.3, ajv@^6.6.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-2.0.5.tgz#5da37825fef3e75f3bda47f760d64bfd10e15e10" - integrity sha512-yAdfUZ+c2wetVNIFsNRn44THW+Lty6S5TwMpUfLA/UaGhiXbBv/F8E60/1hMLd0cnF/CDoWH8vzVaI5bAcHCjw== - ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -268,39 +263,15 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -arrayify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/arrayify/-/arrayify-1.0.0.tgz#f06a98235b8ef14ca1995992411a9fefb4e49cfc" - integrity sha1-8GqYI1uO8UyhmVmSQRqf77TknPw= - arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asia@^0.19.7: - version "0.19.7" - resolved "https://registry.yarnpkg.com/asia/-/asia-0.19.7.tgz#6278f6ae0aba49257b034718b9c8f1452c9cbcd9" - integrity sha512-oEfIqKZJrk0+ACnfJoX/OcxEa4aGba/lFt3FMEaWibkgnI5B9V8h4vMte0C5ufIhFDs6KG2tpgeZ4rBQ45QSAg== - dependencies: - "@babel/code-frame" "^7.0.0-beta.52" - ansi-colors "^2.0.2" - arrayify "^1.0.0" - clean-stacktrace "^1.1.0" - fast-glob "^2.2.2" - globrex "^0.1.1" - is-ci "^1.1.0" - is-observable "^1.1.0" - mkdirp "^0.5.1" - mri "^1.1.1" - observable-to-promise "^0.5.0" - p-map "^1.2.0" - p-map-series "^1.0.0" - p-reflect "^1.0.0" - pretty-ms "^3.2.0" - rimraf "^2.6.2" - serialize-error "^2.1.0" - supports-color "^5.4.0" +asia@^1.0.0-rc.31: + version "1.0.0-rc.31" + resolved "https://registry.yarnpkg.com/asia/-/asia-1.0.0-rc.31.tgz#41493a2b74b8dd75309b19c4857ea6637888178f" + integrity sha512-lcVPpuY9ucGuL/KXpgrD8i8CesQ6K37Xcv8tu9ecGbz9RKreGSWjopNY4U3J1z9sw12Wss+0AkQ771yYE6Hz3Q== assign-symbols@^1.0.0: version "1.0.0" @@ -449,11 +420,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -481,13 +447,6 @@ clean-regexp@^1.0.0: dependencies: escape-string-regexp "^1.0.5" -clean-stacktrace@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/clean-stacktrace/-/clean-stacktrace-1.1.0.tgz#8b8cdc87f640daaba9c595ab6edb897b63b0ce33" - integrity sha1-i4zch/ZA2qupxZWrbtuJe2OwzjM= - dependencies: - stack-utils-node-internals "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -1338,11 +1297,6 @@ globals@^11.1.0, globals@^11.7.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== -globrex@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" @@ -1519,13 +1473,6 @@ is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-ci@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -1620,20 +1567,6 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - integrity sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI= - dependencies: - symbol-observable "^0.2.2" - -is-observable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" - integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== - dependencies: - symbol-observable "^1.1.0" - is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -2154,14 +2087,6 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -observable-to-promise@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" - integrity sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8= - dependencies: - is-observable "^0.2.0" - symbol-observable "^1.0.4" - 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" @@ -2228,21 +2153,11 @@ p-map-series@^1.0.0: dependencies: p-reduce "^1.0.0" -p-map@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== - p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= -p-reflect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reflect/-/p-reflect-1.0.0.tgz#f4fa1ee1bb546d8eb3ec0321148dfe0a79137bb8" - integrity sha1-9Poe4btUbY6z7AMhFI3+CnkTe7g= - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -2280,11 +2195,6 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-ms@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" - integrity sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0= - parse-package-name@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/parse-package-name/-/parse-package-name-0.1.0.tgz#3f44dd838feb4c2be4bf318bae4477d7706bade4" @@ -2383,13 +2293,6 @@ prettier@^1.14.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d" integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw== -pretty-ms@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-3.2.0.tgz#87a8feaf27fc18414d75441467d411d6e6098a25" - integrity sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q== - dependencies: - parse-ms "^1.0.0" - process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -2584,7 +2487,7 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rimraf@^2.6.2, rimraf@~2.6.2: +rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -2634,11 +2537,6 @@ safe-regex@^2.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -serialize-error@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" - integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= - set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -2803,11 +2701,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -stack-utils-node-internals@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stack-utils-node-internals/-/stack-utils-node-internals-1.0.1.tgz#ab4a8a469b6cbec72b0bfb589df5e28b1d12281f" - integrity sha1-q0qKRptsvscrC/tYnfXiix0SKB8= - static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -2881,23 +2774,13 @@ strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@^5.3.0, supports-color@^5.4.0: +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - integrity sha1-lag9smGG1q9+ehjb2XYKL4bQj0A= - -symbol-observable@^1.0.4, symbol-observable@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - table@^5.0.2: version "5.2.2" resolved "https://registry.yarnpkg.com/table/-/table-5.2.2.tgz#61d474c9e4d8f4f7062c98c7504acb3c08aa738f" From 3b58f32a64bc8d1ee17571f55771ff88c52024f1 Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Fri, 1 Feb 2019 06:41:04 +0200 Subject: [PATCH 14/14] chore: force update yarn --- yarn.lock | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8d778f7..0bd977d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -103,16 +103,16 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@std/esm@^0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@std/esm/-/esm-0.20.0.tgz#658cb32e3b163f20b7d9f29a78987041068b1182" - integrity sha512-05cQYa1T/6XxKhhnyIKQC8kSBHYkXWueZ0XFLABLlghoymwgyp4XT9ivjDrHb7EbSWbQoHSRk34zhIuPeShJow== - "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== +"@std/esm@^0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@std/esm/-/esm-0.20.0.tgz#658cb32e3b163f20b7d9f29a78987041068b1182" + integrity sha512-05cQYa1T/6XxKhhnyIKQC8kSBHYkXWueZ0XFLABLlghoymwgyp4XT9ivjDrHb7EbSWbQoHSRk34zhIuPeShJow== + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -161,15 +161,6 @@ esm "^3.0.84" semver "^5.6.0" -"@tunnckocore/package-json@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tunnckocore/package-json/-/package-json-1.0.3.tgz#93fccf6d504f38d5c0db581607a0402de06c5d41" - integrity sha512-BSpZbuoHtnpuBhZV1cWZSD6G7BKc6l3ogw1mJTyviOsck5iGxbDtplmV6OA3vwpYJcJ5tOOWARiy7A+4aW88LA== - dependencies: - axios "^0.18.0" - esm "^3.0.84" - parse-package-name "^0.1.0" - "@tunnckocore/pretty-config@^0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@tunnckocore/pretty-config/-/pretty-config-0.5.1.tgz#e8cc45cf28ec5c74245f857ae317955d483a2879" @@ -2445,7 +2436,7 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= -rc@^1.2.8: +rc@^1.1.6, rc@^1.2.7, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==