From 8046612a23df4c73910a6624781ab0ae96a0998e Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Wed, 31 Jan 2018 18:53:40 -0800 Subject: [PATCH] fix: updated engine --- package.json | 26 ++-- src/command.ts | 6 +- src/commands/help.ts | 15 +-- src/index.ts | 43 +++--- src/root.ts | 13 +- test/command.test.ts | 12 ++ test/commands/help.test.ts | 3 +- test/markdown.test.ts | 70 +++++----- yarn.lock | 269 ++++++++++++++++++++----------------- 9 files changed, 244 insertions(+), 213 deletions(-) diff --git a/package.json b/package.json index dc6ae74b..1b99cb32 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ "author": "Jeff Dickey @jdxcode", "bugs": "https://github.com/jdxcode/help/issues", "dependencies": { - "@anycli/command": "^0.2.8", + "@anycli/command": "^0.2.22", "@anycli/screen": "^0.0.3", "chalk": "^2.3.0", - "cli-ux": "^3.3.8", + "cli-ux": "^3.3.10", "indent-string": "^3.2.0", "lodash": "^4.17.4", "string-width": "^2.1.1", @@ -16,18 +16,18 @@ "wrap-ansi": "^3.0.1" }, "devDependencies": { - "@anycli/config": "^0.2.1", - "@anycli/engine": "^0.1.29", - "@anycli/plugins": "^0.1.7", - "@anycli/test": "^0.10.0", - "@anycli/tslint": "^0.1.3", - "@anycli/version": "^0.1.15", - "@commitlint/cli": "^6.0.2", - "@commitlint/config-conventional": "^6.0.2", + "@anycli/config": "^0.2.6", + "@anycli/engine": "^0.1.38", + "@anycli/plugins": "^0.2.0", + "@anycli/test": "^0.10.1", + "@anycli/tslint": "^0.2.1", + "@anycli/version": "^0.1.19", + "@commitlint/cli": "^6.0.5", + "@commitlint/config-conventional": "^6.0.4", "@types/chai": "^4.1.2", "@types/indent-string": "^3.0.0", - "@types/lodash": "^4.14.98", - "@types/mocha": "^2.2.47", + "@types/lodash": "^4.14.99", + "@types/mocha": "^2.2.48", "@types/nock": "^9.1.2", "@types/node": "^9.4.0", "@types/node-notifier": "^0.0.28", @@ -44,7 +44,7 @@ "nps-utils": "^1.5.0", "strip-ansi": "^4.0.0", "ts-node": "^4.1.0", - "typescript": "^2.6.2" + "typescript": "^2.7.1" }, "anycli": { "bin": "anycli", diff --git a/src/command.ts b/src/command.ts index 0b949fad..80e03f19 100644 --- a/src/command.ts +++ b/src/command.ts @@ -2,7 +2,7 @@ import {ICachedArg, ICachedCommand, ICachedFlag, IConfig} from '@anycli/config' import chalk from 'chalk' import * as _ from 'lodash' -import {Article, Section} from '.' +import {Article, HelpOptions, Section} from '.' const { underline, @@ -11,7 +11,7 @@ const { } = chalk export default class CommandHelp { - constructor(public config: IConfig) {} + constructor(public config: IConfig, public opts: HelpOptions) {} command(cmd: ICachedCommand): Article { const flagDefs = cmd.flags || {} @@ -105,7 +105,7 @@ export default class CommandHelp { if (flag.char) label.push(blueBright(`-${flag.char[0]}`)) if (flag.name) label.push(blueBright(`--${flag.name.trim()}`)) let left = label.join(', ') - if (flag.type === 'option') left += `=${underline(flag.name)}` + if (flag.type === 'option') left += `=${underline(flag.helpValue || flag.name)}` let right = flag.description || '' if (flag.required) right = `(required) ${right}` diff --git a/src/commands/help.ts b/src/commands/help.ts index af26edec..8e390f50 100644 --- a/src/commands/help.ts +++ b/src/commands/help.ts @@ -1,4 +1,4 @@ -import Command, {flags} from '@anycli/command' +import {Command, flags, parse} from '@anycli/command' import {IConfig} from '@anycli/config' import cli from 'cli-ux' @@ -8,20 +8,19 @@ const config: IConfig = global.anycli.config export default class HelpCommand extends Command { static title = `display help for ${config.bin}` - static flags: flags.Input = { + static flags = { all: flags.boolean({description: 'see all commands in CLI'}), - // format: flags.enum({description: 'output in a different format'}), + format: flags.enum({description: 'output in a different format', options: ['markdown', 'man']}), } static args = [ {name: 'command', required: false} ] - flags: { - all?: boolean - } + + options = parse(this.argv, HelpCommand) async run() { - let id = this.args.command as string - let help = new Help(this.config) + let id = this.options.args.command + let help = new Help(this.config, {format: this.options.flags.format as any}) if (!id) { let rootHelp = help.root() cli.info(rootHelp) diff --git a/src/index.ts b/src/index.ts index 3038875a..f9e5cef3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -39,7 +39,8 @@ const widestLine = require('widest-line') // } export interface HelpOptions { - markdown?: boolean + format?: 'markdown' | 'screen' | 'man' + all?: boolean } function renderList(input: (string | undefined)[][], opts: {maxWidth: number, multiline?: boolean, stripAnsi?: boolean}): string { @@ -100,30 +101,34 @@ function renderList(input: (string | undefined)[][], opts: {maxWidth: number, mu } export default class Help { - constructor(public config: IConfig) {} + constructor(public config: IConfig, public opts: HelpOptions = {}) {} - root(opts: HelpOptions = {}): string { - const help = new RootHelp(this.config) + root(): string { + const help = new RootHelp(this.config, this.opts) const article = help.root() - return this.render(article, opts) + return this.render(article) } - command(command: ICachedCommand, opts: HelpOptions = {}): string { - const help = new CommandHelp(this.config) + command(command: ICachedCommand): string { + const help = new CommandHelp(this.config, this.opts) const article = help.command(command) - return this.render(article, opts) + return this.render(article) } - protected render(article: Article, opts: HelpOptions): string { - if (opts.markdown) return this.renderMarkdown(article) - return this.renderScreen(article) + protected render(article: Article): string { + switch (this.opts.format) { + case 'markdown': return this.renderMarkdown(article) + case 'man': + case 'screen': + default: return this.renderScreen(article) + } } protected renderMarkdown(article: Article): string { - const maxWidth = 120 + const maxWidth = 100 return _([ stripAnsi(article.title || ''), - '='.repeat(width(article.title)), + '-'.repeat(width(article.title)), '', ...article.sections .map(s => { @@ -131,20 +136,22 @@ export default class Help { if (s.body.length === 0) { body += '' } else if (_.isArray(s.body[0])) { + body += '```\n' body += renderList(s.body as any, {maxWidth: maxWidth - 2, stripAnsi: true}) + body += '\n```' } else { - body += _.castArray(s.body as string).join('\n') - body += wrap(stripAnsi(body), maxWidth - 2, {trim: false, hard: true}) + let output = _.castArray(s.body as string).join('\n') + body += wrap(stripAnsi(output), maxWidth - 2, {trim: false, hard: true}) } if (s.type === 'code') { body = `\n\`\`\`sh-session${body}\n\`\`\`` } return _([ - `${_.capitalize(s.heading)}\n${'-'.repeat(width(s.heading))}`, - indent(body, 2), + `**${_.capitalize(s.heading)}**`, + body, ]).compact().join('\n') + '\n' }) - ]).join('\n') + ]).join('\n').trim() } protected renderScreen(article: Article): string { diff --git a/src/root.ts b/src/root.ts index da8c273c..416b2b5d 100644 --- a/src/root.ts +++ b/src/root.ts @@ -2,7 +2,7 @@ import {IConfig} from '@anycli/config' // import chalk from 'chalk' import * as _ from 'lodash' -import {Article, Section} from '.' +import {Article, HelpOptions, Section} from '.' // const { // underline, @@ -10,17 +10,10 @@ import {Article, Section} from '.' // blueBright, // } = chalk -export interface RootOptions { - all?: boolean -} - export default class RootHelp { - opts: RootOptions - - constructor(public config: IConfig) {} + constructor(public config: IConfig, public opts: HelpOptions = {}) {} - root(opts: RootOptions = {}): Article { - this.opts = opts + root(): Article { return { title: this.config.pjson.anycli.title || this.config.pjson.description, sections: _([ diff --git a/test/command.test.ts b/test/command.test.ts index 6c4a00c7..6a2a02e3 100644 --- a/test/command.test.ts +++ b/test/command.test.ts @@ -140,6 +140,18 @@ ALIASES $ anycli app:init $ anycli create`)) + test + .commandHelp(class extends Command { + static id = 'apps:create' + static flags = { + myenum: flags.enum({options: ['a', 'b', 'c']}), + }}) + .it('outputs with title', ctx => expect(ctx.commandHelp).to.equal(`USAGE + $ anycli apps:create [OPTIONS] + +OPTIONS + --myenum=(a|b|c)`)) + // class AppsCreate3 extends Command { // static id = 'apps:create' // static flags = { diff --git a/test/commands/help.test.ts b/test/commands/help.test.ts index 0af51023..59c07ea5 100644 --- a/test/commands/help.test.ts +++ b/test/commands/help.test.ts @@ -11,7 +11,8 @@ USAGE $ anycli help [COMMAND] [OPTIONS] OPTIONS - --all see all commands in CLI + --all see all commands in CLI + --format=(markdown|man) output in a different format `) }) }) diff --git a/test/markdown.test.ts b/test/markdown.test.ts index ad4575a7..9d8c399c 100644 --- a/test/markdown.test.ts +++ b/test/markdown.test.ts @@ -12,11 +12,11 @@ class Command extends Base { const test = base .loadConfig() -.add('help', ctx => new Help(ctx.config)) +.add('help', ctx => new Help(ctx.config, {format: 'markdown'})) .register('commandHelp', (command?: ICommand) => ({ run(ctx: {help: Help, commandHelp: string, expectation: string}) { const cached = command!.convertToCached() - let help = ctx.help.command(cached, {markdown: true}) + let help = ctx.help.command(cached) ctx.commandHelp = stripAnsi(help).split('\n').map(s => s.trimRight()).join('\n') ctx.expectation = 'has commandHelp' } @@ -41,55 +41,47 @@ describe('markdown', () => { remote: flags.string({char: 'r'}), }}) .it(ctx => expect(ctx.commandHelp).to.equal(`the title -========= - -Usage ------ +--------- - \`\`\`sh-session - $ anycli apps:create [APP_NAME] [OPTIONS] - $ anycli apps:create [APP_NAME] [OPTIONS] - \`\`\` +**Usage** -Arguments ---------- +\`\`\`sh-session +$ anycli apps:create [APP_NAME] [OPTIONS] +\`\`\` - APP_NAME app to use +**Arguments** -Options -------- +\`\`\` +APP_NAME app to use +\`\`\` - -f, --foo=foo foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarf - oobarfoobar +**Options** - -r, --remote=remote +\`\`\` +-f, --foo=foo foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfooba + rfoobarfoobarfoobarfoobarfoobar - --force force it force it force it force it force it force it force it force it force it force - it force it force it force it force it force it +-r, --remote=remote - --ss newliney - newliney - newliney - newliney +--force force it force it force it force it force it force it force it force + it force it force it force it force it force it force it force it -Description ------------ +--ss newliney + newliney + newliney + newliney +\`\`\` - some +**Description** - multiline help - some +some - multiline help + multiline help -Aliases -------- +**Aliases** - \`\`\`sh-session - $ anycli app:init - $ anycli create - $ anycli app:init - $ anycli create - \`\`\` -`)) +\`\`\`sh-session +$ anycli app:init +$ anycli create +\`\`\``)) }) diff --git a/yarn.lock b/yarn.lock index 7fb5dbe9..d050be12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,43 +2,54 @@ # yarn lockfile v1 -"@anycli/command@^0.2.6", "@anycli/command@^0.2.8", "@anycli/command@^0.2.9": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@anycli/command/-/command-0.2.9.tgz#658ea8c623e047bc924582d5a885434aed22ed41" +"@anycli/command@^0.2.19", "@anycli/command@^0.2.21": + version "0.2.21" + resolved "https://registry.yarnpkg.com/@anycli/command/-/command-0.2.21.tgz#68a725cddb0dece1d7dd69965de4ae7e3908b61c" dependencies: - "@anycli/parser" "^0.1.1" + "@anycli/parser" "^3.0.1" + cli-ux "^3.3.10" debug "^3.1.0" lodash "^4.17.4" tslib "^1.9.0" -"@anycli/config@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@anycli/config/-/config-0.2.0.tgz#103a1d28bd76f6bd15ddad1cd9091fdb33ec958b" +"@anycli/command@^0.2.22": + version "0.2.22" + resolved "https://registry.yarnpkg.com/@anycli/command/-/command-0.2.22.tgz#486b36d2916b28f08b9aedb129a758a4da2f542a" + dependencies: + "@anycli/parser" "^3.0.2" + cli-ux "^3.3.10" + debug "^3.1.0" + lodash "^4.17.4" + tslib "^1.9.0" + +"@anycli/config@^0.2.3", "@anycli/config@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@anycli/config/-/config-0.2.4.tgz#957e4f174cadd397d9bdd81d3552544a8214273e" dependencies: - cli-ux "^3.3.8" + cli-ux "^3.3.10" debug "^3.1.0" fs-extra "^5.0.0" load-json-file "^4.0.0" lodash "^4.17.4" read-pkg "^3.0.0" -"@anycli/config@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@anycli/config/-/config-0.2.1.tgz#d32fe5036cd194c34ca32ee6bc5e1a4b0ca3c86f" +"@anycli/config@^0.2.6": + version "0.2.6" + resolved "https://registry.yarnpkg.com/@anycli/config/-/config-0.2.6.tgz#d40709a61704907d4d6e7dcab6bbf124ab74e9ad" dependencies: - cli-ux "^3.3.8" + cli-ux "^3.3.10" debug "^3.1.0" fs-extra "^5.0.0" load-json-file "^4.0.0" lodash "^4.17.4" read-pkg "^3.0.0" -"@anycli/engine@^0.1.29": - version "0.1.29" - resolved "https://registry.yarnpkg.com/@anycli/engine/-/engine-0.1.29.tgz#fcc83ca4b8ef5c0f0f9f01a16579d3ef24cfdce7" +"@anycli/engine@^0.1.38": + version "0.1.38" + resolved "https://registry.yarnpkg.com/@anycli/engine/-/engine-0.1.38.tgz#47b74330709eeadb95798f047c22436f0613cbab" dependencies: "@anycli/manifest-file" "^0.2.0" - cli-ux "^3.3.9" + cli-ux "^3.3.10" debug "^3.1.0" fs-extra "^5.0.0" globby "^7.1.1" @@ -54,25 +65,26 @@ lodash "^4.17.4" rwlockfile "^2.0.21" -"@anycli/parser@^0.1.1": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@anycli/parser/-/parser-0.1.3.tgz#6ad888815f65afcf66b6f462efc13a56743dd9d1" +"@anycli/parser@^3.0.1", "@anycli/parser@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@anycli/parser/-/parser-3.0.2.tgz#69af00b6b6f0cc6da4405cf44dc29b2d14d30c6e" dependencies: "@anycli/screen" "^0.0.3" chalk "^2.3.0" lodash "^4.17.4" -"@anycli/plugins@^0.1.7": - version "0.1.7" - resolved "https://registry.yarnpkg.com/@anycli/plugins/-/plugins-0.1.7.tgz#968ca28a99d0b715164c2a8cdbd48da220814851" +"@anycli/plugins@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@anycli/plugins/-/plugins-0.2.0.tgz#890149c067c3105614ce7a2bec81fcfcba1051a9" dependencies: - "@anycli/command" "^0.2.6" - "@anycli/config" "^0.2.0" + "@anycli/command" "^0.2.21" + "@anycli/config" "^0.2.4" "@anycli/manifest-file" "^0.2.0" "@heroku-cli/color" "^1.1.1" - cli-ux "^3.3.8" + cli-ux "^3.3.10" debug "^3.1.0" fs-extra "^5.0.0" + http-call "^5.0.2" lodash "^4.17.4" npm-run-path "^2.0.2" tslib "^1.9.0" @@ -82,33 +94,33 @@ version "0.0.3" resolved "https://registry.yarnpkg.com/@anycli/screen/-/screen-0.0.3.tgz#f0afd970c3ed725702948a45a874ede1fdd9362e" -"@anycli/test@^0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@anycli/test/-/test-0.10.0.tgz#0861a7bf0cb063a42adb0f086cf984c14024ce46" +"@anycli/test@^0.10.1": + version "0.10.1" + resolved "https://registry.yarnpkg.com/@anycli/test/-/test-0.10.1.tgz#84c9ade6eac283b94e87175bf4b021766af26ab6" dependencies: fancy-test "^0.6.4" lodash "^4.17.4" -"@anycli/tslint@^0.1.3": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@anycli/tslint/-/tslint-0.1.4.tgz#9c8d73e07198633a1afdca69cda4b5b844ab3a72" +"@anycli/tslint@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@anycli/tslint/-/tslint-0.2.1.tgz#17295a3a4c579884cd3aea7ed1d8c07d11ecc624" dependencies: tslint "^5.9.1" - tslint-xo "^0.5.0" + tslint-xo "^0.6.0" -"@anycli/version@^0.1.15": - version "0.1.15" - resolved "https://registry.yarnpkg.com/@anycli/version/-/version-0.1.15.tgz#81751d98c9f431833ca5b29e2b08aabc17edf44b" +"@anycli/version@^0.1.19": + version "0.1.19" + resolved "https://registry.yarnpkg.com/@anycli/version/-/version-0.1.19.tgz#4464c3c831e0dc1d0ef92375167ec9af923b66c3" dependencies: - "@anycli/command" "^0.2.9" - "@anycli/config" "^0.2.0" - cli-ux "^3.3.9" + "@anycli/command" "^0.2.19" + "@anycli/config" "^0.2.3" + cli-ux "^3.3.10" -"@commitlint/cli@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-6.0.2.tgz#378d37e92c4d97346e84c3a3d6677a62e9471d66" +"@commitlint/cli@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-6.0.5.tgz#c159c41434d24167c2f52c29e81cffc1959a6d0f" dependencies: - "@commitlint/core" "^6.0.2" + "@commitlint/core" "^6.0.5" babel-polyfill "6.26.0" chalk "2.3.0" get-stdin "5.0.1" @@ -116,24 +128,24 @@ lodash.pick "4.4.0" meow "3.7.0" -"@commitlint/config-conventional@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-6.0.2.tgz#8ef87a6facb75b3377b2760b0e91097f8ec64db4" - -"@commitlint/core@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/core/-/core-6.0.2.tgz#8e79e18d57ea3d30ca4bbfdf028d5f5d0cd3e422" - dependencies: - "@commitlint/execute-rule" "^6.0.2" - "@commitlint/is-ignored" "^6.0.2" - "@commitlint/parse" "^6.0.2" - "@commitlint/resolve-extends" "^6.0.2" - "@commitlint/rules" "^6.0.2" - "@commitlint/top-level" "^6.0.2" +"@commitlint/config-conventional@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-6.0.4.tgz#f5332c3aaf5423f2fa62287849859a9b769484f3" + +"@commitlint/core@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@commitlint/core/-/core-6.0.5.tgz#a0f174f08a377eb9e5571bf31c2c9f60964a6ed9" + dependencies: + "@commitlint/execute-rule" "^6.0.4" + "@commitlint/is-ignored" "^6.0.4" + "@commitlint/parse" "^6.0.4" + "@commitlint/resolve-extends" "^6.0.4" + "@commitlint/rules" "^6.0.4" + "@commitlint/top-level" "^6.0.5" "@marionebl/sander" "^0.6.0" babel-runtime "^6.23.0" chalk "^2.0.1" - cosmiconfig "^3.0.1" + cosmiconfig "^4.0.0" git-raw-commits "^1.3.0" lodash.merge "4.6.0" lodash.mergewith "4.6.0" @@ -141,9 +153,9 @@ lodash.topairs "4.3.0" resolve-from "4.0.0" -"@commitlint/ensure@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-6.0.2.tgz#31611fac3d3e67d574ae3808a3a91467fa83e3f4" +"@commitlint/ensure@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-6.0.4.tgz#c5ae6d0a24797e58caceee61608c6ac9ced64691" dependencies: lodash.camelcase "4.3.0" lodash.kebabcase "4.1.1" @@ -151,32 +163,32 @@ lodash.startcase "4.4.0" lodash.upperfirst "4.3.1" -"@commitlint/execute-rule@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-6.0.2.tgz#764a10a5ad7055e5c1508f1c80be85a3d2c8668a" +"@commitlint/execute-rule@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-6.0.4.tgz#5db080be51b2cc057028ce24a1cd9142283774fc" dependencies: babel-runtime "6.26.0" -"@commitlint/is-ignored@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-6.0.2.tgz#3c48bd8473da6471259bb8fd5dbc49ac3ee5b150" +"@commitlint/is-ignored@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-6.0.4.tgz#cc4cde7be8d101e848fa70b37381687fa837c417" dependencies: - semver "5.4.1" + semver "5.5.0" -"@commitlint/message@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-6.0.2.tgz#7003156700e14c692cbbc26ada8c5b5cb5986805" +"@commitlint/message@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-6.0.4.tgz#80fe320285cab5f0f4ab3847e8d3b98a3fd1e389" -"@commitlint/parse@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-6.0.2.tgz#1978de35bd2e620a892511c4642779a83ad2400e" +"@commitlint/parse@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-6.0.4.tgz#3d7403b024200d32d66e913ee464eaf46bbac075" dependencies: conventional-changelog-angular "^1.3.3" conventional-commits-parser "^2.1.0" -"@commitlint/resolve-extends@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-6.0.2.tgz#1937640053f3a865490aeac97b2efac66dbe9a96" +"@commitlint/resolve-extends@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-6.0.4.tgz#8cce624e856df7582d5621c882e83f69b44c18c4" dependencies: babel-runtime "6.26.0" lodash.merge "4.6.0" @@ -185,22 +197,22 @@ resolve-from "^4.0.0" resolve-global "^0.1.0" -"@commitlint/rules@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-6.0.2.tgz#11fee4bc134ba6e9da261685a1653d86fcae7771" +"@commitlint/rules@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-6.0.4.tgz#6891d7e37908d6438dc3b382f193774ab4a36479" dependencies: - "@commitlint/ensure" "^6.0.2" - "@commitlint/message" "^6.0.2" - "@commitlint/to-lines" "^6.0.2" + "@commitlint/ensure" "^6.0.4" + "@commitlint/message" "^6.0.4" + "@commitlint/to-lines" "^6.0.4" babel-runtime "^6.23.0" -"@commitlint/to-lines@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-6.0.2.tgz#be76792eae6f2446de1d9e15b20b3e3b990c838b" +"@commitlint/to-lines@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-6.0.4.tgz#c0bb6ca0b5c5f565f18d9747de12067cb2c4cc34" -"@commitlint/top-level@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-6.0.2.tgz#fffc584d7275868b884439e5ab02969dee3d62f5" +"@commitlint/top-level@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-6.0.5.tgz#01cac031f7452c0bebfda75d6ef7fb79d1714f81" dependencies: find-up "^2.1.0" @@ -233,13 +245,13 @@ version "3.0.0" resolved "https://registry.yarnpkg.com/@types/indent-string/-/indent-string-3.0.0.tgz#9ebb391ceda548926f5819ad16405349641b999f" -"@types/lodash@^4.14.98": - version "4.14.98" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.98.tgz#aaf012ae443e657e7885e605a4c1b340db160609" +"@types/lodash@^4.14.99": + version "4.14.99" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.99.tgz#e6e10c0a4cc16c7409b3181f1e66880d2fb7d4dc" -"@types/mocha@^2.2.47": - version "2.2.47" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.47.tgz#30bbd880834d4af0f609025f282a69b8d4458f06" +"@types/mocha@^2.2.48": + version "2.2.48" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.48.tgz#3523b126a0b049482e1c3c11877460f76622ffab" "@types/nock@^9.1.2": version "9.1.2" @@ -536,9 +548,9 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-ux@^3.3.8, cli-ux@^3.3.9: - version "3.3.9" - resolved "https://registry.yarnpkg.com/cli-ux/-/cli-ux-3.3.9.tgz#b3d09bb9057d2ef75cfd492d58359dd923c0a16b" +cli-ux@^3.3.10: + version "3.3.10" + resolved "https://registry.yarnpkg.com/cli-ux/-/cli-ux-3.3.10.tgz#54fad2bc9e1fcb56cdbd7d41682373e0fb7ce447" dependencies: "@anycli/screen" "^0.0.3" "@heroku/linewrap" "^1.0.0" @@ -636,6 +648,10 @@ concurrently@^3.4.0: supports-color "^3.2.3" tree-kill "^1.1.0" +content-type@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + conventional-changelog-angular@^1.3.3: version "1.6.1" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.1.tgz#e1434d017c854032b272f690424a8c0ca16dc318" @@ -663,13 +679,13 @@ core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -cosmiconfig@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-3.1.0.tgz#640a94bf9847f321800403cd273af60665c73397" +cosmiconfig@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" dependencies: is-directory "^0.3.1" js-yaml "^3.9.0" - parse-json "^3.0.0" + parse-json "^4.0.0" require-from-string "^2.0.1" cp-file@^3.1.0: @@ -1223,6 +1239,17 @@ hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" +http-call@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/http-call/-/http-call-5.0.2.tgz#21bec3655f1631de128c0cdaa470777b1fbbc365" + dependencies: + content-type "^1.0.4" + debug "^3.1.0" + is-retry-allowed "^1.1.0" + is-stream "^1.1.0" + tslib "^1.8.1" + tunnel-agent "^0.6.0" + husky@^0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" @@ -1373,6 +1400,10 @@ is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" +is-retry-allowed@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -1829,12 +1860,6 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-json@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-3.0.0.tgz#fa6f47b18e23826ead32f263e744d0e1e847fb13" - dependencies: - error-ex "^1.3.1" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -2129,11 +2154,11 @@ rx@2.3.24: version "2.3.24" resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7" -safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@5.5.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" @@ -2141,10 +2166,6 @@ semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" -semver@5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -2446,19 +2467,19 @@ tslint-eslint-rules@^4.1.1: tslib "^1.0.0" tsutils "^1.4.0" -tslint-microsoft-contrib@^5.0.1: +tslint-microsoft-contrib@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.0.2.tgz#ecc2a797f777a12f0066944cec0c81a9e7c59ee9" dependencies: tsutils "^2.12.1" -tslint-xo@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/tslint-xo/-/tslint-xo-0.5.0.tgz#56e591dcd2731de35e7462a0dfa1214731ba9f27" +tslint-xo@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tslint-xo/-/tslint-xo-0.6.0.tgz#95a05b8dcac7aaa1f4d6ca1397a3c4c45a8b848e" dependencies: tslint-consistent-codestyle "^1.11.0" tslint-eslint-rules "^4.1.1" - tslint-microsoft-contrib "^5.0.1" + tslint-microsoft-contrib "^5.0.2" tslint@^5.9.1: version "5.9.1" @@ -2487,6 +2508,12 @@ tsutils@^2.12.1, tsutils@^2.12.2: dependencies: tslib "^1.8.1" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -2501,9 +2528,9 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" +typescript@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.1.tgz#bb3682c2c791ac90e7c6210b26478a8da085c359" universalify@^0.1.0: version "0.1.1"