diff --git a/package.json b/package.json index 8998a8a..298801c 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,10 @@ "build": "NODE_ENV=production babel src --out-dir lib --source-maps", "watch": "babel src --out-dir lib --watch --source-maps", "prepublish": "npm run --if-present build", - "test": "mocha" + "test": "mocha", + "precommit": "lint-staged", + "postcommit": "git reset", + "prettier": "prettier --write '**/*.{js,jsx,ts,tsx,css}'" }, "keywords": [ "textlint", @@ -42,12 +45,25 @@ "babel-preset-jsdoc-to-assert": "^4.0.0", "babel-preset-power-assert": "^1.0.0", "babel-register": "^6.26.0", + "husky": "^0.14.3", + "lint-staged": "^4.2.3", "mocha": "^3.5.3", "power-assert": "^1.4.4", + "prettier": "^1.7.0", "textlint": "^8.2.1", "textlint-tester": "^2.2.4" }, "peerDependencies": { "textlint": ">= 5.5.0" + }, + "prettier": { + "printWidth": 120, + "tabWidth": 4 + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,css}": [ + "prettier --write", + "git add" + ] } -} +} \ No newline at end of file diff --git a/src/textlint-rule-prh.js b/src/textlint-rule-prh.js index 4eaf9c9..de516c1 100644 --- a/src/textlint-rule-prh.js +++ b/src/textlint-rule-prh.js @@ -4,7 +4,7 @@ import { RuleHelper } from "textlint-rule-helper"; const prh = require("prh"); const path = require("path"); -const untildify = require('untildify'); +const untildify = require("untildify"); function createPrhEngine(rulePaths, baseDir) { if (rulePaths.length === 0) { @@ -41,7 +41,7 @@ function mergePrh(...engines) { return mainEngine; } -const assertOptions = (options) => { +const assertOptions = options => { if (typeof options.ruleContents === "undefined" && typeof options.rulePaths === "undefined") { throw new Error(`textlint-rule-prh require Rule Options. Please set .textlinrc: @@ -75,7 +75,7 @@ const forEachChange = (changeSet, str, onChangeOfMatch) => { sortedDiffs.forEach(function(diff) { const result = diff.expected.replace(/\$([0-9]{1,2})/g, function(match, g1) { const index = parseInt(g1); - if (index === 0 || (diff.matches.length - 1) < index) { + if (index === 0 || diff.matches.length - 1 < index) { return match; } return diff.matches[index] || ""; @@ -96,7 +96,7 @@ const forEachChange = (changeSet, str, onChangeOfMatch) => { delta += result.length - diff.matches[0].length; }); }; -const getConfigBaseDir = (context) => { +const getConfigBaseDir = context => { if (typeof context.getConfigBaseDir === "function") { return context.getConfigBaseDir() || process.cwd(); } @@ -137,16 +137,19 @@ function reporter(context, options = {}) { } const messages = actual + " => " + expected; - report(node, new RuleError(messages, { - index: matchStartIndex, - fix: fixer.replaceTextRange([matchStartIndex, matchEndIndex], expected) - })); + report( + node, + new RuleError(messages, { + index: matchStartIndex, + fix: fixer.replaceTextRange([matchStartIndex, matchEndIndex], expected) + }) + ); }); } - } + }; } module.exports = { linter: reporter, fixer: reporter -}; \ No newline at end of file +}; diff --git a/test/prh-rule-test.js b/test/prh-rule-test.js index 9a055f7..b9be9a5 100644 --- a/test/prh-rule-test.js +++ b/test/prh-rule-test.js @@ -1,23 +1,26 @@ // LICENSE : MIT "use strict"; import assert from "power-assert"; -import {textlint} from "textlint"; +import { textlint } from "textlint"; import rule from "../src/textlint-rule-prh"; -describe("prh-rule-test", function () { - beforeEach(function () { - textlint.setupRules({ - "prh": rule - }, { - "prh": { - "rulePaths": [__dirname + "/fixtures/rule.yaml"] +describe("prh-rule-test", function() { + beforeEach(function() { + textlint.setupRules( + { + prh: rule + }, + { + prh: { + rulePaths: [__dirname + "/fixtures/rule.yaml"] + } } - }); + ); }); - afterEach(function () { + afterEach(function() { textlint.resetRules(); }); - context("when match word", function () { - it("should report error", function () { + context("when match word", function() { + it("should report error", function() { return textlint.lintMarkdown("テストjquery").then(result => { assert(result.messages.length > 0); assert(result.messages[0].line === 1); @@ -25,8 +28,8 @@ describe("prh-rule-test", function () { }); }); }); - context("when match word and s/) /)/ pattern", function () { - it("should report error", function () { + context("when match word and s/) /)/ pattern", function() { + it("should report error", function() { return textlint.lintMarkdown("(図1) ").then(result => { assert(result.messages.length > 0); assert(result.messages[0].line === 1); @@ -34,27 +37,27 @@ describe("prh-rule-test", function () { }); }); }); - context("when match word but s/Web/Web/i pattern", function () { + context("when match word but s/Web/Web/i pattern", function() { // fix ignore (the) case - it("should not report", function () { + it("should not report", function() { return textlint.lintMarkdown("jQuery").then(result => { assert(result.messages.length === 0); }); }); }); - context("when match word and s/ベンダ/ベンダー/ pattern", function () { + context("when match word and s/ベンダ/ベンダー/ pattern", function() { // expected word contain actual word. // s/ベンダ/ベンダー/ のようにexpectedがpatternを包含している場合のexpectedを除外 - it("should not report", function () { + it("should not report", function() { return textlint.lintMarkdown("ベンダー").then(result => { assert(result.messages.length === 0); }); }); }); - context("when expected contain $1", function () { + context("when expected contain $1", function() { // expected word contain actual word. // s/ベンダ/ベンダー/ のようにexpectedがpatternを包含している場合のexpectedを除外 - it("should convert expected", function () { + it("should convert expected", function() { return textlint.lintMarkdown("広義のソフトウエアについて").then(result => { assert(result.messages.length > 0); var message = result.messages[0].message; @@ -62,11 +65,11 @@ describe("prh-rule-test", function () { }); }); }); - context("when fixer", function () { + context("when fixer", function() { // expected word contain actual word. // s/ベンダ/ベンダー/ のようにexpectedがpatternを包含している場合のexpectedを除外 - it("should convert expected", function () { - return textlint.fixText("広義のソフトウエアについて", ".md").then(({output}) => { + it("should convert expected", function() { + return textlint.fixText("広義のソフトウエアについて", ".md").then(({ output }) => { assert.equal(output, "広義のソフトウェアについて"); }); }); diff --git a/test/prh-rule-tester-test.js b/test/prh-rule-tester-test.js index f6e5534..529a1e1 100644 --- a/test/prh-rule-tester-test.js +++ b/test/prh-rule-tester-test.js @@ -16,14 +16,10 @@ tester.run("prh", rule, { ], invalid: [ { - text: "cookie is a data.\n" + - "texlint check your texts.\n" + - "jquery is libray.\n", - output: "Cookie is a data.\n" + - "texlint check your texts.\n" + - "jQuery is libray.\n", + text: "cookie is a data.\n" + "texlint check your texts.\n" + "jquery is libray.\n", + output: "Cookie is a data.\n" + "texlint check your texts.\n" + "jQuery is libray.\n", options: { - "rulePaths": [__dirname + "/fixtures/rule.yaml"] + rulePaths: [__dirname + "/fixtures/rule.yaml"] }, errors: [ { @@ -42,87 +38,72 @@ tester.run("prh", rule, { text: "行う、行なう、おこなう。行って、行わない、行ないます。", output: "おこなう、おこなう、おこなう。おこなって、おこなわない、おこないます。", options: { - "rulePaths": [__dirname + "/fixtures/prefer-regexp.yml"] + rulePaths: [__dirname + "/fixtures/prefer-regexp.yml"] }, errors: [ { - "type": "lint", - "ruleId": "prh", - "message": "行 => おこな", - "index": 0, - "line": 1, - "column": 1, - "severity": 2, - "fix": { - "range": [ - 0, - 1 - ], - "text": "おこな" + type: "lint", + ruleId: "prh", + message: "行 => おこな", + index: 0, + line: 1, + column: 1, + severity: 2, + fix: { + range: [0, 1], + text: "おこな" } }, { - "type": "lint", - "ruleId": "prh", - "message": "行な => おこな", - "index": 3, - "line": 1, - "column": 4, - "severity": 2, - "fix": { - "range": [ - 3, - 5 - ], - "text": "おこな" + type: "lint", + ruleId: "prh", + message: "行な => おこな", + index: 3, + line: 1, + column: 4, + severity: 2, + fix: { + range: [3, 5], + text: "おこな" } }, { - "type": "lint", - "ruleId": "prh", - "message": "行 => おこな", - "index": 12, - "line": 1, - "column": 13, - "severity": 2, - "fix": { - "range": [ - 12, - 13 - ], - "text": "おこな" + type: "lint", + ruleId: "prh", + message: "行 => おこな", + index: 12, + line: 1, + column: 13, + severity: 2, + fix: { + range: [12, 13], + text: "おこな" } }, { - "type": "lint", - "ruleId": "prh", - "message": "行 => おこな", - "index": 16, - "line": 1, - "column": 17, - "severity": 2, - "fix": { - "range": [ - 16, - 17 - ], - "text": "おこな" + type: "lint", + ruleId: "prh", + message: "行 => おこな", + index: 16, + line: 1, + column: 17, + severity: 2, + fix: { + range: [16, 17], + text: "おこな" } }, { - "type": "lint", - "ruleId": "prh", - "message": "行な => おこな", - "index": 21, - "line": 1, - "column": 22, - "severity": 2, - "fix": { - "range": [ - 21, - 23 - ], - "text": "おこな" + type: "lint", + ruleId: "prh", + message: "行な => おこな", + index: 21, + line: 1, + column: 22, + severity: 2, + fix: { + range: [21, 23], + text: "おこな" } } ] @@ -132,90 +113,75 @@ tester.run("prh", rule, { text: "jqueryではクッキー。ディフォルトとハードウエアー。(そのとおり)\nサーバはサーバーサイドをjsする。", output: "jQueryではクッキー。デフォルトとハードウェア。(そのとおり)\nサーバーはサーバーサイドをjsする。", options: { - "rulePaths": [__dirname + "/fixtures/example-prh.yml"] + rulePaths: [__dirname + "/fixtures/example-prh.yml"] }, errors: [ { - "type": "lint", - "ruleId": "prh", - "message": "jquery => jQuery", - "index": 0, - "line": 1, - "column": 1, - "severity": 2, - "fix": { - "range": [ - 0, - 6 - ], - "text": "jQuery" + type: "lint", + ruleId: "prh", + message: "jquery => jQuery", + index: 0, + line: 1, + column: 1, + severity: 2, + fix: { + range: [0, 6], + text: "jQuery" } }, { - "type": "lint", - "ruleId": "prh", - "message": "ディフォルト => デフォルト", - "index": 13, - "line": 1, - "column": 14, - "severity": 2, - "fix": { - "range": [ - 13, - 19 - ], - "text": "デフォルト" + type: "lint", + ruleId: "prh", + message: "ディフォルト => デフォルト", + index: 13, + line: 1, + column: 14, + severity: 2, + fix: { + range: [13, 19], + text: "デフォルト" } }, { - "type": "lint", - "ruleId": "prh", - "message": "ハードウエアー => ハードウェア", - "index": 20, - "line": 1, - "column": 21, - "severity": 2, - "fix": { - "range": [ - 20, - 27 - ], - "text": "ハードウェア" + type: "lint", + ruleId: "prh", + message: "ハードウエアー => ハードウェア", + index: 20, + line: 1, + column: 21, + severity: 2, + fix: { + range: [20, 27], + text: "ハードウェア" } }, { - "type": "lint", - "ruleId": "prh", - "message": "(そのとおり) => (そのとおり)", - "index": 28, - "line": 1, - "column": 29, - "severity": 2, - "fix": { - "range": [ - 28, - 35 - ], - "text": "(そのとおり)" + type: "lint", + ruleId: "prh", + message: "(そのとおり) => (そのとおり)", + index: 28, + line: 1, + column: 29, + severity: 2, + fix: { + range: [28, 35], + text: "(そのとおり)" } }, { - "type": "lint", - "ruleId": "prh", - "message": "サーバ => サーバー", - "index": 36, - "line": 2, - "column": 1, - "severity": 2, - "fix": { - "range": [ - 36, - 39 - ], - "text": "サーバー" + type: "lint", + ruleId: "prh", + message: "サーバ => サーバー", + index: 36, + line: 2, + column: 1, + severity: 2, + fix: { + range: [36, 39], + text: "サーバー" } } ] } ] -}); \ No newline at end of file +}); diff --git a/test/textlintrc-test.js b/test/textlintrc-test.js index 1cce7bf..021d850 100644 --- a/test/textlintrc-test.js +++ b/test/textlintrc-test.js @@ -23,13 +23,16 @@ describe(".textlinrc test", function() { context("options", () => { it("should resolve path to rule.yaml", function() { var textlint = new TextLintCore(); - textlint.setupRules({ - "prh": rule - }, { - "prh": { - "rulePaths": [path.join(__dirname, "fixtures", "rule.yaml")] + textlint.setupRules( + { + prh: rule + }, + { + prh: { + rulePaths: [path.join(__dirname, "fixtures", "rule.yaml")] + } } - }); + ); return textlint.lintMarkdown("jquery").then(result => { assert(result.messages.length === 1); assert(result.messages[0].line === 1); @@ -39,13 +42,16 @@ describe(".textlinrc test", function() { it("should resolve yaml content", function() { var textlint = new TextLintCore(); var content = fs.readFileSync(path.join(__dirname, "fixtures", "rule.yaml"), "utf-8"); - textlint.setupRules({ - "prh": rule - }, { - "prh": { - "ruleContents": [content] + textlint.setupRules( + { + prh: rule + }, + { + prh: { + ruleContents: [content] + } } - }); + ); return textlint.lintMarkdown("jquery").then(result => { assert(result.messages.length === 1); assert(result.messages[0].line === 1); @@ -55,16 +61,19 @@ describe(".textlinrc test", function() { it("should resolve yaml file and content", function() { var textlint = new TextLintCore(); var content = fs.readFileSync(path.join(__dirname, "fixtures", "rule.yaml"), "utf-8"); - textlint.setupRules({ - "prh": rule - }, { - "prh": { - // path support prh's `imports` feature - "rulePaths": [path.join(__dirname, "fixtures", "imports.yml")], - // content doesn't support `import` - "ruleContents": [content] + textlint.setupRules( + { + prh: rule + }, + { + prh: { + // path support prh's `imports` feature + rulePaths: [path.join(__dirname, "fixtures", "imports.yml")], + // content doesn't support `import` + ruleContents: [content] + } } - }); + ); return textlint.lintMarkdown("jquery A").then(result => { assert(result.messages.length === 2); assert(result.messages[0].line === 1); @@ -79,24 +88,30 @@ describe(".textlinrc test", function() { describe("import", function() { it("should work import directive", function() { var textlint = new TextLintCore(); - textlint.setupRules({ - "prh": rule - }, { - "prh": { - "rulePaths": [path.join(__dirname, "fixtures", "imports.yml")] + textlint.setupRules( + { + prh: rule + }, + { + prh: { + rulePaths: [path.join(__dirname, "fixtures", "imports.yml")] + } } - }); - return textlint.lintMarkdown("A").then(result => { - assert(result.messages.length === 1); - var message = result.messages[0].message; - assert.equal(message, "A => a"); - }).then(() => { - return textlint.lintMarkdown("B").then(result => { + ); + return textlint + .lintMarkdown("A") + .then(result => { assert(result.messages.length === 1); - var messageB = result.messages[0].message; - assert.equal(messageB, "B => b"); + var message = result.messages[0].message; + assert.equal(message, "A => a"); + }) + .then(() => { + return textlint.lintMarkdown("B").then(result => { + assert(result.messages.length === 1); + var messageB = result.messages[0].message; + assert.equal(messageB, "B => b"); + }); }); - }); }); }); }); diff --git a/yarn.lock b/yarn.lock index 2e35305..24df70f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -62,14 +62,28 @@ ajv@^4, ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" +ansi-escapes@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-styles@^3.1.0, ansi-styles@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + anymatch@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" @@ -77,6 +91,10 @@ anymatch@^1.3.0: arrify "^1.0.0" micromatch "^2.1.5" +app-root-path@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" + aproba@^1.0.3: version "1.1.1" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" @@ -801,6 +819,14 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^2.0.1, chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + character-entities-html4@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.0.tgz#1ab08551d3ce1fa1df08d00fb9ca1defb147a06c" @@ -836,10 +862,31 @@ chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" +ci-info@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a" + circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -852,6 +899,16 @@ collapse-white-space@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d" +color-convert@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -864,7 +921,7 @@ commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" -commander@^2.11.0: +commander@^2.11.0, commander@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" @@ -904,6 +961,27 @@ 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@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37" + dependencies: + graceful-fs "^4.1.2" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.0.1" + os-homedir "^1.0.1" + parse-json "^2.2.0" + pinkie-promise "^2.0.0" + require-from-string "^1.1.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + crypt@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" @@ -920,6 +998,10 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +date-fns@^1.27.2: + version "1.28.5" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf" + debug@2.6.8, debug@^2.1.3, debug@^2.6.6: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" @@ -1016,6 +1098,10 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + empower-core@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144" @@ -1053,7 +1139,7 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1088,6 +1174,22 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + 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" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -1118,6 +1220,13 @@ fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + file-entry-cache@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" @@ -1233,10 +1342,18 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" +get-own-enumerable-property-symbols@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" + get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -1330,6 +1447,10 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -1376,6 +1497,24 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" +husky@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" + dependencies: + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -1444,6 +1583,12 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" +is-ci@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + dependencies: + ci-info "^1.0.0" + is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" @@ -1470,6 +1615,10 @@ is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + is-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-file/-/is-file-1.0.0.tgz#28a44cfbd9d3db193045f22b65fce8edf9620596" @@ -1496,6 +1645,12 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + is-hexadecimal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.0.tgz#5c459771d2af9a2e3952781fd54fcb1bcfe4113c" @@ -1515,6 +1670,10 @@ is-number@^2.0.2, is-number@^2.1.0: dependencies: kind-of "^3.0.2" +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + 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" @@ -1543,6 +1702,10 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -1553,6 +1716,14 @@ is-regex@^1.0.3: dependencies: has "^1.0.1" +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" @@ -1581,6 +1752,10 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -1591,6 +1766,19 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" +jest-get-type@^21.2.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23" + +jest-validate@^21.1.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.2.0.tgz#b383fc9c2905c15fac081bd42ffa954457ea705b" + dependencies: + chalk "^2.0.1" + jest-get-type "^21.2.0" + leven "^2.1.0" + pretty-format "^21.2.0" + jodid25519@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" @@ -1612,7 +1800,7 @@ js-yaml@^3.2.4, js-yaml@^3.6.1: argparse "^1.0.7" esprima "^3.1.1" -js-yaml@^3.9.1: +js-yaml@^3.4.3, js-yaml@^3.9.1: version "3.10.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" dependencies: @@ -1683,6 +1871,10 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.1.5" +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -1690,6 +1882,72 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lint-staged@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.2.3.tgz#5a1f12256af06110b96225f109dbf215009a37a9" + dependencies: + app-root-path "^2.0.0" + chalk "^2.1.0" + cosmiconfig "^1.1.0" + execa "^0.8.0" + is-glob "^4.0.0" + jest-validate "^21.1.0" + listr "^0.12.0" + lodash "^4.17.4" + log-symbols "^2.0.0" + minimatch "^3.0.0" + npm-which "^3.0.1" + p-map "^1.1.1" + staged-git-files "0.0.4" + stringify-object "^3.2.0" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + +listr-update-renderer@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz#44dc01bb0c34a03c572154d4d08cde9b1dc5620f" + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +listr@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + figures "^1.7.0" + indent-string "^2.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.2.0" + listr-verbose-renderer "^0.4.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + ora "^0.2.3" + p-map "^1.1.1" + rxjs "^5.0.0-beta.11" + stream-to-observable "^0.1.0" + strip-ansi "^3.0.1" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -1757,6 +2015,19 @@ log-symbols@^1.0.2: dependencies: chalk "^1.0.0" +log-symbols@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.1.0.tgz#f35fa60e278832b538dc4dddcbb478a45d3e3be6" + dependencies: + chalk "^2.0.1" + +log-update@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + longest-streak@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.1.tgz#42d291b5411e40365c00e63193497e2247316e35" @@ -1767,6 +2038,13 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0" +lru-cache@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + map-like@^1.0.1, map-like@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/map-like/-/map-like-1.1.2.tgz#f42a301ebd9290372b9e4ddc49e5df9804a507b9" @@ -1911,12 +2189,36 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + normalize-path@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: remove-trailing-separator "^1.0.1" +npm-path@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe" + dependencies: + which "^1.2.10" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npm-which@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" + dependencies: + commander "^2.9.0" + npm-path "^2.0.2" + which "^1.2.10" + npmlog@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" @@ -1955,6 +2257,10 @@ once@^1.3.0, once@^1.3.3: dependencies: wrappy "1" +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + optionator@^0.8.0, optionator@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" @@ -1966,7 +2272,16 @@ optionator@^0.8.0, optionator@^0.8.1: type-check "~0.3.2" wordwrap "~1.0.0" -os-homedir@^1.0.0: +ora@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" + dependencies: + chalk "^1.1.1" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + object-assign "^4.0.1" + +os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -1989,6 +2304,14 @@ output-file-sync@^1.1.2: mkdirp "^0.5.1" object-assign "^4.1.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + parse-entities@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.1.0.tgz#4bc58f35fdc8e65dded35a12f2e40223ca24a3f7" @@ -2030,6 +2353,10 @@ path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + path-to-glob-pattern@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-to-glob-pattern/-/path-to-glob-pattern-1.0.2.tgz#473e6a3a292a9d13fbae3edccee72d3baba8c619" @@ -2160,6 +2487,17 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +prettier@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.0.tgz#47481588f41f7c90f63938feb202ac82554e7150" + +pretty-format@^21.2.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.2.0.tgz#8ca29556ad13eed5db48a3096b98bab9c321c6fa" + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + prh@^5.4.3: version "5.4.3" resolved "https://registry.yarnpkg.com/prh/-/prh-5.4.3.tgz#d3864a6de2f35c6603e33c700106dce01c22876d" @@ -2176,6 +2514,10 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -2383,6 +2725,10 @@ request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" @@ -2394,12 +2740,25 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" +rxjs@^5.0.0-beta.11: + version "5.4.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f" + dependencies: + symbol-observable "^1.0.1" + safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" @@ -2416,6 +2775,16 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -2477,10 +2846,18 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" +staged-git-files@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" + state-toggle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" +stream-to-observable@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" + string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -2528,6 +2905,14 @@ stringify-entities@^1.0.1: is-alphanumerical "^1.0.0" is-hexadecimal "^1.0.0" +stringify-object@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.1.tgz#2720c2eff940854c819f6ee252aaeb581f30624d" + dependencies: + get-own-enumerable-property-symbols "^2.0.1" + is-obj "^1.0.1" + is-regexp "^1.0.0" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -2544,6 +2929,14 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + 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" @@ -2564,6 +2957,16 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" +supports-color@^4.0.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" + dependencies: + has-flag "^2.0.0" + +symbol-observable@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" + table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -2857,6 +3260,12 @@ vfile@^2.0.0: unist-util-stringify-position "^1.0.0" x-is-string "^0.1.0" +which@^1.2.10, which@^1.2.9: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" @@ -2892,3 +3301,7 @@ xml-escape@^1.0.0: xtend@^4.0.0, xtend@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"