From 1ea2699bbdeaa36d5e94f269edcee1cee535d31b Mon Sep 17 00:00:00 2001 From: Charlike Mike Reagent Date: Tue, 6 Nov 2018 07:38:03 +0200 Subject: [PATCH] major(v2): rewrite from the ground up (#1) * major: complete refactor * fix: yea, Verb does not understand scoped packages * fix: cleanup fixtures dir after tests end * fix: move to latest charlike * fix: sync version too * fix: prepare release and publish Signed-off-by: Charlike Mike Reagent --- .nycrc.json | 6 +- .verb.md | 13 +- README.md | 19 +- cli.js | 117 +++++----- package.json | 27 ++- src/index.js | 131 ++++++++++- test/cjs.js | 1 + test/index.js | 60 ++++- test/snapshots/index.snapshot.json | 2 +- yarn.lock | 337 ++++++++++------------------- 10 files changed, 400 insertions(+), 313 deletions(-) create mode 100644 test/cjs.js diff --git a/.nycrc.json b/.nycrc.json index c0168b2..537df24 100644 --- a/.nycrc.json +++ b/.nycrc.json @@ -1,3 +1,7 @@ { - "extends": "./node_modules/@tunnckocore/config/nyc.json" + "extends": "./node_modules/@tunnckocore/config/nyc.json", + "statements": 88, + "branches": 57, + "functions": 100, + "lines": 87 } diff --git a/.verb.md b/.verb.md index 52e2196..a51dfee 100644 --- a/.verb.md +++ b/.verb.md @@ -66,8 +66,7 @@ _Generated using [docks](http://npm.im/docks)._ ## See Also -Some of these projects are used here or were inspiration for this one, others are just related. So, thanks for your -existance! +Some of these projects are used here or were inspiration for this one, others are just related. So, thanks for your existance! {%= related(verb.related.list, { words: 10 }) %} **[back to top](#thetop)** @@ -118,12 +117,8 @@ Consider showing your [support](#support-the-project) to them. :sparkling_heart: ## License -Copyright (c) {%= licenseStart %}-present, [Charlike Mike Reagent](https://tunnckocore.com) `` & [contributors](#wonderful-contributors). -Released under the [{%= license %} License][license-url]. - ---- - -{%= include('footer') %} +Copyright (c) 2018-present, [Charlike Mike Reagent](https://tunnckocore.com) `` & [contributors](#wonderful-contributors). +Released under the [Apache-2.0 License][license-url]. @@ -169,6 +164,6 @@ Released under the [{%= license %} License][license-url]. [patreon-img]: https://badgen.net/badge/patreon/tunnckoCore/F96854?icon=patreon [patreon-sponsor-img]: https://badgen.net/badge/become/a%20sponsor/F96854?icon=patreon -[shareu]: https://twitter.com/intent/tweet?text=https://github.com/tunnckoCoreLabs/update&via=tunnckoCore +[shareu]: https://twitter.com/intent/tweet?text=https://github.com/{%=repository%}&via=tunnckoCore [shareb]: https://badgen.net/badge/twitter/share/1da1f2?icon=twitter [open-issue-url]: https://github.com/tunnckoCoreLabs/update/issues/new diff --git a/README.md b/README.md index f298bc2..a8946ab 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # @tunnckocore/update [![npm version][npmv-img]][npmv-url] [![github release][ghrelease-img]][ghrelease-url] [![License][license-img]][license-url] -> Update a repository with latest templates from `charlike`. +> Update to latest project files and templates, based on `charlike` scaffolder Please consider following this project's author, [Charlike Mike Reagent](https://github.com/tunnckoCore), and :star: the project to show your :heart: and support. @@ -72,12 +72,16 @@ _Generated using [docks](http://npm.im/docks)._ ## See Also -Some of these projects are used here or were inspiration for this one, others are just related. So, thanks for your -existance! +Some of these projects are used here or were inspiration for this one, others are just related. So, thanks for your existance! +- [@tunnckocore/config](https://www.npmjs.com/package/@tunnckocore/config): All the configs for all the tools, in one place | [homepage](https://github.com/tunnckoCoreLabs/config "All the configs for all the tools, in one place") +- [@tunnckocore/create-project](https://www.npmjs.com/package/@tunnckocore/create-project): Create and scaffold a new project, its GitHub repository and… [more](https://github.com/tunnckoCoreLabs/create-project) | [homepage](https://github.com/tunnckoCoreLabs/create-project "Create and scaffold a new project, its GitHub repository and contents") +- [@tunnckocore/execa](https://www.npmjs.com/package/@tunnckocore/execa): Thin layer on top of [execa][] that allows executing multiple… [more](https://github.com/tunnckoCoreLabs/execa) | [homepage](https://github.com/tunnckoCoreLabs/execa "Thin layer on top of [execa][] that allows executing multiple commands in parallel or in sequence") +- [@tunnckocore/scripts](https://www.npmjs.com/package/@tunnckocore/scripts): Universal and minimalist scripts & tasks runner. | [homepage](https://github.com/tunnckoCoreLabs/scripts "Universal and minimalist scripts & tasks runner.") +- [@tunnckocore/update](https://www.npmjs.com/package/@tunnckocore/update): Update a repository with latest templates from `charlike`. | [homepage](https://github.com/tunnckoCoreLabs/update "Update a repository with latest templates from `charlike`.") - [asia](https://www.npmjs.com/package/asia): Blazingly fast, magical and minimalist testing framework, for Today and… [more](https://github.com/olstenlarck/asia#readme) | [homepage](https://github.com/olstenlarck/asia#readme "Blazingly fast, magical and minimalist testing framework, for Today and Tomorrow") - [charlike](https://www.npmjs.com/package/charlike): Small & fast project scaffolder with sane defaults. Supports hundreds… [more](https://github.com/tunnckoCoreLabs/charlike) | [homepage](https://github.com/tunnckoCoreLabs/charlike "Small & fast project scaffolder with sane defaults. Supports hundreds of template engines through the @JSTransformers API or if you want custom `render` function passed through options") - [docks](https://www.npmjs.com/package/docks): Extensible system for parsing and generating documentation. It just freaking… [more](https://github.com/tunnckoCore/docks) | [homepage](https://github.com/tunnckoCore/docks "Extensible system for parsing and generating documentation. It just freaking works!") -- [execa](https://www.npmjs.com/package/execa): A better `child_process` | [homepage](https://github.com/sindresorhus/execa#readme "A better `child_process`") +- [gitcommit](https://www.npmjs.com/package/gitcommit): Lightweight and joyful `git commit` replacement. Conventional Commits compliant. | [homepage](https://github.com/tunnckoCore/gitcommit "Lightweight and joyful `git commit` replacement. Conventional Commits compliant.") **[back to top](#thetop)** @@ -129,10 +133,6 @@ Consider showing your [support](#support-the-project) to them. :sparkling_heart: Copyright (c) 2018-present, [Charlike Mike Reagent](https://tunnckocore.com) `` & [contributors](#wonderful-contributors). Released under the [Apache-2.0 License][license-url]. ---- - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on November 02, 2018._ - [npmv-url]: https://www.npmjs.com/package/@tunnckocore/update @@ -177,9 +177,10 @@ _This file was generated by [verb-generate-readme](https://github.com/verbose/ve [patreon-img]: https://badgen.net/badge/patreon/tunnckoCore/F96854?icon=patreon [patreon-sponsor-img]: https://badgen.net/badge/become/a%20sponsor/F96854?icon=patreon -[shareu]: https://twitter.com/intent/tweet?text=https://github.com/tunnckoCoreLabs/update&via=tunnckoCore +[shareu]: https://twitter.com/intent/tweet?text=https://github.com/tunnckoCoreLabs/tunnckocore&via=tunnckoCore [shareb]: https://badgen.net/badge/twitter/share/1da1f2?icon=twitter [open-issue-url]: https://github.com/tunnckoCoreLabs/update/issues/new +[execa]: https://github.com/sindresorhus/execa [new-release]: https://github.com/tunnckoCore/new-release [semantic-release]: https://github.com/semantic-release/semantic-release \ No newline at end of file diff --git a/cli.js b/cli.js index 8aede27..fda31ce 100644 --- a/cli.js +++ b/cli.js @@ -2,74 +2,71 @@ 'use strict'; -const path = require('path'); +/* eslint-disable promise/always-return */ + const proc = require('process'); const charlike = require('charlike'); -// const { exec } = require('@tunnckocore/execa'); -const getPkg = require('@tunnckocore/package-json').default; -const fs = require('fs-extra'); - -const get = async (name, field) => (await getPkg(name))[field]; -const cwd = proc.cwd(); -const name = path.basename(cwd); -const upDir = path.dirname(cwd); +const update = require('./index'); +const pkg = require('./package.json'); -// eslint-disable-next-line import/no-dynamic-require -const pkg = require(path.join(cwd, 'package.json')); +(async function main() { + const argv = await charlike.cli(showHelp, proc.argv.slice(2), { + pkg, + isUpdate: true, + }); -async function main() { - proc.chdir(upDir); + try { + const { ranInCwd, cwd } = await update(argv._[0], argv); + console.log('Updating your project has finished.'); - const oldCwd = path.join(upDir, `old-${name}`); - if (await fs.pathExists(oldCwd)) { - await fs.remove(oldCwd); - } else { - await fs.move(cwd, oldCwd); + if (ranInCwd) { + console.log('Make sure to open current folder again: cd', cwd); + } + } catch (err) { + console.error(';( Oooh, crap! Some error happened.'); + console.error(argv.verbose ? err.stack : err.message); + proc.exit(1); } +})(); - const deps = JSON.stringify( - Object.assign({}, pkg.dependencies, { - esm: `^${await get('esm', 'version')}`, - }), - ); - - const devDeps = JSON.stringify( - Object.assign({}, pkg.devDependencies, { - '@tunnckocore/config': `^${await get('@tunnckocore/config', 'version')}`, - '@tunnckocore/scripts': `^${await get( - '@tunnckocore/scripts', - 'version', - )}`, - asia: `^${await get('asia', 'version')}`, - }), - ); - - await charlike(pkg.name, pkg.description, { - cwd: upDir, - owner: 'tunnckoCoreLabs', - licenseStart: pkg.licenseStart, - locals: { - pkg: await getPkg(pkg.name), - deps, - devDeps, - }, - }); +function showHelp(exitCode = 0) { + const log = exitCode === 0 ? console.log : console.error; - await fs.move(path.join(oldCwd, 'src'), path.join(cwd, 'src'), { - overwrite: true, - }); - await fs.move(path.join(oldCwd, 'test'), path.join(cwd, 'test'), { - overwrite: true, - }); - await fs.move(path.join(oldCwd, '.git'), path.join(cwd, '.git'), { - overwrite: true, - }); + log(` update v${pkg.version} + ${pkg.description} - console.log('Make sure to `cd` again to', cwd); -} + Usage: update [dirName] [flags] + + Common Flags: + -h, --help Display this help. + -v, --version Display current version. + + Flags: + -d, --desc Project description, short for "--project.description". + -o, --owner Usually your GitHub username or organization. + -t, --templates Source templates directory. + --engine Engine to be used in the template files. + --locals Locals for the template files. Support dot notation. + --locals.author.name Project's author name. + --locals.author.email Project's author email. And so on. + --project Project metadata like name, description + --project.name Project name. + --project.description Project description. + --cwd Folder to be used as current working dir. + --ly Shortcut for --locals.license.year (license start year). + --ln Set --locals.license.name. + + Examples: + update foobar --locals.author.name 'John Snow' + update foobar --locals.license 'Apache-2.0' --locals.foo bar -main().catch((err) => { - console.log(err.stack); - proc.exit(1); -}); + Useful when transferring to another org or user: + update foobar --owner tunnckoCoreLabs + + Useful when switching license: + update my-project-dir --ly 2015 --ln MIT + `); + + proc.exit(exitCode); +} diff --git a/package.json b/package.json index 41c638d..277cf64 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,26 @@ { "name": "@tunnckocore/update", - "description": "Update a repository with latest templates from `charlike`.", + "description": "Update to latest project files and templates, based on `charlike` scaffolder", "license": "Apache-2.0", "licenseStart": "2018", "scripts": { "start": "tunnckocore-scripts", - "extends": "@tunnckocore/config/scripts" + "extends": "@tunnckocore/config/scripts", + "docs": "tunnckocore-scripts docs", + "lint": "tunnckocore-scripts lint", + "test": "tunnckocore-scripts test", + "commit": "tunnckocore-scripts commit" }, "engines": { "node": "^8.11.0 || >=10.13.0" }, "dependencies": { - "@tunnckocore/execa": "^2.1.1", "@tunnckocore/package-json": "^0.3.1", "charlike": "latest", "esm": "^3.0.84", - "fs-extra": "^7.0.0" + "fs-extra": "^7.0.0", + "mixin-deep": "^2.0.0", + "mri": "^1.1.1" }, "devDependencies": { "@tunnckocore/config": "^0.5.1", @@ -24,8 +29,8 @@ }, "files": [ "src", - "cli.js", - "index.js" + "index.js", + "cli.js" ], "bin": { "update": "cli.js", @@ -34,7 +39,7 @@ "main": "index.js", "module": "src/index.js", "typings": "src/index.d.ts", - "version": "0.0.0-semantically-released", + "version": "2.0.0", "repository": "tunnckoCoreLabs/update", "homepage": "https://github.com/tunnckoCoreLabs/update", "author": "Charlike Mike Reagent (https://tunnckocore.com)", @@ -61,7 +66,13 @@ "asia", "charlike", "docks", - "execa" + "gitcommit", + "@tunnckocore/execa", + "@tunnckocore/package-json", + "@tunnckocore/create-project", + "@tunnckocore/update", + "@tunnckocore/config", + "@tunnckocore/scripts" ] }, "lint": { diff --git a/src/index.js b/src/index.js index 2d1ec23..a7c3cce 100644 --- a/src/index.js +++ b/src/index.js @@ -1 +1,130 @@ -export default () => {}; +import path from 'path'; +import proc from 'process'; +import fs from 'fs-extra'; +import charlike from 'charlike'; +import mixinDeep from 'mixin-deep'; +import packageJson from '@tunnckocore/package-json'; + +const get = async (name, field) => (await packageJson(name))[field]; + +export default async function update(name, settings) { + const options = Object.assign({ cwd: proc.cwd() }, settings); + const projectCwd = name ? path.join(options.cwd, name) : options.cwd; + const upperDir = name ? options.cwd : path.dirname(projectCwd); + + const projectPkgJsonPath = path.join(projectCwd, 'package.json'); + + if (!(await fs.pathExists(projectPkgJsonPath))) { + throw new Error('Project should have package.json and be published in npm'); + } + + const pkg = await getLatestPkg(projectCwd); + + if (!name) { + proc.chdir(upperDir); + } + + const newProjectDir = path.join(upperDir, String(Date.now())); + + await copyToTemp(projectCwd, newProjectDir); + await fs.remove(projectCwd); + + await runCharlike(pkg, upperDir, options); + + await fs.copy(newProjectDir, projectCwd, { overwrite: true }); + await fs.remove(newProjectDir); + + const projectPkg = await fs.readJSON(path.join(projectCwd, 'package.json')); + + if (pkg.bin) { + projectPkg.bin = pkg.bin; + } + if (pkg.files) { + projectPkg.files = pkg.files; + } + if (projectPkg.verb && pkg.verb) { + projectPkg.verb.related = pkg.verb.related; + } + + await fs.writeJSON(path.join(projectCwd, 'package.json'), projectPkg, { + spaces: 2, + }); + + return { cwd: projectCwd, ranInCwd: !name }; +} + +async function getLatestPkg(projectCwd) { + const { default: p } = await import(path.join(projectCwd, 'package.json')); + let pkg = null; + try { + pkg = await packageJson(p.name); + } catch (err) { + throw new Error(`Project ${p.name} should exist in npm before updating it`); + } + return pkg; +} + +// TODO: cleanup / simplify when `charlike` supports `ignore` option +async function copyToTemp(projectCwd, newProjectDir) { + const join = (x, c) => path.join(c || projectCwd, x); + + await fs.mkdirp(newProjectDir); + + if (await fs.pathExists(join('src'))) { + await fs.copy(join('src'), join('src', newProjectDir), { overwrite: true }); + } + + if (await fs.pathExists(join('test'))) { + await fs.copy(join('test'), join('test', newProjectDir), { + overwrite: true, + }); + } + + if (await fs.pathExists(join('.git'))) { + await fs.copy(join('.git'), join('.git', newProjectDir), { + overwrite: true, + }); + } + + if (await fs.pathExists(join('cli.js'))) { + await fs.copyFile(join('cli.js'), join('cli.js', newProjectDir)); + } +} + +async function runCharlike(pkg, upperDir, options) { + const { deps, devDeps } = await latestDeps(pkg); + + // @TODO: move above the `const join` and `fs.mkdirp` when support + // the new `settings.ignore` and `settings.dest` options. + await charlike( + mixinDeep( + { + project: { name: pkg.name, description: pkg.description }, + locals: { + deps: `${JSON.stringify(deps, null, 4).slice(0, -1)} }`, + devDeps: `${JSON.stringify(devDeps, null, 4).slice(0, -1)} }`, + license: { year: pkg.licenseStart, name: pkg.license }, + version: await get(pkg.name, 'version'), + }, + }, + options, + { cwd: upperDir }, + ), + ); +} + +async function latestDeps(pkg) { + const deps = Object.assign({}, pkg.dependencies, { + esm: `^${await get('esm', 'version')}`, + }); + + const latestConfig = await get('@tunnckocore/config', 'version'); + const latestScripts = await get('@tunnckocore/scripts', 'version'); + const devDeps = Object.assign({}, pkg.devDependencies, { + '@tunnckocore/config': `^${latestConfig}`, + '@tunnckocore/scripts': `^${latestScripts}`, + asia: `^${await get('asia', 'version')}`, + }); + + return { deps, devDeps }; +} diff --git a/test/cjs.js b/test/cjs.js new file mode 100644 index 0000000..f1fbdd0 --- /dev/null +++ b/test/cjs.js @@ -0,0 +1 @@ +module.exports = { __dirname }; diff --git a/test/index.js b/test/index.js index f6aeef4..83e2a23 100644 --- a/test/index.js +++ b/test/index.js @@ -1,6 +1,60 @@ +import path from 'path'; import test from 'asia'; -import mod from '../src'; +import fs from 'fs-extra'; +import update from '../src'; -test('todo', (t) => { - t.strictEqual(typeof mod, 'function'); +import { __dirname } from './cjs'; + +const pkgJson = { + name: 'charlike', + license: 'Apache-2.0', + licenseStart: '1999', + scripts: { + bar: 'echo bar', + }, + dependencies: { + baaaaaaaaaaaaaaaaar: '1.1.11111', + }, + devDependencies: { + quuuuuuuuuuuuuxxxx: '2.2.22222', + }, +}; + +test('basic test', async (t) => { + const join = (...args) => path.join(__dirname, 'fixtures', ...args); + const name = 'charlike'; + + await fs.remove(join(name)); + + await fs.mkdirp(join(name, 'src')); + + const content = 'export default () => 123;\n'; + await fs.writeFile(join(name, 'src', 'index.js'), content); + await fs.writeJSON(join(name, 'package.json'), pkgJson); + + await update(name, { cwd: join() }); + + const newPkg = await fs.readJSON(join(name, 'package.json')); + + t.strictEqual(newPkg.name, name); + t.strictEqual(newPkg.license, 'Apache-2.0'); + t.strictEqual(newPkg.licenseStart, '2016'); + + t.ok(newPkg.dependencies.esm); + t.ok(newPkg.devDependencies.asia); + t.ok(newPkg.devDependencies['@tunnckocore/config']); + + t.strictEqual(newPkg.devDependencies.quuuuuuuuuuuuuxxxx, undefined); + t.strictEqual(newPkg.scripts.bar, undefined); + + const srcContent = await fs.readFile(join(name, 'src', 'index.js'), 'utf8'); + t.strictEqual(srcContent, content); + + t.ok(newPkg.bin); + t.ok(newPkg.files); + + t.strictEqual(newPkg.bin, 'cli.js'); + t.ok(newPkg.files.includes('templates')); + t.ok(newPkg.files.includes('cli.js')); + await fs.remove(join()); }); diff --git a/test/snapshots/index.snapshot.json b/test/snapshots/index.snapshot.json index 9463149..86cba1a 100644 --- a/test/snapshots/index.snapshot.json +++ b/test/snapshots/index.snapshot.json @@ -1 +1 @@ -{"todo":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"(t) => {\n t.strictEqual(typeof mod, 'function');\n}","title":"todo"}} \ No newline at end of file +{"basic test":{"skip":false,"todo":false,"run":false,"isPending":false,"isRejected":false,"isFulfilled":true,"id":1,"str":"async (t) => {\n const join = (...args) => path.join(__dirname, 'fixtures', ...args);\n const name = 'charlike';\n\n await fs.remove(join(name));\n\n await fs.mkdirp(join(name, 'src'));\n\n const content = 'export default () => 123;\\n';\n await fs.writeFile(join(name, 'src', 'index.js'), content);\n await fs.writeJSON(join(name, 'package.json'), pkgJson);\n\n await update(name, { cwd: join() });\n\n const newPkg = await fs.readJSON(join(name, 'package.json'));\n\n t.strictEqual(newPkg.name, name);\n t.strictEqual(newPkg.license, 'Apache-2.0');\n t.strictEqual(newPkg.licenseStart, '2016');\n\n t.ok(newPkg.dependencies.esm);\n t.ok(newPkg.devDependencies.asia);\n t.ok(newPkg.devDependencies['@tunnckocore/config']);\n\n t.strictEqual(newPkg.devDependencies.quuuuuuuuuuuuuxxxx, undefined);\n t.strictEqual(newPkg.scripts.bar, undefined);\n\n const srcContent = await fs.readFile(join(name, 'src', 'index.js'), 'utf8');\n t.strictEqual(srcContent, content);\n\n t.ok(newPkg.bin);\n t.ok(newPkg.files);\n\n t.strictEqual(newPkg.bin, 'cli.js');\n t.ok(newPkg.files.includes('templates'));\n t.ok(newPkg.files.includes('cli.js'));\n await fs.remove(join());\n}","title":"basic test"}} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index d677080..f303da9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -99,9 +99,9 @@ glob-to-regexp "^0.3.0" "@nodelib/fs.stat@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz#54c5a964462be3d4d78af631363c18d6fa91ac26" - integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@sindresorhus/is@^0.7.0": version "0.7.0" @@ -123,17 +123,7 @@ new-release "^4.0.3" nyc "^13.1.0" -"@tunnckocore/execa@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@tunnckocore/execa/-/execa-2.0.2.tgz#dcb320b58105db87af8d965f4f6cf3e7378b5435" - integrity sha512-5BBQ0voJcUvxlTd1CJKFaP6WSqdXsirNG3CIIOkwwRIbDuXmszjRz7iir1JnuQAF6VtgK+opULYVo0U81AcAvg== - dependencies: - esm "^3.0.84" - execa "1.0.0" - p-map-series "1.0.0" - split-cmd "^1.0.0" - -"@tunnckocore/execa@^2.1.1": +"@tunnckocore/execa@>= 0.1.0 < 3", "@tunnckocore/execa@^2.0.2": version "2.1.1" resolved "https://registry.yarnpkg.com/@tunnckocore/execa/-/execa-2.1.1.tgz#4123475347bb9131ef93e0cdd3511c3f23c7419f" integrity sha512-rL+UZdTj/ej4ymqyVtFT7YWVrlu3w4G4Uhvdu/fbkxdIcQnpXo7lrqmhz4tPu5Samf8d1J/58wW7RWIDhZ0ssQ== @@ -166,9 +156,9 @@ acorn-jsx@^5.0.0: integrity sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg== acorn@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.2.tgz#6a459041c320ab17592c6317abbfdf4bbaa98ca4" - integrity sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg== + version "6.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" + integrity sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg== ajv@^5.3.0: version "5.5.2" @@ -181,9 +171,9 @@ ajv@^5.3.0: json-schema-traverse "^0.3.0" ajv@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59" - integrity sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg== + version "6.5.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" + integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -526,11 +516,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== - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -555,25 +540,23 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -charlike@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/charlike/-/charlike-2.0.9.tgz#d0c67526c660ee7f39c59d9bc66ae694fa9767be" - integrity sha512-xetDF8As8jKz9g3XFPPj/6GQrARfo2Sp6ikeMdccL9oGmQ95AbuhMwNp8Kw7JSzy0ld3K/urOTbZ5595Up0aCA== +charlike@latest: + version "3.1.2" + resolved "https://registry.yarnpkg.com/charlike/-/charlike-3.1.2.tgz#b286efe4676dc5076fbee2aa902e66c7c67f73d8" + integrity sha512-hhHqnU3MjFZ2gDjB74J3rx5NRNulHiiGuC612Ehd0ot9Guw3LKb0P34A3m5XmR33eZkiPcwGD2+FAZIVbi5OYw== dependencies: - "@tunnckocore/package-json" "^0.3.1" - camelcase "^5.0.0" - dateformat "^3.0.3" + arrify "^1.0.1" esm "^3.0.84" - git-config-path "^1.0.1" + fast-glob "^2.2.3" git-user-email "^0.2.2" git-user-name "^2.0.0" - git-username "^1.0.0" jstransformer "^1.0.0" - jstransformer-j140 "^1.0.0" jstransformer-jstransformer "^1.1.6" + jstransformer-lodash "^0.3.2" + mixin-deep "^2.0.0" mri "^1.1.1" - parse-git-config "^2.0.3" - stream-copy-dir "^1.0.0" + set-value "^3.0.0" + year "^0.2.1" ci-info@^1.5.0: version "1.6.0" @@ -630,11 +613,6 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - clone-response@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -642,25 +620,6 @@ clone-response@1.0.2: dependencies: mimic-response "^1.0.0" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" - integrity sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -761,19 +720,6 @@ cosmiconfig@^5.0.6: js-yaml "^3.9.0" parse-json "^4.0.0" -create-readdir-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/create-readdir-stream/-/create-readdir-stream-1.0.0.tgz#b781c42090ec68d307893ca354b30d4265cf4d02" - integrity sha1-t4HEIJDsaNMHiTyjVLMNQmXPTQI= - dependencies: - extend-shallow "^2.0.1" - graceful-fs "^4.1.9" - is-buffer "^1.1.4" - lazy-cache "^2.0.1" - through2 "^2.0.1" - use "^2.0.0" - vinyl "^2.0.0" - cross-spawn@^4: version "4.0.2" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" @@ -814,11 +760,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" @@ -1298,27 +1239,12 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= -execa-pro@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/execa-pro/-/execa-pro-1.0.8.tgz#9e5a901934a66a21425438974d5dcef9150303d3" - integrity sha512-s9oi+MHTu0LigV8Yi6Zrj2bzAR954yOIxHofYdnxBJiPjJX94qAOwK33qQAg1sHCaL0Rf/hS3dEz+Mpz0RDm8Q== - dependencies: - execa "1.0.0" - p-map-series "1.0.0" - split-cmd "^1.0.0" - -execa@1.0.0, execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== +execa-pro@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/execa-pro/-/execa-pro-1.1.1.tgz#e4a0438096012dcac66d4dcc89e803e98d7852e6" + integrity sha512-ojdigPIlCYsBSowTRYzAIK8AIYUa2TVvxxeo6JLLLQOoQOaKdZ03nhiuBnAuWwaxKm+/V7zvBv1kgS3EBNpQYw== dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" + "@tunnckocore/execa" ">= 0.1.0 < 3" execa@^0.7.0: version "0.7.0" @@ -1346,6 +1272,19 @@ execa@^0.9.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" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -1359,13 +1298,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -1443,7 +1375,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^2.2.2: +fast-glob@^2.2.2, fast-glob@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.3.tgz#d09d378e9ef6b0076a0fa1ba7519d9d4d9699c28" integrity sha512-NiX+JXjnx43RzvVFwRWfPKo4U+1BrK5pJPsHQdKMlLoFHrrGktXglQhHliSihWAq+m1z6fHk3uwGHrtRbS9vLA== @@ -1670,14 +1602,6 @@ git-user-name@^2.0.0: git-config-path "^1.0.1" parse-git-config "^1.1.1" -git-username@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/git-username/-/git-username-1.0.0.tgz#5e31ef29efe15c184cfaa5ed23212c89b0fcf123" - integrity sha512-xm45KwBR6Eu1jO4umx/o2M84v9TC7tdOBuzLx8ayhdR9H1FBiiG9azz31uC0esDvaWVBTDINpJ5USomk+ja8OQ== - dependencies: - parse-github-url "^1.0.2" - remote-origin-url "^1.0.0" - gitcommit@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/gitcommit/-/gitcommit-1.0.13.tgz#e98ccb3f7de452804db3bd5b41a4e66ee941dd3e" @@ -1757,10 +1681,10 @@ got@^8.3.1: url-parse-lax "^3.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= +graceful-fs@^4.1.11, 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" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== handlebars@^4.0.11: version "4.0.12" @@ -1846,7 +1770,7 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" -homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: +homedir-polyfill@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= @@ -1928,7 +1852,7 @@ inherits@2, inherits@^2.0.1, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.4, 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== @@ -2301,11 +2225,6 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -j140@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/j140/-/j140-2.0.0.tgz#d9aa779b028ec1a4093dcd802916e3275619081e" - integrity sha1-2ap3mwKOwaQJPc2AKRbjJ1YZCB4= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -2381,13 +2300,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jstransformer-j140@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jstransformer-j140/-/jstransformer-j140-1.0.0.tgz#0136db2f8907b1ed5c07771f2a7f4905541e42eb" - integrity sha1-ATbbL4kHse1cB3cfKn9JBVQeQus= - dependencies: - j140 "^2.0.0" - jstransformer-jstransformer@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/jstransformer-jstransformer/-/jstransformer-jstransformer-1.1.6.tgz#97aba6334d5d75be45923ce462b7ccaf2ff596f9" @@ -2395,6 +2307,16 @@ jstransformer-jstransformer@^1.1.6: dependencies: jstransformer "^1.0.0" +jstransformer-lodash@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/jstransformer-lodash/-/jstransformer-lodash-0.3.2.tgz#4b0e338e39ade9cef994b24314bf584e4a21c852" + integrity sha1-Sw4zjjmt6c75lLJDFL9YTkohyFI= + dependencies: + lodash.assign "^4.0.0" + lodash.mixin "^4.0.0" + lodash.omit "^4.0.1" + lodash.template "^4.0.1" + jstransformer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" @@ -2453,13 +2375,6 @@ latest-version@4.0.0: dependencies: package-json "^5.0.0" -lazy-cache@^2.0.1, lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= - dependencies: - set-getter "^0.1.0" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -2511,6 +2426,16 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.assign@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= + lodash.camelcase@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -2531,11 +2456,36 @@ lodash.kebabcase@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= +lodash.mixin@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.mixin/-/lodash.mixin-4.3.0.tgz#85d332ba7cc99478d02c327c9cbfb0630cb24891" + integrity sha1-hdMyunzJlHjQLDJ8nL+wYwyySJE= + +lodash.omit@^4.0.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" + integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= + lodash.snakecase@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= +lodash.template@^4.0.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY= + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.upperfirst@^4.2.0: version "4.3.1" resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" @@ -2702,6 +2652,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mixin-deep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-2.0.0.tgz#9dfd525156720ec6cbee14fcb4b968253ba358ee" + integrity sha512-2tAhDtV+OCFCeknyf2cJD5rD+xfvM2ax/RZ3iI1G67Eh6x5UxKJlGDVpmCX27y7WvuXpAkMHQs9ooaxIHIit+A== + mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -2752,12 +2707,12 @@ natural-compare@^1.4.0: integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= new-release@^4.0.3: - version "4.0.8" - resolved "https://registry.yarnpkg.com/new-release/-/new-release-4.0.8.tgz#6e13ccc773d4d5f08c7c52f29dafde919da63e5e" - integrity sha512-LFhQ5WDZWEVbVaizaYanPouTePLi4W13H2F+AOTwvh4xO8WYpBCDuECbWv0LS+VbTru/la832J5c6XvnEg1iZw== + version "4.0.9" + resolved "https://registry.yarnpkg.com/new-release/-/new-release-4.0.9.tgz#068fc5341100393cd17c29c7b8f073c8e8df8339" + integrity sha512-G53OfztEb/SYlUz+pxQjCwUOdmaKSA0oKswCTdxju53G6BDQ19xQZM4Y0jy97FB2cy3pKA7K7CwMTdc3v32lZg== dependencies: detect-next-version "2.0.2" - execa-pro "1.0.8" + execa-pro "1.1.1" is-ci "1.2.1" latest-version "4.0.0" minimist "1.2.0" @@ -2993,7 +2948,7 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-map-series@1.0.0, p-map-series@^1.0.0: +p-map-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" integrity sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco= @@ -3070,15 +3025,6 @@ parse-git-config@^1.0.2, parse-git-config@^1.1.1: git-config-path "^1.0.1" ini "^1.3.4" -parse-git-config@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-2.0.3.tgz#6fb840d4a956e28b971c97b33a5deb73a6d5b6bb" - integrity sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A== - dependencies: - expand-tilde "^2.0.2" - git-config-path "^1.0.1" - ini "^1.3.5" - parse-git-log@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/parse-git-log/-/parse-git-log-0.2.1.tgz#1cc8c63c8390a2fdbf01368255f43937f8a23ee1" @@ -3089,11 +3035,6 @@ parse-git-log@0.2.1: through2 "^2.0.3" vfile "^2.0.0" -parse-github-url@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" - integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== - parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -3267,7 +3208,7 @@ pretty-ms@^3.2.0: dependencies: parse-ms "^1.0.0" -process-nextick-args@^2.0.0, process-nextick-args@~2.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" integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== @@ -3395,7 +3336,7 @@ read-pkg@^4.0.1: parse-json "^4.0.0" pify "^3.0.0" -readable-stream@^2.0.0, readable-stream@^2.1.5, readable-stream@^2.3.5: +readable-stream@^2.0.0, readable-stream@^2.1.5: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -3443,18 +3384,6 @@ release-zalgo@^1.0.0: dependencies: es6-error "^4.0.1" -remote-origin-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-1.0.0.tgz#add020aa5f1a0b37372858e02b323dc28d4cd030" - integrity sha512-xHDM6IBqivpiQ1e4WOuFpM/T6rbzA/WBsu+3WLtgPOhHyjA0nYlijV3NprlTb4FcXlQ5+Q+z174sQ1NnUF5FwA== - dependencies: - parse-git-config "^1.1.1" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" @@ -3465,7 +3394,7 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -replace-ext@1.0.0, replace-ext@^1.0.0: +replace-ext@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= @@ -3631,13 +3560,6 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= - dependencies: - to-object-path "^0.3.0" - set-value@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" @@ -3658,6 +3580,13 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" +set-value@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-3.0.0.tgz#bc021514f46effed8176fd5f0f67e9988531141f" + integrity sha512-tqkg9wJ2TOsxbzIMG5NMAmzjdbDTAD0in7XuUzmFpJE4Ipi2QFBfgC2Z1/gfxcAmWCPsuutiEJyDIMRsrjrMOQ== + dependencies: + is-plain-object "^2.0.4" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -3845,16 +3774,6 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -stream-copy-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-copy-dir/-/stream-copy-dir-1.0.0.tgz#fedd60c6cb66d779ff07b7e971a84387fbdbdfb1" - integrity sha1-/t1gxstm13n/B7fpcahDh/vb37E= - dependencies: - create-readdir-stream "^1.0.0" - lazy-cache "^2.0.1" - through2 "^2.0.1" - write-file "^1.0.0" - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -3955,7 +3874,7 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through2@^2.0.1, through2@^2.0.2, through2@^2.0.3: +through2@^2.0.2, through2@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= @@ -4107,15 +4026,6 @@ url-to-options@^1.0.1: resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= -use@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" - integrity sha1-riig1y+TvyJCKhii43mZMRLeyOg= - dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -4165,18 +4075,6 @@ vfile@^2.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -vinyl@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.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" @@ -4221,14 +4119,6 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/write-file/-/write-file-1.0.0.tgz#5e2dac7fd40c63164891fa0df060b8104b058069" - integrity sha1-Xi2sf9QMYxZIkfoN8GC4EEsFgGk= - dependencies: - is-buffer "^1.1.4" - mkdirp "^0.5.1" - write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" @@ -4300,3 +4190,8 @@ yargs@^10.0.3: which-module "^2.0.0" y18n "^3.2.1" yargs-parser "^8.1.0" + +year@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0" + integrity sha1-QIOuUgoxiyPshgN/MADLiSvfm7A=